最开始系统上电后 从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段的结束位置*/
}

u-boot简单学习笔记(二)——AR9331 uboot.lds分析的更多相关文章

  1. Linux——进程管理简单学习笔记(二)

    计划任务: 为什么要设置计划任务 : 实现数据库备份,发送系统通知神马的..... 计划任务的命令: 一: at :  安排作业在某一时刻执行一次 nbatch    安排作业在系统负载不重时执 行一 ...

  2. Html学习笔记(二) 简单标签

    标签的重点 标签的用途 标签在浏览器中的默认样式 <body>标签: 在网页上显示的内容 <p>标签: 添加段落 <hx>标签: 添加标题 标签一共有6个,h1.h ...

  3. JMX学习笔记(二)-Notification

    Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...

  4. java之jvm学习笔记二(类装载器的体系结构)

    java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...

  5. 《SQL必知必会》学习笔记二)

    <SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...

  6. NumPy学习笔记 二

    NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  7. ES6学习笔记<二>arrow functions 箭头函数、template string、destructuring

    接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...

  8. muduo学习笔记(二)Reactor关键结构

    目录 muduo学习笔记(二)Reactor关键结构 Reactor简述 什么是Reactor Reactor模型的优缺点 poll简述 poll使用样例 muduo Reactor关键结构 Chan ...

  9. Linux——帮助命令简单学习笔记

    Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...

随机推荐

  1. python3--命名空间字典

    命名空间字典 我们学到了模块的命名空间实际上是以字典的形式实现的,并且可以由内置属性__dict__显示这一点.类和实例对象也是如此:属性点号运算其实内部就是字典的索引运算,而属性继承其实就是搜索连结 ...

  2. pytorch使用过程中遇到的一些问题

    问题一 ImportError: No module named torchvision torchvison:图片.视频数据和深度学习模型 解决方案 安装torchvision,参照官网 问题二 安 ...

  3. 简单介绍一下solr?

    简单介绍一下solr? Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可 ...

  4. bzoj 2017 [Usaco2009 Nov]硬币游戏 动态规划

    [Usaco2009 Nov]硬币游戏 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 431  Solved: 240[Submit][Status] ...

  5. 【bzoj1710】[Usaco2007 Open]Cheappal 廉价回文

    [bzoj1710][Usaco2007 Open]Cheappal 廉价回文 Description 为了跟踪所有的牛,农夫JOHN在农场上装了一套自动系统. 他给了每一个头牛一个电子牌号 当牛走过 ...

  6. 线程池的使用。好文。mark【http://blog.csdn.net/rwecho/article/details/21157289】

    介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用.本文是基础篇,后面会分享下线程池一些高级功能. 1.new Thread的弊端执行一个异步任务你还只是如下new T ...

  7. 51nod1053 最大M子段和 V2

    $n \leq 50000$的序列,问选不超过$m \leq 50000$个区间使得和最大. 如果正数区间总数比$m$小那肯定全选.否则有两种方式减少区间数量:丢掉一个正区间:补一个负区间连接两个正区 ...

  8. ZOJ - 4020 Traffic Light (BFS)

    [传送门]http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4020 [题目大意]从起点(sx, sy)出发,要到达(ex , ...

  9. hzwer与逆序对

    codevs——4163 hzwer与逆序对 貌似这个题和上个题是一样的((⊙o⊙)…)  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题解       题目 ...

  10. usaco feb04距离咨询

    [USACO FEB04]距离咨询 成绩   开启时间 2014年09月19日 星期五 10:08 折扣 0.8 折扣时间 2014年09月26日 星期五 10:08 允许迟交 是 关闭时间 2014 ...