Uboot源码分析 源码以u-boot-1.3.4为基准,主芯片采用at91sam9260,主要介绍uboot执行流程. uboot官网:http://www.denx.de/wiki/U-Boot/WebHome. 一.工具 1.  主要采用vi查看源码,用到最多命令为grep. grep –r –n ‘string’ ./* 搜索该目录及其以下包含string的文件并标出其所在位置. 2.  objdump –D u-boot >>www 反汇编elf格式可执行文件u-boot,并输出到w…
u-boot 源码分析(1) 启动过程分析 文章目录 u-boot 源码分析(1) 启动过程分析 前言 配置 源码结构 api arch board common cmd drivers fs Kbuild 启动过程 第一阶段 start.S crt0_64.S 第二阶段 board_f.c board_r.c 总结 参考 前言 对于uboot,我一直是云里雾里的一个状态,这部分让我感到自己很菜,不用纵向深入地掌握uboot整个细节,但是相对它有一个整体流程上的把握,包括uboot的启动启动过程…
题外话: 最近一直在学习u-boot的源代码,从代码量到代码风格,都让我认识到什么才是真正的程序.以往我所学到的C语言知识和u-boot的源代码相比,实在不值一提.说到底,机器都是0和1控制的.感觉这很像我们中国<易经>里的一句话:"太极生两仪,两仪生四象."两仪指的就是阴阳.天地,对立而又相互依存的一切,它们生成了天地万物.简单的0和1就构成了我们现在所用的操作系统,各种软件.硬件也是由高低电平控制,0和1就是万物. 刚刚在读一本科幻小说,里面提到一种叫做"脑域…
一.九鼎官方uboot和三星原版uboot对比(1)以九鼎官方的uboot为蓝本来学习的,以三星官方的这份为对照.(2)不同版本的uboot或者同一版本不同人移植的uboot,可能目录结构和文件内容都有所不同.将来大家懂了后也可以自己根据需要去添加/删除/更改目录结构.(3)九鼎在以三星的uboot为原材料进行移植时,把三星版本的uboot中很多不必要的文件夹.文件给删除掉了.这个删除把很多完全用不到的文件清除出去,减少了整体的文件数量,便于工作. 二.各文件介绍(1).gitignore.gi…
一.背景知识 1.uboot第二阶段应该做什么? 概括来讲uboot第一阶段主要就是初始化了SoC内部的一些部件(譬如看门狗.时钟),然后初始化DDR并且完成重定位. 由宏观分析来讲,uboot的第二阶段就是要初始化剩下的还没被初始化的硬件.主要是SoC外部硬件(譬如iNand.网卡芯片····).uboot本身的一些东西(uboot的命令.环境变量等····).然后最终初始化完必要的东西后进入uboot的命令行准备接受命令. 2.uboot中经常出现一种情况就是根据一个宏是否定义了来条件编译决…
1.不简单的头文件包含 #include <config.h>:这个文件的内容其实是包含了一个头文件:#include <configs/x210_sd.h>". #include/version.h中包含了include/version_autogenerated.h,这个头文件就是配置过程中自动生成的.里面就一行内容:#define U_BOOT_VERSION "U-Boot 1.3.4" 2.启动代码的16字节头部 3.异常向量表的构建 4.用…
嵌入式Linux系统从软件角度通常可以分为以下4个层次: 引导加载程序 | Linux内核 | 文件系统 | 用户应用程序 嵌入式Linux系统中典型分区结构: 正常启动过程中,Bootloader首先运行,然后它将内核复制到内核中,并且在内存某个固定地址设置好要传递给内核的参数,最后运行内核.内核启动之后,它会挂接根文件系统,启动文件系统中的应用程序. 一.Bootloader的作用: CPU上电后,会从某个地址开始执行,对于ARM结构的CPU是从0x00000000开始,Bootloader…
前言 在前面的学习集合中只是介绍了集合的相关用法,我们想要更深入的去了解集合那就要通过我们去分析它的源码来了解它.希望对集合有一个更进一步的理解! 既然是看源码那我们要怎么看一个类的源码呢?这里我推荐的方法是: 1)看继承结构 看这个类的层次结构,处于一个什么位置,可以在自己心里有个大概的了解. 2)看构造方法 在构造方法中,看做了哪些事情,跟踪方法中里面的方法. 3)看常用的方法 跟构造方法一样,这个方法实现功能是如何实现的 注:既然是源码,为什么要这样设计类,有这样的继承关系.这就要说到设计…
目录 Envoy 源码分析--network L4 filter manager FilterManagerImpl addWriteFilter addReadFilter addFilter initializeReadFilters onRead onWrite Envoy 源码分析--network L4 filter manager 申明:本文的 Envoy 源码分析基于 Envoy1.10.0. 承接Envoy 源码分析--network,上次 network 只分析到 L4 过滤,…
1.ioc核心功能bean的配置与获取api 有以下四种 (来自精通spring4.x的p175) 常用的是前三种 第一种方式 <?xml version="1.0" encoding="GBK"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/bean…