dwm_fw_update_start
此调用仅适用于以太网网关. 它会启动固件更新. 它应该在调用 dwm_fw_update_xfer 之前开始调用. 如果请求被接受,则返回命令状态: “ok”,然后是第一个数据请求. 数据请求应始终由 dwm_fw_update_xfer 处理. 如果被拒绝,更新将不会启动.
固件更新被拒绝的原因:
不允许 - 给出了无效的硬件版本,或者模块未处于引导加载器模式(引导加载器模式总是在复位后短时间内进入:模块在引导加载器模式下停留的时间可以通过 dwm_boot_cfg_set 进行配置).
内部错误
忙 - 固件更新已在进行中.
输入
hw_version: 32 位整数 (硬件版本)
fw_version: 32 位整数 (固件版本)
fw_checksum: 32 位整数 (要上传的固件的 crc32)
fw_size: 32 位整数 (固件大小)
输出
offset: 32 位整数 (dwm_fw_update_xfer 需要写入的数据的偏移量)
size: 32 位整数(dwm_fw_update_xfer 需要写入的数据大小)
SPI/UART 示例
TLV 请求 |
|||||
---|---|---|---|---|---|
类型 |
长度 |
硬件版本 |
固件版本 |
固件校验和 |
大小 |
0x3E |
0x10 |
0x2A 0x00 0xCA 0xDE |
0x01 0x00 0x01 0x01 |
0xea 0xF5 0x67 0x6D |
0xC4 0x26 0x00 0x00 |
类型 0x3E(62 dec)表示命令 dwm_fw_update_start
TLV 响应 |
||||||
---|---|---|---|---|---|---|
类型 |
长度 |
价值 |
类型 |
长度 |
价值 |
|
0x40 |
0x01 |
0x00 |
0x7E |
0x08 |
偏移 |
大小 |
0x00 0x00 0x00 0x00 |
0x00 0x10 0x00 0x00 |
类型0x40 表示 状态代码
类型0x7E (126)表示数据请求