我在virtualbox中使用winxp,主机作为ubuntu。连接到主机的usb程序员被路由到来宾。我使用的是WinAVR,它使用avrdude,在makefile中的相关字段给出处理器为Atmega32,端口为usb,程序员为stk200。尽管如此,它仍然说找不到设备"usb“。请帮帮忙。
发布于 2014-08-13 18:37:10
您的错误是由命令中的错误-P usb造成的:
-p atmega32 -P usb -c stk500v2 -U flash:w:main.hex
当使用USB串行连接的程序员或引导加载程序时,不要将"usb“作为端口,因为操作系统驱动程序()的下游,这些不是USB设备,而是串行端口。
当您使用这样的设备时,确定它连接到的com端口或设备节点(可能通过查看连接和断开它时哪个端口/节点消失),找出程序员所需的波特率,并发出如下命令:
Windows上的COM1或其他任何东西
avrdude -p atmega32 -P COM1 -b115200 -c stk500v2 -U flash:w:main.hexLinux或OSX
avrdude -p atmega32 -P /dev/whatever -b115200 -c stk500v2 -U flash:w:main.hexLinux上的设备文件应该是/dev/ttyUSB0 0或/dev/ttyACM0,而在OSX上则是/dev/tty.usbmodem或类似文件。
您在注释中提出的使用-P avrdoper的替代解决方案利用了这样一个事实:在主机操作系统看来,您的特定程序员提供的不是USB串行设备的备用接口,而是一种自定义USB协议,至少有一些版本的avrdude知道如何交谈。
https://stackoverflow.com/questions/25277212
复制相似问题