uboot之lds文件说明
2010-10-17 14:47
253 查看
lds文件说明
主要符号说明
1、OUTPUT_FORMAT(bfdname)
指定输出可执行文件格式。
2、OUTPUT_ARCH(bfdname)
指定输出可执行文件所运行CPU平台
3、ENTRY(symbol)
指定可执行文件的入口段
段定义说明
1、段定义格式
SECTIONS { ...
段名:{
内容
}
...
}
u-boot.lds 文件说明
Code:
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
/* 指定输出可执行文件是elf格式,32位ARM指令,小端模式 */
/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*/
OUTPUT_ARCH(arm)
/* 指定输出可执行文件的平台是ARM */
ENTRY(_start)
/* 指定输出可执行文件的起始代码段为 _start */
SECTIONS
{
/* 指定可执行image文件的全局入口点,通常这个地址都放在ROM(flash)0x0位置。
必须使编译器知道这个地址,通常是修改此处来完成 */
. = 0x00000000;
. = ALIGN(4); /* 代码以4字节对齐 */
.text :
{
cpu/arm920t/start.o (.text) /* 代码的第一个代码部分 */
*(.text) /* 其他代码部分 */
}
. = ALIGN(4); /* rodata 以4字节对齐 */
.rodata : { *(.rodata) } /* 指定只读数据段 */
. = ALIGN(4); /* .data 以4字节对齐 */
.data : { *(.data) } /* 指定读,写数据段 */
. = ALIGN(4); /* .got 以4字节对齐 */
.got : { *(.got) } /* 指定got段,got段是uboot自定义的一个段,非标准段 */
. = .;
/* 把__u_boot_cmd_start 赋值为当前位置,即起始位置 */
__u_boot_cmd_start = .;
/* 指定u_boot_cmd 段,uboot把所有的uboot命令放在该段 */
.u_boot_cmd : { *(.u_boot_cmd) }
/* 把__u_boot_cmd_end 赋值为当前位置,即结束位置 */
__u_boot_cmd_end = .;
. = ALIGN(4);
__bss_start = .; /* 把__bss_start 赋值为当前位置,即bss段的开始位置 */
.bss : { *(.bss) } /* 指定bss段 */
_end = .; /* 把_end 赋值为当前位置,即bss段的结束位置 */
}
主要符号说明
1、OUTPUT_FORMAT(bfdname)
指定输出可执行文件格式。
2、OUTPUT_ARCH(bfdname)
指定输出可执行文件所运行CPU平台
3、ENTRY(symbol)
指定可执行文件的入口段
段定义说明
1、段定义格式
SECTIONS { ...
段名:{
内容
}
...
}
u-boot.lds 文件说明
Code:
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
/* 指定输出可执行文件是elf格式,32位ARM指令,小端模式 */
/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*/
OUTPUT_ARCH(arm)
/* 指定输出可执行文件的平台是ARM */
ENTRY(_start)
/* 指定输出可执行文件的起始代码段为 _start */
SECTIONS
{
/* 指定可执行image文件的全局入口点,通常这个地址都放在ROM(flash)0x0位置。
必须使编译器知道这个地址,通常是修改此处来完成 */
. = 0x00000000;
. = ALIGN(4); /* 代码以4字节对齐 */
.text :
{
cpu/arm920t/start.o (.text) /* 代码的第一个代码部分 */
*(.text) /* 其他代码部分 */
}
. = ALIGN(4); /* rodata 以4字节对齐 */
.rodata : { *(.rodata) } /* 指定只读数据段 */
. = ALIGN(4); /* .data 以4字节对齐 */
.data : { *(.data) } /* 指定读,写数据段 */
. = ALIGN(4); /* .got 以4字节对齐 */
.got : { *(.got) } /* 指定got段,got段是uboot自定义的一个段,非标准段 */
. = .;
/* 把__u_boot_cmd_start 赋值为当前位置,即起始位置 */
__u_boot_cmd_start = .;
/* 指定u_boot_cmd 段,uboot把所有的uboot命令放在该段 */
.u_boot_cmd : { *(.u_boot_cmd) }
/* 把__u_boot_cmd_end 赋值为当前位置,即结束位置 */
__u_boot_cmd_end = .;
. = ALIGN(4);
__bss_start = .; /* 把__bss_start 赋值为当前位置,即bss段的开始位置 */
.bss : { *(.bss) } /* 指定bss段 */
_end = .; /* 把_end 赋值为当前位置,即bss段的结束位置 */
}
相关文章推荐
- uboot lds 文件说明
- uboot源码阅读(二)什么是江湖,链接文件u-boot.lds
- UBOOT启动过程及uboot.lds文件分析
- uboot编译连接脚本文件uboot.lds
- uboot编译连接脚本文件uboot.lds
- uboot lds 文件说明
- UBOOT的lds文件text地址的定义无效
- UBOOT的lds文件text地址的定义无效
- 转载自一篇文章,为什么UBOOT的lds文件关于TEXT地址的定义无效
- uboot 之 lds文件详解
- uboot环境变量解释说明及其Kernel目录下的文件说明
- uboot的lds文件分析
- (转载)关于asp.net的配置文件说明。
- txt或者csv数据文件的格式是有要求的,如下shell代码中说明。
- Linux下文件和目录权限说明
- 文件与目录的权限说明(Linux下面用的比较多)
- MDK编译后生成bin文件占用FLASH大小说明
- Oracle 数据文件(Datafile ) 大小 限制 说明
- checkstyle配置文件说明
- 模块定义(.def)文件说明