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

Hello,

i have worked with RAM-project of Code example cla_divide and it is working. Now i want to use the CLA in the example project for thr Design Drive development kit and i cant get the CLA running. After building the Flash-Project "Cla1funcsRunStart" and "Cla1funcsLoadStart" are located to 0x008800 and "Cla1funcsLoadSize" is zero. Can soeone help?

kind regards Ralf

  • Ralf,

    can you check if you have below something like below in the linker command file?

    if you have then all the tasks defined in .cla file should go into the Cla1Prog section which will get copied to RAM (that needs to be assigned to CLA by CPU) during run time from CPU flash. All the global variables defined in .cla file should go to ClaData section and if you have any global variables defined in CPU that should go into ClaData should have a #pragma DATA_SECTION($$VARIABLE_NAME,     "ClaData");

    by the way where are you checking for Cla1funcsLoadSize? At your main() in flash via debugger?

    /* CLA specific sections */
    Cla1Prog : LOAD = FLASHD,
    RUN = RAMLS4LS5,
    LOAD_START(_Cla1funcsLoadStart),
    LOAD_END(_Cla1funcsLoadEnd),
    RUN_START(_Cla1funcsRunStart),
    LOAD_SIZE(_Cla1funcsLoadSize),
    PAGE = 0, ALIGN(4)

    ClaData : > RAMLS3, PAGE=1, ALIGN=2

    Hope this helps.

    Best Regards

    Santosh Athuru

  • Hello Santosh,

    thanks for your help. I have made these settings in linker command file and code is running now.

    In a function, which is called from main (before main-Loop), i do the following:

     

    // Copy over code from FLASH to RAM

    //

    memcpy((uint32_t *)&Cla1funcsRunStart, (uint32_t *)&Cla1funcsLoadStart,

    (uint32_t)&Cla1funcsLoadSize);

    Is this what you were asking for?

    One mistake was, that i did not use a *.cla file for the cla-Tasks, instead i used a *.c-file.

    I had to find out by try and error, that i can't use static and global variables in a *.cla-file. So is there a tutorial or something similar existing, which describes how to design a cla-implementation?

    Kind regards Ralf

  • Ralf,

    There is a set of training videos here: training.ti.com/search-catalog
  • Hello Vishal,

    thanks for your help.

    Kind regards Ralf