跳到主要内容

firmwareUpdateV3

V3流程

firmwareUpdateV3 是面向 UKey Lite 24、UKey Lite 25、UKey Core 26 的新升级流程,可在一次流程中按需更新 bootloader、主固件、蓝牙固件和资源包。该流程适合需要精细控制升级组合的场景。

  • 设备:UKey Lite 24、UKey Lite 25、UKey Core 26
  • 引导要求:Boot 版本 >= 1.0.0
const opResult = await ukeySdk.firmwareUpdateV3(connectId, {
platform: "desktop", // choose from 'native' | 'desktop' | 'ext' | 'web' | 'web-embed'

// 方式 A:通过版本号指定要更新的内容(子集可自由选)
firmwareVersion: [1, 0, 0],
bleVersion: [1, 0, 0],
bootloaderVersion: [1, 0, 0],

// 方式 B:手动提供自定义二进制文件(需要时再用)
// firmwareBinary: ArrayBuffer,
// bleBinary: ArrayBuffer,
// bootloaderBinary: ArrayBuffer,
// resourceBinary: ArrayBuffer,

// 可选项:强制刷新资源包
forcedUpdateRes: false,
});

入参字段

可按需附带的常见入参(CommonParams)

  • platform - "native" | "desktop" | "ext" | "web" | "web-embed";升级流程运行环境。
  • firmwareVersion - number[];目标主固件版本。
  • firmwareBinary - ArrayBuffer;自定义主固件二进制。
  • bleVersion - number[];目标蓝牙固件版本。
  • bleBinary - ArrayBuffer;自定义蓝牙固件二进制。
  • bootloaderVersion - number[];目标 bootloader 版本。
  • bootloaderBinary - ArrayBuffer;自定义 bootloader 二进制。
  • resourceBinary - ArrayBuffer;自定义资源包二进制。
  • forcedUpdateRes - boolean;即使默认会跳过,也强制刷新资源包。

结果

{
success: true,
payload: {
bleVersion: string,
firmwareVersion: string,
bootloaderVersion: string,
}
}

报错

{
success: false,
payload: {
error: string, // 出错说明
code: number // 状态码
}
}