结合PXA270 Bootloader实例详细分析ARM映象文件

最近花了一个月的时间终于把PXA270的板子Bootloader 部分整出来了,颇费周折;其中的很长一段时间,一直被ARM可执行程序的执行机理迷惑:搞不懂ARM的映象文件组成、代码重定位、地址重映射remap等,网上查了N多资料看了N多技术帖子总算整清楚。如今写出来整理一下思路,也为其它初始进入ARM系统设计的兄弟们提供点资料借鉴,少走些弯路是好。

    ARM学习过程中,初学者最难突破的应当是ARM映象文件形态和ARM启动代码分析了,本文将以我的Bootloader源码为例,力求作个透彻分析。

      如下给出我的开发环境:

²        Cpu:INTEL PXA270 (ARM V5TE)

²        Board:INTEL MAINSTONE 2

²      Memory:64MByte SDRAM,32MByte NorFlash(Inte E28F128),32MByte NandFlash

²      Cross-complier:cross_3.3.2

一、关于映象文件和load regionexecute region

1.       ARM映象文件组成

我们在ADS中编译源代码文件后的生成文件有两个:.axf和.bin文件。.bin文件是二进制格式执行文件,它才是真正可下载到FLASH中运行的;.axf文件是ADS的调试文件,利用UltraEdit查看其二进制代码,可以发现.axf其实是在.bin文件基础上增加文件头标识、文件尾表示(U-boot中的mkimage工具在映象文件中加入64kbyte的文件头,以供U-Boot识别)、再插入ADS的调试符号。打开ADS的调试器,可对.axf文件调试。

2.       ARM映象文件加载域(load region)、运行域(execute region)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值