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

简介
如果你正在查看这个项目,那么你可能已经使用过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。

IDC发布第三季度中国可穿戴设备市场季度跟踪报告
AT32讲堂052 | 雅特力AT32 RTC入门指南
等离子体光电探测器助力实现精准农业
联想Z5将在6月发布,新机的更多信息透露
悲痛的威盛"中国芯" 不被看好或成收购目标
怎样在ATmega328微控制器上刻录引导加载程序
马建:全面集中发展物联网 实现整合多元创新
2011年中国MEMS销售额将达到16亿美元
维信诺、天马微电子、BOE京东方供货荣耀Magic6系列新品
科创板即将实操,工业互联网企业迎来新机遇
三星A80和iPhoneXR哪个拍照最好
OLED如日中天,有谁想要扑上这股风潮
关机亮点消除电路工作原理
神经网络控制智能车应用解析
区块链跨境支付系统_区块链如何重塑跨境支付领域
三重冲孔延长智能工厂室内BLE信标的使用寿命
SIEMENS1HU3056-0AF01-Z电机
流量开关作用
EMCP物联网云平台应用于远程污水在线检测
ipfs技术是什么,它的技术原理是怎样的