• U_boot介绍


    系统移植之前的了解的:

    1. 首先需要移植一个 bootloader 代码,这个 bootloader 代码用于启动 Linux 内核,bootloader 有很多,常用的就是 U-Boot;
    2. 移植好 U-Boot 以后再移植 Linux 内核,移植完 Linux 内核以后 Linux 还不能正常启动;
    3. 还需要再移植一个根文件系统(rootfs),根文件系统里面包含了一些最 常用的命令和文件。
      所以 U-Boot、Linux kernel 和 rootfs 这三者一起构成了一个完整的 Linux 系 统,一个可以正常使用、功能完善的 Linux 系统。
      在这里插入图片描述

    什么是Uboot ?

    先来看什么是Bootloader?
    BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。

    如果想运行在一块板子上的Bootloader程序也能运行在另一块板子上,一般都需要修改Bootloader的源程序。

    总结(Bootloader):
    · Bootloader是硬件启动时执行的引导程序,是运行操作系统的前提;
    · Bootloader是在操作系统内核或用户应用程序运行之前运行的一段代码;
    · 在嵌入式系统中,整个系统的初始化和加载任务一般由Bootloader来完成;
    · 对硬件进行相应的初始化和设定,最终为操作系统准备好环境。

    特点:
    Bootloader不属于操作系统,一般采用汇编语言和C语言开发。需要针对特定的硬件平台编写。在移植过程时,首先为开发板移植Bootloader。Bootloader不但依赖于CPU的体系架构,而且依赖于嵌入式系统板级设备的配置。可总结为以下三点:

    1.Bootloader运行通常分为两个阶段。
    2.Bootloader独立于操作系统。
    3.Bootloader不仅依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。

    U_boot:
    它是CPU的bootloader程序。
    为什么需要U_boot?作用就是为了启动操作系统。
    最主要的工作就是初始化DDR,因为LINUX是运行在DDR里面的。一般LINUX镜像(zlmage + 设备树)存放在SD、EMMC、SPI FLASH 等外置存储区域。

    UBOOT做什么?就是需要将Linux镜像从外置的FLASH 拷贝到DDR中,再去启动。

    Uboot是使用最多的bootloader。支持多种架构。

  • 相关阅读:
    canvas 轮询http接口让小车实时运动
    天天被开发怼?4个方法区分bug前后端归属,我再也不背锅了!
    mall:redis项目源码解析
    【小程序】IDEA实现qq邮件的发送
    6个步骤实现 Postman 接口压力测试
    【轴承故障诊断】基于matlab贝叶斯优化支持向量机轴承故障诊断(西储数据)【含Matlab源码 2027期】
    物联网各类数据如何轻松获取?秘诀就在定制文件推送服务
    C++,day0907
    【云原生之kubernetes实战】在k8s环境下部署kanboard项目管理平台
    cmake + gtest安装使用 C++单元测试 gcov locv代码覆盖率
  • 原文地址:https://blog.csdn.net/qqmrchen124/article/details/134274309