完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、Recovery升级概述
在嵌入式Linux系统开发中,对终端设备升级的方式有很多种,主要包括:1,SD卡或U盘启动烧写;2,OTA(空间下载技术)升级;3,远程在线烧录;4,文件拷贝的方式升级。本文主要介绍的是OTA技术升级时下载升级包到设备端后,再采用的Recovery模式对指定的分区进行烧写的升级流程。 Recovery升级流程图 根据上面Recovery升级流程图可以看出,实现调用升级功能的三个关键应用程序为: RecoverySystem程序:作用为启动进入Recovery模式,并检查是否需要烧写Recovery.img镜像。 recovery程序:recovery模式的核心程序。 rkupdate程序:作用为解析update.img固件中各个分区数据,并执行对各分区烧写升级关键程序。 二、升级前准备 编译rootfs.img主文件系统镜像: 1,在根目录执行 source envsetup.sh,选择对应平台的编译配置(如:rockchip_rk3308_release); 2,执行make menuconfig,打开recoverySystem的支持; recoverySystem源码位于:external/recoverySystem/ 3,编译 执行make recoverySystem-rebuild,然后执行./build.sh rootfs 编译出rootfs主文件系统。 编译recovery.img镜像: 1,执行source envsetup.sh,选择recovery对应的平台编译配置(如:rockchip_rk3308_recovery); 2,执行make menuconfig,打开recoverySystem的支持; recovery源码位于:external/recovery/ rkupdate源码位于:external/rkupdate/ 3,编译 执行make recovery-rebuild和 make rkupdate-rebuild,然后执行./build.sh recovery编译出recovery.img镜像。 制作update.img升级包镜像 1,修改tools/linux/Linux_Pack_Firmware/rockdev/package-file # vim tools/linux/Linux_Pack_Firmware/rockdev/package-file 根据需要升级分区的配置,修改package-file文件。 2,执行./mkfirmware.sh,会将生成的固件拷贝到reckdev目录 3,执行./build.sh updateimg,该命令执行会将update.img升级包放在reckdev目录下。 三、Recovery升级过程 1,将update.img通过http上传到嵌入式板子上,需要放到/userdata目录或/mnt/sdcard目录 或/udisk目录,否则无法正常识别到update.img。 2,执行recoverySystem ota /userdata/update.img; 3,在进入recovery模式前,会解析update.img,检查是否包含recovery.img镜像,包含则先烧录recovery.img。 4,写入misc分区升级命令,并重启系统,设备会进入recovery模式。 5,进入recovery模式,对misc命令进行解析,如果为升级,则执行rkupdate升级程序,对指定分区进行烧写。 6,升级成功,清除misc命令并重启进入到normal系统。 解析misc过程 rkupdte程序进行固件烧写 注意事项: 1,进行打包update.img时,需要先修改package-file文件,打开需要升级的分区,屏蔽掉不需要升级的分区,可以减小update.img的大小; 2,为避免升级recovery.img过程中掉电导致升级无法进行的情况,因此将对recovery的升级放在主系统模式,而不是recovery模式下; 3,如果需要将升级包放在/userdata目录下,请不要在package-file中打开userdata分区,不能在/userdata下升级包含userdata.img镜像的升级包,以免在烧写userdata过程中会损坏update.img镜像。 4,对misc.img有以下几个RK准备的镜像 常用的为blank-misc.img和wipe_all-misc.img 其中blank-misc.img为空白的misc分区文件,wipe_all-misc.img为格式化用户分区使用的misc分区文件。 如需定制化修改可以查看external/recovery/recovery.c文件。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
533 浏览 0 评论
803 浏览 1 评论
700 浏览 1 评论
1926 浏览 1 评论
3171 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 10:01 , Processed in 0.399434 second(s), Total 42, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号