This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F280025: Problems programming Flash

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

  • Ben,

    I think this is going to be challenging to debug with just written description, it may be better to give some visual representation of the flash sectors, especially when the host PC stops sending data.  Along those lines, has customer looked at what is in flash when this occurs?  This should give some clue of how the updated handled things 

    Can the customer give the address where the code is stopped when they connect?  This might just be artifact of emulator connected and EMUBOOT not defined.

    Best,

    Matt