u-boot.lds文件简介
可执行文件由许多链接在一起的对象文件组成。对象文件有许多节,如文本、数据、init 数据、bss等。这些对象文件都是由一个称为 链接器脚本(*lds)的文件链接并装入的。这个链接器脚本的功能是将输入对象文件的各节映射到输出文件中;换句话说,它将所有输入对象文件都链接到单一的可执行文件中,将该可执行文件的各节装入到指定地址处。 因此在分析u-boot代码是,首先应关注的是u-boot.lds文件,它位于$(U-BOOT_SRC_ROOT)/board/$(BOARD_NAME)目录下。
/*
* OUTPUT_FORMAT(default, big, little),在链接的时候,如果使用了-EB的命令行参数,则使用这里的big
* 参数指定的字节序,如果使用了-EL;的命令行参数,则使用这里的little参数指定的字节序,如果没有使用
* 任何命令行参数,则使用这里的default参数指定的字节序。
* 由$(SRC_ROOT)/board/samsung/smdk6410/u-boot.lds中的定义可见,不管在链接的时候使用了何种命令行参数,
* 输出的目标文件都是使用elf32-littlearm方式的字节序。
*/
/*以下语句是指定输出可执行文件是elf格式,32位ARM指令,小端 */
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
/*指定输出可执行文件的平台为ARM*/
OUTPUT_ARCH(arm)
/*指定输出可执行文件的起始代码段为_start.*/
ENTRY(_start)
SECTIONS
{
. = 0x00000000; /*定位当前地址为0x0地址*/ . = ALIGN(); /*指定代码以4字节对齐*/
.text : /*指定代码段 */
{
arch/arm/cpu/arm1176/start.o (.text)
board/samsung/smdk6410/libsmdk6410.o (.text)
*(.text)
} . = ALIGN();
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } /*指定只读数据段 */ . = ALIGN();
.data : { *(.data) } /*指定读写数据段*/ . = ALIGN();
.got : { *(.got) } /*指定got段, got段式是uboot自定义的一个段, 非标准段*/ . = ALIGN();
.u_boot_list : {
#include <u-boot.lst>
} . = ALIGN();
.mmudata : { *(.mmudata) } . = ALIGN(); .rel.dyn : {
__rel_dyn_start = .;
*(.rel*)
__rel_dyn_end = .;
} .dynsym : {
__dynsym_start = .;
*(.dynsym)
} _end = .; .bss __rel_dyn_start (OVERLAY) : {
__bss_start = .;
*(.bss)
. = ALIGN();
__bss_end__ = .;
} /DISCARD/ : { *(.dynstr*) }
/DISCARD/ : { *(.dynamic*) }
/DISCARD/ : { *(.plt*) }
/DISCARD/ : { *(.interp*) }
/DISCARD/ : { *(.gnu*) }
}
u-boot.lds文件简介的更多相关文章
- lds 文件说明
主要符号说明 OUTPUT_FORMAT(bfdname) 指定输出可执行文件格式. OUTPUT_ARCH(bfdname) 指定输出可执行文件所运行 CPU 平台 ENTRY(symbol) 指定 ...
- 第64节:Java中的Spring Boot 2.0简介笔记
Java中的Spring Boot 2.0简介笔记 spring boot简介 依赖java8的运行环境 多模块项目 打包和运行 spring boot是由spring framework构建的,sp ...
- Django框架-目录文件简介
Rhel6.5 Django1.10 Python3.5 Django框架-目录文件简介 1.介绍Django Django:一个可以使Web开发工作愉快并且高效的Web开发框架. 使用Django, ...
- Android资源文件简介
Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, 资源 ...
- properties文件简介及其常用Java操作
一.properties文件简介 java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值&q ...
- U-boot.lds文件分析
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") ...
- [安卓]AndroidManifest.xml文件简介及结构
1.AndroidManifest.xml文件简介: 每个应用程序在它的根目录中都必须要有一个AndroidManifest.xml(名字须精确一致)文件.这个清单把应用程序的基本信息提交给Andro ...
- (转)IOS之Info.plist文件简介
原文:IOS之Info.plist文件简介 http://www.apkbus.com/android-130240-1-1.html (出处: Android开发论坛 - 安卓开发论坛 - Andr ...
- 如何使weblogic11g类似weblogic923一样统一使用一个boot.properties文件
如何使weblogic11g类似weblogic923一样 统一使用一个boot.properties文件 1.在weblogic域下创建文件boot.properties输入用户密码例如:usern ...
随机推荐
- Redis集群的操作
1.原始集群 1.1 启动Redis集群 [root@cent03 ~]# /usr/local/redis/bin/redis-server /usr/local/redis-cluster/ ...
- Cisco交换机配置VLAN
Cisco IOS中有两种方式创建vlan,在全局模式下使用vlan vlanid命令,如switch(config)#vlan 10; 在vlan database 下创建vlan ,如 switc ...
- C#网络唤醒
什么是网络唤醒 网络唤醒实现了对网络的集中管理,即在任何时刻,网管中心的IT管理人员可以经由网络远程唤醒一台处于休眠或关机状态的计算机.使用这一功能,IT管理人员可以在下班后,网络流量最小以及企业的正 ...
- form中的button按钮在IE11中自动提交表单问题导致弹出框关闭之后表单被重置
最近几天,测试系统,遇到一个兼容性问题,form中有一个button按钮,没有指定type类型,点击按钮弹出框选择值之后回填给form上的一个单行文本框,在IE6.IE7.IE8.IE9.IE10中测 ...
- PLSQL导入Excel文件预览不到数据行问题
今天,从Excel导入Oracle一些数据,在导入的过程中,遇到一个问题,Excel里面有好几万条数据,但是通过PLSQL导入向导导入Excel文件之后,在PLSQL里却预览不到数据行,只能看见标题行 ...
- fence-agents kvm 实验
1, Method of installing fence-agents on linux: $ git clone https://github.com/ClusterLabs/fence-agen ...
- alter system set events相关知识
格式:alter system|session set events ‘[eventnumber|immediate] trace name eventname [forever] [, level ...
- 纯CSS3实现的顶部社会化分享按钮
今天要分享一款纯CSS3实现的社会化分享按钮,它放置在网页的顶部,你可以选择将它固定在网页顶部,这样对用户分享内容就十分方便.这些社会化分享按钮的图标文件来自google和bootstrap的字体文件 ...
- CentOS6.5安装wine
全程只有两个命令: $ yum install epel-release $ yum install wine 关于epel-release,说白了就是一个第三方软件源. 企业版 Linux 附加软件 ...
- RGB转LAB色彩空间
1.原理 RGB无法直接转换成LAB,需要先转换成XYZ再转换成LAB,即:RGB——XYZ——LAB 因此转换公式分两部分: (1)RGB转XYZ 假设r,g,b为像素三个通道,取值范围均为[0,2 ...