我在主机为 ubuntu 的虚拟机中使用 winxp。连接到主机的 USB 编程器被路由到来宾。我使用使用 avrdude 的 WinAVR;makefile 中的相关字段为处理器的 Atmega32,USB 的端口和 stk200 的编程器。它仍然说找不到设备“usb”。请帮忙。
问问题
1925 次
1 回答
2
-P usb
您的错误是由于您的命令错误造成的:
avrdude -p atmega32 -P usb -c stk500v2 -U flash:w:main.hex
使用 USB 串行连接的编程器或引导加载程序时,不要将“usb”指定为端口,因为在操作系统驱动程序的下游,这些不被视为 USB 设备,而是被视为串行端口。
当你使用这样一个设备时,确定它所连接的 com 端口或设备节点(也许通过在你连接和断开它时查看哪个出现/消失),找出你的程序员所需的波特率,然后发出一个命令作为
COM1 或 Windows 上的任何东西
avrdude -p atmega32 -P COM1 -b115200 -c stk500v2 -U flash:w:main.hex
Linux 或 OSX
avrdude -p atmega32 -P /dev/whatever -b115200 -c stk500v2 -U flash:w:main.hex
Linux 上的设备文件类似于 /dev/ttyUSB0 或 /dev/ttyACM0,而在 OSX 上往往是 /dev/tty.usbmodem 或类似的。
您在评论中提出的替代解决方案-P avrdoper
利用了这样一个事实,即您的特定程序员提供了一个替代接口,在主机操作系统的眼中,该接口不是USB 串行设备,而是至少某些版本的自定义 USB 协议avrdude 知道如何说话。
于 2014-08-13T18:37:10.870 回答