4.7.17. ota_tool
ota_tool 是
有关
ota_tool的详细 说明,请参阅 OTA 功能 与 章节。介绍
4.7.17.1. 语法说明
以下ota_tool 的
ota_tool Usage:
-v, --version get this library's version, system version, antirollback version
-b, --boot check ota update status when boot.
-s, --setpartition [partition] set A/B slot partition, 0--A; 1--B.
-g, --getpartition get A/B slot partition, 0--A; 1--B.
-p, --package [package_path] specify the path of package, the package paths can be relative or absolute, it's length must be smaller than 64 bytes.
-n, --noreboot request ota without reboot.
-c, --checksign signature check.
-i, --signature signature information file.
-h, --help Display this help screen.
4.7.17.2. 参数选项说明
-v, –version:获取 OTA 库
版本、系统 版本 和 防回 滚 版本。 -b, –boot:在
启动 时 检查 OTA 更新 状态 -s, –setpartition [partition]:设置
当前 使用 的 分区( A/B 分区)。 参数:
0 :表示 A 分区。
1 :表示 B 分区。
-g, –getpartition:获取
当前 使用 的 分区( A/B 分区)。返回值 为 0 或 1 。 -p, –package [package_path]:指定
升级包 的 路径,可以 是 相对路径 或 绝对路径,路径 长度 必须 小于 64 字节。 -n, –noreboot:执行 OTA 更新
时 不 自动 重启 设备。 -c, –checksign:执行
签名 验证,确保 升级包 的 完整性 和 真实性。 -i, –signature [signature_file]:指定
签名文件 路径,用于 签名 验证。 -h, –help:显示
帮助 信息。
4.7.17.3. 各项命令选项及其功能说明
查询版本信息
命令:
root@buildroot:~# ota_tool -v
功能:
输出 OTA 库
打印输出:
root@buildroot:/userdata/gmsl# ota_tool -v
OTA Library version is 1.0.1
system version is V1.0.16_20250311-1228
字
OTA Library version:表示
当前 OTA 库 的 版本号 system version is V1.0.16_20250311-1228 :表示
当前 系统 的 版本号。
OTA 分区管理
命令:
root@buildroot:~# ota_tool -s 1
root@buildroot:~# ota_tool -s 0
功能:
设置
设置 A 分区
root@buildroot:~# ota_tool -s 0
[OTA_INFO][veeprom_flag.c:86] veeprom crc, oricrc[fe2954d5], newcrc[fe2954d5], offset[1352]
[OTA_INFO][veeprom_flag.c:396] update part num: [0]
[OTA_INFO][ota_boot_control.c:142] curslot read from misc is: 1
[OTA_INFO][ota_boot_control.c:650] next expected slot is:1
[OTA_INFO][ota_boot_control.c:688] set slot:0 to next expected success!
[OTA_INFO][veeprom_flag.c:632] next slot veeprom 0
[OTA_INFO][veeprom_flag.c:86] veeprom crc, oricrc[fe2954d5], newcrc[fe2954d5], offset[1352]
[OTA_INFO][veeprom_flag.c:310] veeprom: flag [7], value [0]
设置 B 分区
root@buildroot:~# ota_tool -s 1
[OTA_INFO][veeprom_flag.c:86] veeprom crc, oricrc[637d5378], newcrc[637d5378], offset[1352]
[OTA_INFO][veeprom_flag.c:396] update part num: [0]
[OTA_INFO][ota_boot_control.c:142] curslot read from misc is: 0
[OTA_INFO][ota_boot_control.c:650] next expected slot is:0
[OTA_INFO][ota_boot_control.c:688] set slot:1 to next expected success!
[OTA_INFO][veeprom_flag.c:632] next slot veeprom 1
[OTA_INFO][veeprom_flag.c:86] veeprom crc, oricrc[637d5378], newcrc[637d5378], offset[1352]
[OTA_INFO][veeprom_flag.c:310] veeprom: flag [7], value [1]
命令:
root@buildroot:~# ota_tool -g
功能:
获取
打印输出:
root@buildroot:~# ota_tool -g
[OTA_INFO][hobot_ota_hl.c:462] current slot is:A
OTA 固件升级
使用 ota_tool 进行
./bd.sh otapackage
OTA 打包
命令:
root@buildroot:~# ota_tool -p all_in_one.zip
功能:
启动 OTA 固件
命令:
ota_tool -c -p all_in_one.zip -i all_in_one.signature
功能:
启动 OTA 固件
OTA 状态检查
命令:
root@buildroot:~# ota_tool -b
功能:
启动
手动
root@buildroot:~# ota_tool -b
[OTA_INFO][veeprom_flag.c:86] veeprom crc, oricrc[637d5378], newcrc[637d5378], offset[1352]
[OTA_INFO][veeprom_flag.c:396] update part num: [0]
Normal boot
[OTA_INFO][ota_boot_control.c:304] This slot has been marked success before, no need to mark it repeatedly
[OTA_INFO][ota_boot_control.c:797] set slot:0 boot success
[OTA_INFO][veeprom_flag.c:86] veeprom crc, oricrc[637d5378], newcrc[637d5378], offset[1352]
[OTA_INFO][veeprom_flag.c:310] veeprom: flag [0], value [3]
系统
[OTA_INFO][veeprom_flag.c:396] update part num: [1]
[OTA_INFO][veeprom_flag.c:86] veeprom crc, oricrc[4db4cddd], newcrc[4db4cddd], offset[1352]
[OTA_INFO][veeprom_flag.c:396] update part num: [1]
[OTA_INFO][veeprom_flag.c:86] veeprom crc, oricrc[4db4cddd], newcrc[4db4cddd], offset[1352]
[OTA_INFO][veeprom_flag.c:396] update part num: [1]
[OTA_INFO][ota_utils.c:876] normal mode
[OTA_INFO][hobot_ota_hl.c:755] OTA update status check success
[OTA_INFO][ota_boot_control.c:797] set slot:0 boot success
[OTA_INFO][veeprom_flag.c:86] veeprom crc, oricrc[4db4cddd], newcrc[4db4cddd], offset[1352]
[ 4.355944] printk: S99ota_update_c: 16 output lines suppressed due to ratelimiting