0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样在ATmega328微控制器上刻录引导加载程序

454398 来源:工程师吴畏 2019-07-29 10:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

简介

如果你正在查看这个项目,那么你可能已经使用过Arduino板了。 Arduino UNO上的ATmega328微控制器很可能在一定时间(或不正确的连接)后发生故障。为了重用Arduino Board,您需要一个装有Bootloader的新ATmega328 IC(我将在一分钟内讨论Bootloader)。

还有其他原因可以在上面刻录Bootloader ATmega328微控制器,如果你已经编写了自己的Bootloader并想要测试它,或者你想要详细了解微控制器的工作情况。

警告: 如果你不熟悉这种东西,不建议在Arduino中调整Bootloader。

什么是Bootloader?

简单来说,Bootloader是一小段代码(.hex格式的可执行代码),驻留在微控制器的内存中。 Arduino中的Bootloader允许我们通过串口对Arduino进行编程,即使用USB线。

Arduino中Bootloader的工作是接受来自计算机的代码并将其放入微控制器的存储器。

为什么我们需要一个Bootloader?

传统上,像Atmel的ATmega328这样的微控制器是在专用编程器的帮助下编程的,这些编程器涉及一些奇特的连接。 Bootloader消除了这种复杂性,为我们提供了一种简单的微控制器编程方式,即使用USB电缆。

Bootloader位于可编程闪存的特殊安全位置微控制器通常占用不到1KB的内存。

在ATmega328上烧录Bootloader需要什么?

如前所述,如果您想将程序上传到全新的ATmega328微控制器IC,您必须使用特殊的编程器(并设置保险丝位)。但是如果你在ATmega328上刻录Bootloader,你只需通过串口(USB线)对微控制器进行编程。

一旦ATmega328微控制器准备好了bootloader,你可以简单地使用它如果您打算制作自己的Arduino电路板,请将其用作Arduino电路板(作为替代产品)或将其用作微控制器。

如何在ATmega328上刻录Bootloader?

有几种方法可以在ATmega328 IC上刻录引导加载程序。第一种方法是使用专用AVR编程器硬件。第二种方法是使用工作的Arduino板作为编程器并在目标ATmega328微控制器上刻录引导加载程序。

在这个项目中,我将使用第二种方法,即使用Arduino作为程序员

电路图

在ATmega328上刻录引导加载程序的电路图使用Arduino的微控制器如下所示。

ATmega328微控制器的引脚图如下图所示,以防万一。

所需组件

Arduino UNO

ATmega328微控制器IC

16MHz晶体

22pF x 2陶瓷电容器

10KΩ电阻器

按钮

330Ω电阻

LED

面包板

连接电线

5V电源

在Atmega328上编程Bootloader的过程

如前所述,Arduino UNO正在在这里用作AVR程序员。为了达到这个目的,你必须将一个特殊程序上传到你工作的Arduino UNO板上,称为“Arduino ISP”。

所以,在建立连接之前,连接正常工作的Arduino使用USB电缆将UNO连接到计算机并在Arduino IDE中选择适当的板和PORT。

现在,转到文件》示例》 ArduinoISP》 ArduinoISP。将此代码上传到Arduino UNO,以便将Arduino UNO板转换为AVRISP程序员。

完成此操作后步骤,进行必要的连接(如果没有)。现在转到Tools》 Programmer并选择“Arduino as ISP”选项。在此之后,您已准备好刻录引导加载程序。

只需转到“工具”并单击“Burn Bootloader” 。您的目标ATmega328微控制器将使用引导程序进行编程。

将草图上传到ATmega328

完成在ATmega328微控制器上传Bootloader后,您可以继续上传测试草图。为此,保留与之前相同的连接并打开任何草图,例如Blink Sketch。

不要更改任何选项,即程序员仍设置为“Arduino as ISP ”。现在,按住键盘上的“Shift”按钮,单击“上传”图标。这将使用Arduino UNO作为编程器将草图上传到ATmega328微控制器IC。

完成此操作后,您可以断开Arduino UNO与ATmega328微控制器的连接并使用ATmega328 IC作为在其上运行Blink sketch的独立设备。

下图显示上传后运行Blink sketch的ATmega328微控制器在Arduino UNO的帮助下。

注意:为了将代码上传到Arduino UNO,请确保将程序员切换回“AVRISP mkII” “。

结论

在这个项目中,我向您展示了如何在ATmega328微控制器IC上刻录Bootloader,作为一个额外选项,我还向您展示了如何使用Arduino UNO将Arduino草图上传到带有Bootloader的ATmega328。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    8250

    浏览量

    162407
  • ATmega328
    +关注

    关注

    1

    文章

    37

    浏览量

    21429
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    选择微控制器MCU几个步骤

    就准备微控制器选型了。这当然不是个好主意。 微控制器方面做任何决策时,硬件和软件工程师首先应设计出系统的高层结构、框图和流程图,只有到那时才有足够的信息开始对微控制器选型进行合理的
    发表于 11-26 07:09

    PIC16F15254/55 系列微控制器:高性能与灵活性的完美结合

    Microchip Technology PIC16F15254 8引脚微控制器具有基本外设集,包括关键内核独立外设 (CIP)、智能模拟和标准通信模块。这些微控制器采用增强型中档内核,具有49条
    的头像 发表于 10-13 15:52 352次阅读
    PIC16F15254/55 系列<b class='flag-5'>微控制器</b>:高性能与灵活性的完美结合

    如何使用 M487 微控制器 (MCU) 通过 DAC SD 卡播放 WAV 文件声音?

    使用 M487 微控制器 (MCU) 通过 DAC SD 卡播放 WAV 文件声音
    发表于 08-20 06:05

    Texas Instruments CC2340R2 SimpleLink™无线微控制器数据手册

    入门级SoC(片系统),用于低功耗无线通信。CC2340R2 MCU具有0.71μA超低待机电流、集成平衡器、28KB超低漏电SRAM以及12KB ROM引导加载和驱动
    的头像 发表于 08-02 09:19 1133次阅读
    Texas Instruments CC2340R2 SimpleLink™无线<b class='flag-5'>微控制器</b>数据手册

    微控制器读取闪存中的软件信息时,软件信息部署在哪里? 是 SRAM 吗?

    我对 PMG1 闪光灯有疑问。 1.微控制器读取闪存中的软件信息时,软件信息部署在哪里? 是 SRAM 吗? 2.微控制器加载软件时,部署之前是否检查 SRAM 是否复位?
    发表于 05-23 06:22

    知名厂商微控制器(MCU)芯片手册分享

    微控制器(MCU)又称单片机,是一种高度集成的微型计算机系统,它将中央处理(CPU)、存储(RAM/ROM/Flash)、输入/输出接口(I/O)及多种外设集成一块芯片
    的头像 发表于 05-15 18:25 2305次阅读
    知名厂商<b class='flag-5'>微控制器</b>(MCU)芯片手册分享

    如何使用EZUSB-CX3实现双阶段引导加载程序

    我对如何使用 EZUSB-CX3 实现双阶段引导加载程序有点困惑。我想要的是,当有新的 cx3 映像时,我希望能够从 cx3 固件引导到第二阶段引导
    发表于 05-12 08:26

    MAX28200 16位微控制器,带有ADC和I²C技术手册

    MAX28200是一款低功耗、16位MAXQ®微控制器(µC),设计用于智能电话和消费类电子等低功耗应用。器件结合了强大的16位RISC微控制器和一个10位93.75ksps ADC,以及I²C通信
    的头像 发表于 05-08 14:40 623次阅读
    MAX28200 16位<b class='flag-5'>微控制器</b>,带有ADC和I²C技术手册

    USB 3.0CX3中的辅助引导加载程序后无法识别怎么解决?

    和 PHY 状态寄存显示工作和非工作情况之间的差异: 工作案例(无引导加载程序): USB3 Link State: 0x60000000 USB3 PHY Status: 0x
    发表于 05-06 08:39

    家用电器开发中微控制器的选型要点

    ROHM提供融入自有低功耗技术优势的丰富的低功耗微控制器产品。通过供应微控制器产品,为从事电池供电的小型设备、家用电器、工业设备、社会基础设施、车载设备等各种系统开发的微控制器用户提供支持。本文以
    的头像 发表于 04-24 10:26 928次阅读
    家用电器开发中<b class='flag-5'>微控制器</b>的选型要点

    新唐科技微控制器触控应用方面的优势

    应用带来创新解决方案。本次新闻稿将涵盖更多产品系列和技术细节,更全面地展示 NuMicro 微控制器触控应用方面的优势。
    的头像 发表于 02-27 15:52 1043次阅读

    EE-200:ADSP-TS20x TigerSHARC处理引导加载程序内核操作

    电子发烧友网站提供《EE-200:ADSP-TS20x TigerSHARC处理引导加载程序内核操作.pdf》资料免费下载
    发表于 01-15 16:16 0次下载
    EE-200:ADSP-TS20x TigerSHARC处理<b class='flag-5'>器</b><b class='flag-5'>引导</b><b class='flag-5'>加载</b><b class='flag-5'>程序</b>内核操作

    EE-174:ADSP-TS101S TigerSHARC处理引导加载程序内核操作

    电子发烧友网站提供《EE-174:ADSP-TS101S TigerSHARC处理引导加载程序内核操作.pdf》资料免费下载
    发表于 01-15 15:35 0次下载
    EE-174:ADSP-TS101S TigerSHARC处理<b class='flag-5'>器</b><b class='flag-5'>引导</b><b class='flag-5'>加载</b><b class='flag-5'>程序</b>内核操作

    EE-56:关于SHARC EPROM和主机引导加载程序的提示和技巧

    电子发烧友网站提供《EE-56:关于SHARC EPROM和主机引导加载程序的提示和技巧.pdf》资料免费下载
    发表于 01-05 09:57 0次下载
    EE-56:关于SHARC EPROM和主机<b class='flag-5'>引导</b><b class='flag-5'>加载</b><b class='flag-5'>程序</b>的提示和技巧

    Stellaris引导加载程序用户指南

    电子发烧友网站提供《Stellaris引导加载程序用户指南.pdf》资料免费下载
    发表于 12-23 16:24 0次下载
    Stellaris<b class='flag-5'>引导</b><b class='flag-5'>加载</b><b class='flag-5'>程序</b>用户指南