keil环境下,dataabort的处理方法 keil zi data

本人最近一直着手于嵌入式网络这一块,先开始在做LWIP+UCOS的时候就被这个dataabort搞得焦头烂额,后来实在是无法继续。终于在网上找到了一个基于ARM7的uip给力源码,所以就换成uip裸奔了,但是有一阵子任然是dataabort在作祟,所以有必要系统地分析一下dataabort的解决方法。

经常你会在程序debug的时候,你会发现跳转到这里“Dabt_Handler BDabt_Handler”,当然这是个死循环,程序crash掉,如图下。


这个时候你就要寻找到发生dataabort的地方。下图是正常状态下的寄存器窗口。


keil环境下,dataabort的处理方法 keil zi data

User/System为粗体,一旦dataabort,那么Abort为粗体。

这个时候找出R14(LR)的值,如果LR=0x000027b5,那么LR-8=0x0000 27ad。于是查看汇编窗口就能找到这个程序所在的地方。

由于“Dabt_Handler BDabt_Handler”是个死循环,所以你如果需要程序retry theinstuction,你可以在启动文件中改成如下代码。

直接把R14减去8,再将值赋给PC指针,这样就OK啦。至于发生dataabort的深层次原因,那就因程序而异了。比如在玩UCOS的时候,OSStart()还没有运行,就直接使用OSTimeDly(),结果肯定就会发生dataabort。又比如,BYTEa,b,c;b=0;c=a/b;,显然也会dataabort。祝大家好运,我会努力学习的!

  

爱华网本文地址 » http://www.aihuau.com/a/25101014/209249.html

更多阅读

空调异味的处理方法 空调有异味是怎么办

空调异味的处理方法——简介空调使用的时间长了之后,开启空调后,空调就会散出一股异味,很难闻,这很影响家里的空气,为了改善这一现象,我特意找来了专业维修空调的师傅进行的检查和清理,据维修师傅说,空调有异味的原因有很多,它们分别是:空调

音响有杂音的处理方法 新买的音响有杂音

音响有杂音的处理方法——简介音响有杂音的情况,我们一般分为这样几类:1、由于音源的问题导致(音源音质不过关,本来就出现爆音杂音等情况。2、由于音响喇叭烧坏了导致音响播放时会有杂音。3、由于输入输出线路接触的问题导致音响出现明

PCI简易通讯控制器有黄色!的处理方法 pci简易控制器驱动

PCI简易通讯控制器有黄色!的处理方法——简介昨天安装了Windows7系统以后,打开设备管理器发现,其它设备下的PCI简易通讯控制器有黄色!(如图)如何才能使PCI简易通讯控制器正常不显示黄色!呢?(注:这是我刚处理的问题)PCI简易通讯控制器有黄色!的

声明:《keil环境下,dataabort的处理方法 keil zi data》为网友祐掱乄分享!如侵犯到您的合法权益请联系我们删除