Bootloader Jump Routine
Write a C routine to jump from application firmware to bootloader safely on Cortex-M. It must disable interrupts, deinit peripherals, set MSP to bootloader stack address, and branch to reset handler.
Constraints
- Bootloader address provided as argument.
- Extract MSP and reset vector.
- Use function pointer.
- __disable_irq() before jump.
- Should never return.
- Clear pending interrupts.
1#include <stdint.h>2void jump_to_bl(uint32_t addr);