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.

CCS/TMS320F28379D: How to run two different or same program on CPU1 and CPU2 in TMS320F28379D

Part Number: TMS320F28379D
Other Parts Discussed in Thread: CONTROLSUITE

Tool/software: Code Composer Studio

Hello there

I hope you all are safe and healthy. I am working on Two-Phase Interleaved LLC Resonant Converter by using TMS320F28379D. It is dual-core so it has CPU1 and CPU2 so I am planning to use both CPU for two different LLC converter for two different applications (later will use for LLC {CPU1} control and another application {CPU2}). As per its multi-day workshop in LAB11, it is mainly related to IPC but didn't mention that how to operate 2 same or 2 different projects by using dual-core. As per the pdf of TI, I'm following the example of the LLC controller (an example is given under this name 'HV2PHILLLC' Location of this folder will be ..\controlSUITE\development_kits\TIDM_1001\v1_00_00_00\f2837x\HV2PHILLLC). I have added HV2PHILLLC as a project 1 (which should run on CPU 1) and duplicate that with HV2PHILLLC2 as a project 2 (which should be run on CPU2). For that, I have set up cpu2 in debug but it won't change. Does TMS320F28379D has feature to control dual project at the same time? If yes then how can I set each project at specific CPU 1 or 2? 

Please stay safe

Thank you

Avi P.

  • Hello Avi,

    Avi P said:
    If yes then how can I set each project at specific CPU 1 or 2? 

    When you launch a debug session for a project, and the target has multiple CPUs of the same type, you should get a prompt allowing you specify which CPU to associate the project to.

    Note that this prompt will only appear once for each project. It will remember your selection after that first time and always default to it. To clear the current selection, please delete your debug configuration.

    Thanks

    ki

  • Thank you Ki for your quick reply.

    I have already set this to CPU2 but when I go to the property of the project and then go to debug then it shows me CPU1, I again click on cpu2 and apply the changes but whenever I go to debug setting it shows me CPU1, I have shared the screenshot here, see the device is Texas Instruments XDS100V2.........._CPU1. Does it mean that it still run on CPU1? Even After debug it says CPU2 is disconnected.

    Thanks

    Avi

  • Avi P said:
    I have already set this to CPU2 but when I go to the property of the project and then go to debug then it shows me CPU1, I again click on cpu2 and apply the changes but whenever I go to debug setting it shows me CPU1, I have shared the screenshot here, see the device is Texas Instruments XDS100V2.........._CPU1. Does it mean that it still run on CPU1?

    No. It is the debug configuration that has the setting of which CPU to load/run. If you set it in the debug configuration via that pop up dialog I showed earlier, that is the key

  • Yes, I have added cpu2 first in an earlier screen which you shared but after set cpu2 only still I can see CPU2 is disconnected and CPU1 is running.

  • Please see the attached video (zipped)

    /cfs-file/__key/communityserver-discussions-components-files/81/debug_5F00_config.zip

    This is the behavior I am expecting. I launched the debugger for a project whose generated executable is to be loaded to CPU2. I get the pop up asking me which CPU (of which I specify CPU2). Note how the program is loaded to CPU2 and the program is halted at main. Note that when the debugger is first launched, the debug context is on CPU1. But the program is loaded on CPU2 and halted at main. When I terminate the debug session and repeat, it remembers my last setting and loads the program to CPU2 and is halted at main again.

    This behavior is not working for you?

  • Thank you so much for the great explanation.True that I followed all steps which you mentioned in the video as well as in earlier replies but when I run it, it says running next to CPU1 and cpu2 is suspended. Is it mean that the code is running on CPU1?

  • CPU2 is suspended at 'main', which is the expected default behavior. So it looks like the program was successfully loaded to CPU2 and auto-run to 'main' as expected. Looks good.

    As for CPU1, the CPU is in running state. However, that could simply mean that CPU1 was already in a running state and that the debugger simply connected to CPU1 and left it alone in running state.

  • Avi - since your last post was a new question, I tried to split it off to a new thread. But the forums had an error and you post may have gotten deleted. If so, please start a new thread. I will close this one.

    Thanks

    ki

  • Sure thanks, Ki.

  • Actually the split thread is back. I will reply at: https://e2e.ti.com/support/tools/ccs/f/81/t/921204