极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 47692|回复: 28

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

  [复制链接]
发表于 2011-11-7 15:15:56 | 显示全部楼层 |阅读模式
自己手工焊接一个arduino uno板子,真的是历经千辛万苦。。。
因为介个usb芯片不好焊,大家焊完后一定要检查VCC和GND是否短路,否则一插上。。。烧了就不好了
切入正题,焊接OK后,这时直接把板子接到电脑USB口上是不会有任何反应的,千万不要以为没有未识别硬件提示就是坏了哦,只要IC没有发烫,保险丝没有发烫,一般就是没问题的。

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


IMGP5608修改_调整大小.jpg

IMGP5663_调整大小.jpg

IMGP5643_调整大小.jpg

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

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


Snap4.jpg

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

Snap2.jpg

然后进入命令行状态,进入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这时连接上电脑,然后执行命令。就会出现下图的下载过程,下载完成后会提示。


Snap1.jpg

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

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


Snap1.jpg

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

Snap2.jpg

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

Snap3.jpg

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

Snap5.jpg

然后选择手工查找驱动

Snap6.jpg

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

Snap8.jpg

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

Snap9.jpg

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

Snap10.jpg

安装成功了

Snap11.jpg

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

Snap12.jpg

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

IMGP5647_调整大小.jpg

打开arduino IDE,板子选择uno

Snap5.jpg

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

Snap6.jpg

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

使用道具 举报

发表于 2011-11-30 14:55:18 | 显示全部楼层
我的好像不行。按照操作做的。下载的时候选择UNO。usbtiny下载的。
回复 支持 反对

使用道具 举报

发表于 2011-11-30 15:00:34 | 显示全部楼层
10.png 第一步完成后的图片。。 1.png 第二步烧写8U2的运行结果
回复 支持 反对

使用道具 举报

发表于 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
请大侠指点一下,是不是我在强制命令状态写: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
烧录8U2的hex文件不影响烧录uno的328P芯片的bootloader,板子上连个两个ICSP口都是独立的。如果芯片对, ...

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

使用道具 举报

发表于 2011-11-30 15:55:22 | 显示全部楼层
プ汏坏疍 发表于 2011-11-30 15:53
嗯嗯。我现在用的是一块我用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作为下载器了。呵呵。谢谢了!
回复 支持 反对

使用道具 举报

发表于 2012-3-14 09:57:53 | 显示全部楼层
能附上16u2的命令么 主要不知道熔丝位怎么设置。谢谢!
回复 支持 反对

使用道具 举报

发表于 2012-3-19 17:57:56 | 显示全部楼层
弘毅的教程就是给力,很多方面都是一起连贯的。谢谢!
回复 支持 反对

使用道具 举报

发表于 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
arduino-0022\hardware\arduino\firmwares目录,输入命令:
avrdude -p at90usb82 -F -P usb -c usbtiny - ...

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

使用道具 举报

发表于 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.

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-12-3 03:01 , Processed in 0.059498 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表