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

MPSL assert

Hello, i'm using NCS 1.4.99 with a nRF5340 and i'm trying to use BLE and radio synchronization in the network core.
My code run can run minutes without problem but sometime it crash unexpectedly with the following error message:
mpsl_init: MPSL ASSERT: 112, 2214
The error code give the file and the line number but it doesn't help without the source code of the MPSL library.
Would it be possible to know more about the cause of this assertion ?

<err> mpsl_init: MPSL ASSERT: 112, 2214
<err> os: ***** HARD FAULT *****
<err> os:   Fault escalation (see below)
<err> os: r0/a1:  0x00000003  r1/a2:  0x2100bda8  r2/a3:  0x00000000
<err> os: r3/a4:  0x00000003 r12/ip:  0x00000000 r14/lr:  0x010203cf
<err> os:  xpsr:  0x41000018
<err> os: Faulting instruction address (r15/pc): 0x01026e3e
<err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
<err> os: Fault during interrupt handling
<err> os: Current thread: 0x21001b60 (unknown)
<err> os: Halting system

Parents Reply
  • I have tried what you say but it didn't help.
    I have identified that the issue was coming when I'm in the MPSL_TIMESLOT_SIGNAL_TIMER0 callback to end the radio (it's in rx just before) but just before disabling the radio, a frame is finished to be received (saw it by mapping NRF_RADIO_EVENT_END to a GPIO).
    At the end of MPSL_TIMESLOT_SIGNAL_TIMER0, I return to schedule another timeslot and so i'm unable to manage the radio event because the timeslot is ended.
    I suppose the end of reception event is then managed by the MPSL and assert because it's outside any timeslot.

Children
No Data
Related