找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

stm32单片机程序跑几次就死机,所有寄存器值清0 怎么解决

查看数: 3518 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-3-17 11:01

正文摘要:

      所有寄存器值清0了,怎么解决死机

回复

ID:883242 发表于 2022-3-30 17:17
不像是软件问题,如果软件出问题了,会进入各种fault向量,R14(LR)指示的是出错的原始位置。现在所有寄存器都是零,软件问题做不到这一点,一定是硬件问题,比如PCB画的稀巴烂,没有电源去耦电容等等……
ID:775776 发表于 2022-3-30 14:00
暂停 一下看看程序停在 哪儿 一般都是越界闹的
ID:302293 发表于 2022-3-30 09:53
天ノ忆 发表于 2022-3-17 19:05
在HardFault_Handler的while(1)那里打断点,当程序停止时,查看汇编代码,看看上一条运行的是什么代码,或 ...

死机怎么定位到出错处
ID:302293 发表于 2022-3-18 08:32
  出错的地方会显示,蓝色小箭头是吧
ID:139866 发表于 2022-3-17 19:05
在HardFault_Handler的while(1)那里打断点,当程序停止时,查看汇编代码,看看上一条运行的是什么代码,或者“Call Stack Window”弹出“Call Stack + Locals”对话框。然后在对话框中右键选择“Show Caller Code”,就会跳转到出错之前的函数处,一般这个错误跟内存有关,看看你的数组定义或者调用的时候有没有问题
ID:302293 发表于 2022-3-17 18:49
HardFault_Handler 怎么定位到函数中
ID:1009400 发表于 2022-3-17 16:15
排查法,在主程序中一个一个放开你的程序,看看添加哪一段出现死机现象,如果是跑了很多个小时才出现死机,肯定之前的备份程序有没死机的,进行对比

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表