lds 文件说明
主要符号说明
- OUTPUT_FORMAT(bfdname)
指定输出可执行文件格式.
- OUTPUT_ARCH(bfdname)
指定输出可执行文件所运行 CPU 平台
- ENTRY(symbol)
指定可执行文件的入口段
段定义说明
1. 段定义格式
SECTIONS { ...
段名 : {
内容
}
...
}
5.1.3 uboot.lds 文件说明
OUTPUT_FORMAT("elf32littlearm",
"elf32littlearm", "elf32littlearm")
;指定输出可执行文件是 elf 格式,32 位 ARM 指令,小端 OUTPUT_ARCH(arm)
;指定输出可执行文件的平台为 ARM
ENTRY(_start)
;指定输出可执行文件的起始代码段为_start. SECTIONS
{
. =
0x00000000 ; 从 0x0 位置开始
. = ALIGN(4) ; 代码以 4 字节对齐
.text : ;指定代码段
{
cpu/arm920t/start.o (.text) ; 代码的第一个代码部分
*(.text) ;其它代码部分
}
. = ALIGN(4)
.rodata : {
*(.rodata) } ;指定只读数据段
. = ALIGN(4);
.data : {
*(.data) } ;指定读/写数据段
. = ALIGN(4);
.got : { *(.got)
} ;指定 got 段, got 段式是 uboot 自定义的一个段, 非标准段
u_boot_cmd_start
= . ;把 u_boot_cmd_start 赋值为当前位置, 即起始位置
.u_boot_cmd : {
*(.u_boot_cmd) } ;指定 u_boot_cmd 段, uboot 把所有的 uboot 命令放在该段.
u_boot_cmd_end
= .;把 u_boot_cmd_end 赋值为当前位置,即结束位置
. = ALIGN(4);
bss_start = .; 把 bss_start 赋值为当前位置,即 bss 段的开始位置
.bss : { *(.bss)
}; 指定 bss 段
_end = .; 把_end 赋值为当前位置,即 bss 段的结束位置
}
最新文章
- java 心得
- contextloaderlistener
- html checkbox 全选与反选
- SQL 函数
- 四位数码管SH5461AS的问题,arduino学习实测.
- C#绘制圆形时钟
- css3画苹果logo
- .net mvc结合微软提供的FormsAuthenticationTicket登陆
- FZU2177(dp)
- Android自定义控件之TextView
- [国嵌攻略][160][SPI驱动程序设计]
- python来写打飞机
- 【BZOJ2693】jzptab(莫比乌斯反演)
- C# XML序列化/反序列化参考
- canvas绘图——根据鼠标位置进行缩放的实现原理
- Ymodem协议说明
- Numpy 线性代数
- Linux下批量ping某个网段ip的脚本
- 利用shell脚本远程登录服务器并修改saltstack配置并重启服务
- java单例类的几种实现