STM32串口IAP固件升级探讨--Ymodem协议仿真
Ymodem协议疑惑
在我对Ymodem协议进行一番了解,准备着手写程序的时候,发现还是有很多细节不是很清楚,如果不弄清楚其中的疑点,后续编程的时候就会遇到问题,影响进度。所以,我利用串口调试助手(模拟待升级设备)和secureCRT软件(上位机软件)搭建了一个仿真通信通道,以了解整个通信的各帧内容和通信过程。以下的这些疑惑可能是初次接触Ymodem协议的设计人员会遇到的一些疑问。
(1)例如数据包中的数据编码格式是什么,是十六进制数据,还是ACSII码呢?(2)例如文件名和文件大小之间是以什么符号来隔离呢?
(3)假如接受方接受到的数据CRC校验错误怎么办?
(4)SOH、STX、ACK、NAK到底是什么字符?
Ymodem协议仿真
仿真的目的,就是搞清楚如何将一个升级文件完整正确的发送到接受方。我们对着上面的通信流程图来进行通信仿真。
目标:把文件名为Mainboard-20190702-V10X.bin的升级文件发送到接收方(串口调试助手),如下图所示文件大小为49132字节。
<