This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

XC166 - Problem Notificiation - FLASH module

Dear attendees of the discussion forum,

we got the following information from INFINEON concerning the FLASH module:
---------------------------------------
SAx-C161CJ-16F20F/40F Step AC/AD
SAx-C164CS-16F20F/40F Step AC/AD
SAx-C164CS- 8F20F/40F Step AC/AD
SAx-C167CI -16F20F/40F Step AC/AD

Related to all temperatures and frequency for devices listed above.
---------------------------------------

Problem:
Code execution from internal flash module/
Operand read access from/to internal flash module


The problem depends primarily on the internal CPU frequency and the number of wait states selected for the flash module
( bit field WSFLASH in register IMBCTR ).
But ambient temperature and Vddi may have influence
( that is statistically more likely).


If the problem occurs it will typically result in a class B trap
( program access error, indicated by flag PACER = 1 in register TFR )


Avoid the problem with the following settings and limits:

a)ambient temperature: -40°C < Ta < + 85°C


fCPU < 16 MHz
                0 WS
		( bit field WSFLASH = 00b )

16 MHz < fCPU < 32 MHz
                1 WS
		( bit field WSFLASH = 01b )
                Default after RESET
fCPU > 32 MHz
                2 WS
	        ( bit field WSFLASH = 10b )


b) ambient temperature:  Ta >  85°C 

fCPU < 16 MHz
               0 WS
               ( bit field WSFLASH = 00b )

16  MHz  <  fCPU < 28 MHz
               1 WS
               ( bit field WSFLASH = 01b )
               Default after RESET
   fCPU > 28 MHz
               2 WS
               ( bit field WSFLASH = 10b )


Performance:

The performance due to an additional waitstate depends on individual characteristics of the software.
Due to the internal instruction prefetch queue, the average performance decrease, when using 1 wait state instead of 0 is expected to be approximately 5%,
and approx. 15 % if you use
2 wait states instead of 1.


BTW: Up to now only one case in the field
has occured.

Stefan

0