弘毅 发表于 2011-11-7 15:15:56

arduino uno MEAGA8U2 usb芯片刷固件及下载bootloader方法(包含uno安装驱动教程)

自己手工焊接一个arduino uno板子,真的是历经千辛万苦。。。
因为介个usb芯片不好焊,大家焊完后一定要检查VCC和GND是否短路,否则一插上。。。烧了就不好了
切入正题,焊接OK后,这时直接把板子接到电脑USB口上是不会有任何反应的,千万不要以为没有未识别硬件提示就是坏了哦,只要IC没有发烫,保险丝没有发烫,一般就是没问题的。

这时需要给MEGA8U2芯片刷固件,这里偶还是使用的USBtinyISP。把tinyISP与8U2芯片上方的ICSP接口连接好。ICSP线的街头上,有一个小三角,那个指向的是1号口。板子上ICSP的1号口也都有标记,如图:







现需要找到8U2需要下载的代码文件,我是用的是0022的arduino,其他版本的位置也一样。代码文件在arduino-0022\hardware\arduino\firmwares下。

编译时需要调用avrdude,我们先从arduino 0022中找到avrdude的两个文件,avrdude.exe,avrdude.conf,如下图:



把他们放入arduino-0022\hardware\arduino\firmwares文件夹下面



然后进入命令行状态,进入arduino-0022\hardware\arduino\firmwares目录,输入命令:
avrdude -p at90usb82 -F -P usb -c usbtiny -U flash:w:UNO-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m

这段命令后半部分是设置熔丝位,熔丝低位ff,高位d9,扩展位f4,lock位0f。

连接好uno的tinyISP这时连接上电脑,然后执行命令。就会出现下图的下载过程,下载完成后会提示。



完成以后我们就可以把uno的usb口连接电脑,测试是否下载成功。

在win7下连接后,会提示找到新硬件



因为系统驱动中没有包含,所以会提示安装失败,不要紧。



这时进入控制面板中的系统



在有感叹号的uno上点右键,选择更新驱动。



然后选择手工查找驱动



选择驱动目录,默认是在arduino-0022\drivers目录下。



提示不用管,安装就可以。



然后就进入10多秒得等待。。。。



安装成功了



现在再进入系统查看,arduino uno驱动没有感叹号了。



接下来就是要刷bootloader了,刷bootloader的方法和duemilanove的一样,先连接好。。。



打开arduino IDE,板子选择uno



然后。。。选择tinyISP下载bootloader。。



下载完就不用说了。。。该怎么用就怎么用

プ汏坏疍 发表于 2011-11-30 14:55:18

:(:(我的好像不行。按照操作做的。下载的时候选择UNO。usbtiny下载的。

プ汏坏疍 发表于 2011-11-30 15:00:34

第一步完成后的图片:lol。。第二步烧写8U2的运行结果:L

プ汏坏疍 发表于 2011-11-30 15:03:03

请大侠指点一下,是不是我在强制命令状态写:avrdude -p at90usb82 -F -P usb -c usbtiny -U flash:w:UNO-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m

时操作不对了呢?我是把这段命令放在README.t:loveliness:xt里面的。

弘毅 发表于 2011-11-30 15:23:00

プ汏坏疍 发表于 2011-11-30 15:03 static/image/common/back.gif
请大侠指点一下,是不是我在强制命令状态写:avrdude -p at90usb82 -F -P usb -c usbtiny -U flash:w:UNO-d ...

烧录8U2的hex文件不影响烧录uno的328P芯片的bootloader,板子上连个两个ICSP口都是独立的。如果芯片对,但是不能烧录,可以用avrdude gui试试,那个图形界面比较直观,不容易出错。如果还是不行。。。就检查芯片与晶振

プ汏坏疍 发表于 2011-11-30 15:53:54

弘毅 发表于 2011-11-30 15:23 static/image/common/back.gif
烧录8U2的hex文件不影响烧录uno的328P芯片的bootloader,板子上连个两个ICSP口都是独立的。如果芯片对, ...

嗯嗯。我现在用的是一块我用usbasp下载过的UNO。熔丝位我经过很多次重复烧写,都可以烧得进去,这个应该可以排他硬件部分吧。。。:)然后我用您教的捷径方法想用USBTINY给8u2烧写bootload。方便很多又不用每次都要设置熔丝位,呵呵,但是没有弄成功,还请继续帮我指导一下。。

プ汏坏疍 发表于 2011-11-30 15:55:22

プ汏坏疍 发表于 2011-11-30 15:53 static/image/common/back.gif
嗯嗯。我现在用的是一块我用usbasp下载过的UNO。熔丝位我经过很多次重复烧写,都可以烧得进去,这个应该可 ...

补充一下,我在UNO板子上的ISP口是在8U2旁边的,也就是我之前用USBASP给8U2下载过bootload的接口,我想应该没有出错才对。

弘毅 发表于 2011-11-30 16:16:56

额。。。。。8U2的不能用arduino的IDE下载。。。。只能命令行下载或者其他烧写器。

プ汏坏疍 发表于 2011-12-1 15:14:24

嗯嗯。我还以为是可以用IDE下载呢。看来要烧写bootload的话,还是得继续用我的USBASP作为下载器了。呵呵。谢谢了!

herohezi 发表于 2012-3-14 09:57:53

能附上16u2的命令么 主要不知道熔丝位怎么设置。谢谢!

Randy 发表于 2012-3-19 17:57:56

弘毅的教程就是给力,很多方面都是一起连贯的。谢谢!

Connie_Leung 发表于 2012-6-1 19:34:08

arduino-0022\hardware\arduino\firmwares目录,输入命令:
avrdude -p at90usb82 -F -P usb -c usbtiny -U flash:w:UNO-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m
这个地方我怎么弄都不行耶。请问是哪里出了问题呢

弘毅 发表于 2012-6-1 20:35:07

Connie_Leung 发表于 2012-6-1 19:34 static/image/common/back.gif
arduino-0022\hardware\arduino\firmwares目录,输入命令:
avrdude -p at90usb82 -F -P usb -c usbtiny - ...

如果是你自己焊的芯片,要自己检查芯片焊好了没,这个芯片很容易焊的出问题,可以先读取熔丝位。如果熔丝位都无法读取,肯定是芯片有问题。

木kkji 发表于 2012-7-11 10:52:45

avrdude -p at90usb162 -F -P usb -c usbtiny -U flash:w:Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m

刷UNO R3的16U2需要注意的地方就是at90usb162和Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex

赫赫 发表于 2012-11-7 13:09:32

我用了0023和1.01的Arduino IDE都说找不到at90usb82这个设备,是我的avrdude.conf支持的器件不全么显示
D:\>cd arduino-0023   " "

D:\arduino-0023>cd hardware

D:\arduino-0023\hardware>cd arduino

D:\arduino-0023\hardware\arduino>cd firmwares

D:\arduino-0023\hardware\arduino\firmwares>avrdude -p at90usb82 -F -P usb -c usb
tiny -U flash:w:UNO-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:
0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m
avrdude: AVR Part "at90usb82" not found.




D:\arduino-0023\hardware\arduino\firmwares>d:

D:\arduino-0023\hardware\arduino\firmwares>cd /

D:\>cd arduino-1.0.1" "

D:\arduino-1.0.1>cd hardware

D:\arduino-1.0.1\hardware>cd arduino

D:\arduino-1.0.1\hardware\arduino>cd firmwares

D:\arduino-1.0.1\hardware\arduino\firmwares>avrdude -p at90usb82 -F -P usb -c us
btiny -U flash:w:UNO-dfu_and_usbserial_combined.hex
avrdude: AVR Part "at90usb82" not found.

页: [1] 2
查看完整版本: arduino uno MEAGA8U2 usb芯片刷固件及下载bootloader方法(包含uno安装驱动教程)