zoukankan      html  css  js  c++  java
  • [uboot] (第一章)uboot流程——概述

    http://blog.csdn.net/ooonebook/article/details/52939100

    [uboot] uboot流程系列: 
    [project X] tiny210(s5pv210)上电启动流程(BL0-BL2)

    建议先看《[project X] tiny210(s5pv210)上电启动流程(BL0-BL2)》,根据例子了解一下上电之后的BL0BL1BL2阶段,以及各个阶段的运行位置,功能。

    =================================================================================

    一、bootloader & uboot

    1、bootloader的概念

     Bootloader是在操作系统运行之前执行的一段小程序。而这段小程序的最终目的,正确地设置好软硬件环境,使之能够成功地引导操作系统。

    2、bootloader的核心功能

    bootloader的核心功能就是引导操作系统,部分工作如下

    • 初始化部分硬件,包括时钟、内存等等
    • 加载内核到内存上
    • 加载文件系统、atags或者dtb到内存上
    • 根据操作系统启动要求正确配置好一些硬件
    • 启动操作系统

    3、bootloader的monitor功能

    上述2是bootloader的核心功能,也就是引导操作系统的功能。 
    但是部分bootloader还支持monitor功能,提供了更多的命令行接口,具体部分功能如下:

    • 进行调试
    • 读写内存
    • 烧写Flash
    • 配置环境变量
    • 命令引导操作系统

    4、嵌入式几种常见的bootloader

    • uboot 
      这也是最常见的bootloader,开源,常用于ARM,MIPS等平台。 
      支持monitor功能,也是在项目project X中,使用的bootloader 
      所以后续两节会针对这个bootloader进行说明
    • superboot 
      不开源,友善之臂的tiny210代码中默认使用这个bootloader
    • LK(Little Kernel) 
      常用于高通平台,支持monitor功能。

    二、uboot-spl & uboot

    1、uboot-spl

    由uboot编译生成,对应于BL1阶段,也就是BL1的镜像,uboot-spl.bin。 
    根据《[project X] tiny210(s5pv210)上电启动流程(BL0-BL2)》,其代码运行于IRAM中

    • 主要工作有: 
      • 初始化部分时钟(和SDRAM相关)
      • 初始化DDR(外部SDRAM)
      • 从存储介质上(比如SDeMMC and flash)将BL2镜像加载到SDRAM上
      • 验证BL2镜像的合法性
      • 跳转到BL2镜像所在的地址上

    后续会从编译和代码流程两方面来介绍uboot-spl。 
    对应文章: 
    《[uboot] (第二章)uboot流程——uboot-spl编译流程》 
    《[uboot] (第三章)uboot流程——uboot-spl代码流程》

    2、uboot

    由uboot编译生成,对应于BL2阶段,也就是BL2的镜像,uboot.bin。 
    根据《[project X] tiny210(s5pv210)上电启动流程(BL0-BL2)》,其代码运行于SDRAM中.

    • 主要工作有: 
      • 初始化部分硬件,包括时钟、内存等等
      • 加载内核到内存上
      • 加载文件系统、atags或者dtb到内存上
      • 根据操作系统启动要求正确配置好一些硬件
      • 启动操作系统
    • monitor工作,主要是处理命令行的命令,以下是部分操作: 
      • flash操作
      • 环境变量操作
      • 启动操作

    后续会从编译、代码整体流程以及部分功能的具体流程来介绍uboot-spl。 
    对应文章: 
    《[uboot] (第四章)uboot流程——uboot编译流程》 
    《[uboot] (第五章)uboot流程——uboot整体代码流程》

  • 相关阅读:
    hdu 4002 Find the maximum
    hdu 2837 坑题。
    hdu 3123
    zoj Treasure Hunt IV
    hdu 2053 Switch Game 水题一枚,鉴定完毕
    poj 1430 Binary Stirling Numbers
    hdu 3037 Saving Beans
    hdu 3944 dp?
    南阳oj 求N!的二进制表示最低位的1的位置(从右向左数)。
    fzu 2171 防守阵地 II
  • 原文地址:https://www.cnblogs.com/leaven/p/6296094.html
Copyright © 2011-2022 走看看