降本提效!触觉智能RK3506核心板现已支持OTA升级,省去烧录迭代更高效

描述

触觉智能RK3506核心板/开发板SDK即将迎来更新,版本为至“rk3506_linux6.1_v1.2.0”。

此次更新优化解决了部分bug、完善了部分适配,内核升级至Linux6.1.118,同时新增支持【OTA升级功能】。下文将为开发者带来详细的RK3506 OTA 升级操作指南。

RK3506

 

 

OTA升级

OTA(Over-the-Air)即空间下载技术。 OTA升级一般是Android、Linux等操作系统提供的标准软件升级⽅式。功能强⼤,可以⽆损失升级系统,主要通过⽹络,例如WiFi、4G/5G下载OTA包升级,也⽀持通过下载OTA包到SD卡/U盘升级。

 

本⽂主要介绍了使⽤OTA技术升级时,本地升级程序recovery执⾏升级的流程及技术细节,以便⽤⼾在开发过程中了解升级的过程及注意事项。

 

OTA升级整包固件(完整镜像)

  • 配置Buildroot升级工具updateEngine

 

修改以下配置:

BR2_PACKAGE_RECOVERY=y BR2_PACKAGE_RECOVERY_USE_UPDATEENGINE=y BR2_PACKAGE_RECOVERY_UPDATEENGINEBIN=y BR2_PACKAGE_RECOVERY_SUCCESSFUL_BOOT=y BR2_PACKAGE_RECOVERY_NO_UI=y

 

  • updateEngine参数查看

 

通过updateEngine的命令帮助查看升级的分区地址:

updateEngine --help

 

RK3506

 

OTA分区地址换算十六进制:

换成16进制即: 0x800000: Upgrade loader 0x400000: Upgrade parameter 0x200000: Upgrade uboot 0x100000: Upgrade trust 0x080000: Upgrade boot 0x040000: Upgrade recovery 0x020000: Upgrade rootfs 0x010000: Upgrade oem 0x008000: Upgrade uboot_a 0x004000: Upgrade uboot_b 0x002000: Upgrade boot_a 0x001000: Upgrade boot_b 0x000800: Upgrade system_a 0x000400: Upgrade system_b 0x000200: Upgrade misc 0x000100: Upgrade userdata

 

  • 升级测试

升级前,确认默认固件内核编译时间:

RK3506

 

修改内核源码,如打开并保存

kernel-6.1/drivers/input/touchscreen/gt9xx/gt9xx.c(.c文件变更,会使内核编译时间更新),然后重新编译boot,并打包固件。

RK3506

 

./build.sh kernel && ./build.sh updateimg

 

此操作编译生成的update.img模拟更新版本的固件即需要升级的固件,需要拷贝到/userdata/目录下:

RK3506

 

执行以下命令升级整包固件:

updateEngine --image_url=/userdata/update.img --update --reboot

 

升级成功后,系统会自动进行reboot操作:

RK3506

升级完后查看内核编译时间有更新,证明OTA升级成功:

RK3506
  • 注意事项

1.执行完命令后,系统过一段时间会重启进入recovery,这里需要等到再次重启就会进入到系统。

2.OTA升级,需要将需要升级的固件放到/userdata目录。

 

OTA单独升级内核、文件系统

  • 单独升级内核分区镜像

和升级整包一样,升级前查看内核编译时间:

RK3506

拷贝要升级固件至对应/userdata/目录下:

RK3506

执行以下命令,升级boot.img:

  •  

updateEngine --image_url=/userdata/update.img --update --reboot --partition=0x80000

RK3506

升级成功后,系统会自动进行reboot操作。

确认内核时间有更新证明OTA升级内核成功:

RK3506
  • 单独升级rootfs分区镜像

拷贝要升级的固件到/userdata/目录下:

RK3506

升级前在根文件系统,新建一个测试文件:

RK3506

执行以下命令,升级rootfs.img:

  •  

updateEngine --image_url=/userdata/update.img --update --reboot --partition=0x20000

 

RK3506

升级成功后,系统会自动进行reboot操作。

升级成功后,前面新建的文件已不在,表示OTA成功。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分