xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
LM620 OTA 差分包制作流程

文档版本:1.0.2

发布日期:2026-07-07

修改记录

文档版本 修改时间 修改人 修改说明
1.0.2 2026-07-07 dotc 更新为适用于 xt-sdk 的文档
1.0.1 dotc 增加升级包制作工具版本号及补充说明。
1.0.0 2026-01-21 dotc 初始版本。

前言

概述

本文介绍 xt-sdk LM620 OTA 差分包制作流程。

前置准备

  • 差分包制作需要的固件一般是在对应工程下的 " **.build/lm620_r4f4/output/version**" 类似的目录(通常包含着 mbl, xboot, nvd, zknl,xknl 等镜像的目录)
  • 注意不要使用单个打包好的 bin,要使用 version 目录下的分散的文件
  • 旧版本固件(文件夹的形式)
  • 新版本固件(文件夹的形式)
  • 差分包制作工具:mkOTAPack(或mkdiff),见平台 lm620 中 tools 下(**xt-sdk/platforms/lm620/tools**)

差分升级包制作

mkOTAPack

  • 参数说明:

    python tools/mkOTAPack.py -h
    Usage:
    mkOTAPack.py <-o old_ver> <-s old_path> <-n new_ver> <-d new_path> <-p pack_path> [-b secboot] [-k]
    参数: -o 为老版本号;
    参数: -s 为老版本文件夹路径,包含 mbl, xboot, nvd, zknl,xknl 等镜像的目录;
    参数: -n 为新版本号;
    参数: -d 为新版本文件夹路径,包含 mbl, xboot, nvd, zknl,xknl 等镜像的目录;
    参数: -p 为生成升级包文件路径;
    参数: -b (可选,调试用)指定安全启动版本号,默认 0;
    参数: -k (可选)制作签名升级包,不带此选项时不对升级包做签名动作;
  • 例

    python tools/mkOTAPack.py -o 1 -s ./old/version -n 2 -d ./new/version -p ./old_to_new/ota.bin
  • 版本号说明
    • 版本号仅仅为了追踪和记录新旧固件的信息,制作及升级时不对新旧固件做版本号的匹配和校

      验。制作升级包文件时,新旧两个版本号不能相同,具体格式可自定义,长度小于 40 个字符。

    • 由于云平台服务器升级前会查询设备的版本信息,因此建议:制作差分文件时,新旧固件的版

      本号尽可能与版本内的上报版本内容一致。便于后续查询和追踪,减少版本转换的操作;

  • 升级包制作补充说明
    • 升级包制作工具支持设置升级备份大小,取值范围:32KB ~ 256KB。通常备份块越大,制

      作升级包文件越小、升级越快;同时更大的备份会消耗更多的内存,过大的备份大小也会

      内存分配失败导致升级失败;因此,备份大小值可结合多方面因素(文件系统剩余空间大

      小,内存消耗等)选择一个合适的大小;

    • 升级包制作工具虽然支持本地还原升级版本,用于验证差分包是否正确;但本地模拟环境

      与设备硬件环境有差别,升级前的部分安全检查在本地模拟环境中将忽略。因此本地验证

      合法的升级包文件,在设备硬件环境中可能由于升级条件不满足而升级失败。此时可以使

      用本地升级工具将升级包文件下载到设备上,从而验证升级过程。

autotoc_md345