USB Burning Tool刷机工具:不是“串口”,也不是“点几下就完事”的黑盒
你有没有遇到过这样的场景?
板子插上电脑,USB Burning Tool里显示“COM5”,点击“开始烧录”,进度条走到97%突然卡住、超时、报错;
或者烧录成功了,一上电却黑屏,串口只吐一句No bootable medium;
又或者在产线批量烧录时,同一套镜像、同一台PC,三块板子两块失败——查硬件没坏,换线缆也没用,最后发现是某块板子的USB PHY供电纹波大了30mV……
这些不是玄学,也不是运气差。它们都指向一个被严重低估的事实:USB Burning Tool不是傻瓜式烧录器,而是一把需要读懂芯片BootROM语言的精密手术刀。
它不走UART,不靠驱动,不认波特率;它的每一次写入,都是与Allwinner SoC内部最底层固件(BootROM)的一次握手、一次协商、一次不容出错的内存搬运。理解它,不是为了“会用”,而是为了在量产线上不耽误1小时,在客户现场不拆返100台,在深夜调试时不怀疑人生。
下面,我们就剥开这个看似简单的Windows小工具,看看它背后真正咬合的是什么齿轮。
它根本不连“串口”——那个COM5到底是什么?
先泼一盆冷水:USB Burning Tool界面里让你选的“串口”,和RS232、TTL、CH340、CP2102……没有任何关系。
这不是UART通信,没有TX/RX引脚参与,没有起始位停止位,也没有波特率误差导致的校验失败。
那为什么显示COM5?
因为Windows在设备枚举时,把Allwinner FEL设备识别成了一个「USB Composite Device」,并顺手给它的CDC ACM接口(Interface #0)分配了一个COM端口号——就像给一台打印机同时分配LPT1和USBPRINT\XXX一样,只是“顺便挂了个名”,实际通信压根不用它。
真正干活的是Interface #1:Vendor-Specific Class,VID=0x1F3A,PID=0xEFE8。
USB Burning Tool做的第一件事,就是绕过所有COM端口API,直接调用Windows的SetupDiEnumDeviceInterfaces(),在系统设备树里精准揪出这个PID的设备路径(比如\\?\USB#VID_1F3A&PID_EFE8#...#{...}),再用WinUsb_Open()打开它——这才是通往BootROM的唯一正门。
所以,当你看到“设备未识别”,别急着重装CH340驱动;
当你怀疑“是不是串口配置错了”,请立刻停手——你根本没走串口。
真正该查的是:
✅ USB线是否支持High-Speed(48