dwm_fw_update_xfer
该调用仅适用于以太网网关. 应在传输固件数据块的 dwm_fw_update_start 之后反复调用该调用,直至传输完所有固件数据块. 返回状态 “ok”,随后返回数据请求帧,直到传输完固件更新所需的所有数据,在这种情况下返回状态 “ok”,随后不返回数据请求,或者直到更新以错误结束. 错误由 “ok ”以外的状态表示. 固件更新失败的原因如下:
内部错误
无效参数 - 例如长度为零的数据块
不允许 - 尚未启动,或整个更新过程失败
校验和错误 - 接收的图像已损坏.
每次调用 dwm_fw_update_xfer 时,都会返回固件更新过程已经写入闪存的数据大小和偏移量,直到更新完成.
输入
offset: 32-bit integer (* Offset of the total firmware data.*)
data:从 4 到 32 字节 (固件数据块.)
输出
offset: 32 位整数 (leaps_fw_update_xfer 下一步需要写入的数据的偏移量)
size: 32位整数 (需要被 leaps_fw_update_xfer 写入的固件数据块大小)
SPI/UART 示例
TLV 请求 |
|||
---|---|---|---|
类型 |
长度 |
价值 |
|
偏移 |
数据块 |
||
0x3F |
0x24 |
0x00 0x00 0x00 0x00 |
0xA5 0xA5 0xA5 0xA5 0xA5 0xA5 0xA5 0xA5 …. 0xA5 0xA5 0xA5 0xA5 |
类型 0x3F (63 dec)表示命令 dwm_fw_update_xfer
TLV 响应 |
|||||
---|---|---|---|---|---|
类型长度 |
价值 |
类型 |
长度 |
价值 |
|
0x40 0x01 |
0x00 |
0x7E |
0x08 |
偏移 |
大小 |
0x00 0x00 0x00 0x00 |
0x00 0x10 0x00 0x00 |
类型 0x40 表示状态代码
类型 0x7E (126 dec)表示数据请求