Chinaunix首页 | 论坛 | 博客

  • 博客访问: 213055
  • 博文数量: 51
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 502
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-05 08:43
个人简介

无知者无最

文章分类

全部博文(51)

文章存档

2016年(1)

2015年(3)

2014年(33)

2013年(14)

我的朋友

分类: LINUX

2013-12-31 18:45:50

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

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

//OUTPUT_ARCH(arm)定义输出的目标处理器的架构

ENTRY(_start)

//定义了程序运行时候的第一个运行模块。该模块定义在cpu\arm920t\start.S文件中。
SECTIONS
{

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

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

       .text :              //指定代码段

       {
              cpu/arm920t/start.o (.text)  //代码的第一个代码部分

            *(.text)    //其它代码部分

       }

      . = ALIGN(4);
 
     .rodata: { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.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
      (NOLOAD) : { *(.bss) . = ALIGN(4); }
  //指定bss

      _end = .;   //_end赋值为当前位置,bss段的结束位置
}

阅读(1468) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~