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: Confusion about C2000Ware example projects

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

Hello,

I am trying to use C2000Ware library. However, I am having some confusion about the example projects. I'll try to list them below.

First, there are two sets of examples in the C2000Ware resource explorer. One set is directly below "C2000Ware (x.xx.xx.xx.xx)/English/Examples" and the other set is under "C2000Ware (x.xx.xx.xx.xx)/English/Devices/(Devicename)/(Devicename)/Examples/Driverlib". What is the exact difference between them?

Second, I tried the dual CPU example "led_ex1_blinky" for F28379D under the Examples. However, there is no FLASH build configuration for the dual CPU examples like the single CPU ones. Also, both CPU1 and CPU2 projects have a "2837xD_RAM_lnk_cpu1.cmd" file as the linker script. I assumed this is a mistake and changed the CPU2 with the "2837xD_RAM_lnk_cpu2.cmd" After that, I tried to modify the project for FLASH configuration. I changed the RAM linker scripts with FLASH ones and defined the "_FLASH" symbol. This setup is fine when debugging. But in standalone mode, CPU2 does not start. I believe I need to add IPCBootCPU2 function to the CPU1s program. However, there is no such function in the example's included libraries. When I check the other set of examples, this function is available. Why is there a discrepancy between two sets of driverlib examples? Which functions I need to use to start CPU2 in standalone?

Thanks in advance,

Emir

  • Hi,

    <C2000Ware>\driverlib\<device>\examples has device specific examples for different peripherals using the driverlib.

    <C2000Ware>\device_support\<device>\examples has device specific examples for different peripherals using the bitfields.

    Similarly you can find examples folder in each of the other components such as FPU library, VCU library etc.

    C:\ti\c2000\C2000Ware_3_02_00_00\examples includes demo examples that uses multiple devices. It also provides a shortcut for the examples folders mentioned above.

    To run the example standalone, you need to use the IPCBootCPU2  function. This function is available in bitfields code in <C2000Ware>\device_support\f2837xd\common\source\F2837xD_Ipc_Driver_Util.c file.

    We are planning to add this support in driverlib and include it in all dual core examples by default in Flash configuration.

    Regards,

    Veena

  • Can you also confirm that I need to use "2837xD_RAM_lnk_cpu1.cmd" and "2837xD_RAM_lnk_cpu2.cmd" linker command files for CPU1 and CPU2 projects correspondingly? Because by default, the example loads "2837xD_RAM_lnk_cpu1.cmd" for both CPU1 and CPU2 projects. Also, I believe I need to change linker command files to FLASH ones for standalone configuration.

    Thanks,

    Emir

  • Hi Emir Can Yaman,

    Right. That is mistake. I will raise a ticket and make sure it gets corrected in the next C2000ware release. I will also raise a ticket to add Flash configuration for all examples

    You can use 2837xD_FLASH_lnk_cpu1.cmd and 2837xD_FLASH_lnk_cpu2.cmd for Flash configuration

    Regards,

    Veena