I am currently trying to debug the following firmware issue:
I've just gotten a hold of a Particle Debugger, connected to a BSoM eval board with a B523 running a very simple program that have just been created using the Create Project-function in Particle Workbench, alongside a connected micro-usb for flashing. I've reinstalled Workbench in VSCode as well as rolling back Cortex-Debug to v0.4.3.
For some reason, marking breakpoints as seen in the screenshot below, is not being respected by the debugger, it simply continuous to run after the initial 'resume' and I am unable to pause or use any of the debugger controls after. I am unsure why it doesn't have control over the execution of the program on my B523? When trynig to pause the execution, I receive the following response in the console:
Info : The target is not running when halt was requested, stopping GDB.
I am using the correct DeviceOS (v.5.5.0), correct device type and correct device ID is specified in settings. I've tried on both a Mac and a Windows computer.
And this is my debug console readout:
Cortex-Debug: VSCode debugger extension version 1.12.1 git(652d042). Usage info: https://github.com/Marus/cortex-debug#usage Reading symbols from /Users/christian/.particle/toolchains/gcc-arm/10.2.1/bin/arm-none-eabi-objdump --syms -C -h -w /Users/christian/Documents/repositories/dryp/debug-test/target/5.5.0/b5som/debug-test.elf Reading symbols from /Users/christian/.particle/toolchains/gcc-arm/10.2.1/bin/arm-none-eabi-nm --defined-only -S -l -C -p /Users/christian/Documents/repositories/dryp/debug-test/target/5.5.0/b5som/debug-test.elf Launching GDB: /Users/christian/.particle/toolchains/gcc-arm/10.2.1/bin/arm-none-eabi-gdb -q --interpreter=mi2 IMPORTANT: Set "showDevDebugOutput": "raw" in "launch.json" to see verbose GDB transactions here. Very helpful to debug issues or report problems Launching gdb-server: /Users/christian/.particle/toolchains/openocd/0.11.0-particle.4/bin/openocd -c "gdb_port 50000" -c "tcl_port 50001" -c "telnet_port 50002" -s /Users/christian/.particle/toolchains/openocd/0.11.0-particle.4/share/openocd/scripts -f /Users/christian/.vscode/extensions/marus25.cortex-debug-1.12.1/support/openocd-helpers.tcl -f interface/cmsis-dap.cfg -f target/nrf52-particle.cfg -c "CDRTOSConfigure FreeRTOS" Please check TERMINAL tab (gdb-server) for output from /Users/christian/.particle/toolchains/openocd/0.11.0-particle.4/bin/openocd Finished reading symbols from objdump: Time: 24 ms Finished reading symbols from nm: Time: 47 ms Output radix now set to decimal 10, hex a, octal 12. Input radix now set to decimal 10, hex a, octal 12. 0x00000a80 in ?? () Program stopped, probably due to a reset and/or halt issued by debugger add symbol table from file "/Users/christian/.particle/toolchains/deviceOS/5.5.0/build/target/system-part1/platform-25-m/system-part1.elf" (y or n) [answered Y; input not from terminal] Reading symbols from /Users/christian/.particle/toolchains/deviceOS/5.5.0/build/target/system-part1/platform-25-m/system-part1.elf... target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x00000a80 msp: 0x20000400 Note: automatically using hardware breakpoints for read-only addresses. [Switching to thread 1 (Thread 1)] #0 0x00000a80 in ?? () [New Remote target] [Switching to Remote target]