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

Assert Fault using Softdevice

I'm running an application on the nRF52840 DK using Softdevice 7.0.1.

My application runs fine for quite some time but than randomly fails with the softdevice invoking the fault handler with an assertion violation at pc 0x17826.

What does that mean and can I somehow find out what assertion this pc address refers to?

  • Hello,

    Does you application use the timeslot feature of the Softdevice by any chance? I asked the Stack team about this assert, and they said it could be triggered if the application overstayed its allocated timeslots.

    You may also get the same assert if you continue execution after halting the CPU with a debugger.

    Best regards,

    Vidar

  • I'm not using the timeslot API and didn't use a debugger either.

    I could imagine that the application might take too long to reply to some BLE-Events or that the application somewhere uses a priority level that is reserved for the softdevice. It would just be good to know, whether one of these could result in that assertion.

  • dth said:
    I could imagine that the application might take too long to reply to some BLE-Events or that the application somewhere uses a priority level that is reserved for the softdevice.

     I does not seem like you should be able to trigger this assertion by not responding SD events. However, using interrupt priorities reserved to the Softdevice might. Or, if you have critical regions in your code which temporarly disable interrupts globally.

Related