OpenThread crashes on 5340

Basic OpenThread application built for 5340 crashes in net app.

The same application works fine on 21540 (52840 + 21540)

The crash seems to happen when some thread packet is received. If I turn off all other thread transmitters, the crash doesn't happen.

Details:

I: [N] Mle-----------: Role detached -> child
I:   Local IPv6 = Origin:SLACC * fd11:22:0:0:8f99:b944:f28f:617b
E: No response within timeout 500
ASSERTION FAIL @ WEST_TOPDIR/zephyr/drivers/ieee802154/ieee802154_nrf5.c:1149
    802.15.4 serialization error
E: r0/a1:  0x00000004  r1/a2:  0x0000047d  r2/a3:  0x00000001
E: r3/a4:  0x00011cc9 r12/ip:  0xa0000000 r14/lr:  0x000180af
E:  xpsr:  0x41000000
E: Faulting instruction address (r15/pc): 0x00058b1e
E: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0
E: Current thread: 0x200035b8 (openthread)
E: Resetting

Parents
  • Since the NCS samples for openthread (at least cli sample) work OK I decided to simplify my app and take out sections until it was close to a basic openthread sample.  I found that this crash never went away and was always caused by openthread running.  Looking for more differences I discovered my app wasn't using h/w float which was a difference from the samples. If I use CONFIG_FPU=y My application started working, but then as I changed any code unrelated to openthread it started crashing again.  It seems placement of the code causes this, nothing specific.

  • Hi,

    Did it crash with the same error? Are any of the other threads using floating point operations as well? Floating point registers can only be used in an exclusive manner unless you enable FPU register sharing. Since enabling FPU fixed the issue, but adding more code caused it to come back this might be the reason. Can you try setting CONFIG_FPU_SHARING=y?

    Best regards,

    Marte

Reply Children
No Data
Related