下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页怎样调试STM32硬件错误HardFault在用(Keil)对(STM32)的程序进行(仿真)时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。
这说明STM32出现了(硬件)错误。
硬件错误中断
STM32出现硬件错误可能有以下原因:
数组越界操作;
内存溢出,访问越界;
堆栈溢出,程序跑飞;
中断处理错误;
遇到这种情况,可以通过以下2种方式来定位到出错代码段。
方法1:
在硬件中断函数HardFault_Handler里的while(1)处打调试断点,程序执行到断点处时点击STOP停止仿真。
示例
在Keil菜单栏点击View——Registe(rs)Window,在(寄存器)查看窗口查找R14(LR)的值。
如果R14(LR)=0xFFFFFFE9,继续查看MSP(主堆栈指针)的值;如果R14(LR)=0xFFFFFFFD,继续查看PSP(进程栈指针)的值;
我的程序R14(LR)=0xFFFFFFF9,接下来以此为例。
寄存器信息
在Keil菜单栏点击“View”——“Mem(or)yWindows”——“Memory1”;
在“(Ad)dress”地址栏中输入MSP的值:0x20001288,然后在对应的行里找到地址。
地址一般以0x08开头的32位数。本例中,地址为0x08003CB9。
内存信息
在Keil菜单栏点击View——Di(sas)semblyWindow,在Disassembly窗口中右击,在下拉菜单中选择ShowDisassemblyatAddress...。
在弹出框ShowCodeatAdress的地址框中输入地址0x08003CB9进行搜索,然后就会找到相对应的代码。这里的代码就是进入循环中断之前的情况。
仔细查看附近区域的相关代码来排查错误具体原因。
方法2:
在硬件中断函数HardFault_Handler里的while(1)处打调试断点,程序执行到断点处时点击“STOP”停止仿真。
CallSt(ac)k
在Keil菜单栏点击View——CallStackWindow弹出CallStack+Locals对话框。
然后在对话框中右键选择ShowCallerC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 7《zcs》课件语文一年级上册统编版()
- 紫色时尚618促销宣传模板
- 工地集成管理实施方案
- 水泥用灰岩矿项目运营管理方案
- 固废资源化利用项目节能评估报告
- 钢结构防火处理方案
- 施工现场的地质灾害防范方案
- 广安安农发展集团有限公司2026年度第一批次公开招聘劳务派遣制工作人员参考题库附答案
- 砌体工程施工中的信息沟通方案
- 污水处理厂管网及中水回用项目社会稳定风险评估报告
- 《电力建设安全工作规程》-第1部分火力发电厂
- 2024全国职业院校技能大赛ZZ060母婴照护赛项规程+赛题
- 回顾性临床研究的设计和分析
- 配电一二次融合技术的发展应用
- 钢板铺设安全施工方案
- 八年级物理上册期末测试试卷-附带答案
- 硬件设计与可靠性
- 小学英语五年级上册Unit 5 Part B Let's talk 教学设计
- 垃圾渗滤液处理站运维及渗滤液处理投标方案(技术标)
- 经纬度丛书 秦制两千年:封建帝王的权力规则
- ppt素材模板超级玛丽
评论
0/150
提交评论