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

How to get SoftDevice crash informations?

Hi,

I've got a custom board with nrf52832 mcu. I use the nRF5_SDK_16.0.0_98a08e2 with s132_nrf52_7.0.1_softdevice.hex.

Sometimes the app_error_fault_handler is called from the address space of SoftDevice. The arguments I get:

id: 1 => NRF_FAULT_ID_SD_ASSERT 

pc: 0x172C0

info: 0

Where can i find more information about this error?

Thanks,

nevi

  • An assert at that address means the SoftDevice was not able to perform all required actions within a timing constraint. Most likely the SoftDevice has been prevented from executing.

    Possible reasons includes:

    • not releasing a timeslot before it expires
    • excessive disabling of interrupts
    • halting at breakpoint during debugging, then resuming execution

    Are you using timeslots, and/or disabling interrupts from the application?

  • I found an nrf_libuarte_drv_config_t struct whose irq_priority field accidentally remained at the default (zero) value.

    The libuarte slightly slow interrupt handler may have caused the problem at the highest priority.

    I changed the irq_priority filed to APP_IRQ_PRIORITY_LOW and the problem has not occurred since.

Related