Restarting the network core

We have a project on a 5340 based system, that only occasionally needs to have Bluetooth running. We have a relatively small battery in the device, and want to save every microamp possible. We can shut down the net core with

nrf_reset_network_force_off(NRF_RESET_S, true);

and indeed, power consumption drops. The problem is how to re-enable `hci_rpmsg` when we need to use BLE. Simply turning the netcore back on leads to a crash. Is there a recommended method to re-initialize the IPC subsystem after re-enabling the netcore?

Thanks!

Nick

Parents Reply
  • Thanks...unfortunately we have CONFIG_RESET_ON_FATAL_ERROR set to 'y' everywhere except the main app. 

    I think this is more a matter of "how do I re-initialize hci_rpmsg after a netcore reset" ... the crash I see is an assertion fail while waiting for the sync done semaphore (running NCS 2.5.0, this is a line 338 of hci_core.c). I need a way of (a) cleanly shutting down the net core, and (b) once it is down, handling a restart and re-enabling the entire IPC mechanism.

Children
Related