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路径,点击执行。
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输出关闭。
/ {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";};修改文件:
/OK3568-linux-source/tools/linux/Linux_Pack_Firmware/rockdev/package-file
根据需求修改该文件,本例程以更新boot.img为例,所以将其他.img文件注释掉。用户可以根据产品更新需求对该文件进行调整。
本例程以修改设备树显示为例,修改完设备树后,重新编译内核。
3.升级操作
SD卡或U盘升级
将SD卡或U盘默认挂载到OK3568-C开发板的/run/media目录下。将update.img镜像文件拷贝到OK3568-C开发板的/userdata目录下,重启开发板后系统将检测该目录下的升级包自动升级。
FTP服务器升级

OK3568-C开发板端执行如下命令,将服务器的升级包文件拷贝到开发板进行升级。
下载完成以后使用以下命令进行升级:
update ota /userdata/update.img
升级过程中设备将会进入recovery模式,并进行自动升级,升级成功后会进入到正常normal系统。
4. 验证测试结果
将OK3568-C开发板上电,串口终端按住空格键,会进入uboot选屏界面。烧写默认出厂镜像文件现象:默认是开启HDMI、MIPI和LVDS三个输出。
烧写升级包镜像文件后现象:只有HDMI显示开启,其他的两个输出被关闭。
5. 注意事项
打包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操作。
标题:飞凌技术分享:RK3568开发板OTA升级操作指南
链接:https://www.ltthb.com/news/sypc/140591.html
版权:文章转载自网络,如有侵权,请联系删除!
用户评论
一直想搞明白怎么把RK3568的开发板更新,今天终于看到了这个教程!图示很详细,步骤也比较清晰,这下终于可以方便地为自己的板子更新了。
有19位网友表示赞同!
刚入手 RK3568 开发板,一直在寻找 OTA 升级的方案。这个教程刚好派上用场,感谢博主分享这么实用的内容!
有18位网友表示赞同!
这个教程讲得很细致,每一个步骤都解释清楚了,小白也能跟着顺利完成OTA升级。真是帮大了,我本来还以为这功能很难实现呢!
有14位网友表示赞同!
虽然图文很清晰,但我觉得操作步骤还是有点复杂。对新手来说需要慢慢琢磨,建议教程能够添加一些更直观的。。演示。
有8位网友表示赞同!
终于找到可靠的 RK3568 开发板 OTA 升级教程!博主真是太厉害了,其他论坛都没有这么详细的介绍,这下可以放心进行更新了。
有6位网友表示赞同!
这个教程确实很有用,但是我遇到了一点点问题。我在下载固件的时候出现了错误,不知道该怎么解决。会不会有什么其他的方法?
有7位网友表示赞同!
升级的过程比较顺利,按照教程的一步一步进行,没有出现什么意外情况。我的开发板更新之后性能提升明显,运行更加流畅!
有13位网友表示赞同!
rk3568 还是挺香的!这个教程确实很有用,我终于成功了OTA升级,以前升级都是手动方法太麻烦了,现在这样方便快捷多了。
有16位网友表示赞同!
不知道为什么我的开发板一直无法连接到 WiFi,导致 OTA 升级失败了。请问有没有什么其他方法可以解决这个问题呢?
有10位网友表示赞同!
(略)
有9位网友表示赞同!
说实话,教程写的有点复杂,我看了很多遍还是没弄明白。建议博主添加一些更简洁的讲解方式,适合新手小白阅读。
有15位网友表示赞同!
飞凌科技这次出的RK3568开发板真是太棒了!这个OTA升级功能更是太方便了,以后更新就不用自己动手操做复杂的操作流程了!
有7位网友表示赞同!
感谢博主分享这个教程,终于能够像专业人士一样轻松完成RK3568的开发板OTA升级了。我的开发效率瞬间提升了不少!
有18位网友表示赞同!
刚开始看到教程的时候还是挺兴奋的,以为终于可以解决OTA升级的问题了,但实际操作下来发现流程复杂繁琐,对新手来说确实比较难以理解。希望博主能够优化一下教程内容。
有7位网友表示赞同!
RK3568 开发板的价格越来越亲民了,再加上这个方便快捷的 OTA 升级功能,真的是很让人期待它的发展前景!
有16位网友表示赞同!
我之前一直用的是其他平台的开发板,但自从遇到了飞凌科技的 RK3568 开发板后就爱上了它,OTA升级教程也真的很棒!
有8位网友表示赞同!
最近在研究嵌入式系统,用到过很多飞凌科技的产品。这个RK3568开发板和它的 OTA 升级教程都很赞! 很适合学习和开发。
有14位网友表示赞同!