极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 166003|回复: 111

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

  [复制链接]
发表于 2012-3-19 11:38:06 | 显示全部楼层 |阅读模式
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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2012-3-19 14:03:15 | 显示全部楼层
好东西,谢谢弘毅大哥的辛苦帖子。实践中了、、、
回复 支持 反对

使用道具 举报

发表于 2012-3-22 18:25:52 | 显示全部楼层
好东西啊
回复 支持 反对

使用道具 举报

发表于 2012-4-14 23:29:43 | 显示全部楼层
有个问题请教楼主,为什么我的gui中,红色1的那个选项不能选,我的操作系统是win7 64bit
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-4-15 00:23:31 | 显示全部楼层
rsw1986 发表于 2012-4-14 23:29
有个问题请教楼主,为什么我的gui中,红色1的那个选项不能选,我的操作系统是win7 64bit

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

使用道具 举报

发表于 2012-4-15 22:26:10 | 显示全部楼层
弘毅 发表于 2012-4-15 00:23
我用64位win7测试了下,1号位置是有选项的,如果没有,说明你顶部的avrdude.exe File选项处。。。没有选对 ...

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

使用道具 举报

发表于 2012-4-15 22:32:40 | 显示全部楼层
弘毅 发表于 2012-4-15 00:23
我用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
还有一个问题想请教一下楼主,在新的mega2560中用atmega16u2取代了ft232,是不是在arduino中必须用atmega ...


FT232可以取代16U2
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-4-16 05:57:25 | 显示全部楼层
rsw1986 发表于 2012-4-15 22:26
路径选择了,不过每次运行的时候总是会提示缺少一个lib***的文件

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

使用道具 举报

发表于 2012-4-16 12:41:16 | 显示全部楼层
弘毅 发表于 2012-4-16 05:57
是下载的本贴中的附件吗?如果缺少lib文件。。。会不会是缺少系统文件了?这个软件好像是C#写的?

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

使用道具 举报

发表于 2012-4-16 12:42:06 | 显示全部楼层
弘毅 发表于 2012-4-16 05:55
FT232可以取代16U2

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

使用道具 举报

发表于 2012-4-16 13:10:16 | 显示全部楼层
弘毅 发表于 2012-4-16 05:55
FT232可以取代16U2

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

使用道具 举报

发表于 2012-5-25 22:51:14 | 显示全部楼层
麻烦 能详细解释下 usbtinyIPS的驱动 么 不知道 怎么下载呀
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-25 23:11:50 | 显示全部楼层
rsw1986 发表于 2012-4-16 13:10
楼主,能不能用这个帖子介绍的方法烧写16u2,步骤能不能说一下

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

使用道具 举报

 楼主| 发表于 2012-5-25 23:24:27 | 显示全部楼层
infowalker 发表于 2012-5-25 22:51
麻烦 能详细解释下 usbtinyIPS的驱动 么 不知道 怎么下载呀

驱动可以去作者那里去下载
http://www.ladyada.net/make/usbtinyisp/
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2023-1-31 02:07 , Processed in 0.048706 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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