1.段
一个可执行程序通常是由:代码段,数据段,bss段构成的。同样,在用于链接这个程序的链接器脚本中,就会反应这几个段的信息。
2.创建链接器脚本段信息
基本格式
SECTIONS{ .text : 代码段 { *(.text) } .data : 数据段 { *(.data) } .bss : bss段 { *(.bss) } }
3.设置起始链接地址
SECTIONS{ . = 0x0; 起始链接地址 .text : { *(.text) } .data : { *(.data) } .bss : { *(.bss) } }
4.对齐设置
SECTIONS{ . = 0x0; . = ALIGN(4); 4字节对齐 .text : { *(.text) } . = ALIGN(4); .data : { *(.data) } . = ALIGN(4); .bss : { *(.bss) }
5.使用变量
SECTIONS{ . = 0x0; . = ALIGN(4); .text : { *(.text) } . = ALIGN(4); .data : { *(.data) } . = ALIGN(4); bss_start = . ; bss_start赋值为bss当前的起始地址 .bss : { *(.bss) } bss_end = . ; }
6.设置代码段首文件
SECTIONS{ . = 0x0; . = ALIGN(4); .text : { led.o(.text); 首文件 *(.text) } . = ALIGN(4); .data : { *(.data) } . = ALIGN(4); bss_start = . ; .bss : { *(.bss) } bss_end = . ; }