ZHCUAV7Z september 1995 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
SECTIONS 指令在命令文件中通过 SECTIONS(大写)一词后跟用大括号括起来的输出段规范列表来指定。
SECTIONS 指令的一般语法如下:
SECTIONS | |
{ | |
name : [property [, property] [, property] ...] | |
name : [property [, property] [, property] ...] | |
name : [property [, property] [, property] ...] | |
} |
每个段规范均以 name 开头,用于定义一个输出段。(输出段是输出文件中的一个段。)段名可以涉及段、子段或归档库成员。(有关多级子段的信息,请参阅节 8.5.5.4。)段名之后是一个属性列表,用于定义段的内容和段的分配方式。各个属性之间可以用可选逗号分隔。一个段的可能属性如下:
语法: | load = allocation | 或 | |
> allocation | |||
|
|||
语法: | run = allocation | 或 | |
run > allocation | |||
|
|||
语法: | { input_sections } | ||
|
|||
语法: | type = COPY | 或 | |
type = DSECT | 或 | ||
type = NOLOAD | |||
|
|||
语法: | fill = value |
以下示例显示了示例链接器命令文件中的 SECTIONS 指令。
/**************************************************/
/* Sample command file with SECTIONS directive */
/**************************************************/
file1.c.obj file2.c.obj /* Input files */
--output_file=prog.out /* Options */
SECTIONS
{
.text: load = EXT_MEM, run = 0x00000800
.const: load = FAST_MEM
.bss: load = SLOW_MEM
.vectors: load = 0x00000000
{
t1.c.obj(.intvec1)
t2.c.obj(.intvec2)
endvec = .;
}
.data:alpha: align = 16
.data:beta: align = 16
}