关于uboot下data abort的问题
在uboot下,常常会出现一些很让人揪心的问题。
解决这些问题的关键就是方法与方向。把握好这两点,一切问题都能够迎刃而解。同一时候也要自信。例如以下:
有时我们会遇到例如以下的出错信息,这时CPU会reboot。
data abort
MAYBE you should read doc/README.arm-unaligned-accesses
pc : [<1ff60148>] lr : [<1ff6019c>]
sp : 1fb0a508 ip : 00000000 fp : 00000000
r10: 00000001 r9 : 1fb0af38 r8 : 1fb0c738
r7 : 00000011 r6 : 00000000 r5 : 00000011 r4 : 1fb0a53c
r3 : 00000000 r2 : 00000000 r1 : 6d6f6320 r0 : 00000000
Flags: nZCv IRQs off FIQs off Mode SVC_32
Resetting 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 = 0x7FD76F2E
boot_params = 0xDFF1CFFF
DRAM bank = 0x00000000
-> start = 0x00000000
-> size = 0x20000000
eth0name = Gem.e000b000
ethaddr = 00:0a:35:00:01:22
current eth = Gem.e000b000
ip_addr = 192.168.80.10
baudrate = 115200 bps
TLB addr = 0x1FFF0000
relocaddr = 0x1FF2B000
reloc off = 0x1BF2B000
irq_sp = 0x1FB0AF38
sp start = 0x1FB0AF28
ARM frequency = 666 MHz
DSP frequency = 0 MHz
DDR frequency = 533 MHz
上面我们能够看到当前的offset就是0x1bf2b000,好了,如今通过与上面的pc相减。得到0x4035148。好了,如今就是在反汇编中找到这个pc的位置,就能够精确定义到出错问题。
一般这样的问题与指针有关。
HTH
关于uboot下data abort的问题的更多相关文章
- uboot下 Nand flash 启动 内核与根文件系统
u-boot版本: u-boot-2010.03_tekkamanninja修改的u-boot 1.将uboot通过j-link烧写到norflash,启动后 saveenv 将参数保存到 nandf ...
- uboot下emmc内容烧写(拷贝)步骤
一.目的:嵌入式开发板,通过emmc上的内核文件加载启动linux操作系统,以及存放其他程序文件.需要将所需文件先写入emmc中. 二.总体步骤是:uboot启动后,进入linux下,将emmc分区并 ...
- uboot 下更改NAND的分区 fdisk
uboot 下更改NAND的分区 fdisk 分类: S5PXX(三星)2012-07-01 18:59 8946人阅读 评论(7) 收藏 举报 flash平台cacheandroid三星null 关 ...
- Linux和Uboot下eMMC boot分区读写
关键词:eMMC boot.PARTITION_CONFIG.force_ro等. 1. eMMC的分区 大部分eMMC都有类似如下的分区,其中BOOT.RPMB和UDA一般是默认存在的,gpp分区需 ...
- [命令]在uboot下查看文件系统的目录结构
在uboot下敲help可以查看该版本的uboot支持哪些命令 ls mmc 1:1 ls mmc 1:2 可以查看mmc设备上对应的文件目录,支持多种文件系统格式,如fat32/ext
- uboot下的网络终端/控制台
许多linux设备可能没有外置串口,这是就需要一个网络终端来在uboot下操作设备,如升级镜像等. uboot下的网络终端为netconsole,代码drivers/net/netconsole.c. ...
- uboot下tftp传输文件
uboot下通过tftp工具传输文件,tftp与ftp是完全不同的工具或协议. 1) 下载并安装程序 sudo apt-get install tftp-hpa tftpd-hpa tftp-hpa是 ...
- uboot下netconsole的原理及用法
近期发现uboot下一个非常有意思也非常有用的功能:netconsole,uboot下的netconsole相似于kernel下的telnet等网络终端功能,将网络作为输入输出的终端,这样就便于我们在 ...
- mini2440 u-boot下设置tftp
在烧写好u-boot后,重新启动mini2440,一直按空格键进入u-boot界面: U-Boot 月 - ::) modified by tekkamanninja (tekkamanninja@. ...
随机推荐
- mybatis之多个对象自动装配问题
因为业务的需要,所以我在一个方法中植入三个对象,但是mybatis并没有自动装配,结果并不是我想的那么美好,还是报错了.报错截图如下: <select id="GetOneBillPa ...
- C#模拟百度登录并到指定网站评论回帖(五)
前面的四篇已经说完了全部的模拟百度登录,接下来就是到指定的网站去发表评论,当然你也可能是获取其他信息,其实这些套路都是万变不离其宗的,弄懂之后觉得像这种请求-响应获取信息的功能实在很简单(想起当初走的 ...
- 数据采集框架Gobblin简介
问题导读: Gobblin的架构设计是怎样的? Gobblin拥有哪些组建,如何实现可扩展? Gobblin采集执行流程的过程? 前面我们介绍Gobblin是用来整合各种数据源的通用型ETL框架,在某 ...
- [ CodeForces 1063 A ] Oh Those Palindromes
\(\\\) \(Description\) 给出 \(N\) 个小写字母,将他们排成一个字符串,使得这个字符串里包含的回文串最多. \(N\le 10^5\) \(\\\) \(Solution\) ...
- RPC——笔记
整理的笔记来源:https://mp.weixin.qq.com/s/JkXrPcuKtE2qYgmDcH2uww RPC(远程过程调用): RPC是:一个计算机通信协议. 调用过程:计算机 A 上的 ...
- httponlycookie
cookie cookie是目前标识用户身份一项非常流行的技术:设置httponly的cookie客户端是不能通过js来修改的:你以为这样就万事大吉,没有办法伪造了吗? 背景介绍 假设网站A通过设置h ...
- karma+requirejs+angular 测试
http://karma-runner.github.io/0.8/plus/RequireJS.html karma 不是测试框架,只是一个运行测试框架的服务器 karma测试的原理是,将所有的文件 ...
- 史上最大型广告欺诈活动Methbot:黑客是如何每天赚到500万美元的
根据国外安全专家的最新报告,有一群黑客正在对美国的知名企业和媒体机构进行广告欺诈活动,而这群黑客每天都可以从中赚取三百万到五百万美金. 是的,你没看错,这绝对是人类历史上最牛X的恶意广告欺诈活动!不过 ...
- x86汇编之十(使用字符串)
x86汇编之十(使用字符串) 转自网络,出处不详 一.传送字符串 Intel提供了完整的字符串传送指令,就像是MOV指令一样. 1.MOVS指令 1)movs指令格式 把字符串从一个位内存位置传送到另 ...
- (转)Hibernate框架基础——映射主键属性
http://blog.csdn.net/yerenyuan_pku/article/details/52740744 本文我们学习映射文件中的主键属性,废话不多说,直接开干. 我们首先在cn.itc ...