烧写bootloader的方法大体分为两种:
1.使用Arduino IDE烧写bootloader
2.使用USBasp烧写
方法一:使用Arduino IDE烧写
中文教程
我们可以使用另一块Arduino,下载烧录器固件代码,然后连接需要烧写bootloader的单片机芯片进行烧写。
1.硬件连接
图中标记的是Arduino UNO上的ICSP,引脚定义为:
将第一块Arduino的MISO、MOSI、SCK连接至待烧写的单片机芯片的MISO、MOSI、SCK,同时将两者的5V、GND连接在一起,将第一块Arduino板的 pin 10 引脚连接至芯片的RESET引脚
如图所示:
2.使用Arduino IDE进行烧写
1.将第一块Arduino连接至电脑,点击文件-->示例-->ArduinoISP-->ArduinoISP
2.选择正确的开发板信息,上传程序:
3.工具-->编程器:-->"Arduino as ISP"
4.选择待烧录芯片的开发板信息:
(PS:这里是选择待烧录bootloader的芯片的开发板信息而不是第一块Arduino的开发板信息,如果你的芯片是atmega328,arduino板为mega2560,则要选择的是atmega328)
5.点击工具-->烧录引导程序,等待完成即可
6.编写自己的程序后,点击项目-->使用编程器上传即可将程序上传到芯片
方法二:使用USBasp烧写bootloader
1.购买USBasp编程器
2.下载progisp.exe软件
下载链接:https://pan.baidu.com/s/1HYUu9dytKVLp0Ynk5LoflA 密码:h3yp
选择芯片型号
点击“调入Flash",选择bootloader文件,以我的Adruino IDE安装路径为例D:ArduinohardwarearduinoavrbootloadersatmegaATmegaBOOT_168_ng.hex
点击"自动"即可。
我买了一块atmega168P(特征码为:1E:94:06),使用方法一烧录bootloader时发现,Arduino IDE默认的编程器只有atmega168(特征码为:1E:94:0B),查了一些方法,可以修改IDE文件将atmega168的特征码修改为atmega168P的特征码,但还是错误
随即买了一块AVR USBasp下载器,使用USBasp下载bootloader成功后,依然无法通过Arduino IDE下载程序,但是可以使用USBasp的"调入Flash",将.HEX格式的程序文件下载至atmega168P,所以可以暂时先用这种方法烧写程序
利用Arduino IDE生成.HEX格式的程序
可以在Arduino IDE中编写好程序,保存成.HEX格式文件用以USBasp下载器写入,具体方法如下:
1: 在arduino工具的文件-->首选项中找到preferences.txt文件。
2:用记事本打开preferences.txt,选择hex文件存放的路径,在最后一行加入 build.path=d:arduinoMyHexDir(路径可更改)
3:关闭arduino。
4:关闭preferences.txt ,关闭时对话框显示是否保存,选择保存。
上述操作完成后,每次编译或上传都会在d:arduinoMyHexDir路径中生成.HEX文件,但是当下一次程序编译或上传后生成的.HEX文件会完全替换掉上一次保存的.HEX格式文件,一定要注意!
上一篇:使Arduino支持ATMEGA 168P(烧录BOOTLOADER)
下一篇:一文填千坑--Arduino Nano(atmega328p)对ESP8266的烧写
推荐阅读最新更新时间:2024-11-10 11:32
设计资源 培训 开发板 精华推荐
- 用于电池充电指示器的 NCP301LSN12T1 1.2V 电压检测器的典型应用
- DC2246B,基于 LT3042EDD、20V、200mA、超低噪声、超高 PSRR RF LDO 稳压器的演示板
- LTC1681、36V-72V DC 至 5V/7A 同步正向转换器
- 【训练营】嘉立创机器狗
- LTC1258CMS8-3 低功率、低电压电源基准的典型应用电路
- 自己做着玩的JlinkV9
- 使用具有 B 类 EMI 滤波(单输出)的 RP10-2412DA DC/DC 转换器的典型应用
- 用于电机控制的 45W、18V 交流转直流单输出电源
- 使用 ON Semiconductor 的 FAN7190_F085 的参考设计
- 阿逮派51单片机课程作业板