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.

TMS320F28379D: C2000 SCI Boot Loader returns error

Part Number: TMS320F28379D

Hallo,

I have the serial flash programmer connected to a F28379D device. Communication works, flash kernel is loaded, operations like Erase CPU or Run CPU are working.

Next I have a working blinky program, that lets a connected LED flashing. This little program works out of the flash, when programmed via the debugger.

However, I want to flash this program via SCI boot loader. I converted the blinky application with

  hex2000.exe -boot -a -sci8 TRuSST_C28_1f.out -o applf.txt

without any problems.

Next I want to flash this with the serial flash programmer:

  serial_flash_programmer.exe -d f2837xD -k F2837xD_sci_flash_kernels_cpu01.txt -b 9600 -p COM1 -v -a applf.txt

The flash kernel is loaded, next I choose DFU CPU1 and next the blinky application is transferred to the flash kernel correctly.

But after this the following error occurs:

... a lot if data ...
0
0
Bit rate /s of transfer was: 1148.564819
Application load successful!
Done waiting for application to download and boot...
SUCCESS of Command
ERROR Status: PROGRAM_ERROR
ERROR Address: 0x80044
Flash API Error: Incorrect Data Buffer Length
Please refer to the Flash API documentation for further explanation of the error.
FMSTAT Register contents: 00

What have to be done, the get the SCI boot loading working?

Thank you.

  • Hi Dirk,

    Do you have all the sections aligned on 128-bit boundary (using ALIGN(8)) in your application linker command file?

    Thanks and regards,

    Vamsi

  • Hi Vamsi,

    I used a linker command script from the C2000 ware, but you are right! The linker sections are just aligned with ALIGN(4).

    Thank you very much for your support. From the error message I did not come to the conclusion, this is could be an alignment issue. I think the case should be solved. Unfortunately actually I can not test this, because I'm suddenly in quaratine with Corona and my equipment is in the office.

    I will prove this as soon as possible.

    Thanks and regards,

    Dirk

  • Hi Vamsi,

    thank you very much for your support and your patience. Today I'm recovered and able to test.

    Your solution is correct. Setting all sections to an 128-bit alignment solves the SCI boot loader error "Incorrect Data Buffer Length".

    Thanks and regards,

    Dirk

  • Hi Dirk,

    Glad to see your reply - Hope you recovered well from covid.  Thank you for the update. 

    Regarding your comment on not able to come to the conclusion as alignment issue, I will file a ticket to update the kernel guide to mention this detail if it is not there already (I remember it already exists - will add if not).  Thank you for the feedback.

    Thanks and regards,
    Vamsi

  • Hi Vamsi,

    since you mention there should be an documentation of the alignment requirement, I did search my document. I used SPRABV4C from march 2019. There was no such description, BUT there is a new version of the document: SPRABV4E from october 2021.

    And you are right again, in the new version of the document the 128 bit alignment is mentioned in chapter 7 Troubleshooting. My fault. Sorry. Please dont file a ticket about this.

    Thank you very much for your detailed support.

    Thanks and regards,

    Dirk

  • Hi Dirk,

    No problem. 

    Yes, I checked and it is mentioned.  I am closing this post.

    Thanks and regards,
    Vamsi