用串口软件升级进入到HardFault问题
本帖最后由 yanggexiaosa 于 2022-6-25 16:43 编辑项目中使用CH32F103C8T6,用到了串口升级。BOOT1脚始终接地,BOOT0使用另外的单片机控制。上电低电平。BOOT0通过另一个单片机运行过程中拉高,然后103软件复位进行烧录。
问题也现了,拉高BOOT0后103软复位后大概率进入到了HardFault。如果外部单片机不拉高BOOT0,软件复位一切正常。仿真定位到调用HardFault者,是一个协处理器指令。CORTEXT-M3不支持协处理器指令,不知道为什么会有这个指令出现。使用该指令会进入到Fault
而M3不支持这个指令
复位实现不满足要求? 是不是代码有问题呢 这个是有时序要求的吧,比如什么DTR之类的 这种属实不拉高BOOT0不会出问题的 这个我还没这么弄过,不过你可以自己写个BootLoader,不用官方的 你把BOOT0设置为1,boot1是不是得设置为0 你复位的话,时间是多少啊? 你模仿串口烧录工具的时序来操作呗 我觉得就像是复位这部分有问题导致进到中断的 你可以问问沁恒的技术支持,看看他们有没有遇到过 是不是上下拉的电平与103C8T6的IO电平不一致导致的啊? 你可以用自定义的BootLoader,而不是芯片自带的ISP烧录 oat实现了吗?传输的速度可以吗 是不是程序跑飞了呢 中断得不到处理就会进入HardFault_Hander ? 这个是在什么情况下错误的呢 为什么不使用swd下载程序呢 程序跑飞了? 串口升级失败了吗?
页:
[1]
2