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

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

3天内不再提示

一文读懂UEFI系统:从应用场景到RK平台开发全攻略

jf_44130326 来源:Linux1024 作者:Linux1024 2026-01-19 09:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

嵌入式开发领域,UEFI(统一可扩展固件接口)早已不是陌生词汇。它作为传统BIOS的升级替代方案,凭借更强大的功能、更灵活的扩展性,正在成为嵌入式平台固件开发的核心选择。尤其在瑞芯微RockchipRK系列平台上,UEFI的深度集成让开发者能够更高效地搭建Linux系统开发环境。今天,我们就来详细聊聊UEFI系统的应用场景,以及RK平台下的完整开发流程。

wKgZO2ltkCGAMKlgAAALirxcywo900.png

一、UEFI系统:不止是固件,更是嵌入式开发的桥梁

1.什么是UEFI

UEFI是一种介于硬件和操作系统之间的固件接口标准,负责启动过程中的硬件初始化、引导操作系统加载。与传统BIOS相比,UEFI支持更大容量的存储设备、更快的启动速度、更丰富的驱动支持,同时提供了统一的开发接口,让跨平台开发更便捷。在RK平台中,UEFI被深度集成到Linux SDK中,成为连接硬件与Buildroot/Debian/YoctoLinux系统的关键桥梁。

2. UEFI的核心应用场景

嵌入式智能硬件开发:适用于RK3588RK3568等高性能嵌入式芯片,支撑智能终端、边缘计算设备、工业控制单元等产品的启动与硬件管理。

多系统引导场景:支持Android BootGrub双启动方式,满足嵌入式设备灵活切换操作系统的需求,比如同时兼容嵌入式LinuxAndroid系统。

复杂硬件配置管理:针对PCIEUSBSPI Nor Flash、显示模块等外设,提供标准化的配置接口,适配不同硬件方案的定制化需求。

企业级嵌入式方案:在需要高可靠性、可扩展性的工业设备、服务器级嵌入式产品中,UEFI的稳定性和兼容性能够大幅降低开发风险。

二、RK平台UEFI开发全流程:从环境搭建到配置优化

瑞芯微RK系列(以主流的RK3588为例)提供了完善的UEFI开发支持,从代码获取、编译、烧录到启动调试,每一步都有清晰的标准化流程。以下是详细开发步骤拆解

1.前期准备:确认开发环境与代码结构

1)环境要求

安装RK3588 Linux SDK,确保SDK中包含uefi目录(核心开发目录)。

预装交叉编译工具链(如aarch64-none-linux-gnu-gcc),并配置好环境变量。

准备瑞芯微开发工具(用于固件烧录)。

2)核心代码结构

RK平台的UEFI代码主要分布在两个关键目录,清晰的结构便于开发者定位和修改:

edk2-platforms/Silicon/Rockchip:包含通用驱动、头文件、库文件,以及RK3588/RK3568等芯片的专有IP驱动,同时提供Rockchip.dsc.inc等通用配置文件。

edk2-platforms/Platform/Rockchip:存放设备树文件(如rk3588.dtb)、ACPI表、启动logo资源等平台相关配置,其中RK3588子目录包含该芯片的专属编译配置(.dsc/.fdf文件)和驱动模块。

2.编译UEFI固件:两种高效编译方式

RK3588 Linux SDK提供了两种编译方案,满足不同开发习惯,编译后将生成可直接烧录的固件文件:

方式一:直接使用uefi目录脚本

进入SDKuefi目录,执行以下命令(默认编译RK3588芯片):

./make.sh rk3588

注意:此方式需手动拷贝设备树文件到指定路

cpkernel/arch/arm64/boot/dts/rockchip/rk3588-evb1-lp4-v10-linux.dtb uefi/edk2-platforms/Platform/Rockchip/DeviceTree/rk3588.dtb

方式二:使用SDK根目录build.sh脚本

SDK根目录执行,自动配置EDK2环境变量并编译u-boot

./build.sh uefi

优势:无需手动拷贝设备树文件,编译过程中会自动同步KernelDTB文件。

编译结果

两种方式均会生成两个核心固件:

uboot_uefi.img:适用于EMMC启动的开发板。

RK3588_NOR_FLASH.img:适用于SPI Nor Flash启动的开发板。

3.固件烧录:分场景选择烧录方案

根据开发板的存储启动方式,选择对应的烧录文件和流程,核心分为EMMC启动和SPI Nor Flash启动两种场景:

场景一:EMMC启动(主流方案)

需烧录3个关键文件,且必须包含parameter.txt分区配置文件:

1.烧录文件清单:

u-boot/rk3588_spl_loader_v1.07.111.bin(引导加载器)

parameter.txt(分区配置文件)

uefi/uboot_uefi.imgUEFI固件)

2.关键配置:parameter.txt中需指定uboot分区起始地址(默认0x4000)和大小(不超过0x2000,单位512Byte),并添加boot分区UUID

uuid:boot=7A3F0000-0000-446A-8000-702F00006273

场景二:SPI Nor Flash启动

无需parameter.txt文件,仅需烧录两个文件:

boot/rk3588_spl_loader_v1.07.111.bin(引导加载器)

uefi/RK3588_NOR_FLASH.imgUEFI固件)

操作提示:使用瑞芯微开发工具,选择下载升级固件功能,按工具提示选择对应文件和地址即可。

4.系统启动:两种启动方式灵活选择

RK平台UEFI支持Android BootGrub两种启动方式,可根据实际需求切换:

方式一:Android Boot启动

核心特点:与RK3588通用Linux启动方式一致,仅需用uboot_uefi.imgboot_uefi.img替换原ubootboot分区。

关键要求:boot分区需采用Android格式打包(而非FIT格式),且分区的UUIDoffsetsize需与RK3588.dsc文件中的PcdAndroidBootDevicePath变量一致,否则会启动失败。

方式二:Grub启动(推荐Linux系统)

核心逻辑:UEFI自动查找ESP分区中的/efi/boot/grubaa64.efi文件,通过grub.cfg配置文件加载kernelinitrd

编译kernel:需先编译RK3588内核生成deb包和Image文件,拷贝到系统安装盘:

cpkernel/arch/arm64/boot/Image /udisk/install.a64/vmlinuz

cmdline传递:如需使用ttyS作为调试串口,需修改grub.cfg

linux/install.a64/vmlinuz earlycon=uart8250,mmio32,0xfeb50000 console=ttyS2,1500000n8 --- quiet

5.定制化配置:硬件功能按需开启

RK平台UEFI支持灵活的硬件配置,核心配置文件包括[make.sh](make.sh)(编译开关)、RK3588.dsc(变量定义)、RockchipPlatfromLib.c(硬件信息),以下是常用配置场景:

1SPI Nor配置

修改IO管脚:在RockchipPlatfromLib.cNorFspiIomux函数中,根据硬件原理图选择FSPI_M0/M1/M2模式,配置对应GPIO管脚。

关闭模拟NV变量:修改RK3588.dsc文件,将PcdEmuVariableNvModeEnable设为FALSE

2PCIE配置

开启编译开关:在make.sh中添加-D ROCKCHIP_PCIE30

电源与复位配置:在Pcie30IoInit/Pcie30PowerEn函数中,根据TRM修改寄存器,配置PCIE的电源和复位GPIO

3)显示配置

默认关闭显示功能,需在make.sh中添加-D ROCKCHIP_VOPEN,开启显示支持。

4USB配置

USB2.0Type-C host功能默认开启,如需适配自定义硬件,修改UsbPortPowerEnable函数,配置VBUS供电的GPIO管脚。

三、总结

UEFI系统以其强大的扩展性和兼容性,成为RK平台嵌入式开发的核心支撑,广泛应用于智能硬件、工业控制、边缘计算等场景。对于开发者而言,遵循代码准备编译固件烧录启动配置优化的标准化流程,即可快速上手RK平台的UEFI开发。


审核编辑 黄宇

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

    关注

    0

    文章

    57

    浏览量

    12355
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    EPC9094开发板快速上手全攻略

    EPC9094开发板快速上手全攻略 在电子工程师的日常工作中,开发板的选择和使用至关重要。今天我们就来详细了解下EPC9094开发板,它是
    的头像 发表于 05-14 15:10 234次阅读

    瑞芯微RK平台Android音频 EQ/DRC调试全攻略

    ,支持全局流绑定和动态应用两种模式,配合官方调试工具可快速实现个性化音效调校。 本文基于瑞芯微官方《 Android EQ/DRC 开发指南 V1.1.0 》,结合实际开发经验, 编译集成、音效启用、状态验证、参数调试 四个维
    的头像 发表于 04-12 10:23 1.2w次阅读
    瑞芯微<b class='flag-5'>RK</b><b class='flag-5'>平台</b>Android音频 EQ/DRC调试<b class='flag-5'>全攻略</b>

    RK安卓平台快速倒车影像系统:极速启动无卡顿全攻略

    在车载智能中控、流媒体后视镜的产品开发中,倒车影像的启动速度、切换流畅度是决定用户体验的核心指标。传统安卓车机方案常面临倒车启动慢、系统开机与倒车功能冲突、画面切换闪烁等痛点,而瑞芯微针对旗下RK
    的头像 发表于 03-14 08:10 2377次阅读
    <b class='flag-5'>RK</b>安卓<b class='flag-5'>平台</b>快速倒车影像<b class='flag-5'>系统</b>:极速启动无卡顿<b class='flag-5'>全攻略</b>

    深入解析TPS25961 eFuse:功能特性与应用设计全攻略

    深入解析TPS25961 eFuse:功能特性与应用设计全攻略 在电子工程师的日常设计工作中,电路保护和电源管理是至关重要的环节。今天,我们就来详细探讨下德州仪器(TI)推出的TPS25961
    的头像 发表于 02-27 17:10 732次阅读

    RK平台图形加速神器RGA开发实战:避坑+优化全攻略

    在嵌入式开发场景中,图形渲染、图像格式转换、OSD 叠加等需求越来越普遍,而 RGA 作为 RK 平台专属的硬件加速模块,能极大降低 CPU 负载,提升图形处理效率。
    的头像 发表于 02-10 16:57 4199次阅读

    搞定RK平台Wi-Fi/BT调试!配置问题解决全攻略

    专用芯片,Wi-Fi/BT 的稳定运行直接影响产品体验。本文配置、编译、测试问题排查,手把手带你搞定 RK 平台 Wi-Fi/BT 调试。
    的头像 发表于 02-09 16:57 3226次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>搞定<b class='flag-5'>RK</b><b class='flag-5'>平台</b>Wi-Fi/BT调试!<b class='flag-5'>从</b>配置<b class='flag-5'>到</b>问题解决<b class='flag-5'>全攻略</b>

    吃透RK平台OTA升级开发逻辑调试的完整指南

    在 Rockchip(简称 RK)Android 平台开发中,OTA(Over The Air)升级是实现设备软件迭代的核心方式。无论是本地卡刷升级,还是在线无缝更新,掌握 OTA 升级的技术细节
    的头像 发表于 02-09 16:26 923次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>吃透<b class='flag-5'>RK</b><b class='flag-5'>平台</b>OTA升级<b class='flag-5'>开发</b>:<b class='flag-5'>从</b>逻辑<b class='flag-5'>到</b>调试的完整指南

    低噪声时钟抖动清理器 LMK0480x 深度解析:特性应用全攻略

    低噪声时钟抖动清理器 LMK0480x 深度解析:特性应用全攻略 在电子电路设计领域,时钟抖动问题直是影响系统性能的关键因素。为了解决
    的头像 发表于 02-09 11:10 339次阅读

    RK平台休眠唤醒与低功耗调试全攻略原理到WiFi功耗问题实战

    在物联网设备、便携终端等场景中,低功耗是决定产品续航与用户体验的核心指标—— 尤其是瑞芯微(RK平台设备,常需在性能与功耗间找到精准平衡。但实际开发中,休眠唤醒异常、外设(如 WiF
    的头像 发表于 02-05 13:44 3057次阅读
    <b class='flag-5'>RK</b><b class='flag-5'>平台</b>休眠唤醒与低功耗调试<b class='flag-5'>全攻略</b>:<b class='flag-5'>从</b>原理到WiFi功耗问题实战

    深度解析LM4906音频放大器:设计应用全攻略

    深度解析LM4906音频放大器:设计应用全攻略 在音频放大领域,设备性能、成本和尺寸的平衡直是工程师关注的焦点。今天为大家详细介绍款性能出色的音频放大器——德州仪器(TI)的LM4906,它以
    的头像 发表于 02-03 16:25 3513次阅读

    UPS不间断电源是什么?企业如何选型与维护?2026年全攻略

    不间断电源(UPS)。本文将为您深入解析UPS,并提供份贴合当下需求的企业选型与维护全攻略、深度解析:UPS不仅仅是“备用电池”不间断电源(Uninterrupt
    的头像 发表于 01-16 10:46 2096次阅读
    UPS不间断电源是什么?企业如何选型与维护?2026年<b class='flag-5'>全攻略</b>

    迅为驱动开发实战:iTOP-RK3568开发板eDP屏幕移植全攻略

    迅为驱动开发实战:iTOP-RK3568开发板eDP屏幕移植全攻略
    的头像 发表于 12-30 15:42 1424次阅读
    迅为驱动<b class='flag-5'>开发</b>实战:iTOP-<b class='flag-5'>RK</b>3568<b class='flag-5'>开发</b>板eDP屏幕移植<b class='flag-5'>全攻略</b>

    GPS设计全攻略

    电子发烧友网站提供《GPS设计全攻略.pdf》资料免费下载
    发表于 12-01 17:10 0次下载

    医疗电子EMC整改:原理到实战的系统全攻略策略

    深圳南柯电子|医疗电子EMC整改:原理到实战的系统全攻略策略
    的头像 发表于 11-27 09:45 1265次阅读

    吃透WebSocket:智能物联网通信的入门与实战全攻略

    想在智能物联网项目中实现设备与平台的实时“对话”?WebSocket是你的最佳选择。本文作为份完整的学习与实战攻略基础概念讲起,逐步深入
    的头像 发表于 10-15 18:16 698次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>吃透WebSocket:智能物联网通信的入门与实战<b class='flag-5'>全攻略</b>!