立即注册
查看: 629|回复: 1

[资料] 全志D1-H Tina Linux OTA 开发指南

已绑定手机
发表于 2022-12-15 09:58:53 | 显示全部楼层 |阅读模式 来自 广东省深圳市
OTA 是Over The Air 的简称,顾名思义就是通过无线网络从服务器上下载更新文件对本地系统或文件进行升级,便于客户为其用户及时更新系统和应用以提供更好的产品服务,这对于客户和消费者都极其重要。

1.1 编写目的
本文主要服务于使用Tina 软件平台的广大客户,以冀帮助客户使用Tina 平台的OTA 升级系统并做二次开发。
1.2 适用范围
Allwinner 软件平台Tina。

1.3 相关人员
适用Tina 平台的广大客户和关心OTA 的相关人员。

1.4 OTA 方案
1.4.1 recovery 系统方案
recovery 系统方案,是在主系统之外,增加一个recovery 系统。升级时,主系统负责升级recovery系统,recovery 系统负责升级主系统。
这样如果升级中途发生掉电,也不会影响当前正在使用的这个系统。重启后仍可正常进入系统,继续完成升级。
一般recovery 系统会使用intiramfs 功能,并大量裁剪不必要的应用,只保留OTA 必需的功能,把size 尽量减小。
recovery 系统方案优点:
1. recovery 系统可以做得比较小,省flash 空间。
recovery 系统方案缺点:
1. recovery 系统一般不包含主应用,所以OTA 期间,处于recovery 系统中时,无法为用户正
常提供服务。
2. 需要重启两次。
3. 需要维护两份系统配置,即主系统和recovery 系统。

1.4.2 AB 系统方案
AB 系统方案,是将原有的系统,增加一份。即flash 上总共有AB 两套系统。两套系统互相升级。OTA 时,若当前运行的是A 系统,则升级B 系统,升级完成后,设置标志,重启切换到B系统。OTA 时,若当前运行的是B 系统,则升级A 系统,升级完成后,设置标志,重启切换到A 系统。
AB 系统方案优点:
1. 更新过程是在完整系统中进行的,更新期间可正常提供服务,用户无感知。最终做一次重启即可。
2. 逻辑简单,只重启一次。
3. 只维护一套系统配置。
AB 系统方案缺点:
1. flash 占用较大。

2.1 文档说明
此文档主要介绍如何在OTA 时升级boot0/Uboot
升级工具包含两个方面内容:
OTA 命令升级boot0 和uboot。
OTA 升级boot0 和uboot 的C/C++ APIs。

2.2 概念说明
boot0: 较为简单, 主要作用是初始化dram 并加载运行uboot。一般不需修改。
uboot: 功能较丰富, 支持烧写, 启动内核, 烧key 及其他一些定制化的功能。
sys_config: sys_config 会在打包阶段使用;linux5.4 中不再合并到dtb。
dtb: 设备树, 由dts 配置得到。
boot_package.fex: 最终用到的uboot 和其他文件, 包含的文件由配置文件boot_package.cfg 决定, 一般至少包含了uboot 和dtb, 可能还有bootlogo 等文件。

即, 本文介绍的升级uboot, 其实是升级uboot+dtb 这样的一个整体文件。后文不再区分更新uboot, 更新sys_config, 更新dtb。这几个打包完毕是合成一个文件的, 暂不支持单独更新其中一个, 需整体更新。

2.3 用于更新的bin 文件
获取用于OTA 的boot0 与uboot 的bin 文件, 用于加入OTA 包中。

2.3.1 编译boot0 uboot
如果原本的固件生成流程已经包含编译uuboot, 则正常编译固件即可。
否则可按照如下步骤编译生成uboot
  1. $ source build/envsetup.sh
  2. => 设置环境变量。
  3. $ lunch d1-h_nezha
  4. => 选择d1-h_nazha方案。
  5. $ muboot
  6. => 编译uboot。
  7. $ mboot0
  8. => 编译boot0。
复制代码

编译后会自行拷贝bin 文件到该平台的目录下, 即:
  1. device/config/chips/d1-h/bin
复制代码
编译出的boot0/uboot 还不能直接用于OTA, 请继续编译和打包固件, 如执行:
  1. $ make -j <N>
  2. => 编译命令,若只修改boot0/uboot/sys_config 无需重新编译,可跳过。
  3. => 若修改了dts 则需要执行,重新编译。
  4. $ pack
  5. => D1-H方案的打包命令。
复制代码

游客,如果您要查看本帖隐藏内容请回复



已绑定手机
发表于 2022-12-16 09:24:12 | 显示全部楼层 来自 广东省深圳市
全志D1-H Tina Linux OTA 开发指南
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表