TMS320F280039C: program cannot run in CLA

Part Number: TMS320F280039C

Tool/software:

I need to run about 7KB code in CLA, so I reallocated the flash and RAM areas in the link file, but the program directly crashes at the CLA memory initialization location. How can I configure the link file for this situation?

Image above: Program stopped location(code generated by syscfg)

Image above: CLA related memory and flash allocation

Image above: Memory allocation in syscfg

Image above: CLA memory and flash allocation in the link file

  • Hello,

    Can you verify you are compiling with EABI? You can check this setting by right clicking on the project >> Properties >> Build >> C2000 Compiler and checking that you see the --abi=eabi flag in the "Summary of flags set" list. Another way to test this would be to adding an intentional typo inside the first #if and making sure that a build error is thrown - this verifies that the linker is entering the intended conditional. 

    Can you also try instead grouping the memories as a continuous MEMORY directive instead of inside SECTIONS? When allocating larger memories, this is a better method (see the thread here). You can do that by simply combining two of the LSRAM memory directives into one (you can rename it as well) and then increasing the length attribute to span to the end of the second LSRAM. You can then use your new named MEMORY directive as the RUN address for Cla1Prog. You can do the same for two areas of flash memory as well and use that MEMORY directive for the Cla1Prog LOAD.

    Best Regards,

    Delaney