首页 技术 正文
技术 2022年11月19日
0 收藏 966 点赞 3,230 浏览 1914 个字

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ooonebook/article/details/52939100

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

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

=================================================================================
一、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)
        从存储介质上(比如SD\eMMC\nand 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整体代码流程》
文章最后发布于: 2016-10-26 22:30:45
————————————————
版权声明:本文为CSDN博主「ooonebook」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ooonebook/article/details/52939100

在我月子期间,人家在研究u-boot,我虽然晚了一步,但是迟早也能研究明白

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,493
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295