登录
|
立即注册
签到
门户
Portal
论坛
BBS
导读
Guide
广播
Follow
同城会
Group
动态
Space
搜索
热搜:
活动
交友
discuz
自己动手吧
»
论坛
›
开源周边设备
›
多协议高频头
›
帖子
Arduino烧写bootloader的教程
[复制链接]
6313
6
发表于 2020-4-21 11:03:27
|
查看全部
|
阅读模式
本帖最后由 tengyingzhi 于 2020-4-21 11:13 编辑
今天给大家介绍一个给
Arduino
烧写
bootloader的方法——使用USBasp。可能大家对USBtinyISP比较熟悉,但说不定你手上正好有一款USBasp。在学校里玩过51和AVR的童鞋们,你们手上很可能就有这个东东。其实,这玩意也能给arduino烧写bootloader,但方法稍微复杂那么一点。据不完全统计,USBtinyISP和USBasp由于价格低廉(USBasp价格在15元以内),普及度较高。关于USBtinyISP,我们有详细的教程,童鞋们可以很快的玩转起来。但基于USBasp的教程不是很多,而且比较分散,因此在这里我写一个使用USBasp图文并茂的教程,供各位童鞋参考。废话不多说,我们开始。
首先,找出你的
USBasp编程器。参考下面的图,类似于这种的就是USBasp,不要被外壳所迷惑。
然后,给编程器安装驱动。附件中有一个通用驱动,但不一定符合你的编程器,可以向相应人员索要对应的驱动。安装驱动很简单,将
USBasp插入电脑的USB口,然后打开设备管理器,找到USBasp设备,右键,更新驱动程序软件,选择浏览计算机以查找驱动程序软件,然后找到驱动程序软件路径,最后安装成功,如下图所示。当然,有些是免驱的,这样就省去安装驱动的麻烦了。
然后,我们需要将
USBasp与arduino进行连线。童鞋们已经发现了,编程器接口是10pin的,但arduino编程接口是6pin的。作为开源玩家,我们用杜邦线解决该问题。
我们先看下编程接口的定义:
左边一张图是
10pin的ISP接口,也有6pin的ISP接口。USBasp编程器用的是左边图上的接口,其接口处有个缺口,对于图中的缺口,因此管脚顺序很好理清。arduino上用的是右边图上的接口,要理清该接口顺序,我们首先需要确定哪个管脚是1号管脚。方法是找到丝印层印的数字1或者是小圆点,对应的就是1号管脚,如下图所示。如果实在找不到,别急,你可用万用来确定2号和6号管脚,细心的童鞋注意到了,2号和6号对应的是VCC和GND,简单吧。
当然了,作为屌丝的本人,肯定已经提前买好了
10pin到6pin的转接口了,方便连线。
不过熟悉下ISP的管脚功能,还是有点用滴。连线方式很简单,MOSI连MOSI,SCK连SCK,MISO连MISO,RESET连RSET,最后把VCC和GND连好,USBasp能对arduino提供5V供电,因此无需再给arduino供电。
连好线以后,把
USBasp插入电脑的USB口,可以看到电源指示灯亮了。然后,我们打开智峰progisp软件(附件中有提供)。我们以arduino uno为例,由于arduino uno使用的是ATmega328P芯片,因此在Select Chip一栏选择ATmega328P,然后点击RD按钮。如果提示"读出ID成功",说明你的芯片和连线都是OK的。
接着,我们需要找到
bootloader的hex文件。此文件需要看boards.txt说明,地址在arduino-1.0.5-r2\hardware\arduino文件夹中。如下图所示:(我的arduino IDE装在了E盘program files文件夹中)
打开它,你可以看到配置文件,根据配置文件,你可以找到
hex文件所在路径,以及熔丝位的配置。详见下图:(以arduino uno为例)
主要关心的参数,是图中红字标出的。首先我们设置熔丝位,点击
progisp软件的“自动”按钮右边的“
...
”按钮(
注意:是三个点,不是自动按钮
),调出熔丝位设置界面,按照boards.txt所述修改好熔丝位。如下图所示,然后点击写入即可。这样我们就设置好了熔丝位。当然,如果该芯片以前烧写过同一个arduino bootloader,可以不用烧写熔丝位,直接烧写hex文件。
烧写完熔丝位后,我们迎来了最后一步:烧写
hex文件。按照boards.txt所述,我们调入bootloader的hex文件,方法是:
在软件右边的文件栏下,点击调入
flash按钮,然后打开hex文件,根据boards.txt文件,在arduino-1.0.5-r2\hardware\arduino\bootloaders\optiboot文件夹中的optiboot_atmega328.hex文件。
点击
“打开”按钮后,再进行关键一步,
设置编程参数!千万不能省,
严禁勾选
“加密芯片”选项!
否则你的芯片可能跪了。
我们只勾选三个选项:校验
falsh,芯片擦除,编程flash,如下图所示。设置完毕后,点击“自动按钮”,这样我们就完成了bootloader的烧写。此时,用arduino IDE传个BLINK程序看看,完全OK,吼吼
怎么样,其实也不难吧。操作两三回,你就会很熟练了
~~
对其他的
arduino,比如Leonardo、mega2560都是同样的方法。详细大图在下面
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
举报
使用道具
回复
精彩评论
12
zijidongshou-lg
注册会员
发表于 2020-4-21 13:59:30
|
显示全部楼层
太高级了,看也看不懂
举报
使用道具
回复
支持
反对
12572433
注册会员
发表于 2020-4-22 13:38:48
|
显示全部楼层
常规操作,已经烧过很多次了
举报
使用道具
回复
支持
反对
dukecheng
注册会员
发表于 2020-4-22 15:50:17
|
显示全部楼层
avr芯片就一个熔丝位就搞的头大了
举报
使用道具
回复
支持
反对
17833696781
注册会员
发表于 2020-4-23 10:52:58
|
显示全部楼层
为什么,我要用的时候这么难找。
举报
使用道具
回复
支持
反对
12572433
注册会员
发表于 2020-4-23 21:45:37
|
显示全部楼层
日常任务,继续
举报
使用道具
回复
支持
反对
12572433
注册会员
发表于 2020-6-25 19:45:15
|
显示全部楼层
jbjbjbjb,还差12
举报
使用道具
回复
支持
反对
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
tengyingzhi
注册会员
7
主题
35
帖子
76
积分
Ta的主页
发信息
签到
连续天
1人
签到看排名
签到成功
更多
精彩推荐
Windows11 23H2上使用MSYS2编译EDGETX
首先打开以下链接下载Visual C++ https://www.microsoft.com/en-us/download/d ...
Windows11 23H2上使用Linux子系统编译A
1.在Windows 11上启用linux子系统。 开始菜单点击设置然后选择应用(如图) ...
EdgeTX 安装指南
使用引导加载程序(Bootloader)安装 EdgeTX 注意:在更新到 EdgeTX 之前,强烈 ...
更多
热点动态
1.
Windows11 23H2上使用MSYS2编译EDGETX
2.
Windows11 23H2上使用Linux子系统编译Ardup
3.
支持ESP32的天线跟踪
4.
EdgeTX 安装指南
5.
WIN10下使用MSYS2编译EDGETX及EdgeTX Compa
6.
WIN10下使用QT编译EDGETX
7.
Win10下编译EDGETX
8.
新人报道,入手一台T18,求中文说明书
更多
随手拍
Windows11 23H2上使用MSYS2编译EDGET
首先打开以下链接下载Visual C++ https://www.microsoft.com/en-us/download/detai
Windows11 23H2上使用Linux子系统编
1.在Windows 11上启用linux子系统。 开始菜单点击设置然后选择应用(如图)
EdgeTX 安装指南
使用引导加载程序(Bootloader)安装 EdgeTX 注意:在更新到 EdgeTX 之前,强烈建议
WIN10下使用MSYS2编译EDGETX及EdgeTX
首先需要下载安装Visual C++ Redistributable。 下载地址:https://www.microsoft.co
WIN10下使用QT编译EDGETX
QT 的安装说明可以参照https://bbs.diy8.org/thread-102719-1-1.html 点击开始菜
更多
客服中心
400-800-8888
周一至周日8:30-20:30 仅收市话费
在线客服
客服微博
产品咨询
售后中心
快速回复
返回顶部
返回列表