最近刚学习USB,感觉底层还是比较复杂,不过应用还算简单,就搞了一个简易的iap,bootloader 内通过USB CDC升级:自定义的协议触发xmodem传输文件,xmodem接收固件,接一包写一包,写完跳转app。后面想加一个在APP升级自己的,现在就拿tera term试了下是OK的。这usb cdc貌似已经是在win10/11上免驱了,会自动显示一个com口,好像win7不太行要装驱动;接虚拟机Ubuntu也可以显示一个ttyACM0设备,但是接我同事的Linux开发板没显示,他说好像缺cdc的驱动。
我有点不清楚USB虚拟的串口这个兼容性怎么样,想请教一下大家USB升级都是怎么做的,兼容性如何?很久很久以前公司老产品用的串口升级,版本问题售后起来真一言难尽。看AT官方例程是hid升级,这个我不会做上位机,感觉更难做对接了- -;还有一个USB虚拟U盘升级,感觉那个还行;看AT-LINK用的是winUSB,一打开ICP上位机就弹出升级提示了,感觉这种好像也还不错。
|