程序死机跑飞问题

[复制链接]
20|10
classroom 发表于 2026-5-22 13:50 | 显示全部楼层 |阅读模式
GD32F303芯片,在运行过程中不定时间,偶发性跑飞也可以说卡死。出现的时间不定,但是每隔不固定时间就会出问题。

哪位大神有排查经验?

或者在程序里怎么处理可以存储问题日志。
没有太阳的晴天 发表于 2026-5-22 14:26 | 显示全部楼层
不定时间跑飞,八成是硬件问题,先查电源纹波和去耦电容有没有虚焊。
cr315 发表于 2026-5-22 14:28 | 显示全部楼层
日志存到EEPROM最靠谱,RAM掉电就没了,EEPROM能留现场。
solty 发表于 2026-5-22 14:59 | 显示全部楼层
堆栈溢出也会不定时间跑飞,把栈空间加大一倍试试有没有改善。
在海边聆听 发表于 2026-5-22 16:36 | 显示全部楼层
F303的FPU如果没关可能出问题,试试把FPU关掉看还跑不跑。
七毛钱 发表于 2026-5-22 17:56 | 显示全部楼层
HardFault Handler里把SP、R0-R3、R12、LR、PC、xPSR全部压入RAM,下次重启读取就能知道死在哪。
duo点 发表于 2026-5-22 18:27 | 显示全部楼层
建议在HardFault里加日志保存,把PC和LR寄存器值存到RAM里掉电后能分析。
 楼主| classroom 发表于 2026-5-22 19:47 | 显示全部楼层
每隔一段时间跑飞,优先查看门狗有没有误触发,或者定时器中断被阻塞。
flycamelaaa 发表于 2026-5-22 20:28 | 显示全部楼层
F303的DMA和CPU同时访问SRAM会出总线错误,这个是经典跑飞原因。
jcky001 发表于 2026-5-22 22:29 | 显示全部楼层
在WWDG和IWDG里都加喂狗,排除看门狗复位的可能性。
onlycook 发表于 2026-5-22 22:59 | 显示全部楼层
偶发跑飞最难查,用串口每隔100ms打印一个心跳,死之前最后一条能定位时间点。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

713

主题

5105

帖子

2

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