[单片机芯片] 用串口软件升级进入到HardFault问题

[复制链接]
 楼主| yanggexiaosa 发表于 2022-6-25 16:40 | 显示全部楼层 |阅读模式
本帖最后由 yanggexiaosa 于 2022-6-25 16:43 编辑

项目中使用CH32F103C8T6,用到了串口升级。BOOT1脚始终接地,BOOT0使用另外的单片机控制。上电低电平。BOOT0通过另一个单片机运行过程中拉高,然后103软件复位进行烧录。

问题也现了,拉高BOOT0后103软复位后大概率进入到了HardFault。如果外部单片机不拉高BOOT0,软件复位一切正常。仿真定位到调用HardFault者,是一个协处理器指令。CORTEXT-M3不支持协处理器指令,不知道为什么会有这个指令出现。[MCR2]  使用该指令会进入到Fault

5957662b6c8e1be31d.png

而M3不支持这个指令

8714462b6c900819fb.png

6909762b6c916532e9.png

评论

[url=home.php?mod=space&uid=3133170]@LIzs6[/url] :我还真试过,没有用。另外还试了一下在程序运行中,不拉高BOOT0脚,而是直接跳转到0X1FFFFF000系统bootloader,同样也进入到hardfault。没有办法自己写了个bootloader。  发表于 2022-6-30 10:49
你可以BOOT0拉高软复位之后再进行一次复位试一下  发表于 2022-6-27 21:13
caigang13 发表于 2022-7-1 19:24 来自手机 | 显示全部楼层
复位实现不满足要求?
tabmone 发表于 2022-9-3 17:08 | 显示全部楼层
是不是代码有问题呢  
g0d5xs 发表于 2022-9-13 16:30 | 显示全部楼层
这个是有时序要求的吧,比如什么DTR之类的
q1ngt12 发表于 2022-9-13 17:28 | 显示全部楼层
这种属实不拉高BOOT0不会出问题的
cen9ce 发表于 2022-9-13 17:41 | 显示全部楼层
这个我还没这么弄过,不过你可以自己写个BootLoader,不用官方的
y1n9an 发表于 2022-9-13 18:09 | 显示全部楼层
你把BOOT0设置为1,boot1是不是得设置为0
suw12q 发表于 2022-9-13 19:25 | 显示全部楼层
你复位的话,时间是多少啊?
su1yirg 发表于 2022-9-16 07:33 | 显示全部楼层
你模仿串口烧录工具的时序来操作呗
p0gon9y 发表于 2022-9-16 08:26 | 显示全部楼层
我觉得就像是复位这部分有问题导致进到中断的
tax2r6c 发表于 2022-9-16 10:35 | 显示全部楼层
你可以问问沁恒的技术支持,看看他们有没有遇到过
lamanius 发表于 2022-9-17 08:36 | 显示全部楼层
是不是上下拉的电平与103C8T6的IO电平不一致导致的啊?
ex7s4 发表于 2022-9-17 12:49 | 显示全部楼层
你可以用自定义的BootLoader,而不是芯片自带的ISP烧录
sesefadou 发表于 2022-10-2 20:16 | 显示全部楼层
oat实现了吗?传输的速度可以吗
cehuafan 发表于 2022-10-2 20:30 | 显示全部楼层
是不是程序跑飞了呢         
qiufengsd 发表于 2022-10-2 20:56 | 显示全部楼层
中断得不到处理就会进入HardFault_Hander ?   
kkzz 发表于 2022-10-2 21:51 | 显示全部楼层
这个是在什么情况下错误的呢              
jonas222 发表于 2022-10-2 22:44 | 显示全部楼层
为什么不使用swd下载程序呢              
Jacquetry 发表于 2022-10-4 21:31 | 显示全部楼层
程序跑飞了?
nomomy 发表于 2023-1-5 11:30 | 显示全部楼层
串口升级失败了吗?              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

21

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

3

主题

21

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部