最开始系统上电后 从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. Chrome 开发者工具(DevTools)中所有快捷方式列表(已整理)

    Chrome 开发者工具(DevTools)中所有快捷方式列表(已整理) 前言 Chrome DevTools提供了一些内置的快捷键,开发者利用这些快捷键可以节省常工作中很多日的开发时间.下面列出了每 ...

  2. web项目架构

    二

  3. Leetcode 329.矩阵中的最长递增路径

    矩阵中的最长递增路径 给定一个整数矩阵,找出最长递增路径的长度. 对于每个单元格,你可以往上,下,左,右四个方向移动. 你不能在对角线方向上移动或移动到边界外(即不允许环绕). 示例 1: 输入: n ...

  4. php(ajax)异步刷新(转)

    第一种方法,ajax实现:当然,ajax使用起来确实很简单就可以实现,但是里面的很多知识还是比较有点深的.我之前做页面时间自动刷新的功能就是用的ajax.完整代码是:1.getTime.php: 复制 ...

  5. 03-offsetParent属性

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  6. BZOJ 1855 [Scoi2010]股票交易 ——动态规划

    DP方程是比较简单的,主要有三种:什么都不做.买入.卖出. 发现买入卖出都是$\Theta (n^3)$但是转移方程都是线性的,而且决策和当前的情况是分开的. 所以可以单调队列优化. 复杂度$\The ...

  7. 【2018.9.20】JOI 2017 Final T3「JOIOI 王国 / The Kingdom of JOIOI」

    题目链接 题目描述 JOIOI 王国是一个 $H$ 行 $W$ 列的长方形网格,每个 $1\times 1$ 的子网格都是一个正方形的小区块.为了提高管理效率,我们决定把整个国家划分成两个省 $JOI ...

  8. 军训分批(codevs 2751)

    题目描述 Description 某学校即将开展军训.共有N个班级. 前M个优秀班级为了保持学习优势,必须和3位任课老师带的班级同一批. 问共有几批? 输入描述 Input Description N ...

  9. UVa10234 Race

    递推,设有i个人排在第一名,剩下的人排在后面,方案有f[i]种,则f[i]=sum(c[n][i]*f[n-i]) 1<=i<=n /*by SilverN*/ #include<a ...

  10. 【HDOJ6222】Heron and His Triangle(Java,二分,递推)

    题意:让你找这样的一个三角形,三条边为t,t-1,t+1,并且面积为整数,最后满足t大于等于n. n<=1e30 思路:直接推式子不会,打表找规律 f(n)=4*f(n-1)-f(n-2)(n& ...