弘毅 发表于 2012-3-19 11:38:06

arduino uno mega2560等各种不同板子bootloader烧写方法

bootloader丢失情况时有发生,这里抛砖引玉描述一下,arduino不同板子bootloader下载的方法。

arduino duemilanove/uno/mega 1280/mega 2560等都支持~~

首先是推荐用最简单的官方IDE进行下载,这种不需要配置任何东西~~~

先用mega1280做一个简单介绍。本次介绍使用的是0022 IDE,其他版本的大同小异~~~上一个硬件连接图,下载线上有一个小三角标识,那个对应的就是1号脚,与板子上ICSP口1号引脚对着插好就ok。



首先打开IDE,选择板子类型。



然后选择下载器类型,我这里使用的是USBtinyISP,根据自己的下载器进行选择,如果列表中没有,后面会介绍另外一种方法。



然后就自动开始下载bootloader了,IDE上会提示,正在下载中。



给1280或者2560下载bootloader会提示校验失败,这个是因为usbtinyisp支持不够完美有关系,没关系。。。不影响正常使用。



如果没有官方列表中支持的下载器怎么办,不怕,我们可以用下面这种办法。

先进入arduino-0022\hardware\arduino目录中,找到boards.txt,打开他。



然后就可以看到不同板子的配置信息,图片以UNO为例,介绍了下载bootloader所需要的字段。比如熔丝位,bootloader所在文件夹,bootloader文件名字。



然后再到对应目录,找到bootloader文件



然后我们打开AVRDUDE GUI(帖子附件中有下载)

根据下载器类型,选择好下载器。



然后选择好芯片型号。



当1,2号选项配置好了,我们可以点击3号选项熔丝位,进行Read一下,看看链接是否正确,如果不正确,还需要在Port配置中选择一下对应的端口。偶尔。。还需要在Command line Option扩展中,加-F,进行强制读取下载。

熔丝位读取没问题,我们首先要根据从boards.txt获得的熔丝位,输入进去后Write一下。然后我们就可以在4号配置中,选择好上面找到的bootloader文件,按5号按钮进行下载。。。



下面这个是AVRDUDE GUI

Randy 发表于 2012-3-19 14:03:15

好东西,谢谢弘毅大哥的辛苦帖子。实践中了、、、

zdx 发表于 2012-3-22 18:25:52

:)好东西啊

rsw1986 发表于 2012-4-14 23:29:43

有个问题请教楼主,为什么我的gui中,红色1的那个选项不能选,我的操作系统是win7 64bit

弘毅 发表于 2012-4-15 00:23:31

rsw1986 发表于 2012-4-14 23:29 static/image/common/back.gif
有个问题请教楼主,为什么我的gui中,红色1的那个选项不能选,我的操作系统是win7 64bit

我用64位win7测试了下,1号位置是有选项的,如果没有,说明你顶部的avrdude.exe File选项处。。。没有选对avrdude.exe的路径

rsw1986 发表于 2012-4-15 22:26:10

弘毅 发表于 2012-4-15 00:23 static/image/common/back.gif
我用64位win7测试了下,1号位置是有选项的,如果没有,说明你顶部的avrdude.exe File选项处。。。没有选对 ...

路径选择了,不过每次运行的时候总是会提示缺少一个lib***的文件

rsw1986 发表于 2012-4-15 22:32:40

弘毅 发表于 2012-4-15 00:23 static/image/common/back.gif
我用64位win7测试了下,1号位置是有选项的,如果没有,说明你顶部的avrdude.exe File选项处。。。没有选对 ...

还有一个问题想请教一下楼主,在新的mega2560中用atmega16u2取代了ft232,是不是在arduino中必须用atmega16u2,ft232还能不能取代atmnega16u2

弘毅 发表于 2012-4-16 05:55:26

rsw1986 发表于 2012-4-15 22:32 static/image/common/back.gif
还有一个问题想请教一下楼主,在新的mega2560中用atmega16u2取代了ft232,是不是在arduino中必须用atmega ...

FT232可以取代16U2

弘毅 发表于 2012-4-16 05:57:25

rsw1986 发表于 2012-4-15 22:26 static/image/common/back.gif
路径选择了,不过每次运行的时候总是会提示缺少一个lib***的文件

是下载的本贴中的附件吗?如果缺少lib文件。。。会不会是缺少系统文件了?这个软件好像是C#写的?

rsw1986 发表于 2012-4-16 12:41:16

弘毅 发表于 2012-4-16 05:57 static/image/common/back.gif
是下载的本贴中的附件吗?如果缺少lib文件。。。会不会是缺少系统文件了?这个软件好像是C#写的?

谢谢楼主,这个问题解决了,缺少的那个文件是usbtinyIPS的驱动,装上驱动就好了

rsw1986 发表于 2012-4-16 12:42:06

弘毅 发表于 2012-4-16 05:55 static/image/common/back.gif
FT232可以取代16U2

烧写16u2是不是也可以用上面的方法,其余的步骤楼主能不能说一下

rsw1986 发表于 2012-4-16 13:10:16

弘毅 发表于 2012-4-16 05:55 static/image/common/back.gif
FT232可以取代16U2

楼主,能不能用这个帖子介绍的方法烧写16u2,步骤能不能说一下

infowalker 发表于 2012-5-25 22:51:14

麻烦 能详细解释下 usbtinyIPS的驱动 么 不知道 怎么下载呀

弘毅 发表于 2012-5-25 23:11:50

rsw1986 发表于 2012-4-16 13:10 static/image/common/back.gif
楼主,能不能用这个帖子介绍的方法烧写16u2,步骤能不能说一下

手头没16U2。。。所以也不好说具体怎么下载。。。等手里有16U2后,偶再研究研究。

弘毅 发表于 2012-5-25 23:24:27

infowalker 发表于 2012-5-25 22:51 static/image/common/back.gif
麻烦 能详细解释下 usbtinyIPS的驱动 么 不知道 怎么下载呀

驱动可以去作者那里去下载
http://www.ladyada.net/make/usbtinyisp/
页: [1] 2 3 4 5 6 7 8
查看完整版本: arduino uno mega2560等各种不同板子bootloader烧写方法