在看这篇文章之前
- 需要对 ARM ELF 文件有一定的了解。了解什么是域(Region)、节(Section,也称为节区)、段(Segment)、镜像(Image)、镜像文件(Image File)等概念
- 需要对编译、连接过程有一定的了解
map 文件是什么
map 文件对应的中文名应该是映射文件,用来展示(映射)项目构建的链接阶段的细节。通常包含程序的全局符号、交叉引用和内存映射等等信息。目前,大多数编译套件(主要是其中的链接器)都可以生成 Map 文件。常见的 GCC、VC、IAR 都可以输出 map 文件(PC平台的 map 文件与 ARM 平台的差别较大)。
在 ARM 的官方文档中,并没有找到有关于 ARM 内核的 map 文件的介绍文档。不过倒是有个 C51 生成的 map 文件的说明文档:Listing (MAP) File。但是 C51 的 map 文件和 ARM 核的 map 文件差别比较大,也没啥参考价值!</