Ansersion 发表于 2021-3-25 22:24
BootLoader是芯片内置的,我们改不了的。我想你说的Bootloader是指“OTA”吧。
一般编译器 ...
我仔细研究了一下代码,发现是这样的,OTA里只用到了蓝牙的LLE_IRQHandler,而APP里也有这个中断,LLE_IRQHandler这个中断应该是只为BLE库服务的,当APP跳转到OTA的时候,由于APP的这个中断还在,所以实际触发的还是APP里的这个中断地址,所以OTA即使不更改中断向量表也能正常工作(经测试,即使将OTA里的LLE_IRQHandler注释,也能正常工作),但是一旦要擦除APP了,就先把OTA的中断向量表(前512字节)拷贝到0地址,否则OTA就不能再继续正常工作了。