How to reset an ARM Cortex MCU


I'm looking for a way to reset an ARM Cortex-MCU, specifically RP2040. It's quite easy with C or C++, as the CMSIS library provides NVIC_SystemReset() function. But I couldn't find an equivalent in rp2040_hal.

If the feature would be missing in the hal library, I'll be using Watchdog. But that would be confusing in some cases. Therefore I'm opted to use a direct method.

cortex_m::asm::bootload() is another potential method, but that's too much of a hassle for a simple task.


Maybe this helps:
Programatically resetting an embedded system (ARM Cortex)

1 Like

Thanks, that helped.