Other Parts Discussed in Thread: C2000WARE, , UNIFLASH
Tool/software:
Hi C2000-team,
can you help with this request please:
I am working with the TMS320F28377D and would like to update it through the serial interface. I am using the example project from C2000Ware called Serial_Flash_Programmer that already contains the matching bootloaders for CPU1 and CPU2.
Programming works for both CPUs, but an error occurs with CPU2. During the flash process, only the following error message appears:
ERROR STATUS: PROGRAM_ERROR
ERROR Address: 0x90006
Flash API Error: Incorrect Data Buffer Length.
FMSTAT Register Contents: 00
We assume that this error occurs because the address 0x90006 is not a multiple of 8 and therefore the Flash API correctly reports an error. For this reason, we have tried to always place our firmware on memory areas that are multiple of 8. We implemented this in the linker command file via ALIGN(8), for example:
CODESTART : > BEGIN, PAGE = 0, ALIGN(8)
Nevertheless, the address 0x90006 is affected, although it is not listed in the map file and we deliberately do not store anything there in our firmware. Interestingly, the firmware works if we flash the .out file with Uniflash, and then data is available at address 0x90006.
Could you explain why data is stored there even though the address does not appear in the map file? And is there a way to change or configure this address?
Thank you,
Marinus