首页 > 其他 > 详细

lds 文件说明

时间:2019-06-29 10:11:05      阅读:131      评论:0      收藏:0      [点我收藏+]

主要符号说明

  1. OUTPUT_FORMAT(bfdname)

指定输出可执行文件格式.

  1. OUTPUT_ARCH(bfdname)

指定输出可执行文件所运行 CPU 平台

  1. ENTRY(symbol)

指定可执行文件的入口段

 

 

段定义说明

1.  段定义格式

SECTIONS { ...

段名 : {

内容

}

...

}

 

5.1.3 u­boot.lds 文件说明

OUTPUT_FORMAT("elf32­littlearm", "elf32­littlearm", "elf32­littlearm")

;指定输出可执行文件是 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 段的结束位置

}

lds 文件说明

原文:https://www.cnblogs.com/fanweisheng/p/11105616.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!