[uboot] (第一章)uboot流程——概述
[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整体代码流程》
[uboot] (第一章)uboot流程——概述相关推荐
- c语言i=5.6a=(int)i,第一章C语言概述.ppt
<第一章C语言概述.ppt>由会员分享,可在线阅读,更多相关<第一章C语言概述.ppt(35页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计,课程安排和理论教学:(419 ...
- 第一章 人力资源管理概述(6学时)
人力资源管理讲稿 第一章 人力资源管理概述(6学时) 第一节 人力资源的概念 一. 人力资源的定义 1. 资源 "资财的来源"(<辞海>). ...
- 大数据技术技能分析大赛——第一章 python数据分析概述
目标:掌握python,进行数据处理.统计分析.回归建模和数据可视化. 教材:<大数据分析务实初级教程(python)## 标题> 第一章 python数据分析概述 1.数据分析概述 1 ...
- Python数据分析 第一章 数据分析的概述
目录 第一章 数据分析的概述 1.数据分析的概述 1.Python在数据分析方面的优势 2.数据分析流程 3.数据分析层次 4.数据分析常见应用场景 2. Python数据分析模块 1. Numpy ...
- 大数据技术原理与应用——第一章 大数据概述
第一章 大数据概述 1.1 大数据时代 1.1.1 第三次信息化浪潮 信息化浪潮 发生时间 标志 解决的问题 代表企业 第一次浪潮 1980年前后 个人计算机 信息处理 Intel.AMD.IBM.苹 ...
- 人工操作阶段计算机是如何工作的,第一章计算机基础概述全解.ppt
第一章计算机基础概述全解 1.2.3 汉字编码 汉字的编码 国标码:中文内码之一,汉字信息交换的标准编码.国标码是不可能在计算机内部直接采用.于是, 汉字的机内码采用变形国标码 . 国标码:作为转换为 ...
- 【JAVA SE】第一章 Java语言概述、环境变量和HelloWorld
第一章 Java语言概述.环境变量和HelloWorld 文章目录 第一章 Java语言概述.环境变量和HelloWorld 一.Java语言概述 1.Java简介 2.Java发展历史 3.Java ...
- [转载] 《python程序设计应用教程》第一章 python语言概述
参考链接: Python语言的优势和应用 第一章 python语言概述 1.1 python语言简介 ① 众多的开源的科学计算软件包都提供了python的调用接口,例如:计算机视觉库OpenCV.三维 ...
- 计算机网络中enable,第一章 计算机网络结构概述1、 enable# conf
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 第一章 计算机网络结构概述 1.> enable# config terminal Router (config)# interface faste ...
- 【食品加工技术】第一章 食品加工技术概述 笔记
[食品加工技术]第一章 食品加工技术概述 笔记 1.1 食品行业常用术语 食品 Food 传统食品 Traditional Food 天然食品 Natural Food 模拟食品 Imitation ...
最新文章
- .NET Core 收徒,有缘者,可破瓶颈
- 打脸!《陈情令》付费资源遭泄漏 腾讯视频说好的技术保障呢?
- Spark.2.2源码阅读: SPARK SUBMIT任务提交
- torch.cuda.is_aviaiable() 返回值为False的问题
- 翱文中华灯谜大全 v1.1 免费下载--IT man
- Linux原生日志系统Rsyslog详解
- Mysql全国省区县地区码
- ECharts数据可视化:从0到1的蜕变(内部技术分享总结)
- 弘辽科技:多多进宝怎么找团长?多多进宝怎么找推手推广?
- Http协议是无状态的 作者:cp_insist
- ESXi 6.7 封装驱动(Intel-I219V使用非vib的离线包驱动格式)
- 7寸显示器 树莓派4b_基于树莓派4B显示屏分类
- Qt静态函数中的信号和槽问题
- 基于vue-router的从后端动态加载菜单的实现
- 怎么减少计算机内存占有,还在为电脑内存占用太高而烦恼吗?教你一招轻松解决...
- 使用VScode简易编程
- 【js】三种JS截取字符串方法
- 微信小程序 echarts.js过大 导至错误( Error: 代码包大小为 xxxxkb,上限为 2048 kb,请删除文件后重试)
- 腾讯地图定位打卡功能实现
- 反垃圾邮件网关的选型标准考量录