博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
u-boot简单学习笔记(二)——AR9331 uboot.lds分析
阅读量:5049 次
发布时间:2019-06-12

本文共 1243 字,大约阅读时间需要 4 分钟。

最开始系统上电后 从uboot.lds开始引导

OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")  /* 这里是生成格式为elf。大端,mips */

OUTPUT_ARCH(mips)  /* mips架构 */
ENTRY(_start)  /* 入口点为_start ,在cpu/mips/start.S中定义*/
SECTIONS
{

/*指定可执行image文件的全局入口点,通常这个地址都放在ROM(flash)0x0位置。必须使编译器知道这个地址,通常都是修改此处来完成*/

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

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

    .text:                             /* 这个是程序存放的地方 ,代码段 */
    {
      *(.text*)
    }

    . = ALIGN(4);   /* 表示以4字节对齐 */

    .rodata  : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }  /* 指定只读数据段 */

    . = ALIGN(4);

    .data  : { *(.data*) }            /* 指定读/写数据段 */

    . = .;

    _gp = ALIGN(16);

    .got  : {                           /* 指定got段, got段式是uboot自定义的一个段, 非标准段 */

    __got_start = .;
        *(.got)
    __got_end = .;
    }

    . = ALIGN(4);

    .sdata  : { *(.sdata*) }     /* 指定静态读/写数据段 */

    __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赋值为当前位置,即结束位置  */

    uboot_end_data = .;    /*  把uboot_end_data赋值为当前位置,即作为data段结束位置  */

    num_got_entries = (__got_end - __got_start) >> 2;  /* 指定 num_got_entries 地址 */

    . = ALIGN(4);

    .sbss  : { *(.sbss*) }
    .bss  : { *(.bss*) . = ALIGN(4); }  /*指定bss段,告诉加载器不要加载这个段*/
    uboot_end = .; /*把_end赋值为当前位置,即bss段的结束位置*/
}

转载于:https://www.cnblogs.com/xuyh/p/5091738.html

你可能感兴趣的文章
日志框架--(一)基础篇
查看>>
Java设计模式之原型模式
查看>>
Spring学习(四)-----Spring Bean引用同xml和不同xml bean的例子
查看>>
哲理故事与管理之道(20)-用危机激励下属
查看>>
关于源程序到可运行程序的过程
查看>>
wepy的使用
查看>>
转载:mysql数据库密码忘记找回方法
查看>>
scratch少儿编程第一季——06、人在江湖混,没有背景怎么行。
查看>>
面向对象1
查看>>
在ns2.35中添加myevalvid框架
查看>>
【贪心+DFS】D. Field expansion
查看>>
为什么要使用href=”javascript:void(0);”
查看>>
二进制文件的查看和编辑
查看>>
C# Async与Await的使用
查看>>
Mysql性能调优
查看>>
iOS基础-UIKit框架-多控制器管理-实例:qq界面框架
查看>>
javascript学习---BOM
查看>>
IOS-每个程序员的编程之路上都应该看这11本书
查看>>
自定义tabbar(纯代码)
查看>>
extjs fieldset 和 radio
查看>>