Chinaunix首页 | 论坛 | 博客
  • 博客访问: 156858
  • 博文数量: 60
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 458
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-04 10:01
文章分类

全部博文(60)

文章存档

2016年(3)

2014年(57)

我的朋友

分类: LINUX

2014-05-23 22:37:36

原文: http://blog.csdn.net/hongjiujing/article/details/6830447

今天烧写uImage之后,启动时出现问题: 


  1. Starting kernel ...  
  2. data abort  
  3. pc : [<30008008>]       lr : [<33f23fa4>]  
  4. sp : 33dffb50  ip : 00000000     fp : 30008000  
  5. r10: 33f4603c  r9 : 00000695     r8 : 33dfffe0  
  6. r7 : 33dfffc4  r6 : 33e01355     r5 : 30000124  r4 : 00000000  
  7. r3 : 00000000  r2 : 30000100     r1 : 00000695  r0 : 00000000  
  8. Flags: nzCv  IRQs off  FIQs off  Mode SVC_32  
  9. Resetting CPU ...  

析:
很有可能是Load Address: 30008000和Entry Point: 30008000一样导致的。
解决办法:重新编译内核
make zImage; 
mkimage -A arm -O linux -T kernel -C none -a 30008000 -e30008040 -n "linux-2.6.36" -d ./arch/arm/boot/zImage uImage
mkimage给zImage添加一个信息头header,生成uImage
-A arm 架构是arm
-O linux 操作系统是linux
-T kernel 类型是kernel
-C none 压缩类型为无压缩
-a 30008000 image的载入地址(hex)
-e 30008040 内核的入口地址(hex),因为信息头的大小是0x40
-n linux-2.6.36 image的名字
-d zImage 无头信息的image文件名
uImage 加了头信息之后的image文件名



其他参考:

阅读(1282) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~