Part Number: TMS320F280025
Hi Team,
There's an issue from the customer need your help:
Current program structure:
bootloader: sector0~sector1, power on to start this program, determine that there is a program to app_temp erase the app area, copy the app_temp data to the app area and erase the app_temp area, and then jump to the app
app: sector2~sector8, the current app program, erase the app_temp area when receiving the upgrade instruction, write the received data to the app_temp area, and restart the DSP with the gatekeeper
app_temp: sector9~sector15, temporary app area for upgrade
The host computer communicates with the DSP, sends the program bin data, erases the specified app_temp in the app, and writes the received bin data to the app_temp.
When the host computer continuously and uninterruptedly sends the entire bin file, the DSP can erase, program, and jump normally.
When the host computer sends data, the host computer is turned off, and only part of the data is written to the app_temp.
Later, if you try to download the program again, the DSP will reset when erasing the sectors with data, and Debug finds that the program enters ESTOP0 at this time.
If you use CCS to force the download of the app program and erase the app_temp area at the same time, you can continue to use the host computer to download the program.
When there is data in the app_temp, why does the app fail to erase app_temp?
Now the solution is to modify the bootloader code, which is powered on and then normal upgrade judgment, and finally erases the app_temp area regardless of the upgrade.
In this way, when the app is interrupted during the upgrade, downloading the program again will cause the DSP to restart into the bootloader erasing app_temp area, and then downloading the program again can be erased normally.
Thanks & Regards,
Ben