Skip to Content
硬件接入设备 APIfirmwareUpdateV4
本页目录

firmwareUpdateV4

Protocol V2 固件升级,用于 OneKey Pro 2 和 OneKey Neo。

不要在 Classic / Mini / Touch / Pro 上调用。那些设备使用 firmwareUpdateV2 或 firmwareUpdateV3。

仅在用户选择目标设备并批准升级后执行。下列二进制变量应由你的发布流程提供,包含已为该机型验证的固件文件。

const res = await HardwareSDK.firmwareUpdateV4(connectId, { platform: 'desktop', // 'native' | 'desktop' | 'ext' | 'web' | 'web-embed' bootloaderBinary, applicationP1Binary, applicationP2Binary, coprocessorBinary, resourceArchiveBinary, }); if (!res.success) throw new Error(res.payload.error);

方法会安装你传入的二进制,并通过 FIRMWARE_PROGRESS / FIRMWARE_TIP 报告进度。DeviceFirmwareUpdateRequest 之后设备可能重启;SDK 会在同一协议上重连。

参数

可选通用参数

参数类型必填说明
platform'native' | 'desktop' | 'ext' | 'web' | 'web-embed'是宿主环境
bootloaderBinaryArrayBuffer否Bootloader 镜像
applicationP1BinaryArrayBuffer否应用分区 1
applicationP2BinaryArrayBuffer否应用分区 2
coprocessorBinaryArrayBuffer否BLE / 协处理器镜像
resourceArchiveBinaryArrayBuffer否完整的 Protocol V2 资源 ZIP。Core 只写入有变化的文件
forcedUpdateResboolean否强制更新资源
expectedDeviceIdstring否升级中途设备身份变化则拒绝继续

不能通过 firmwareUpdateV4 安装 romloader。类型上接受 SE 镜像(se01Binary … se04Binary),但这不是通用接入路径。

OneKey App 的官方升级走 prepared-plan / host-binding。第三方宿主应传入自己已经校验过的二进制。

返回结果

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

错误

{ success: false, payload: { error: string, code?: string | number, } }

传输超时或断开后,不要自动重试 firmwareUpdateV4。设备可能已经在安装。先重新读取设备状态,再决定下一步。

升级过程中的按键确认是提示(REQUEST_BUTTON,reason='firmware-update')。不要对这个提示调用 uiResponse()。如果用户取消提示,取消这次 SDK 调用即可,不要再发第二次 Cancel。

最后更新于