Arduino Atmega328P烧写bootloader及熔丝

0.前言

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

参考资料1

1.硬件配置

  1. AVR下载器,如图:

    image-20210415211533345

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

    image-20210415211822993

  3. 连接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的效果是一样的。 参考解释

至此,全部完成。

### 回答1: Arduino烧写bootloader是指将Arduino开发板的bootloader程序烧录到芯片中,以便在使用Arduino IDE进行编程时,可以通过串口将程序上传到开发板中。这个过程需要使用专门的烧录器和相关软件来完成。烧写bootloader可以使开发板具备更多的功能和扩展性,例如支持更多的通信协议和外设。 ### 回答2: Arduino开发板通常都会安装预装有Arduino引导程序(bootloader),使得我们可以通过USB端口上传程序。但是有时候由于各种原因,Arduino开发板中的引导程序可能会被错误地擦除或丢失,这就需要重新烧写bootloader。 首先需要准备一个Arduino ISP,可以将一个Arduino作为编程器,将引导程序烧写到需要更新的开发板中。确保Arduino作为编程器的引脚和需要烧写引导程序的开发板引脚正确相连,可以根据开发板的型号和引脚图调整连接方式。 在Arduino IDE中选择开发板型号,确定端口后,打开“Arduino as ISP”例程并上传到Arduino编程器板,现在就可以将引导程序烧写到目标开发板中。按下RESET键后,再按下上传按钮即可烧写bootloader。 在Arduino IDE中的菜单栏中选择“工具”,再选择“引导程序烧写”,此时就可以看到不同型号的引导程序可以选择。选择对应的引导程序后,按下烧写按钮开始进行烧写操作。烧写过程中请勿断电或停止操作,否则可能会导致开发板损坏。 当烧写完成后,可以重新用USB传输线将开发板与电脑连接,并在Arduino IDE中选择正确的开发板和端口。现在就可以利用Arduino开发板进行编程了。 ### 回答3: Arduino烧写bootloader是一个重要的任务,在该过程中,我们需要下载和安装适当的工具。这篇文章将为大家介绍Arduino烧写bootloader的过程。 首先,我们需要一个工具来烧写bootloader。在Arduino工具箱中,有一个名为“Arduino as ISP”的工具,可以帮助我们完成这一任务。 步骤1:下载和安装Arduino as ISP工具。这个工具可以从Arduino的官方网站上下载。下载完成后,我们可以使用USB转TTL的串口转接板将Arduino板连接到电脑上。 步骤2:准备一块空板子。我们需要将待烧写bootloaderArduino板作为ISP连接到电脑上。将输入(TX)、输出(RX)、电源和地线连接到与ATmega芯片电路板相应的引脚上。同时,我们还需要将Arduino Uno与要烧写的板子连接起来。 步骤3:在Arduino IDE中打开程序。我们需要打开Arduino IDE,并选择要烧写bootloader程序。这个程序同样可以从Arduino的官方网站上下载。 步骤4:编译和上传程序。在Arduino IDE中,我们需要编译并上传bootloader程序。在上传过程中,Arduino IDE将会将程序上传到ISP中,并让ISP将程序烧写到我们的目标板子上。 步骤5:完成烧写过程。烧写后,我们可以通过Arduino IDE打开串口窗口来验证烧写的程序。同时,我们还可以通过检查程序是否与目标板子的芯片类型兼容来确认是否烧写成功。 Arduino烧写bootloader是一个比较简单的过程,但仍需要一些技术和经验。大家可以按照上述步骤,了解并掌握烧写bootloader的基本原理和过程,帮助自己更好地进行编辑和控制Arduino板子。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值