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

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

3天内不再提示

万物皆可OTA,为你的RK3568开发板部署新功能只需3步 ——飞凌嵌入式

飞凌嵌入式 2023-03-31 14:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

OTA是一种可以无损失升级系统的方式,可以犹如天降神兵一般地将新功能远程部署到产品上。我们可以通过网络自动下载OTA升级包,也可以通过下载OTA升级包到SD卡或U盘后再对设备升级。本文将通过飞凌嵌入式OK3568-C开发板介绍OTA升级流程,本地升级程序recovery执行升级的流程及技术细节。

poYBAGQmSW-ACxmFAAG1_EGO-qI707.png

1、制作recovery.img

recovery相关的源码路径:

buildroot/output/OK3568-recovery/build/recovery-develop

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

1. forlinx@ubuntu:~/OK3568-linux-source$ source envsetup.sh

2. 选择某一平台的 recovery 配置,输入96

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

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

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

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

2. forlinx@ubuntu:~/OK3568-linux-source$ ./mkfirmware.sh

#将生成的固件拷贝至 rockdev/目录下

烧写/OK3568-linux-source/buildroot/output/OK3568-recovery/images/recovery.img文件。

点击设备分区表,勾选9,选择recovery路径,点击执行。

pYYBAGQmSW-ADaNwAAA0ZOgi5K0969.png

2、制作升级镜像

如何验证是否升级成功了呢?我们要先对boot.img文件有一个初步了解,boot.img文件存放有设备树和内核,我们只要对设备树或者内核进行适当的修改即可。本例程以更新boot.img文件为例,对设备树进行了适当修改。

修改 /OK3568-linux-source/kernel/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi设备树文件,对forlinx_control节点做如下修改。默认只打开HDMI输出,将MIPI和LVDS输出关闭。

pYYBAGQmSW-AOy2SAAAkEyyMcp4460.png

修改/OK3568-linux-source/tools/linux/Linux_Pack_Firmware/rockdev/package-file文件,根据需求修改该文件,本例程以更新boot.img为例,所以将其他.img文件注释掉。用户可以根据产品更新需求对该文件进行调整。

poYBAGQmSW-AUqq1AABC-rv6QFs539.png

本例程以修改设备树显示为例,修改完设备树后,重新编译内核。

pYYBAGQmSW-ATZzJAAAr-_HR-Jc378.png

3、升级操作

SD卡或U盘升级

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

ftp服务器升级

开发板端执行如下命令,将服务器的升级包文件拷贝到开发板进行升级。

poYBAGQmSW-AV5-PAABUE-1AhKM336.png

下载完成以后使用以下命令进行升级:

update ota /userdata/update.img

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

验证测试结果

将OK3568-C开发板上电,串口终端按住空格键,会进入uboot选屏界面。

烧写默认出厂镜像文件现象:默认是开启HDMI、MIPI和LVDS三个输出。

pYYBAGQmSW-AUoqEAAAJ0-gqOwY384.png

烧写升级包镜像文件后现象:只有HDMI显示开启,其他的两个输出被关闭。

pYYBAGQmSW-AIT6UAAAJpy80k6k760.png

注意事项

打包update.img固件时需要注意,升级固件可以全分区打包,也可以部分升级,可修改package-file文件,将不要升级的分区去掉,这样可以减少升级包(update.img)的大小。

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

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

如果将update.img升级包放置在flash中的userdata分区,则需要保证package-file中不包括userdata.img被打包进去,原因是可能会导致文件系统的损坏,升级成功后可能使oem或userdata分区mount不成功。若从SD卡或U盘升级时,可以打包userdata.img,从而对userdata分区进行升级。升级完成后会对userdata分区重新resize操作。

poYBAGQmSXCATISlAAFEM3ckKhQ27.jpeg

PS:

OK3568-C开发板不接屏升级失败怎么办?

(1)如果有屏幕,请先接入屏后再执行OTA升级;

(2)如果设备没有屏幕,请在

/OK3568-linux-source/buildroot/configs/OK3568-recovery_defconfig中加入BR2_PACKAGE_RECOVERY_NO_UI=y配置,编译刷机后,再进行OTA升级。

至此,OTA升级的全部流程讲解完毕,用户可以先按照该文章操作进行试验,熟悉本文章操作后,就可以对uboot,内核或者文件系统进行修改,通过OTA方式远程升级用户产品,从而修复产品中的BUG,更加方便地进行产品优化,更新迭代。

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

    关注

    135

    文章

    9499

    浏览量

    388557
  • 嵌入式开发
    +关注

    关注

    18

    文章

    1102

    浏览量

    49832
  • OTA
    OTA
    +关注

    关注

    7

    文章

    623

    浏览量

    37949
  • RK3568
    +关注

    关注

    5

    文章

    628

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    嵌入式RK3568开发板的TFTP烧写文件系统指南

    本文基于搭载瑞芯微RK3568处理器的OK3568-C开发板Linux4.19.206标准开发环境开展测试,其网络基础稳定,可满足TFTP协议传输需求。
    的头像 发表于 11-21 08:03 1298次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>的TFTP烧写文件系统指南

    嵌入式Linux新手入门:为什么迅RK3568+迅资料是黄金组合

    嵌入式Linux新手入门:为什么迅RK3568+迅资料是黄金组合
    的头像 发表于 11-04 14:05 246次阅读
    <b class='flag-5'>嵌入式</b>Linux新手入门:为什么迅<b class='flag-5'>为</b><b class='flag-5'>RK3568</b>+迅<b class='flag-5'>为</b>资料是黄金组合

    【作品合集】嵌入式OK527N-C开发板测评

    嵌入式OK527N-C开发板测评作品合集 产品介绍: OK527-C开发板采用核心+底板分
    发表于 09-22 15:54

    【作品合集】合众HZ-RK3568开发板测评

    、SDK使用和镜像烧写 【HZ-RK3568开发板免费体验】2、利用开发板上音频外设播放音频 【HZ-RK3568开发板免费体验】
    发表于 09-10 10:22

    RK3568开发板模型推理测试实战LPRNet 车牌识别

    RK3568开发板模型推理测试实战LPRNet 车牌识别
    的头像 发表于 08-25 14:55 1065次阅读
    迅<b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>模型推理测试实战LPRNet 车牌识别

    RK3568开发板暗藏32位兼容开关?嵌入式带你一键解锁!

    RK3568是一款64位处理器,嵌入式其提供的交叉编译器也是64位的,然而部分用户可能需要在RK3
    的头像 发表于 07-19 08:49 4177次阅读
    <b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>暗藏32位兼容开关?<b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>带你一键解锁!

    RK3568开发板驱动指南GPIO子系统GPIO子系统API函数的引入

    RK3568开发板驱动指南GPIO子系统GPIO子系统API函数的引入
    的头像 发表于 05-29 14:05 827次阅读
    迅<b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>驱动指南GPIO子系统GPIO子系统API函数的引入

    RK3568开发板OTA升级

    下载到SD卡或U盘后,再对设备进行本地升级。 本文将基于飞嵌入式RK3568开发板,详细介绍OTA升级的流程,特别是本地升级程序recov
    的头像 发表于 04-21 14:32 1244次阅读
    <b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b><b class='flag-5'>OTA</b>升级

    RK3568开发板教程:以iTOP-RK3568开发板例 Android13通过CIFS协议挂载Windows共享目录

    开发板与PC端的高效文件交互尤为重要。现以iTOP-RK3568开发板例,详细演示Android13系统如何通过CIFS协议挂载Windows共享目录,实现
    的头像 发表于 04-16 14:08 1569次阅读
    <b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>教程:以iTOP-<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b><b class='flag-5'>为</b>例 Android13通过CIFS协议挂载Windows共享目录

    嵌入式RK3568核心的司机权限信息采集器方案

    在某厂商的司机权限采集器项目中,选择了嵌入式的FET3568J-C工业级核心作为主控平台。该核心
    的头像 发表于 03-20 14:27 1360次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b><b class='flag-5'>RK3568</b>核心<b class='flag-5'>板</b>的司机权限信息采集器方案

    北京迅RK3568开发板OpenHarmony系统南向驱动开发内核HDF驱动框架架构

    北京迅RK3568开发板OpenHarmony系统南向驱动开发内核HDF驱动框架架构
    的头像 发表于 03-11 14:13 1552次阅读
    北京迅<b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>OpenHarmony系统南向驱动<b class='flag-5'>开发</b>内核HDF驱动框架架构

    【技术分享】迅RK3568开发板使用TFTP加载内核设备树

    【技术分享】迅RK3568开发板使用TFTP加载内核设备树
    的头像 发表于 02-21 14:04 1119次阅读
    【技术分享】迅<b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>使用TFTP加载内核设备树

    RK3568开发板驱动指南Linux中通用SPI设备驱动

    RK3568开发板驱动指南Linux中通用SPI设备驱动
    的头像 发表于 01-23 11:02 3418次阅读
    迅<b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>驱动指南Linux中通用SPI设备驱动

    [迅RK3568开发板]非科班也能玩转Android应用,体验QT跨平台能力

    [迅RK3568开发板]非科班也能玩转Android应用,体验QT跨平台能力
    的头像 发表于 12-18 16:41 1357次阅读
    [迅<b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>]非科班也能玩转Android应用,体验QT跨平台能力