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.

CCS/TMS320F28379D: Serial Flash programming of F28379D controller.

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

Tool/software: Code Composer Studio

Hello, 

I am using F28379D controller, i did observe there is a option from TI to load the software from SCI. Can you please elaborate or help me to find more information on this as what all tools will be required for me to load it through SCI.

I am writing a boot loader to load my application, can i use this tool from TI instead if i am going to use TI hex format of loading generated from hex tool.

The serial flash programmer was found in below path

C:\ti\C2000Ware_3_01_00_00_Software\utilities\flash_programmers\serial_flash_programmer.

There are 2 exe "serial_flash_programmer.exe" and "serial_flash_programmer_appln.exe" which one to be used.

-----------------------------------------------------------------------------------------------------------------------------

I did go through the README.txt present in that folder

he command used to load the file is given as

"serial_flash_programmer.exe -d f2837xD -k F2837xD_sci_flash_kernels_cpu01.txt -a blinky_cpu01.txt -b 9600 -p COM7"

I did not understand the highlighted portion in the command line i.e (-k F2837xD_sci_flash_kernels_cpu01.txt) why this will be required. this information is required for me as i am using this controller for aerospace application .

Thanks,

Nagesh

  • Nagesh,

    Please go through below app note:

    http://www.ti.com/lit/an/sprabv4c/sprabv4c.pdf 

    F2837xD_sci_flash_kernels_cpu01.txt is the Flash kernel that gets loaded from the SCI loader.  This kernel streams the application and programs it in the flash using Flash API.

    Also, you can check another solution from Codeskin. C2Prog tool: https://www.codeskin.com/programmer

    Thanks and regards,

    Vamsi

  • Hi Vamsi,

    Thank you for the information.

    I could load the example program provided 'C:\ti\C2000Ware_3_01_00_00_Software\utilities\flash_programmers\serial_flash_programmer\f2837xD_fw_upgrade_example'.

    I tried creating a hex format using the hex tool with the command below for my *.out file.

    hex2000.exe -boot -a -sci8 blinky_cpu01.out -o blinky_cpu01.txt

    The *.out file loads successfully and executes fine in controller, but when i convert the *.out to *.txt by above command, when i try to load the hex file via serial flash programmer it doe not load, throws an ERROR.

    Bit rate /s of transfer was: 7424.719238
    Application load successful!
    Done waiting for application to download and boot...
    SUCCESS of Command
    ERROR Status: PROGRAM_ERROR
    ERROR Address: 0x7c88

    Can you please let me know what could be the reason.

    Thanks, 

    Nagesh

  • Nagesh,

    Can you check if you have anything mapped to RAM in the application linker cmd file that you are trying to load?  All of the initialized sections should be mapped to Flash.  Please check.

    Kernels can only program to Flash but not to RAM.

    Thanks and regards,

    Vamsi

  • hi Vamsi,

    I am using the example program provided by TI from below path for verification

    "C:\ti\C2000Ware_3_01_00_00_Software\driverlib\f2837xd\examples\cpu1\led\led_ex1_blinky.c"

    I was able to load successfully using jtag with the RAM linker cmd file and led was blinking.

    But when i tried to use Flash linker cmd file for the same program provided by TI, its not blinking the led, also observed i was not able to debug as it is getting reset.

    can you please consider the same file and check why with Flash linker cmd file ("2837xD_FLASH_lnk_cpu1.cmd") its not blinking.

    can you please convert to TI hex format , using the hex2000.exe as per below command

    "hex2000.exe -boot -a -sci8 led_ex1_blinky.out -o led_ex1_blinky.txt"

    and load the same file using serial_flash_programmer.exe which should blink the exe. this will help me to figure out the issue related to Flash linker cmd file and serial programming.

    Thanks,

    Nagesh

  • Nagesh,

    Did you try to use the Flash config build provided in C2000Ware to compile the project?

    OR

    Did you do your own project conversion from RAM to Flash?       

    As mentioned in https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/878674/3250523#3250523, all the C2000Ware example projects are provided with both RAM and Flash build configurations. To change the build configuration from RAM to Flash, users can import the project in to CCS and right click on the project and select 'Build Configurations' -> 'Set Active' -> 'Flash'.

    Please try above provided Flash configuration and see if that helps.  

    I feel the issue that you see is due to not copying the contents from Flash to RAM using memcpy().

    Thanks and regards,

    Vamsi