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.

TMS320F28384D: CLA Core Configuration

Part Number: TMS320F28384D
Other Parts Discussed in Thread: SYSCONFIG

Hi team,

I have a customer who is working on a 2kW PFC + inverter controlled by the F28384D and is having issues getting up-to-speed using the CLA cores. They're using the SysConfig tool and everything is working (ADC, ePWM, interruptions, etc) except the CLA. If you have any immediate advice to kick off supporting my customer through this, it would be greatly appreciated. 

Thanks in advance!

Marco

  • Hi! I'm the person developing this project. Just to give some context, I used the project from the "Project Wizard" called "empty_c28x_dual_sysconfig" as a template. I managed to configure the PWM and ADC peripherals so:

    1) A periodical PWM interruption (when time-base counter is equal to zero) triggers the ADCs.

    2) The ADC end-of-conversion interruption triggers some code (a digital controller) that will update the next PWM duty cycle.

    However, this controller has 2 independent sections and I would like to execute them in parallel (one section in the CPU and the second one in the CLA core). To do so, at the end of the ADC conversion, CPU and CLA will use the ADC values, and once the CLA execution is finished, it will send the result back to the CPU, so it can finish the controller calculation.

    I tried configuring the CLA from SysConfig (I only need one task from the 8 that are available), but in the generated code, there's this function called CLA_init() that references some extern variables (Cla1funcsRunStart, Cla1funcsLoadStart, etc.) that are not defined anywhere. I've done some research and I think that I need to adjust the link CMD file, but I would need some help to do so.

    Thank you!

  • I got it working! I located in the "Project Wizard" a project that uses the CLA core, called "cla_ex1_asin". I then copied the .cmd file into my project ("2838x_FLASH_CLA_lnk_cpu1.cmd"). And finally, I defined the CLA function "Cla1Task1()" in a .cla file. I'm still not sure how to properly configure the MEMCFG section in the SysConfig tool, but copying the configuration from the "cla_ex1_asin" example worked.

  • In the MEMCFG section, you only configure the LSRAM as either C28 memory/CLA data memory / CLA program memory. The symbols Cla1funcsRunStart, Cla1funcsLoadStart are expected to be part of the linker cmd file. The MEMCFG section does not generate the linker cmd file.

    You may user the Linker CMD tool if needed.

    Regards,

    Veena

  • Hi Veena, thank you for your response. As you say, I used the Linker CMD tool to configure my own linker cmd file, and SysConfig generated it for me: https://www.ti.com/lit/an/sprad49/sprad49.pdf?ts=1710162068650

    I have everything working now!