本帖最后由 yanggexiaosa 于 2022-6-25 16:43 编辑
项目中使用CH32F103C8T6,用到了串口升级。BOOT1脚始终接地,BOOT0使用另外的单片机控制。上电低电平。BOOT0通过另一个单片机运行过程中拉高,然后103软件复位进行烧录。
问题也现了,拉高BOOT0后103软复位后大概率进入到了HardFault。如果外部单片机不拉高BOOT0,软件复位一切正常。仿真定位到调用HardFault者,是一个协处理器指令。CORTEXT-M3不支持协处理器指令,不知道为什么会有这个指令出现。[MCR2] 使用该指令会进入到Fault
而M3不支持这个指令
|
@LIzs6 :我还真试过,没有用。另外还试了一下在程序运行中,不拉高BOOT0脚,而是直接跳转到0X1FFFFF000系统bootloader,同样也进入到hardfault。没有办法自己写了个bootloader。
你可以BOOT0拉高软复位之后再进行一次复位试一下