Arduino Atmega328P烧写bootloader及熔丝

发布者:科技狂人最新更新时间:2022-07-22 来源: csdn关键字:Arduino  Atmega328P  烧写bootloader  熔丝 手机看文章 扫描二维码
随时随地手机看文章

0.前言

买到的新的Atmega328P芯片,需要对其烧录bootloader和熔丝才能正常使用,此处记录我烧录的过程。


参考资料1


1.硬件配置

AVR下载器,如图:

image-20210415211533345

Atmega328P最小系统,且留出ISP接口,即5V,MISO,MOSI,SCK,GND,RESET

image-20210415211822993

连接AVR和Atmega328P的相应引脚


其中,AVR下载器的实际引脚如图:

image-20210415212107013

image-20210415212038241

2.烧录步骤

2.1.安装AVRDUDESS软件


2.2.检测MCU

AVR和Atmega328P连接好之后,把AVR下载器插入电脑。然后打开AVRDUDESS软件,选择如下操作:

image-20210415212617034

正常的话电机Detect后就可以识别出来MCU的型号。但是有可能会遇到如下错误:


could not find USB device with vid 0x16c0 pid 0x5dc


这个时候是因为驱动的问题,此时需要替换或者安装驱动。操作如下(参考视频教程):


下载Zadig


打开 Zadig 软件,点击菜单栏中的 Options,点击 List All Devices。

image-20210415213404676

选择需要替换的通讯端口为 USBasp,选择使用 libusbsbk(vx.x.x.x) 作为替换的驱动,然后点击 Replace Driver 进行替换。

image-20210415213705013

这个时候再返回AVRDUDESS软件进行Detect操作,就能检测出MCU了。


2.3.烧录bootloader

打开Arduino,新建一个空项目,选择设备类型如下:

image-20210415214009672

导出项目的编译文件:

image-20210415214048802

然后可以得到烧写使用的文件:

image-20210415214127246

返回AVRDUDESS软件,按照如下操作:

image-20210415214305847

得到如下结果,即烧写bootloader成功

image-20210415214416354

2.3.烧录熔丝

先读取熔丝值,如下:

image-20210415214603164

更改L为0xFF,H为0xDA,E为0x05或者0xFD,然后点击Write

image-20210415214749999

注意事项:


这里Write一次不成功,就多write几次。


如果E是0x05,总是会报错如下:


avrdude.exe: verifying ...

avrdude.exe: verification error, first mismatch at byte 0x0000

             0xfd != 0x05

avrdude.exe: verification error; content mismatch

image-20210415214905021

实际上此时如果L和H读出来已经是烧写的值,并且E读出来是0xFD说明已经成功了。因为E只用了低三位,0xFD和0x05的效果是一样的。


至此,全部完成。


关键字:Arduino  Atmega328P  烧写bootloader  熔丝 引用地址:Arduino Atmega328P烧写bootloader及熔丝

上一篇:Atmega32模数转换模块的简单应用
下一篇:【Arduino】关于使用USB-ISP烧入bootloader的一些记录

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved