uboot smdk6400.lds链接脚本分析

原创 2016年05月31日 00:26:24

开头部分
文件格式、输入架构、ENTRY() 用来指明整个程序的入口

OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)

指定程序链接地址有两种方法:

  • Makefile中的ld命令的flags用-Ttext [地址]来指定
  • 在链接脚本SECTIONS开头用.=[地址]来指定

在既在Makefile中使用-Ttext [地址],同时在lds链接脚本写明.=[地址]时,编译器会以Makefile中的-Ttext [地址]指定的为准

SECTIONS部分

SECTIONS
{
    . = 0x00000000;

    . = ALIGN(4); //设定4字节对齐,防止传过来的地址未对齐

    .text      :  
    {
      /*代码段必须要注意文件的排列顺序,前面是uboot的BL1
      部分,必须包含初始化,跳转的.o文件*/
      arch/arm/cpu/arm1176/start.o  (.text)
      arch/arm/cpu/arm1176/s3c64xx/cpu_init.o   (.text)
      *(.text)
    }

    . = ALIGN(4);
    .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }

    . = ALIGN(4);
    .data : { *(.data) }

    . = ALIGN(4);
    .got : { *(.got) }

    __u_boot_cmd_start = .;
    .u_boot_cmd : { *(.u_boot_cmd) }
    __u_boot_cmd_end = .;

    . = ALIGN(4);
    .mmudata : { *(.mmudata) }

    . = ALIGN(4);
    __bss_start = .;
    .bss : { *(.bss) . = ALIGN(4); }
    _end = .;
}

其中.text .data .rodata .bss是编译工具自带的段,__u_boot_cmd_start .mmudata等是uboot自带的段,对于uboot的命令操作等功能有重要作用

版权声明:转载请注明出处, 谢谢

相关文章推荐

uboot.lds 链接脚本语法规则

这是网上找到一篇关于链接脚本语法规则非常详细的介绍,保存到博客内,以便日后需要时查阅。以下是正文: 连接脚本的格式 ==================== 连接脚本是文...

Linux下的lds链接脚本基础

  • 2009年12月30日 11:18
  • 174KB
  • 下载

Linux下的lds链接脚本基础 pdf

  • 2012年09月29日 16:01
  • 272KB
  • 下载

u-boot.lds链接脚本分析

这段时间在读u-boot的makefile ,看到链接的时候,发现make会调用board/Samsung/smdk6410下的u-boot.lds链接脚本,于是看了点关于链接器和加载器方面的东西,所...
  • liboyo
  • liboyo
  • 2012年03月19日 21:01
  • 771

对lds链接脚本的分析,唉!

连接脚本将我整整蒙了1天零一个上午,做了很多实验,看了人家不少例子代码 勉强能驾驭了,让linker按照我想要的来处理,做个笔记。 1,什么叫输入段,什么叫输出段 不知道怎么回事,我对GCC系列的输入...
  • gl23838
  • gl23838
  • 2012年10月03日 00:14
  • 548

链接脚本.lds文件分析

本篇文章是我特地转载的,以作为我博客中其他文章的基本知识的补充,同时也方便自己学习使用。本篇详细全面的介绍了连接脚本lds文件的介绍与使用,这个脚本文件很重要,在最后的链接阶段,决定了各个文件的位置安...

Linux下的lds链接脚本资源

  • 2014年05月31日 14:13
  • 274KB
  • 下载

Linux下的lds链接脚本基础

  • 2011年12月25日 11:02
  • 271KB
  • 下载

【GCC-ARM裸机开发随笔】----之lds链接脚本分析

随笔中记录的是笔者在Linux环境中用交叉工具链开发ARM裸机程序时遇到的一些问题和解决方法,主要是将解决问题的过程和一些小经验、小技巧记录下来。现在把一些感觉有点价值的内容搬到博客中供读者参考。 ...

u-boot中.lds链接脚本文件的分析

作者:冯利美,华清远见嵌入式培训中心讲师。 对于.lds文件,它定义了整个程序编译之后的连接过程,决定了一个可执行程序的各个段的存储位置。 SECTIONS {         ...    ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:uboot smdk6400.lds链接脚本分析
举报原因:
原因补充:

(最多只允许输入30个字)