STM32串口IAP固件升级探讨--Ymodem协议浅析
STM32串口IAP固件升级思考
之前的一些项目中,设备的软件升级都是用的USB升级方式,先将升级文件考到U盘里,然后插上U盘就可以进行固件升级,很方便,而且USB通信也很可靠。但是,最近刚好碰到开发的设备没有USB接口,只有一个串口,无奈之下只有借助串口来实现升级,用串口实现升级的方式也很多,但是各有利弊,下面就我最近思考过的一些升级方式进行简单分析,最终Ymodem协议方案更具可行性。
串口ISP下载方式
首先对正常设计的串口电路进行相应优化,然后用专门的串口下载软件(MCUISP、FLASHLOADER等),可以一键实现将Hex文件下载到内部Flash中,不需要设置BOOT1/BOOT2引脚电平。但是,一般项目中所用的升级文件都是经过加密处理的Hex或bin文件,因此无法通过此方法进行下载。
利用串口调试助手
因为有些串口调试助手具有文件发送功能,因此可以将任意格式的文件直接透传到设备中,然后由设备的bootloader进行文件解析和IAP编程。但是串口调试助手的文件传输仅仅是数据传输,不能暂停、不能重发,也没有数据校验,除非设备带有足够的RAM才可以,数据传输过程的准确性难以保证。因此此方法也不可行。