由MSP430GCC生成的二进制文件具有奇怪的文本段起始地址

时间:2015-05-22 15:23:21

标签: elf msp430 texas-instruments mspgcc

在为MSPG2211编译msp430-gcc(LTS 20120406未修补)的示例性C程序后,我使用readelf命令获得了以下输出:

节标题

section image

程序标题

segment image

MSPG2211微控制器的地址空间结构如下:

0x0000 - 0x01FF - 外围设备

0x0200 - 0x027F - RAM

0x1000 - 0x10FF - Flash(信息存储器)

0x1100 - 0xF7FF - ???

0xF800 - 0xFFFF - Flash(代码存储器+中断向量)

节标题中显示的文本部分从0xF800开始,这是代码存储器的第一个地址。

文本段(仅包括文本部分)比文本部分大,并且已经在0xF76C开始。

据我了解,可加载段被加载到显示的物理地址以便程序执行。

那么为什么文本段的起始地址位于未定义的内存区域?

1 个答案:

答案 0 :(得分:0)

某些名称部分(例如.text)包含实际加载到MCU中的数据。

但是,ELF程序头只包含元数据;他们的地址并不重要。