加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

uboot_lds解析

发布时间:2020-12-15 06:51:02 所属栏目:百科 来源:网络整理
导读:转帖,纯属爱好收藏。? 以下为对 u-boot-1.3.3/board/davinci/dv-evm/u-boot.lds 文件的简要分析: OUTPUT_FORMAT("elf32-littlearm","elf32-littlearm","elf32-littlearm") /* 指定输出可执行文件是 elf 格式 ,32 位 ARM 指令 , 小端 */ OUTPUT_ARCH(arm)??
转帖,纯属爱好收藏。?

以下为对u-boot-1.3.3/board/davinci/dv-evm/u-boot.lds文件的简要分析:

OUTPUT_FORMAT("elf32-littlearm","elf32-littlearm","elf32-littlearm")

/*指定输出可执行文件是elf格式,32ARM指令,小端*/

OUTPUT_ARCH(arm)?? /*指定输出可执行文件的平台为ARM*/

ENTRY(_start)?? /*指定输出可执行文件的起始代码段为_start*/

SECTIONS

{

/*指定可执行image文件的全局入口点,通常这个地址都放在ROM(flash)0x0位置。必须使编译器知道这个地址,通常都是修改此处来完成*/

?????? . = 0x00000000;??????????????? /*0x0位置开始*/

?????? . = ALIGN(4);????????????????? /*代码以4字节对齐*/

?????? .text????? :

?????? {

?????????? cpu/arm926ejs/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,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段的结束位置*/

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读