|
|
 |
After erasing the internal FLASH, some cells do not show the default erase value.
|
| |
Ref: 0522 |
|
This is generally due to an address dependent ECC for the internal FLASH. So, if the FLASH and the FLASH ECC are cleared then the ECC values 0xFF do not match the cleared FLASH 0xFF and result in bit error corrections.
|
|
|
 |
How can I improve the FLASH programming time?
|
| |
Ref: 0474 |
|
- Use
FLASH.ReProgram
command group instead of
FLASH.Program / FLASH.AUTO
.
- Use the
/DualPort
option if possible.
- Close all TRACE32 memory dump windows during FLASH programming.
- Increase the JTAG clock if possible.
- Use target controlled FLASH programming method when available instead of tool based method.
Refer to the TRACE32 FLASH programming documentation for more information.
|
|
|
 |
I get the error message "FLASH algorithm did not execute completely" when programming or erasing my FLASH device.
|
| |
Ref: 0190 |
|
Target controlled FLASH programming algorithms are running on the CPU itself. If the execution of the FLASH algorithm is interrupted, the error message "FLASH algorithm did not execute completely" is displayed in TRACE32. This can be due to several reasons:
- The FLASH algorithm could be interrupted by the watchdog's reset in case a watchdog is enabled. The TRACE32 demo scripts often include command sequences to disable the watchdog. Please refer otherwise to the documentation of your target processor/board.
- An enabled data cache could be also the reason of this wrong behavior. Please switch the data cache off in your FLASH programming script, in case it is enabled.
- The loaded object file includes data sections mapped to the same memory range where the FLASH algorithm is loaded. As a consequence, the FLASH algorithm is overwritten when the object file is downloaded to the memory. You can check the memory load map of your object file using the commands
Data.LOAD.auto <object-file> /NoCODE>
then
sYmbol.List.MAP
. If this is the case, then you can exclude the RAM when downloading the object file by specifying the memory range of the FLASH in the
Data.LOAD
command e.g.
Data.LOAD.auto <object-file> <FLASH-memory-range>
- Wrong flash clock/bus configuration.
- Wrong FLASH binary.
Please refer for more information to the following document:
|
|
|
 |
I got "bus errors" when dumping FLASH memory during programming or erase process.
|
| |
Ref: 0523 |
|
Usually it is not allowed to make speculative read accesses to FLASH memory which is currently programmed or erased. A read access can lead to undefined effects. So you should simply avoid dumping these sections during erase.
|
|
|
 |
Which FLASH devices are currently supported?
|
| |
Ref: 0270 |
|
You can find a list of supported FLASH devices here:
|