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/66AK2H12: Unable to Consistently/Reliably Step Through Debugger

Part Number: 66AK2H12

Tool/software: Code Composer Studio

Using CCS 6.1.2, I'm trying to debug multiple programs (different .out program files) loaded on different DSP cores, but the debugger is giving me strange issues. As I step through the code, the program counter indicating the line number I'm currently at will randomly "run off" and the core being debugged goes from a paused state to a running state. After that happens, I have no way of gaining entry back into the program's location - making the entire debug session useless. This happens even when "stepping into" every line of the code.

I have a hunch that my multiple loaded programs are somehow conflicting with one another during the debugging session. The cores are configured with the different programs as follows:

Core 0: Program A

Core 1: Program B

Core 2: Program A

Core 3: Program C

Core 4: Program A

Core 5: Program A

Core 6: Program D

Core 7: Program A

In the case above, I'm able to consistently step through the cores loaded with Program A, but the program counters of the cores loaded with Program B, C, and D all eventually "run off". Does anyone have an idea what might cause this? Is my hunch of there being a conflict between the loaded programs appropriate?

Thanks,

Brad

  • Brad,

    Are you using any core grouping or synchronization features? I recall having some issues back with the older versions of CCS - a few things were fixed on this regard since then.

    Also, I used to have some debugging mysterious behaviour when I forgot to take appropriate care of the code placement in memory - in my case, either I was overwriting parts or the entire code whenever I loaded a different executable to each core or I had buffer overruns that overlapped the code. Both cases caused cores to lock up with invalid code and my solution was to partition the common memory regions more carefully.

    I will try to think about additional scenarios that caused a similar behaviour and report back.

    Hope this helps,
    Rafael
  • Rafael,

    I am not grouping any of the cores and the only synchronization feature I'm using is the Ipc.procSync = Ipc.ProcSync_ALL; IPC command to synchronize IPC initialization of each of the DSP cores being debugged. Are you aware of that command interfering with CCS 6.1.2?

    Your hypothesis of some of the code being overlapped in memory sounds like a good lead. I'll look into that and report back with my findings.

    Thanks,

    Brad