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.

CODECOMPOSER: Migrating from Eclipse v12.1.0.00007 to Theia v1.3.1.4 (C2000)

Part Number: CODECOMPOSER
Other Parts Discussed in Thread: TMS320F28379D

Hi,

I am currently working on migrating from the Eclipse version of CCS to the Theia version.

The target is a TMS320F28379D. There are two separate CCS projects, one is for CPU1 and one is for CPU2.

I am able to build both projects and flash the target, but I have been mostly unsuccessful with debugging. In the Eclipse version, a .launch file can be imported by choosing File > Import and then Run/Debug > Launch Configurations. The launch configurations can be used by selecting the arrow next to the debug icon and then Debug Configurations. This is the way that we were starting a debugging session with CCS Eclipse.

However, I am unable to find this option or a comparable option in the Theia version (neither importing of the launch configurations nor the specification of debug configurations). I am able to set some of the same settings using the project properties (right click on a project and select Properties at the bottom and going to the Debug section), but not all of the settings are there, and it is project specific instead of across both projects.

Debugging either of the two projects normally (Run > Debug Project) does not work. At the start of main(), there are multiple synchronization steps between the two cores. When debugging normally, the core gets stuck at the synchronization step (the other core could be held in reset or may not have been reset at all?). Some psuedo code of this is below.

void IPC_syncCores(void)
{
    IPC_sendSyncMessageToOtherCore();
    while (otherCoreHasNotResponded);
}

int main()
{
    // Do some work
    
    IPC_syncCores();
    
    // Do some more work
    
    IPC_syncCores();
    
    // Do some more work
    
    IPC_syncCores();

    for (;;) {
        // Do other work here
    }
}

I have had some success when launching a Project-less Debug Session from the Target Configuration File. This process involves connecting to CPU1 and CPU2, loading each CPU with their respective program and symbols, and then starting them both. This sometimes works but not always and is an annoying process because Restarting the CPUs rarely works, so often it is necessary to reload the programs.

How can Eclipse's launch configurations be migrated to the Theia version of CCS?

Thank you for the help!

  • Hello,

    However, I am unable to find this option or a comparable option in the Theia version

    Launch Configurations work quite differently in CCS Theia (as you noticed). Once a launch configuration has been created for a project or target, it will appear in the dropdown list in the Debug view. If you press the little "gear" icon next to the list, it will open a launch.json file which has all the launch configuration information fin a json format:

    This json file is editable but it is something we don't typically recommend. Also, not all the settings are available in this json file like there was is a CCS Eclipse launch configuration.

    I have had some success when launching a Project-less Debug Session from the Target Configuration File. This process involves connecting to CPU1 and CPU2, loading each CPU with their respective program and symbols, and then starting them both

    This would be the current recommended flow. We are adding a scripting console similar to what existed in CCS Eclipse where you can run an initialization script to automate all the actions to simplify this. It is planned later this year.

    but not all of the settings are there

    What are the exact settings you need? I can see if there is something equivalent you can add to the launch entry in the json file.

    Please note that it is a local holiday today so I will follow up on Monday.

    Thanks

    ki

  • We are adding a scripting console similar to what existed in CCS Eclipse where you can run an initialization script to automate all the actions to simplify this. It is planned later this year.

    Is there a specific release this will be feature will be in?

    What are the exact settings you need?

    I was able to find the settings I was missing. There was a drop-down menu I did not notice.

    Thank you for your help.

  • Is there a specific release this will be feature will be in?

    CCS Theia 1.5.0 (sometime 3Q of this year)