Hi everyone,
We found that the LIS2MDL_INT interrupt from the compass on P1.06 affects communication between the app core and the network core.
About 3 seconds after bootup, if we perform a Bluetooth function such as scanning or advertising, it results in a timeout and causes the system to reset, as shown below.
We tried postponing bt_enable(), but it failed because the app core couldn't communicate with the network core.
However, if we select a different compass interrupt, the LSM6DSV_INT1 on P1.04, the Bluetooth function works well.
ASSERTION FAIL [err == 0] @ WEST_TOPDIR/zephyr/subsys/bluetooth/host/hci_core.c:331
command opcode 0x200a timeout with err -11
[00:00:20.995,086] <err> os: r0/a1: 0x00000003 r1/a2: 0xfffffffe r2/a3: 0x20026918
[00:00:21.005,920] <err> os: r3/a4: 0x00000000 r12/ip: 0x00000000 r14/lr: 0x0007f0e5
[00:00:21.016,723] <err> os: xpsr: 0x49100000
[00:00:21.024,108] <err> os: s[ 0]: 0x20026bdc s[ 1]: 0x00000000 s[ 2]: 0x00000014 s[ 3]: 0x0009d811
[00:00:21.036,682] <err> os: s[ 4]: 0x00000000 s[ 5]: 0x00000000 s[ 6]: 0x000b9e76 s[ 7]: 0x2004d3c4
[00:00:21.049,285] <err> os: s[ 8]: 0x20054a54 s[ 9]: 0x0009ceab s[10]: 0x000b9e76 s[11]: 0x2004d3c4
[00:00:21.061,859] <err> os: s[12]: 0xfffffff5 s[13]: 0x0007f0e5 s[14]: 0x000b9e76 s[15]: 0x0000200a
[00:00:21.074,401] <err> os: fpscr: 0xfffffff5
[00:00:21.081,756] <err> os: Faulting instruction address (r15/pc): 0x0007f0f0
[00:00:21.091,827] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
[00:00:21.101,593] <err> os: Current thread: 0x20026918 (main)
[00:00:21.110,260] <err> fatal_error: Resetting system
We use an external clock and added the configuration to prj.conf
in both the app core and the network core.
CONFIG_CLOCK_CONTROL=y CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH=y
Has anyone encountered a similar issue? Could there be any specific cause I should check?
Any suggestions would be greatly appreciated. Thanks!