历史上的今天
返回首页

历史上的今天

今天是:2025年04月03日(星期四)

正在发生

2020年04月03日 | 怎样在微控制器上刻录引导加载程序

2020-04-03 来源:eefocus

简介

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

推荐阅读

史海拾趣

Catalyst / ON Semiconductor公司的发展小趣事

在电子行业的早期,Catalyst / ON Semiconductor公司由一群富有远见和热情的工程师创立。他们看到了半导体技术在电子领域的巨大潜力,并决定投身于这一新兴的产业。初创时期,公司面临着资金短缺、技术难题和市场接受度低等多重挑战。然而,凭借团队成员的坚持不懈和勇于创新的精神,他们成功开发出了几款具有竞争力的半导体产品,并逐渐在市场上获得了一席之地。

创基(CBI)公司的发展小趣事

品质是电子行业的生命线。CBI公司始终将品质管理放在首位,通过引进先进的生产设备和检测仪器,建立严格的质量控制体系,确保产品的品质稳定可靠。此外,公司还注重员工的培训和教育,提高员工的品质意识和操作技能。这些措施使CBI的产品在品质上赢得了消费者的信赖和认可。

协顺电子(Finecables)公司的发展小趣事

近年来,随着电子行业技术的不断革新和市场环境的变化,协顺电子也面临着前所未有的挑战。为了应对这些挑战,公司开始进行转型升级。一方面,公司加大研发投入,推动产品创新和技术升级;另一方面,公司也积极探索新的业务领域和市场机会。同时,协顺电子还加强了与供应商和客户的合作关系,共同应对市场变化和挑战。这些努力使得公司在激烈的市场竞争中保持了良好的发展态势。

埃派克森微电子(Apexone)公司的发展小趣事

自2002财年以来,埃派克森微电子的业绩呈现出连续增长的态势。公司凭借出色的产品性能和市场竞争力,成功打入多家国内外知名企业,逐渐在目标市场占据了一席之地。经过数年的发展,埃派克森在全球模拟芯片供应商中已占据重要地位,其产品在通讯核心芯片、多媒体电子、消费电子、汽车电子等领域均有着广泛的应用。

Circuit Assembly公司的发展小趣事

作为一家具有社会责任感的企业,埃派克森微电子在发展过程中始终关注社会公益事业。在四川汶川地震发生后,公司积极发起救援捐赠活动,通过中国扶贫基金会为灾区捐款10万元,帮助受灾民众度过难关。这一行动体现了埃派克森的社会责任感和人文关怀精神,也为公司在社会中树立了良好的形象。

这五个故事展示了埃派克森微电子在电子行业中的发展历程和取得的成就。从创新起步到专利技术的突破与商用,再到业绩的连续增长和国际化步伐的加快,以及积极履行社会责任的公益行动,都充分展现了埃派克森微电子的实力和担当。未来,随着科技的不断进步和市场需求的不断变化,埃派克森微电子将继续保持创新精神,不断提升产品性能和市场竞争力,为电子行业的发展做出更大的贡献。

FUJI公司的发展小趣事

自2002财年以来,埃派克森微电子的业绩呈现出连续增长的态势。公司凭借出色的产品性能和市场竞争力,成功打入多家国内外知名企业,逐渐在目标市场占据了一席之地。经过数年的发展,埃派克森在全球模拟芯片供应商中已占据重要地位,其产品在通讯核心芯片、多媒体电子、消费电子、汽车电子等领域均有着广泛的应用。

问答坊 | AI 解惑

一种神经信号调理电路的设计

种神经信号调理电路的设计 2006.07.18  来自:E代电子   作者:周海峰 赵春宇 陈大跃    人体的神经信号直接表征着人体自我的意思,研究神经信号为了解、识别人体提供了一条途径。多年来。目前,研究内容主要包括神经电 ...…

查看全部问答>

NXP 功放管的ADS design kits

发现有人需要NXP的功放管kits,现在分享给大家 …

查看全部问答>

国外物联网发展现状

如今,我国的物联网建设正如火如荼地进行,那么国外的物联网发展又是什么情况呢?   日本:打造“无所不在”的便利社会   日本在2004年推出了基于物联网的国家信息化战略U-Japan。“u”代指英文单词“ubiquitous”,意为“普遍存在的,无所不 ...…

查看全部问答>

FPGA连接DDR SDRAM的问题

DDR SDRAM管脚必须连接到FPGA的DQS脚吗,连接到普通的IO脚又有什么影响呢FPGA是484脚的,一个bank的脚有些少,所以一个bank内很难分得下全部的DDR SDRAM的引脚,分两个bank的话有什么要注意的?是不是数据线分到一个bank里,地址线分到一个bank里就 ...…

查看全部问答>

vxworks中,telnet到设备后,在没有操作的情况下,怎么让telnet能超时自动退出?

vxworks中,telnet到设备后,在没有操作的情况下,怎么让telnet能超时自动退出。在vxworks的源码中,有变量可以设置吗?或者设置一下哪个函数!…

查看全部问答>

调试串口调试信息的问题

串口1我作为调试串口,并且没有加载普通串口的驱动,当内核调试信息输出的时候同时应用程序的TRACE语句也在调试串口输出了,想不明白,帮看看。…

查看全部问答>

初学Zigbee(MiWi),有前辈给指点下如何快速上手不?

-Micrchip MiWi solution. -Demo board都有了 -相关文档也看了不少,总觉得比较浅,望有经验的前辈指点下接下来怎样更全面的学习…

查看全部问答>

分享给大家IAR 8051 7.30B和破解工具

分享下IAR 8051 7.30B和破解工具,看资源比较老了,不好找,就帮大家分享下吧IAR 8051 7.30B:http://d.1tpan.com/tp2021754957IAR 8051 7.30B破解工具http://d.1tpan.com/tp1727926716…

查看全部问答>

【一起学习器件指标】MOS管的参数你知道哪些呢

在原理图上,你分得清NMOS和PMOS不?说实话用过分立的MOS么?你知道的MOS管的参数又有哪些呢?这个在PC上很常见哦原理图对不对呢?…

查看全部问答>