关于uboot下data abort的问题
来源:互联网 发布:好吃的零食知乎 编辑:程序博客网 时间:2024/05/17 20:51
在uboot下,经常会出现一些非常让人揪心的问题。解决这些问题的关键就是方法与方向,把握好这两点,一切问题都可以迎刃而解。同时也要自信。如下:
有时我们会遇到如下的出错信息,这时CPU会reboot,
data abort MAYBE you should read doc/README.arm-unaligned-accessespc : [<1ff60148>] lr : [<1ff6019c>]sp : 1fb0a508 ip : 00000000 fp : 00000000r10: 00000001 r9 : 1fb0af38 r8 : 1fb0c738r7 : 00000011 r6 : 00000000 r5 : 00000011 r4 : 1fb0a53cr3 : 00000000 r2 : 00000000 r1 : 6d6f6320 r0 : 00000000Flags: nZCv IRQs off FIQs off Mode SVC_32Resetting CPU ...resetting ... U-Boot 2014.01-00001-gdd83b27 (Jun 27 2014 - 13:39:06)
那遇到这样的出错怎么办呢?
其实在出错时,uboot已经告诉我们如何去找出问题所在,如上面的问题,我们可以通过查看doc/README.arm-unaligned-accesses来找到出错的位置。
它告诉我们,可以通过dbinfo获取当前的relocate offset值,再通过odjdump -S来把u-boot进行反汇编,最后我们在反汇编中找到pc-relocate offset的位置,就可以定位到出错的位置。对于上面的问题,已经告诉我们出错的pc是0x1ff60148,现在就是要知通当前的offset值,这个可以通过dbinfo来猎取,如下:
uboot> bdinfo arch_number = 0x7FD76F2Eboot_params = 0xDFF1CFFFDRAM bank = 0x00000000-> start = 0x00000000-> size = 0x20000000eth0name = Gem.e000b000ethaddr = 00:0a:35:00:01:22current eth = Gem.e000b000ip_addr = 192.168.80.10baudrate = 115200 bpsTLB addr = 0x1FFF0000relocaddr = 0x1FF2B000reloc off = 0x1BF2B000irq_sp = 0x1FB0AF38sp start = 0x1FB0AF28ARM frequency = 666 MHzDSP frequency = 0 MHzDDR frequency = 533 MHz
上面我们可以看到当前的offset就是0x1bf2b000,好了,现在通过与上面的pc相减,得到0x4035148,好了,现在就是在反汇编中找到这个pc的位置,就可以精确定义到出错问题。一般这种问题与指针有关。HTH
1 0
- 关于uboot下data abort的问题
- uboot出现data abort异常
- WINCE下从data abort 找到崩溃的代码
- WINCE下从data abort 找到崩溃的代码
- coredll.dll+0x0002006c 的Data Abort问题原因
- 高通QSC1110的Data Abort问题(Trace32,ELF)
- 烧写uImage的问题 : Starting kernel ... data abort
- Data Abort产生的原因
- data abort
- 定位了RTEMS移植CS8900驱动的时候产生的 data abort exception 问题
- JLINK+AXD 调试出现 RDI Warning 00005:Data Abort 问题的解决办法
- 关于linux uboot下的MMU 了解
- 关于uboot启动中地址的问题
- 关于Data的问题汇总
- 关于FL2440 Uboot问题
- wince Data Abort
- data abort for example
- DATA abort定位方法
- windows Qt编程之wchar_t * to QString格式转化
- oracle11gR2(GI)启动过程
- 【详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!】【二】
- 【ejabberd】安装XMPP服务器ejabberd(Ubuntu 12.04)
- jquery 页眉单行信息滚动显示实现思路及代码
- 关于uboot下data abort的问题
- java中static{}语句块详解
- [BAT]批处理修改IP地址
- 【iOS XMPP】使用XMPPFramewok(一):添加XMPPFramework(XCode 4.6.2)
- 视频编解码,bbv 缓冲区的上溢和下溢
- 2048
- ZOJ 2966 Build The Electric System 最小生成树
- Spring MVC之@RequestParam @RequestBody @RequestHeader 等详解
- spinner的用法