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: CLA sample code cla_lp_f2837xd does not run from Flash

Part Number: TMS320F28379D

The sample project works with the CPU1_RAM build configuration.  It does not work with the CPU1_FLASH configuration.  This is with no modification to the project other than changing the active build configuration.  From a bit of a look, I see that the CLA interrupt occurs only one time.  I have not looked into it further.

1. This is in part to alert TI that one of its sample projects does not work as expected.

2. Is this a known issue, or do you know what the issue may be?  (I was having problems with a custom project using CLA, which works from RAM, but not from Flash, which is why I started looking at this sample project.  If I get the sample project working from Flash, it may help me figure out what is happening on my custom project)

Thanks!

  • Hi Mark,

    Will forward your query to the concerned team , you will get a response by tomorrow. 

    Best Regards

    Siddharth

  • Mark,

    Thanks for pointing the issue. I can reproduce the issue. I am will looking into it and get back to it by next week.

    Regards, Santosh

  • Mark,

    Sorry for getting back to you so late. Today I was able to look in detail. There is an issue in flash linker command file. 

    Open 2837xD_FLASH_CLA_lnk_cpu1.cmd file.

    Delete the highlighted portion. Then rebuild the project. It should work fine afterwards.

    /* CLA specific sections */
    #if defined(__TI_EABI__)
    Cla1Prog : LOAD = FLASHD,
    RUN = RAMLS5,
    LOAD_START(Cla1ProgLoadStart),
    RUN_START(Cla1ProgRunStart),
    LOAD_SIZE(Cla1ProgLoadSize),
    PAGE = 0, ALIGN(4)

    Cla1Prog : LOAD = FLASHD,
    RUN = RAMLS5,
    LOAD_START(Cla1funcsLoadStart),
    LOAD_END(Cla1funcsLoadEnd),
    RUN_START(Cla1funcsRunStart),
    LOAD_SIZE(Cla1funcsLoadSize),
    PAGE = 0, ALIGN(8)
    #else
    Cla1Prog : LOAD = FLASHD,
    RUN = RAMLS5,
    LOAD_START(_Cla1funcsLoadStart),
    LOAD_END(_Cla1funcsLoadEnd),
    RUN_START(_Cla1funcsRunStart),
    LOAD_SIZE(_Cla1funcsLoadSize),
    PAGE = 0, ALIGN(8)
    #endif
    Regards, Santosh