如何使用USB转串口编程器对ATmega32进行编程

时间:2014-08-13 02:40:56

标签: embedded avr atmega avrdude winavr

我在一个虚拟机中使用winxp,主机为ubuntu。 连接到主机的USB编程器将路由到guest虚拟机。 我使用的是使用avrdude的WinAVR; makefile中的相关字段为atmega32 for processor,port为usb,programmer为stk200。 它仍然说无法找到设备" usb"。请帮忙。

1 个答案:

答案 0 :(得分:2)

您的错误是由命令中的错误-P usb引起的:

  

avrdude -p atmega32 -P usb -c stk500v2 -U flash:w:main.hex

不要规范&#34; usb&#34;作为使用USB串行连接编程器或引导加载程序时的端口,因为操作系统驱动程序的下游,这些不被视为USB设备而是串行端口。< / p>

当您使用这样的设备时,请确定它所连接的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知道如何谈话。