我的应用中有PC软件通过USB和STM32103通讯。 我需要客户把机器拿走后仍可以升级,不想客户用ST提供的DFU,那个封装不够好,而且是UART的,而且难以整合的我们的PC软件中。
最后参考ST提供的2个sample实现了USB IAP升级,软件初始化时候自动比较当前目录下的Firmware文件和STM32里Firmware的版本,如果需要升级则提示user根据user选择操作。如果用户选择升级,则自动更新Firmware,类似ULINK的做法。
这两个sample是USB Virtual COMM 和 AN2557的IAP程序。
可以修改USB Virtual COMM实现USB Firmware,再增加IAP部分,可实现免开机升级。 |