单片机
返回首页

[uboot] (第一章)uboot流程——概述

2025-01-24 来源:cnblogs

一、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)

    • 从存储介质上(比如SDeMMCnand 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。 

进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 家用电器遥控器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外开关

  • DS1669数字电位器

  • HA1377 桥式放大器 BCL 电容 17W(汽车音频)

    相关电子头条文章