该连接文件在AT91Bootstrap1.16\Bootstrap-v1.16目录下
elf32-littlearm.lds
连接脚本文件主要用于规定如何把输入文件内的section放入输出文件内,并控制输出文件内各部分在程序地址空间内的布局
OUTPUT_FORMAT("elf32-littlearm","elf32-littlearm","elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(reset)
SECTIONS //程序具体在flash中分配格式
{
//默认从0x0位置开始分配空间
. = ALIGN(4);//以下按照4字节对齐 有对齐约束 //指定代码段
.text : { //代码段将所有的输入文件.text sectin合并成一个.text section
//该段的地址由定位器符号的指定,即0x0
_stext= .; //把_stext赋值为当前位置,即text段的开始位置
*(.text) //所有输入文件的.text section
*(.rodata) /* read-only data (constants) */
*(.rodata*)
. = ALIGN(4); //以下按照4字节对齐 有对齐约束
_etext = . ; //把_etext赋值为当前位置,即text段的结束位置
}
/* collectall initialized .data sections */
.data : AT( ADDR (.text) + SIZEOF (.text) ) { //已初始化数据段DATA
_sdata= .; //把_sdata赋值为当前位置,即data段的开始位置
*(.vectors)
*(.data)
_edata= .; //把_sdata赋值为当前位置,即data段的结束位置
}
/* collectall uninitialized .bss sections */
.bss(NOLOAD) : { 未初始化数据段BSS
. =ALIGN(4);
_sbss= .; //把_sbss赋值为当前位置,即bss段的开始位置
*(.bss)
_ebss= .; //把_ebss赋值为当前位置,即bss段的结束位置
}
}
end = .; /* define aglobal symbol marking the end of application */定义一个全局符号,标记的应用程序的最终
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。