主要符号说明

  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 段的结束位置

}

最新文章

  1. java 心得
  2. contextloaderlistener
  3. html checkbox 全选与反选
  4. SQL 函数
  5. 四位数码管SH5461AS的问题,arduino学习实测.
  6. C#绘制圆形时钟
  7. css3画苹果logo
  8. .net mvc结合微软提供的FormsAuthenticationTicket登陆
  9. FZU2177(dp)
  10. Android自定义控件之TextView
  11. [国嵌攻略][160][SPI驱动程序设计]
  12. python来写打飞机
  13. 【BZOJ2693】jzptab(莫比乌斯反演)
  14. C# XML序列化/反序列化参考
  15. canvas绘图——根据鼠标位置进行缩放的实现原理
  16. Ymodem协议说明
  17. Numpy 线性代数
  18. Linux下批量ping某个网段ip的脚本
  19. 利用shell脚本远程登录服务器并修改saltstack配置并重启服务
  20. java单例类的几种实现

热门文章

  1. Jackson环境安装设置
  2. hql 跟 sql 区别
  3. JS:面向对象(进阶篇)
  4. hdu6350 /// tarjan+并查集+组合+最大流思想
  5. P3224 [HNOI2012]永无乡(平衡树合并)
  6. 小程序onclick的写法?
  7. Handler Looper源码解析(Android消息传递机制)
  8. the blank final field factors may not have been initialized
  9. 什么是URI、URL、URN、URC和Data URI?
  10. lsm和lkm模块