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.

Debug setup for multi cores

Is there some way to get Run->Debug to set everything up for multicore debugging just like it does for single-core systems?

Setting up to debug a single core system is pretty easy once everything is defined for the Debug command. On the other hand, setting up to debug in a multicore system is tedious and error prone because there doesn't seem to be any way (that I have found) to script all of the operations.

The information in http://processors.wiki.ti.com/index.php/Multi-Core_Debug_with_CCS concentrates on the debugging operations after everything is set up, not automating the setup process.

To be a real one-button operation, the command would have to:

  1. Connect to the chip (or chips).
  2. Connect to the cores that are not bypassed.
  3. Reset, run GEL commands, whatever, in order to get the cores and chips in the right state.
  4. Load the executable files in each core. It would have to be able to load a different executable file in each core. All of the multicore demos use a single executable file for all cores, but that's not always practical.
  5. Optionally, run each core to the main() function (I think that there's some preference that controls this but I can't find it).

If CCS is already connected to the cores, then the Debug command should:

  1. See 3 above.
  2. Load executable files that have changed.
  3. See 5 above.
  • Hi,

    Although I haven't tried it yet, I see the only way to accomplish this is through the use of the Debug Configurations screen. Go to menu Run --> Debug Configurations and assign a project and an executable per core, similarly to what is done for the Linux stop mode debug (check the section Creating a source code project for the kernel of this page).

    I will need some time to try it myself, but please let me know if that is useful.

    Regards,

    Rafael

  • Hi Rafael,

    I tried to set up a debug configuration but it didn't work. There doesn't seem to be any documentation on how to use this with CCSv5.1 and multicores. The Help->Search finds something under C/C++ development which doesn't help much. The E2E forums have a couple of posts that are simply confusing and seem to be for CCSv4.

    Here's what I did:

    1. Run->Debug Configurations...
    2. Duplicate evmc6678l_xds100.ccxml to create evmc6678l_xds100.ccxml(1)
    3. Uncheck all but core 0 and 1.
    4. In the program tab, define the programs I want to load on the two cores.
    5. Save everything.

    Then I use the bug icon and select evmc6678l_xds100.ccxml(1) but it gives me an error dialog box ("disconnected.bmp" attached) that says that the target must be connected first. So, I connected to the target and use the bug icon again and I get another error ("connected.bmp", attached). This tells me that the existing debug session must be terminated first. I click OK and then get the first error again.

    So, how do I use Debug Configurations?

    I have pasted the two bmp files below. If that doesn't work then I'll try to send them another way.

    Fred

  • Here's the two images (I hope)

    First, disconnected.bmp

    Next, connected.bmp

  • Fred,

    I posted a short clip that shows what I meant in my reply. Please check the clip Multicore debug launch made easy in the section Debugger of the Tutorial Videos page below:

    http://processors.wiki.ti.com/index.php/Video_Tutorials_CCSv5

    (It doesn't look as nice as the other videos as I couldn't figure out how to embed it in the html).

    Check it out and see if it helps with this process.

    Regards,

    Rafael

  • Thanks. That works. It also works with a separate project for each core instead of one project with separate targets as in your example.

    Good luck figuring out how to embed it in the page. The link is almost invisible in the middle of the big embedded video windows.

    Fred