如何使用Arduino Uno在Atmega328上燃烧引导加载程序?

在此项目中,我将向您展示如何在Atmega328微控制器上燃烧引导加载程序。使用此方法,您可以将ATMEGA328微控制器用作自定义设计或PCB上的独立,或者简单地在Atmega328上燃烧引导加载程序(以及您可以上传代码)。

如何在Atmega328图像4上燃烧引导加载程序4

介绍

如果您正在查看此项目,那么您可能已经使用了Arduino董事会。Arduino Uno上的Atmega328微控制器很可能在特定时间(或连接不当)后发生故障。为了重复使用该Arduino板,您需要加载带有引导加载程序的新的Atmega328 IC(我将在一分钟内谈论引导加载程序)。

还有其他原因是在Atmega328 MicroController上燃烧引导加载程序,例如您已经写了自己的引导加载程序并想对其进行测试,或者您想详细了解微控制器的工作。

警告:如果您是这种新事物的新手,建议不建议在Arduino中调整引导加载程序。

什么是引导加载程序?

简而言之,Bootloader是位于微控制器内存中的一小部分代码(以.hex格式使用的可执行代码)。Arduino中的引导加载器使我们能够通过串行端口进行编程Arduino,即使用USB电缆。

Arduino中引导加载程序的作业是从计算机中接受代码,并将其放置在微控制器的内存中。

为什么我们需要引导加载程序?

传统上,在涉及一些花哨的连接的专用程序员的帮助下对Atmel的Atmega328等微控制器进行了编程。引导加载程序删除了这种复杂性,并为我们提供了一种简单的方法来对微控制器进行编程,即仅使用USB电缆。

引导加载程序位于微控制器的可编程闪存的特殊安全位置中,通常占据不到1KB的内存。

在Atmega328上燃烧引导加载器的需求是什么?

正如我之前提到的,如果您想将程序上传到全新的ATMEGA328微控制器IC上,则必须使用特殊程序员(还设置保险丝钻头)。但是,如果您在ATMEGA328上燃烧引导加载程序,则可以通过串行端口(USB电缆)对微控制器进行编程。

ATMEGA328微控制器准备好使用引导加载程序后,只需在Arduino板(作为替换)中使用它,或者如果您打算制作自己的Arduino板,则可以将其用作微控制器。

如何在Atmega328上燃烧引导加载程序?

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

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

电路原理图

下面显示了使用Arduino在ATMEGA328微控制器上燃烧引导加载器的电路图。

如何在ATMEGA328电路图上燃烧引导加载器

ATMEGA328微控制器的PIN图如下图所示,以防万一。

如何在Atmega328 PIN图上燃烧引导加载程序

需要组件

  • Arduino Uno
  • ATMEGA328微控制器IC
  • 16MHz晶体
  • 22pf x 2陶瓷电容器
  • 10kΩ电阻
  • 按钮
  • 330Ω电阻
  • 引领
  • 面包板
  • 连接电线
  • 5V电源

ATMEGA328上编程引导加载程序的过程

如前所述,Arduino Uno在这里被用作AVR程序员。为了实现这一目标,您必须将特殊程序上传到工作的Arduino Uno板上,称为“ Arduino ISP”。

因此,在建立连接之前,请使用USB电缆将工作Arduino Uno连接到计算机,然后在Arduino IDE中选择适当的板和端口。

现在,转到文件>示例> arduinoisp> arduinoisp。将此代码上传到您的Arduino Uno,以便将您的Arduino Uno板变成AVRISP程序员。

如何在Atmega328图像2上燃烧引导加载程序2

完成此步骤后,进行必要的连接(如果还没有建立)。现在,转到工具>程序员,然后选择“ Arduino AS ISP”选项。之后,您准备燃烧引导加载程序。

如何在Atmega328图像1上燃烧引导加载程序1

简而言之,转到工具,然后单击“燃烧引导加载程序”。您的目标Atmega328微控制器将使用引导加载程序进行编程。

如何在Atmega328上燃烧引导加载程序图3

将草图上传到Atmega328

完成将Bootloader上传到Atmega328 MicroController上后,您可以通过将测试草图上传到其上来继续。为此,保留与早期相同的连接,并打开任何草图,例如眨眼草图。

请勿更改任何选项,即程序员仍然设置为“ Arduino as asp”。现在,通过在键盘上握住“换档”按钮,单击“上传”图标。这将通过使用Arduino Uno作为程序员将草图上传到Atmega328微控制器IC。

完成此操作后,您可以从Atmega328微控制器上断开Arduino Uno的连接,并使用Atmega328 IC作为独立设备,并在其上运行眨眼。

如何在Atmega328独立电路上燃烧引导加载程序

下图显示了在Arduino uno的帮助下上传后,ATMEGA328 MicroController运行眨眼草图。

笔记:为了将代码上传到Arduino Uno,请确保将程序员切换回“ AVRISP MKII”。

如何在Atmega328上燃烧引导加载程序

结论

在此项目中,我向您展示了如何在Atmega328微控制器IC上燃烧引导加载程序,并且作为一个额外的选项,我还向您展示了如何使用Arduino Uno将Arduino Sketches上传到Atmega328上。

3个回应

  1. 每当我尝试将启动加载程序刻录到芯片上时,它都会标记出一个错误消息,即Avrdude:Yinkes!无效的设备签名。请帮助我。
    谢谢。

发表评论

您的电子邮件地址不会被公开。

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map