nRF53 802.15.4 unit timeout when attached to SWD debugger

Dear nRF support,

nRF5340 custom board

nRF NCS 2.5.x

Running into this very weird issue:

Program runs fine if I don't attach debugger to it 

When I do "attach to running program" using Ozone debugger, while it's past unit, program runs and debugger works fine.

however, if I attach to it and reset it using the debugger or reset using some other way while debugger is attached (e.g. kernel reboot cold via shell) - then it fails to boot, and I can catch it with a breakpoint in sys_utils.c asser_post_action. Call stack points to a failure in comms with the 802.15.4 core , sterilization fault with error -5. I believe it is timing out.

Any idea how SWD debugger could affect this stage of init?

  • Farhang said:

    1- we figured we can debug cpunet just like cpuapp using its own zephyr.elf.. i don't know why we thought we can't. my bad.

    2- The issue we were facing looks to be caused by trying to use 2x ipc channels, one for BT/Openthread and the other for custom nrf_rpc messaging. Although we couldn't find any documentation saying we shouldn't have 2x ipcs - we combined into 1 and it seems to be stable now.

    Looks like you figured it out before I got back to you!
    Sorry for the late answer and good job!

    Farhang said:

    Has this been addressed? In other words do you have a better suggestion on how to read the nRF53 netcore image version?

    Ideally MCUMGR image management would be able to provide netcore FW version and hash sha256 in the same manner that it does for app core.

    No, I do not have any better suggestions here. Ideally we should have image management for reading the network core version, but we do not.

    Farhang said:

    Suggestions for nRF:
    1- If you could streamline the firmware update of the netcore the same as appcore (right now "image mgmt" : read firmware image version doesn't work for netcore) that'd be great

    2- our understanding of the IPC/shared ram/spinel implementation is very vague... documentation could be improved such that us developers can actually understand what is going on.

    Thanks for the feedback!

Related