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

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

3天内不再提示

RK3568开发板OTA升级

流川枫枫 来源:流川枫枫 作者:流川枫枫 2025-04-21 14:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

OTA(Over-The-Air)升级作为一种无损失的系统升级方式,能够远程将新功能部署到产品上,极大地提高了设备的可维护性和可扩展性。除了通过网络直接下载OTA升级包外,我们还可以通过将升级包下载到SD卡或U盘后,再对设备进行本地升级。

本文将基于飞凌嵌入式RK3568开发板,详细介绍OTA升级的流程,特别是本地升级程序recovery的执行流程及技术细节。

一、制作recovery.img

首先,我们需要制作recovery镜像。recovery相关的源码位于buildroot/output/OK3568-recovery/build/recovery-develop目录下。

源码修改与编译

如果修改过该目录下的源码文件,需要执行以下操作:

进入源码目录:forlinx@ubuntu:~/OK3568-linux-source$ source envsetup.sh

选择某一平台的recovery配置,输入96(具体数字可能因平台而异)。

清除编译产物并重新编译recovery:forlinx@ubuntu:~/OK3568-linux-source$ make recovery-dirclean && make recovery

清除rkupdate编译产物并重新编译:forlinx@ubuntu:~/OK3568-linux-source$ make rkupdate-dirclean && make rkupdate

如果没有修改过源码文件,则直接执行以下操作:

编译生成recovery.img:forlinx@ubuntu:~/OK3568-linux-source$ ./build.sh recovery

将生成的固件拷贝至rockdev/目录下:forlinx@ubuntu:~/OK3568-linux-source$ ./mkfirmware.sh

烧写recovery.img

将生成的recovery.img文件烧写到设备的指定分区。具体操作通常是通过设备分区表,勾选对应的recovery分区(如分区9),选择recovery.img路径,然后点击执行烧写操作。

wKgZPGgF5pSAN1OWAACJrzzztYY42.jpeg

二、制作升级镜像

为了验证升级是否成功,我们需要对boot.img文件进行修改。boot.img文件存放有设备树和内核,我们可以通过修改设备树来实现升级效果。

修改设备树文件

修改/OK3568-linux-source/kernel/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi文件,对forlinx_control节点进行如下修改,以默认只打开HDMI输出,关闭MIPI和LVDS输出:

/ { model =“Forlinx OK3568-C Board"; compatible ="forlinx,ok3568","rockchip,rk3568-evb1-ddr4-V10","rockchip,rk3568"; forlinx control { status ="okay"; video-hdmi ="hdmi"; video-mipi-edp ="off"; video-lvds-rgb ="off"; };

修改package-file文件

根据升级需求修改/OK3568-linux-source/tools/linux/Linux_Pack_Firmware/rockdev/package-file文件。

本例中以更新boot.img为例,所以将其他.img文件注释掉。用户可以根据实际产品更新需求对该文件进行调整。

wKgZO2gF5pWAapDrAACVK8RykOQ99.jpeg

重新编译内核

修改完设备树后,需要重新编译内核以生成新的boot.img文件。

wKgZPGgF5pWAN6kIAABT0XMQbhA45.jpeg

三、升级操作

SD卡或U盘升级

将SD卡或U盘默认挂载到RK3568开发板的/run/media目录下。将update.img镜像文件拷贝到开发板的/userdata目录下。重启开发板后,系统将自动检测该目录下的升级包并进行升级。

FTP服务器升级

在RK3568开发板端执行相应命令,将FTP服务器上的升级包文件拷贝到开发板进行升级。

下载完成后,使用update ota /userdata/update.img命令进行升级。

升级过程中设备将会进入recovery模式,并进行自动升级。升级成功后,设备将进入正常系统(normal系统)。

wKgZPGgF5paARA2UAACo7kL4_XI97.jpeg

四、验证测试结果

烧写默认出厂镜像文件

将RK3568开发板上电,串口终端按住空格键进入uboot选屏界面。烧写默认出厂镜像文件后,观察现象:默认开启HDMI、MIPI和LVDS三个输出。

wKgZO2gF5paARJhAAAAsNQD_GcU63.jpeg

烧写升级包镜像文件

烧写升级包镜像文件后,观察现象:只有HDMI显示开启,其他两个输出被关闭。这验证了升级操作的成功性。

wKgZPGgF5peAY6LxAAAry1z3iA422.jpeg

五、注意事项

打包update.img固件

升级固件可以全分区打包,也可以部分升级。通过修改package-file文件,可以去掉不需要升级的分区,从而减小升级包(update.img)的大小。

如果package-file中包含了recovery.img,它不会在recovery模式中升级。为了预防升级过程中掉电导致其他分区无法正常升级的问题,recovery.img的升级放在normal系统下执行。执行update命令时,会先检测update.img升级包中是否包含recovery.img,若有则升级recovery分区,再进入recovery模式升级其他分区固件。

misc分区

misc分区不建议打包进update.img中。即使打包进去,在升级程序中加载判断到后也会忽略该分区。即使升级了misc分区,升级成功后recovery程序仍会清空misc分区中所有的命令及参数,从而达到预期效果。

userdata分区

若将update.img升级包放置在flash中的userdata分区,则需要保证package-file中不包括userdata.img被打包进去,以防止文件系统的损坏和分区mount不成功的问题。

若从SD卡或U盘升级时,可以打包userdata.img,从而对userdata分区进行升级。升级完成后,会对userdata分区重新进行resize操作。

通过以上步骤和注意事项,我们可以成功地在OK3568-C开发板上实现OTA升级操作,并验证升级效果。希望本文能够对大家在OTA升级方面的项目开发有所帮助。

审核编辑 黄宇

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

    关注

    25

    文章

    6139

    浏览量

    113574
  • OTA
    OTA
    +关注

    关注

    7

    文章

    624

    浏览量

    37969
  • RK3568
    +关注

    关注

    5

    文章

    628

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    技术帖 | RK3568开发板OTA升级教程

    通过飞凌嵌入式OK3568-C开发板来为大家介绍OTA升级的流程,本地升级程序recovery执行升级
    的头像 发表于 04-20 08:01 2670次阅读
    技术帖 | <b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>的<b class='flag-5'>OTA</b><b class='flag-5'>升级</b>教程

    iTOP-RK3568开发板OTA升级包编译

    本节我们将编译三个版本的 android 镜像,V1.0.0 版本、V1.0.1 版本、V1.0.2 版本,其中V1.0.0 版本为基础版本用于烧写到 rk3568 开发板上,V.1.0.0 升级
    发表于 03-10 16:18

    RK3568开发板数据手册

    RK3568 开发板主控采用的是瑞芯微 A55 64 位四核处理器 RK3568,其主频高达 2.0 GHz。集成了 Mali G52 2EE 图形处理器,支持 4K 解码和 1080P 编码
    发表于 08-30 11:56 25次下载

    【ROC-RK3568-PC开发板试用体验】Firefly ROC-RK3568-PC开发板初探

    本文来源电子发烧友社区,作者:ouxiaolong, 帖子地址: https://bbs.elecfans.com/jishu_2303714_1_1.html ROC-RK3568-PC开发板
    的头像 发表于 10-18 16:11 4983次阅读
    【ROC-<b class='flag-5'>RK3568</b>-PC<b class='flag-5'>开发板</b>试用体验】Firefly ROC-<b class='flag-5'>RK3568</b>-PC<b class='flag-5'>开发板</b>初探

    RK3568开发板GPIO扩展——竟如此丰富

    为了对核心进行更好的资源利用,迅为对RK3568开发板底板进行了升级,在开发板背面引出了20PIN贴片插针。
    的头像 发表于 12-14 10:49 3172次阅读

    RK3568开发板借助 U 盘或 TF 卡拷贝程序到开发板

    RK3568开发板借助 U 盘或 TF 卡拷贝程序到开发板
    的头像 发表于 05-20 18:01 2305次阅读
    <b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>借助 U 盘或 TF 卡拷贝程序到<b class='flag-5'>开发板</b>上

    【教程上新】基于迅为iTOP-RK3568开发板的OpenCV开发手册

    【教程上新】基于迅为iTOP-RK3568开发板的OpenCV开发手册
    的头像 发表于 02-08 15:22 2004次阅读
    【教程上新】基于迅为iTOP-<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>的OpenCV<b class='flag-5'>开发</b>手册

    迅为RK3568开发板系统编程手册全新升级

    迅为RK3568开发板系统编程手册全新升级
    的头像 发表于 06-25 15:50 1905次阅读
    迅为<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>系统编程手册全新<b class='flag-5'>升级</b>

    瑞芯微RK3568主板开发板PET_RK3568_P01简述

    瑞芯微RK3568主板开发板PET_RK3568_P01简述
    的头像 发表于 08-08 11:41 5754次阅读
    瑞芯微<b class='flag-5'>RK3568</b>主板<b class='flag-5'>开发板</b>PET_<b class='flag-5'>RK3568</b>_P01简述

    迅为RK3568开发板Debian系统使用python 进行摄像头开发

    迅为RK3568开发板Debian系统使用python 进行摄像头开发
    的头像 发表于 09-14 16:58 2561次阅读
    迅为<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>Debian系统使用python 进行摄像头<b class='flag-5'>开发</b>

    RK3568开发板规格书

    RK3568开发板规格书
    发表于 03-23 15:28 74次下载

    迅为RK3568开发板驱动开发指南-输入子系统

    迅为RK3568开发板驱动开发指南-输入子系统
    的头像 发表于 02-23 15:11 2083次阅读
    迅为<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>驱动<b class='flag-5'>开发</b>指南-输入子系统

    RK3568开发板支持AMP双系统

    RK3568开发板支持AMP双系统
    的头像 发表于 06-04 15:33 1552次阅读
    <b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>支持AMP双系统

    【迅为】瑞芯微RK3588开发板RK3568开发板区别及优势

    RK3568开发板
    的头像 发表于 11-18 14:19 2055次阅读
    【迅为】瑞芯微<b class='flag-5'>RK</b>3588<b class='flag-5'>开发板</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>区别及优势

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
    的头像 发表于 11-21 13:25 698次阅读
    【迅为工业<b class='flag-5'>RK3568</b>稳定可靠】itop-<b class='flag-5'>3568</b><b class='flag-5'>开发板</b>Linux驱动<b class='flag-5'>开发</b>实战:<b class='flag-5'>RK3568</b>内核模块符号导出详解