This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

52840dk Segger debug exception when using softdevices.

Debugging in Segger serial example from mesh

It runs and responds to commands, but when paused or hits breakpoint - single step or continue gets to address 0xa60, continue logs the message:

app_error_weak.c,   96, Softdevice assert: 154516:0

Are there some required debugger setting whne debugging with softdevices?

I was debugging sample project without the softdevice without problems - possibly there is another issue.

Parents
  • The issue of the JTAG debugger stopping at 0xa60 after continue from suspend or breakpoint.

    It happens on both 840dk, and 832dk. I agree with you that it is caused by not serviced event in the soft device.

    I am using segger, but the gui does not matter, this is in the rtl of the debugger on silicon.

    But if you say, this is a normal operation procedure, to restart the app after each breakpoint, probably this has to be like that. I need to implement some realtime debugging support through the UART or sth like that.

    Piotr

Reply
  • The issue of the JTAG debugger stopping at 0xa60 after continue from suspend or breakpoint.

    It happens on both 840dk, and 832dk. I agree with you that it is caused by not serviced event in the soft device.

    I am using segger, but the gui does not matter, this is in the rtl of the debugger on silicon.

    But if you say, this is a normal operation procedure, to restart the app after each breakpoint, probably this has to be like that. I need to implement some realtime debugging support through the UART or sth like that.

    Piotr

Children
  • It is not a debug error. It is the hardfault handler for the nRF caused by the softdevice missing the events. There is a logging module in the SDK which is a handy tool. You see a lot of the NRF_LOG_INFO. Depending on whether you use the RTT or the UART backend (selected in sdk_config.h) it will be output on either the RTT or the UART.

    If you are using Segger Embedded Studio (SES), I can recommend using the RTT backend, and it will show when you are debugging. If you are using SES and RTT, please set NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED to 0 (also in sdk_config.h).

Related