This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Restart external sensors within Zephyr without restarting the firmware

We have a hardware with a few external sensors and devices, such as displays, accelerometers, etc.

These devices are initialized within Zephyr, before our main loop.

For ultra low power, our hardware can disable (actually shutdown the circuit that powers these devices), while the MCU is still working (on a low power state, for example). When some event happens, we want to enable the external devices (turn their power on) - but their instantiation in Zephyr had already occurred, hence from the firmware point of view they are not working anymore - I'd need a full boot of the MCU.

This seems to be quite an ordinary application, but we couldn't figure the proper way of doing this "peripheral reinitialization" without rebooting the MCU. How do we go about it?

Thanks

Bruno

Related