Hi,
my project uses Piccolo F28069 (CCS 5.4.0) and I successfully integrated the some of the function calls in the folder "Example_Flash2806x_API" into my own project. As usual I started with a RAM-Version and after some debugging finally everything worked fine:
- erasing all Sectors A-H,
- programming code that I previously downloaded into external SPI-Flash,
- setting up a watchdog to do a SW-Reset.
In the RAM-Version of my project I see that after the watchdog has triggered a reset Software restarts from FLASH, so obviously the right code was put into the right place. (Test: remove debugger an switch power off and on again -> still working). But when I re-build the project for the FLASH-Version to with the corresponding Linker-file the first call of function Flash_Erase( SECTRO_H, &FlashStatus ) fails. (Remark: As shown in the example Code all related function calls have been assigned to 'ramfuncs' and copied into RAM).
In the Disassembly-View I only see the jump into BootROM but then the function behaves different than in the RAM-Version before. Here are some snapshots:
branch into BootROM:
then another branch:
then the erase-Code (I assume):
Until this point RAM-Version behaves the same as FLASH-Version, but when stepping further the RAM-Version of my project safely returns after a while (to go on erasing the next sector), while the FLASH-Version of my project does NOT. I´m not sure, it seems like a reset has occured, all I see is that the Code restarts completely without anything being erased.
Any ideas?