作为可执行文件,ARM映像文件内部组织具有层次结构的性质,含三种成分:域(region)、输出段(output section)和输入段(input section)。各输人段包含了目标文件中的代码和数据。连接器读人并处理若干个由程序员指定的输入段,而后输出一个映像文件。一个映像文件由一个或多个域组成,每个域包含1-3个输出段,每个输出段包含一个或多个输入段。图6-4给出了映像文件的生成过程。
输入段中包含以下内容:代码、已经初始化的数据、未经过初始化的存储区域以及内容初始化成。的存储区域。每个输入段有相应的属性;可以是只读(RO厂可读写(RW)以及初始化成。(Zero-Initialized,ZI)。其中,目标文件的RODAT段会产生映像叉件的RO输入段,目标文件的BSS段会产生ZI段。ARM连接器根据各输入段的属性将这些输入段分组,再组成不同的输出段以及域。
每个输出段是由具有相同属性(RO, RW或者ZI)的若干个输入段组成。也就是说,输出段的属性与其中包含的输入段属性相同。在一个输出段内部,各输入段是按照一定的规则排序的。
一个域中包含1-3个输出段,其中各输出段的属性各不相同。各输出段的排列顺序是由其属性决定的。其中,RO属性的输出段排在最前面,其次是RW属性的输出段,最后是ZI属性的输出段。一个域通常映射到一个物理存储器上,如ROM, RAM和外部设备等。
文章由公司小编整理,转载请注明文章来源出处,谢谢合作!
阅读(292) | 评论(0) | 转发(0) |