给大家上源码看看
__disable_irq(); // 可以使用这个函数 关闭总中断
__set_FAULTMASK(1); //关闭中断,确保跳转过程中 不会进入中断,导致跳转失败
NVIC_SystemReset(); //系统复位,复位后默认从MCU的起始地址开始, 也就是BOOT的起始地址开始, 这样程序就从APP回到了BOOT,再从BOOT跳转至APP的时候, 堆栈已经清除了,也就不会发生溢出
上面是我写给自己的, 避免以后再犯错, 在下能力有限 如有不对之处,恳请大佬指点,感激不尽!
|