历史上的今天
今天是:2024年10月16日(星期三)
2019年10月16日 | ARM 调试 DAbt_Handler问题解决办法
2019-10-16 来源:51hei
问题:
我的ARM应用无法工作。当我在软件仿真器或者JTAG调试器中运行时,我注意到程序计数器(PC/R15)跳到了DAbt_Handler标签。问:这意味着什么?我该如何找到我程序崩溃的位置?
回答:
这是默认的Data Abort异常处理(函数)。你的应用尝试读或写某个非法的内存位置。你可以通过把R14(链接寄存器LC)的值减去8的方式计算该非法内存位置。减8可以计算指令队列中产生本异常的指令地址。如:
R14的值是0x0000021E
0x0000021E-8=0x00000216。引发本异常的指令就在地址0x00000216处。
使用Unassemble调试命令反汇编该指令。本例中,在Command窗口(菜单:View - Command Window)中键入U 0x00000216
反汇编窗口显示该地址的为指令STRB R3,[R1,#0x00],其中R1为0x000001BC。R1中的值指向一个片上Flash区域(LPC2000),该地址不可写。在汇编窗口,在当前行右键点击选择Show Source Code for Current Address可以显示你的源代码。大概就是一个指针加载了一个错误的地址。
不错哦,之前我也用过这种类似的方法。不过那次是取指令终止。在模拟器上是好好的,但在真实环境下就不行,最后查到这个地址区域是没有实际器件映射的。
这种方法也可以用来查其他的异常。
史海拾趣
|
突然那个方块状零件冒出火花,有三个接角..然后指示灯就不能亮了.只要一加热这个零件就过热..把手柄都烫化了...请问这是什么零件叫什么??为什么么会突然烧掉???… 查看全部问答> |
|
摘要:介绍了一种以8XC196MC为内核的逆变电源系统。其逆变控制系统实现了全数字操作。逆变部分的SPWM控制脉冲波形完全由8XC196MC单片机生成,使用IR2130实现对功率管的驱动和保护,频率电压可由数码管显示,可用串口与上位机进行通讯.该系统硬件电路简 ...… 查看全部问答> |
|
我想从事驱动开发,可是不知道如何入门?从事驱动开发需要那些方面的知识?驱动开发的学习体系是什么?请大家推荐几本好书(国外程序员写的),几个驱动开发的好论坛或者邮件列表,谢谢。… 查看全部问答> |
|
The process of changing an EXE or DLL program file after it has been loaded to reflect the actual load address is called “fixing up”. 哪位朋友能帮我解释下这个fix up的意思么? 还有这样一句: kernel.dll is also ‘fixed up’ by ...… 查看全部问答> |
|
单片机程序调试黑宝书(别人的资料) 与大家共享,希望对大家有益。 1.1 你离高手有多远? 首先我必须放下架子,因为本文的读者中很大一部分在不久的将来都会超越我。而且我也 100%不能自诩为高手,我不过是比本文的部分读者碰的钉子多些罢 ...… 查看全部问答> |
|
富士通铁电存储器MB85RS64试用心得 多年前就已知铁电存储器的存在,对他的特点也没在意,觉得和其他存储器差不多;看到富士通FRAM免费申请赛心得 赢大礼的活动,何不参加其中,既能增加对铁电存储器的认识、增强产品设计选 ...… 查看全部问答> |
|
wince5.0和linux都没问题。。。。。。我按照飞凌提供的手册,eboot.nb0飞凌提供的是wince5.0的。NK.bin是wince6.0的。。。。。。。。结果烧写后启动白屏然后断电重启后bootload都要重新烧写,每次都这样。。。有人知道什么问题吗,谢了… 查看全部问答> |




