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!