Post Go back to editing

Running framework demo - cannot start Core2 in Debug

Thread Summary

The user encountered an issue where CCES 3.0.2 did not show the breakpoint status or allow resuming of SHARC+ Core2 in the SHARC Audio Module (SAM) with ICE-1000 and Windows 11. The solution involved using the 'Debug' view to select and resume Core2. The user noted that breakpoints cannot be set while the program is running, and automatic breakpoints do not appear in the Breakpoints window.
AI Generated Content
Category: Software
Product Number: SHARC Audio Module
Software Version: CCES 3.0.2

Hi Folks,

I'm newly using the SHARC Audio Module (bare, no fins), ICE-1000, Windows 11 and CCES 3.0.2, with the ADI_SAM_BareMetal_SDK-Rel2.2.0 BareMetal Framework example code.

I load the example project from the framework directory, and get the 3 cores into CCES, and compile it.

I created a run & debug session for the ICE-1000 emulator.

I can download the whole application to the SAM without debugging, and the app starts, and the 3 LEDs blink as expected. I see UART output on my computer.

However, if using the default debug configuration, if I download the application, it properly hits the main() breakpoint in each core, and nothing happens.

The CCES UI shows me the breakpoints at the top of main() for both Core0 (in startup_code_core0.c) and Core1 (startup_code_core1.cpp). I am able to then hit F5/Resume to get those cores to run. The Arm core starts blinking its light. The SHARC+ Core1 starts outputting messages to UART, but not blinking it's light (which it needs to talk to Core2 to do).

My big problem: CCES at no point gives me any way to see the breakpoint status of SHARC+ Core2, nor to resume it, so I can't properly debug the SAM because I can't start or step through Core2. All CCES does is show me the two files for Cores 0 and 1, and does not give me any way to see Core 2 nor resume it from it's default main breakpoint.

Does anyone know why CCES is not showing me the breakpoint of Core2?

Just to make sure it's actually breaking Core 2, I created a new debug configuration and turned off the default main() breakpoints for all 3 cores and the debugged version of execution does the same thing as the non-debugged version.

Please help? Thanks!

  • Hi ,

    We have verified that all cores are accessible without any issues.

    Please note that the Breakpoints view displays all breakpoints set across your workspace, including those for Core2. You can open this view by navigating to:
    Window > Show View > Other > Debug > Breakpoints, and then clicking OK. Alternatively, you can press Alt + F9 on your keyboard.

    Also, please note that breakpoints can only be set or removed after selecting the specific core in the Debug view. For your reference, we’ve attached a video demonstrating this process.

    If you're still encountering issues, please share a detailed scenario or a video that clearly shows the problem. This will help us assist you more effectively.

    Breakpoints.zip

    Regards,
    Santhakumari.V

  • Thank you for that fantastic video and your accompanying explanation. Using the "Debug" view to select Core2, I was able to resume the core and have all 3 cores running, and could interrupt them as well. That was the main missing piece for me.

    Two oddities.

    1. Per the CCES 3.0.2 release notes, I cannot set breakpoints while the program is running - unlike in your example. Indeed, I get this (expected) error when I try to do it:

    Breakpoint insertion failure at C:\Apps\analog\SAM_BareMetal_SDK-Rel2.2.0\framework\drivers\bm_gpio_driver\bm_gpio.c [line: 169].  [TpsdkServer] Failed to set breakpoint: Can't set breakpoints in the current state: Running

    So you must be running a better version of CCES than I have. :)

    2. The "automatic breakpoints" that are set in Debug Configurations -> Automatic Breakpoints do not show up in the Breakpoints window. This also seems to be the case in your example, but it's a little unexpected.

    Thanks again!

  • Hi,

    Thanks for your feedback.

    We have passed this to internal team for further necessary action.

    Regards,
    Santhakumari.V