MPSL assert error 112, 2134 when trying to advertise

I am trying to set up my application to advertise on the BLE and am having issues with some asserts I am seeing.

The error I am getting is shown here in my serial console:

I: HW Platform: Nordic Semiconductor (0x0002)
I: HW Variant: nRF52x (0x0002)
I: Firmware: Standard Bluetooth controller (0x00) Version 224.11902 Build 2231721665
I: Identity: E4:40:49:3C:12:84 (random)
I: HCI: version 5.4 (0x0d) revision 0x1077, manufacturer 0x0059
I: LMP: version 5.4 (0x0d) subver 0x1077
Bluetooth initialized
E: MPSL ASSERT: 112, 2097
E: ***** HARD FAULT *****
E:   Fault escalation (see below)
E: ARCH_EXCEPT with reason 3

E: r0/a1:  0x00000003  r1/a2:  0x00000000  r2/a3:  0x00000000
E: r3/a4:  0x200058bd r12/ip:  0x00000000 r14/lr:  0x00022b1f
E:  xpsr:  0x61000018
E: s[ 0]:  0x00000000  s[ 1]:  0x00000000  s[ 2]:  0x00000000  s[ 3]:  0x00000000
E: s[ 4]:  0x00000002  s[ 5]:  0x00000000  s[ 6]:  0x00000000  s[ 7]:  0x00000000
E: s[ 8]:  0x00000000  s[ 9]:  0x00000000  s[10]:  0x00000000  s[11]:  0x00000000
E: s[12]:  0x00000000  s[13]:  0x00000000  s[14]:  0xffffffff  s[15]:  0x00000000
E: fpscr:  0x0df9bb2d
E: Faulting instruction address (r15/pc): 0x00022b2a
E: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
E: Fault during interrupt handling

E: Current thread: 0x20002728 (sysworkq)

What am I doing wrong here?

I looked at this ticket to see if it would help. It indicated the HFCLK may not have been started, but when I put the code in place to test the startup time it never exits the while loop. Maybe this is indicative of a custom hardware issue with that crystal? I did put in the code at the end (a call to mpsl_clock_hfclk_request), but that never calls the clock_started_cb unless I am debugging and slowly stepping through the code.

 MPSL ASSERT: 112, 2134 if using multiple BLE communication 

Thanks for the support!

Parents
  • I get this output when I run the same code on a NRF52DK with an NRF52832 (same MCU as our custom hardware). A different assert failure, but maybe related?

    *** Booting Zephyr OS build v3.3.99-ncs1 ***
    HFXO started
     -> PRU Application: v0.0.1 -- nrf52dk_nrf52832 -- 00000001
    I: SoftDevice Controller build revision:
    I: e0 7e 2e c1 5e 05 85 23 |.~..^..#
    I: 46 15 dc fa 8e 29 7d 70 |F....)}p
    I: 10 93 a5 fc             |....
    I: HW Platform: Nordic Semiconductor (0x0002)
    I: HW Variant: nRF52x (0x0002)
    I: Firmware: Standard Bluetooth controller (0x00) Version 224.11902 Build 2231721665
    I: Identity: CE:7C:AC:A4:E1:3D (random)
    I: HCI: version 5.4 (0x0d) revision 0x1077, manufacturer 0x0059
    I: LMP: version 5.4 (0x0d) subver 0x1077
    Bluetooth initialized
    E: MPSL ASSERT: 112, 2097
    E: ***** HARD FAULT *****
    E:   Fault escalation (see below)
    E: ARCH_EXCEPT with reason 3
    
    E: r0/a1:  0x00000003  r1/a2:  0x00000000  r2/a3:  0x00000000
    E: r3/a4:  0x200058bd r12/ip:  0x00000000 r14/lr:  0x0002304b
    E:  xpsr:  0x61000018
    E: s[ 0]:  0x00000000  s[ 1]:  0x00000000  s[ 2]:  0x00000000  s[ 3]:  0x00000000
    E: s[ 4]:  0x00000002  s[ 5]:  0x00000000  s[ 6]:  0x00000000  s[ 7]:  0x00000000
    E: s[ 8]:  0x00000000  s[ 9]:  0x00000000  s[10]:  0x00000000  s[11]:  0x00000000
    E: s[12]:  0x00000000  s[13]:  0x00000000  s[14]:  0x00004310  s[15]:  0x00000000
    E: fpscr:  0x8a002068
    E: Faulting instruction address (r15/pc): 0x00023056
    E: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
    E: Fault during interrupt handling
    
    E: Current thread: 0x20002728 (sysworkq)

Reply
  • I get this output when I run the same code on a NRF52DK with an NRF52832 (same MCU as our custom hardware). A different assert failure, but maybe related?

    *** Booting Zephyr OS build v3.3.99-ncs1 ***
    HFXO started
     -> PRU Application: v0.0.1 -- nrf52dk_nrf52832 -- 00000001
    I: SoftDevice Controller build revision:
    I: e0 7e 2e c1 5e 05 85 23 |.~..^..#
    I: 46 15 dc fa 8e 29 7d 70 |F....)}p
    I: 10 93 a5 fc             |....
    I: HW Platform: Nordic Semiconductor (0x0002)
    I: HW Variant: nRF52x (0x0002)
    I: Firmware: Standard Bluetooth controller (0x00) Version 224.11902 Build 2231721665
    I: Identity: CE:7C:AC:A4:E1:3D (random)
    I: HCI: version 5.4 (0x0d) revision 0x1077, manufacturer 0x0059
    I: LMP: version 5.4 (0x0d) subver 0x1077
    Bluetooth initialized
    E: MPSL ASSERT: 112, 2097
    E: ***** HARD FAULT *****
    E:   Fault escalation (see below)
    E: ARCH_EXCEPT with reason 3
    
    E: r0/a1:  0x00000003  r1/a2:  0x00000000  r2/a3:  0x00000000
    E: r3/a4:  0x200058bd r12/ip:  0x00000000 r14/lr:  0x0002304b
    E:  xpsr:  0x61000018
    E: s[ 0]:  0x00000000  s[ 1]:  0x00000000  s[ 2]:  0x00000000  s[ 3]:  0x00000000
    E: s[ 4]:  0x00000002  s[ 5]:  0x00000000  s[ 6]:  0x00000000  s[ 7]:  0x00000000
    E: s[ 8]:  0x00000000  s[ 9]:  0x00000000  s[10]:  0x00000000  s[11]:  0x00000000
    E: s[12]:  0x00000000  s[13]:  0x00000000  s[14]:  0x00004310  s[15]:  0x00000000
    E: fpscr:  0x8a002068
    E: Faulting instruction address (r15/pc): 0x00023056
    E: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
    E: Fault during interrupt handling
    
    E: Current thread: 0x20002728 (sysworkq)

Children
No Data
Related