21ic问答首页 -
最近刚学习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上位机就弹出升级提示了,感觉这种好像也还不错。
我有点不清楚USB虚拟的串口这个兼容性怎么样,想请教一下大家USB升级都是怎么做的,兼容性如何?很久很久以前公司老产品用的串口升级,版本问题售后起来真一言难尽。看AT官方例程是hid升级,这个我不会做上位机,感觉更难做对接了- -;还有一个USB虚拟U盘升级,感觉那个还行;看AT-LINK用的是winUSB,一打开ICP上位机就弹出升级提示了,感觉这种好像也还不错。
赞0
推荐cdc,两端开发都当串口就行看,省事
评论
2025-08-27
赞0
是的。win10/11,我自测了几个电脑都是免驱的,还算支持比较好的。
以前有发现同事的win10/11电脑装了CH340驱动,接CH340都用不了,就是不知道USBCDC会不会这样
评论
2025-08-22
赞0
可以可以,感谢,向大佬学习
用xmodem是因为我刚好有个串口Xmodem升级的代码,把底层收发修改移植一下可快了,半小时就改好了,而且可以配合tera term当上位机测试。自己定义协议当然可以,需要做的工作多一些,我比较懒
评论
2025-08-22
赞0
肯定st多呀。不过AT在国产的单片机里面,配合workbench开发已经算很便捷了。
评论
2025-08-22
赞0
评论
2025-08-04
赞0
评论
2025-08-04
肯定没ST多啊
赞0
直接用自己的协议iap升级不香吗?为啥还要切xmodem ymodem这些古老又麻烦的升级协议?
我的 at32 的 bootloader iap 可以参见这个开源项目(usb cdc):
https://bbs.21ic.com/icview-3426278-1-1.html
usb cdc 是跨平台免驱动的,linux 更加不需要驱动
如果 linux 不能识别,可能是 linux 内核裁减过头了, menuconfig 没有使能 usb cdc ,让 linux 系统负责人自己解决就好了,很简单的
评论
2025-08-03
赞0
为啥要转成串口,不是很理解,at32官方貌似没有cdc做IAP的,我自己做的,没有文档。
mcu型号我用的f403a,可以用usb device cdc的应该都行
评论
2025-08-01
赞0
评论
2025-08-01
您需要登录后才可以回复 登录 | 注册