0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Rockchip rk3588 U-Boot详解(一)

jf_30051736 来源:jf_30051736 作者:jf_30051736 2023-06-13 09:08 次阅读

1. U-Boot 简介

    Linux 系统要启动就必须需要一个 bootloader 程序,也就说芯片上电以后先运行一段bootloader 程序。这段bootloader程序会先初始化DDR等外设,然后将Linux内核从flash(NAND,NOR FLASH,SD,MMC 等)拷贝到 DDR 中,最后启动 Linux 内核。当然了,bootloader 的实际工作要复杂的多,但是它最主要的工作就是启动 Linux 内核,bootloader 和 Linux 内核的关系就跟 PC 上的 BIOS 和 Windows 的关系一样,bootloader 就相当于 BIOS。所以我们要先搞定bootloader,很庆幸,有很多现成的 bootloader 软件可以使用,比如 U-Boot、vivi、RedBoot 等等,其中以 U-Boot 使用最为广泛

   U-Boot 的全称是 Universal Boot Loader,uboot 是一个遵循 GPL 协议的开源软件,uboot 是一个裸机代码,可以看作是一个裸机综合例程。现在的 uboot 已经支持液晶屏、网络USB 等高

级功能。uboot 官网为 http://www.denx.de/wiki/U-Boot/,如图所示:

在这里插入图片描述

2. Rockchip, ArmSoM, U-Boot官方提供的区别

在这里插入图片描述

2.1 uboot 官方的 uboot 代码

    目前U-Boot最新的版本是 2023.07。但是我们一般不会直接用 uboot 官方的 U-Boot 源码的。uboot 官方的 uboot 源码是给半导体厂商准备的,半导体厂商会下载 uboot 官方的 uboot 源码,然后将自家相应的芯片移植进去。也就是说半导体厂商会自己维护一个版本的 uboot,这个版本的 uboot 相当于是他们定制的。既然是定制的,那么肯定对自家的芯片支持会很全,虽然 uboot 官网的源码中一般也会支持他们的芯片,但是绝对是没有半导体厂商自己维护的 uboot 全面。

    为做对比把官方的代码切换到v2017.09

# git checkout v2017.09

2.2 Rockchip 提供的UBoot

    Rockchip 就维护的 U-Boot 官⽅的 v2017.09 正式版本中切出来进⾏开发的版本,⽬前已经⽀持 RK 所有主流在售芯⽚。⽀持的功能主要有:

  • ⽀持 RK Android 固件启动;
  • ⽀持 Android AOSP 固件启动;
  • ⽀持 Linux Distro 固件启动;
  • ⽀持 Rockchip miniloader 和 SPL/TPL 两种 Pre-loader 引导;
  • ⽀持 LVDS、EDP、MIPIHDMI、CVBS、RGB 等显⽰设备;
  • ⽀持 eMMC、Nand Flash、SPI Nand flash、SPI NOR flash、SD 卡、 U 盘等存储设备启动;
  • ⽀持 FAT、EXT2、EXT4 ⽂件系统;
  • ⽀持 GPT、RK parameter 分区表; ⽀持开机 LOGO、充电动画、低电管理、电源管理
  • ⽀持 I2CPMIC、CHARGE、FUEL GUAGE、USB、GPIO、PWM、GMAC、eMMC、NAND、 Interrupt 等;
  • ⽀持 Vendor storage 保存⽤⼾的数据和配置;
  • ⽀持 RockUSB 和 Google Fastboot 两种 USB gadget 烧写 eMMC;
  • ⽀持 Mass storage、ethernet、HID 等 USB 设备;
  • ⽀持通过硬件状态动态选择 kernel DTB;

2.3 ArmSoM提供的UBoot

    如果是我们自己(ArmSoM)做的板子就需要修改 Rockchip 官方的 uboot,使其支持我们自己做的板子,ArmSoM的 ArmSoM-W3(rk3588) 开发板就是自己做的板子,虽然大部分都参考了 Rockchip官方的RK3588-EVB 开发板,但是还是有很多不同的地方,所以需要修改 Rockchip官方的 uboot,使其适配ArmSoM-W3 开发板。所以当我们拿到开发板以后是有三种 uboot ,这三种 uboot的区别如表

种类(跳转github仓库) 描述
uboot 官方的 uboot 代码 由 uboot 官方维护开发的 uboot 版本,版本更新快,基本包含所有常用的芯片。
半导体厂商的 uboot 代码 半导体厂商维护的一个 uboot,专门针对自家的芯片,在对自家芯片支持上要比 uboot 官方的好。
ArmSoM提供的 uboot 代码 ArmSoM开发板厂商在半导体厂商提供的 uboot 基础上加入了对自家开发板的支持。

3. 如何选择UBoot

    那么这三种 uboot 该如何选择呢?首先 uboot 官方的基本是不会用的,因为支持太弱了。

最常用的就是半导体厂商或者开发板厂商的 uboot,如果你用的半导体厂商的评估板,那么就使

用半导体厂商的 uboot,如果你是购买的第三方开发板,比如ArmSoM的 ArmSoM-W3 开发板,

那么就使用ArmSoM提供的 uboot 源码(也是在半导体厂商的 uboot 上修改的)。当然了,你也

可以在购买了第三方开发板以后使用半导体厂商提供的 uboot,只不过有些外设驱动可能不支

持,需要自己移植,这个就是我们常说的 uboot 移植。

4. ArmSoM UBoot 的支持

    ArmSoM UBoot 在Rockchip官方提供的UBoot基础上针对我们的开发板增加

  • 支持PCIE30的NVMe启动
  • 持续开发中

5. ArmSoM-W3 RK3588 开发板

ArmSoM-W3开发板基于Rockchip新一代旗舰 RK3588处理器开发,采用核心板+底板的分体式设计,将RK3588核心板的全部功能引脚以最便利的方式引出,并针对不同的功能做了深度优化,方便用户二次开发的同时简化用户设计,为您的项目评估提供良好的评估及设计依据。 支持8K超清显示,四屏异显,配备丰富的高速数据通讯接口,满足用户多样化需求;本产品经由严苛测试,可为您的高端应用提供稳定性能支撑。

接口图压缩.jpg

ArmSoM wiki:http://wiki.armsom.org/index.php/Getting_Started_with_ArmSoM-w3

ArmSoM forum:http://forum.armsom.org/

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11225

    浏览量

    208910
  • 程序
    +关注

    关注

    116

    文章

    3775

    浏览量

    80843
  • u-boot
    +关注

    关注

    0

    文章

    120

    浏览量

    38199
  • Rockchip
    +关注

    关注

    0

    文章

    72

    浏览量

    18530
  • RK3566
    +关注

    关注

    0

    文章

    144

    浏览量

    4782
收藏 人收藏

    评论

    相关推荐

    瑞芯微RK3588开发板RK3588 EVB和RK3588S EVB解读

    瑞芯微RK3588开发板RK3588 EVB和RK3588S EVB解读 瑞芯微旗舰芯RK3588系列开发板受到广大开发者伙伴的关注和问询。针对相关的开发板功能、操作指南等问题,我们
    的头像 发表于 09-22 15:54 1.7w次阅读
    瑞芯微<b class='flag-5'>RK3588</b>开发板<b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解读

    Rockchip rk3588 U-Boot详解 (二)

    Rockchip rk3588 U-Boot详解 (二) 专栏总目录 1.1 DM DM (Driver Model) 是 U-Boot
    的头像 发表于 06-13 10:49 3029次阅读

    有什么方法可以去修改RK3588默认的串口波特率吗

    通过以下代码进行修改:uboot下的相关设置:u-boot/configs/rk3588_defconfigCONFIG_BAUDRATE=1500000kernel下dts的相关设置
    发表于 09-09 17:49

    通过以下代码修改RK3588的默认串口波特率

    通过以下代码进行修改:uboot下的相关设置:u-boot/configs/rk3588_defconfigCONFIG_BAUDRATE=1500000kernel下dts的相关设置
    发表于 09-20 16:58

    如何在rk3588j上使用uboot命令行测试pwm驱动呢?

    我想在rk3588j上使用uboot命令行测试pwm驱动,在u-boot/cmd/下添加了pwm.c,然后在rk3588_defconfig中添加CONFIG_CMD_PWM=y,在u-boo
    发表于 01-31 17:28

    Banana Pi BPI-W3 RK3588开发板基本使用文档

    auto_run_script.service 以及它的脚本。 、SDK 开发 本节向用户介绍如何对 RK3588 Linux SDK 进行开发,包括 u-boot 开发、Linux 内核开发、buildroot 根文件系统
    发表于 11-02 12:33

    fireflyFace-RK3399主板U-Boot模式启动

    RK U-Boot 基于开源的 U-Boot 进行开发,工作模式有启动加载模式和下载模式。
    的头像 发表于 12-04 08:52 4485次阅读
    fireflyFace-<b class='flag-5'>RK</b>3399主板<b class='flag-5'>U-Boot</b>模式启动

    【LGA封装RK3588核心板】基于RK3588,小而强大的ArmSom-W3 CORE BOARD

    Armsom-RK3588 LGA Core board 是款基于Rockchip RK3588芯片平台,采用LGA(506pin)封装设计的
    的头像 发表于 07-03 16:08 1836次阅读
    【LGA封装<b class='flag-5'>RK3588</b>核心板】基于<b class='flag-5'>RK3588</b>,小而强大的ArmSom-W3 CORE BOARD

    rk3588rk3588s的区别

    rk3588rk3588s的区别 Rockchip家专业的半导体公司,成立于2001年,总部位于中国深圳,主要从事集成电路的设计、开发和销售。他们的热门产品
    的头像 发表于 08-15 16:44 1.4w次阅读

    rk3588rk3399的区别

    rk3588rk3399的区别 Rockchip家位于中国深圳的芯片设计公司,已经发布了系列的处理器芯片。其中,
    的头像 发表于 08-15 16:44 3510次阅读

    RK3588RK3066哪个好?

    RK3588RK3066哪个好? Rockchip家中国的半导体公司,专注于提供高性能低成本的芯片解决方案。在Rockchip的产品线
    的头像 发表于 08-15 16:44 1192次阅读

    RK35883588s的区别

    RK35883588s的区别 Rockchip RK3588RK3588s是两种功能强大且广受欢迎的片上系统(SoC)解决方案,用于
    的头像 发表于 08-15 17:03 2.3w次阅读

    rk3588是什么类型的芯片?

    rk3588是什么类型的芯片? RK3588款高性能的处理器芯片,属于Rockchip(瑞芯微电子)推出的第四代芯片产品。作为Rockchip
    的头像 发表于 08-15 17:04 6254次阅读

    rk3588参数详解 rk3588芯片参数

    rk3588参数详解 rk3588芯片参数 Rockchip官方已经推出了全新代的高端芯片RK3588
    的头像 发表于 08-21 17:16 3.5w次阅读

    rk3588是armv8吗?rk3588硬件资料

    rk3588是armv8吗?rk3588 硬件资料 RK3588款高性能处理器,是Rockchip公司推出的最新芯片。本文将详细介绍
    的头像 发表于 08-21 17:32 3459次阅读