IAP程序的逻辑流程
IAP下载流程
- 等待串口发送IAP启动指令(5s未收到则启动FLASH程序);
- 接收到IAP启动指令后,MCU发送U_ID,当上位机收到后,进行加密运算后返回给下位机,同时带有此次升级的数据索引(包括总字节,总包数,每个数据包的CRC-32 校验),MCU确认指令正确,确认IAP启动,开始接收升级包;
- 上位机按照每包32*1024Byte发送升级包,每包含有32帧数据;在第一个数据包发送后,等待MCU
- 发送确认指令(若是此包的CRC校验通过,说明目前通讯状态良好,MCU先擦除原APP位置的数据,然后再写FLASH,升级开始),
- 或者是重新发送指令(重新发送请求3次后仍然不成功,则放弃本次升级)。
- 当所有数据包传输完成后,MCU提示升级成功,启动升级后的APP程序;