简单分析一个U-BOOT.LDS

14 篇文章 0 订阅
6 篇文章 0 订阅

OUTPUT_FORMAT(“elf32-littlearm”, “elf32-littlearm”, “elf32-littlearm”)
//指定输出的格式是32bits ARM 小端

OUTPUT_ARCH(arm)
//指出输出可执行文件的平台是arm

ENTRY(_start)
指定输出可执行文件的起始代码段是_start

SECTIONS
{
. = 0x34000; //我使用的三星的A8核;NOTE. In case of SD/MMC, iROM code loads 9KB at 0x34000 from the end //of the booting device;对定位计数器进行赋值,. = 0x34000对定位计数器初始化为0x0
. = ALIGN(4); // 以当前的地址寻找下一个4个字 的地址作为开始(First 4words are reserved.)使得当前定位计数器向四字节对齐

.text  :          //定义了一个输出节 .text,冒号是语法需要。
{
    arch/start.o(.text)//后花括号中,列出了所有应当放到这个输出节中的输入节的名字,
    *(.text)  //*是一个通配符,匹配任何文件名,
}

. = ALIGN(4);**使得当前定位计数器向四字节对齐**

.rodata : //只读数据段
{ 
    *(.rodata) //*是一个通配符,匹配任何文件名,
}


. = ALIGN(4);**使得当前定位计数器向四字节对齐**
.data : 
{ 
    *(.data) 
}

. = ALIGN(4);**使得当前定位计数器向四字节对齐**

_bss_start = .; //定义.bss输出节,并且把_bss_start定义为_bss_start输出节的起始位置,
.bss :
{ 
    *(.bss) 
} 
_bss_end = .; //把_end定义为_bss节的结束位置

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值