2025年可执行文件的组成

可执行文件的组成在 ADS 下 可执行文件有两种 一种是 axf 文件 带有调试信息 可供 AXD 调试工具使用 另一种是 bin 文件 可执行的二进制代码文件 我们重点是讲描 bin 文件的组成 我们把可执行文件分为两种情况 分别为存放态和运行态 1 存放态 存放态是指可执行文件通过 fromelf 产生后 在存储介质 flash 或磁盘 上的分布 此时可执行文件一 般由两部分组成

在 ADS 下,可执行文件有两种,一种是.axf 文件,带有调试信息,可供 AXD 调试工具使用.另一种是.bin

文件,可执行的二进制代码文件。我们重点是讲描.bin 文件的组成。 我们把可执行文件分为两种情况:分别为存放态和运行态。

1. 存放态

存放态是指可执行文件通过 fromelf 产生后,在存储介质(flash 或磁盘)上的分布. 此时可执行文件一 般由两部分组成:分别是代码段和数据段。代码段又分为可执行代码段(.text)和只读数据段(.rodata), 数据段又分为初始化数据段(.data)和未初始化数据段(.bss)。可执行文件的存放态如下:

+————-+———–

| .bss |

+————-+– 数据段

| .data |

+————-+———–

| .rodata |

| | 代码段

| .text |

+————-+———–

2. 运行态

可执行文件通过装载过程, 搬入到 RAM 中运行, 这时候可执行文件就变成运行态。在 ADS 下对可执行代 码各段有另一个名称:

| … |

+————-+———–

| .bss | ZI 段

+————-+– 数据段

| .data | RW 段

+————-+———–

| .rodata |

| | 代码段(RO 段)

| .text |

+————-+———–

| … |

装载前

当可执行文件装载后, 在 RAM 中的分布如下:

| … |

+————-+– ZI 段结束地址

| ZI 段 |

+————-+– ZI 段起始地址

| 保留区 2 |

+————-+– RW 段结束地址

| RW 段 |

+————-+– RW 段起始地址

| 保留区 1 |

+————-+– RO 段结束地址

| RO 段 |

+————-+– RO 段起始地址

| … |

装载后

所以装载过程必须完成把执行文件的各个段从存储介质上搬到 RAM 指定的位置。而这个装载过程由谁来完 成呢?由我们的启动程序来完成.

编程小号
上一篇 2025-02-22 10:17
下一篇 2025-03-27 19:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/129877.html