• 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。支持多种架构。

  • 相关阅读:
    php文件上传功能(文件上传)
    约定编程与Sping AOP
    【校招VIP】“推推”产品项目课程:列表模块原型图
    Ceph RGW对象存储
    ES集群手动搭建步骤V1.0(基于elasticsearch-7.3.0版本)
    MySQL Router重装后重新连接集群进行引导出现的——此主机中之前已配置过的问题
    python深入浅出的装饰器1
    http://localhost:8080打不开/shutup.bat命令行闪退
    leetcode402场周赛——构成整天的下标对数目(javascript)
    四十、《大数据项目实战之用户行为分析》SpringBoot项目集成WebSocket实时推送最新数据
  • 原文地址:https://blog.csdn.net/qqmrchen124/article/details/134274309