We use in system programming to meet a hard requirement for field firmware upgrades.
We use the Flash API version 1.0 on ROM.
While this has been working almost flawlessly, we have recently encountered cases where the flash API crashes when certain locations are programmed. We can program hundreds of blocks without error but any time certain blocks are programmed the API crashes. It is a hard crash that also disconnects the JTAG emulator if connected.
Verify operations always succeed with the same address.
So far, the particular locations we have problems with are 0x3f3ef0 when programming a 16 word block and 0x3f5FFC when programming a 2 word block.
The actual data we are programming (in S record format) is:
S2243F3EF0FFFF2824FFFF2825FFFF2826FFFF2827FFFF761A761FFDFF9238964192399641DE
S2083F5FFCFFFFFFFF61
We have verified that the calling addresses are correct just before the API call.
It doesn't matter how many location blocks we program before. Whenever we call the API to program these particular blocks the API crashes.
BTW, the RAM buffer used for the programming is always the same. We do field the callback to refresh our hardware watchdog. The problem persists even when our hardware watchdog is disabled.
The problem appears to be present on all boards. The part numbers are:
TMS320F28035PNA C-06AG4GW G4
We note that for the F2802X the API has been replaced with a RAM version. Is there a similar issue with the F28035? Is there a RAM version of the FLASH API available?


