Using OpenOCD
OpenOCD supports stepping, adding breakpoints watch points when you are debugging your firmware codes.
First, make sure you have the OpenOCD started. If you already done so in the “Flashing target firmware” section, you could skip this step now. Otherwise run the following command in a privileged terminal.
$ openocd.exe -f interface/cmsis-dap.cfg -f target/nrf51.cfg
Then open the second privileged terminal to set up a telnet debug session with your target device:
$ target remote localhost:3333
Now we need to set some breakpoints in the code:
> break main.c:25
Stop the currently running code using the following command:
> monitor reset halt
Reset the code back to start:
> monitor reset init
Now we can run the firmware program which will pause at the break point we just set:
> continue
Using Keil
Adding breakpoints, debugging and stepping in Keil is pretty straightforward, it’s all been setup on the IDE GUI, refer to the Keil documentation to details.