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.

TMS320F28377S: Create a contiguous binary for RAM execution in CCS

Part Number: TMS320F28377S
Other Parts Discussed in Thread: C2000WARE

Tool/software:

I have created a CCS 20.0.1.4 project for the TMS320F28377S. Now I have to adjust this project so that it is runnable in RAM.
A colleague wants to load this program into RAM via JTAG and execute it by setting the instruction counter to the startaddress and enter real-time mode.
He needs a contiguous binary file (*.bin) from me, that is runnable in the RAM.

My questions are: How I have to adjust my CCS project to runnable in the RAM and how can I create this binary file with CCS?

Many thanks.

  • Hi Frank,

    When you created this project in CCS, did you create it using an empty project from TI Resource explorer or C2000WARE SDK? If so, these typically come with multiple build configurations for RAM and FLASH. You can change the build configuration from the project by right clicking and selecting the option to change the build configuration. If you don't have that option, you can also use RAM by importing a RAM based linker command file (found in device_support folder) from our SDK.

    The project output is a .out file, this is the binary file which should be able to be loaded on the device

    Regards,

    Peter

  • If you manually add a linker command file, be sure to exclude the FLASH linker command file from build or you will get a build warning saying the parts of memory are being dual-allocated

    Regards

    Peter

  • Hi Peter,

    thank you very much for the quick reply. Yes, I can select the build configuration for RAM. But how do I get all the data to be in a contiguous area? With the linker command file?
    I need the pure data that should be in RAM as a binary file. The .out file is not suitable for this. I think a have to use the “C2000 Hex Utility” for this.

    Regards,

    Peter

  • Hi Frank,

    Yes, you can adjust the linker command file to finetune the placement of the memory blocks used in the program. Refer to the memory map available in the datasheet to be sure you are accessing valid parts of the memory. 

    From my understanding of the C2000 Hex Utility, the generated format is .hex. You will need to have a post-build step to further compile that into the necessary .bin file

    Regards,

    Peter

  • Hi Peter,

    I got it to work.

    I have combined all LSx RAM areas in the linker command file to one area and removed all others areas to get a contiguous area. Then I placed all sections to this area and set “codestart” to the RAM start address.

    I used C2000 Hex Utility with following parameters to get the binary.

    --romwidth=16 --swapbytes --diag_wrap=off --binary

    Thank you.

    Regards,

    Frank