栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

D1 哪吒开发板 了解基本的启动加载流程

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

D1 哪吒开发板 了解基本的启动加载流程

前言
  • 熟悉一个嵌入式平台,需要了解这个平台的启动方式,如Nand Flash、Nor Flash、SD卡等

  • 不同的启动方式,可能固件本身存放的位置也不同,如Nand Flash启动,需要把各个固件,如boot0、uboot、kernel、rootfs等,先下载到指定的位置,或者说指定的存储【分区】,把固件存储分块,用于存放不同功能的固件

  • 像SD卡、NandFlash等,一般不支持代码直接执行,所以像Linux等系统,都是通过bootloader,提前把系统启动起来,如初始化好RAM(SDRAM、DDR SDRAM等),把代码拷贝到RAM中执行,因此Nand Flash、SD卡作用主要是用于存储代码与数据,RAM用于系统的启动与运行,代码的执行

  • 很多的CPU芯片,都支持多级启动方式,哪吒开发板上的全志D1 CPU,基于 RISCV64为的平头哥 C906核心,也支持多种的启动方式,如SD卡、Nand Flash等

  • uboot 是常见的boot 加 loader,也就是具备启动与加载的功能,具备固件升级的功能,但是CPU上电,还是要有一个原始的启动流程,这个流程基于CPU的ROM启动方式,如使用Nand Flash引导,需要boot 模式选择 Nand Flash,CPU 上电时会主动把 Nand Flash 中的一小部分代码,拷贝到RAM去执行,这就是 CPU ROM 本身的boot功能,硬件固化的,用户擦出不掉。

  • 这【小段代码】,本身需要做好系统的基本初始化,如系统时钟配置、DEBUG引脚配置、RAM初始化等,并且具备【二级跳转功能】,跳转到 uboot等 bootloader。换句话说,CPU 本身的ROM固件,不支持直接加载Uboot,而是需要一个bootstrap 类型的 boot代码,通过这个bootstrap 启动 uboot,再去继续引导Linux等操作系统,再去加载文件系统,这样一级一级的跳转与执行

  • 哪吒开发板上的全志D1 CPU,采用的是:OpenSBI,作为 boot0 的方式,CPU 上电后,首先运行 ROM中的引导加载程序,执行 OpenSBI,然后把系统初步初始化好,接着就去跳转运行uboot等固件

  • OpenSBI 算是 全志 D1 CPU 的逻辑程序,可能受到启动引导方式的限制,这个OpenSBI的固件大小会受到限制

启动流程
  • D1 哪吒开发板,在没有插入SD卡的情况下,默认会启动板载的Tina Linux,这个启动可以通过查看【DEBUG】串口的启动信息获取

  • 基本的引导启动方式为:

  • CPU ROM 切到 Nand Flash引导方式

    • OpenSBI v0.6
    • U-Boot 2018.05
    • Linux version 5.4.61
    • BusyBox v1.27.2
  • 这算是标准Linux 系统启动流程了

  • OpenSBI

  • U-Boot

  • Linux kernel

  • BusyBox rootfs

其他思考
  • 如果启动RT-Thread 的 rt-smart 操作系统,这个基于Nand Flash的启动加载流程会是什么样子呢?

  • 我初步认为可以是:

  • CPU ROM 切到 Nand Flash引导方式

    • OpenSBI v0.6
    • U-Boot
    • rt-smart
    • userapps
  • SD卡的启动方式,后面再继续研究

小结
  • 初步接触 D1 哪吒开发板,开始了解系统的启动引导方式,了解固件的下载方式

  • 固件下载可以使用:全志的 PhoenixSuit 工具,目前USB 驱动连接上了,但是 生成的rt-smart img 镜像工具不识别,所以需要继续研究

  • 换句话说,需要找一个支持烧写 boot0 的工具,这个PhoenixSuit工具,估计只支持 Linux的那一套固件的烧写,默认使用uboot 加载引导的方式。

  • 后面研究Nand Flash【空片】烧写、rt-smart 镜像的烧写方式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/974244.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号