使用Arduino ISP编程AVR微控制器和Arduino开发板

所有微控制器都需要某种机制来对它们进行编程,即使它们只编程一次。通常,程序代码写在主机上,然后编译或翻译,并使用电缆(通常是USB或RS232)将对象(机器可读)代码从PC(“主机”)下载到MCU(“目标”),通常被称为“编程器”。一旦编程,MCU就像编码一样工作。

一个非常受欢迎的MCU开发板制造商是Arduino,总部位于意大利。许多Arduino开发板都装有AVR微控制器,这也需要烧写器将主机上创建的程序保存到目标MCU的存储器中,例如AVR微控制器。外部编程器通常用于AVR微控制器,并且成本高昂。

在项目开发期间,大多数目标MCU必须进行多次编程,因此将MCU从电路中移除以对其进行编程是不可行的。许多MCU(包括AVR处理器)都可以使用系统内编程器(ISP)进行编程,因此无需将其从电路板上移除。

默认情况下,Arduino板带有MCU预置代码,称为引导加载程序。 Bootloader是第一个在启动MCU时驻留在MCU中的程序。 Bootloader指示MCU加载或下一步做什么。 Arduino通过集成开发环境(IDE)使PC主机与板载MCU(目标)之间的通信变得易于使用。 IDE是主机驻留的,包括开发人员可用于编程、编译和调试目标MCU的工具。

引导加载程序还使用USB帮助Arduino IDE和Arduino开发板之间的通信。引导加载程序负责在从Arduino IDE到达时在芯片上编写代码。

Arduino开发板的整体设计使其易于使用,包括免费软件工具。 Arduino控制器板非常适合从嵌入式编程开始,通常用于教育环境。 Arduino开发板(目标)与主机之间的简单USB连接使Arduinos适合开发嵌入式项目,而无需了解如何将程序代码放入MCU并从那里运行代码。Arduino称程序或代码为“草图”。Arduino开发板最适合小规模项目。

然而,如果目标是设计一种经济的产品,然后创建使用上的定制设计的印刷电路板的AVR单片机比购买填充了相同的AVR MCU的Arduino板的数百或数千便宜高容量,生产质量板。然而,许多人已经使用Arduino(和类似的)低成本开发板作为安装的最终产品,如果避免创建和填充少量PCB的成本更低。

Arduino板具有少量通用I / O,可用于多种不同用途。例如,Arduino板可以作为使用Arduino ISP的其他AVR微控制器的编程器工具,并且是用于编程AVR MCU的最简单和最便宜的方法之一。 Arduino系统内编程器是免费的Arduino IDE中提供的内置函数。 ISP允许您使用专用于此目的的另一个Arduino板对Arduino板和其他AVR微控制器进行编程。

然而,使用功能齐全的Arduino板(作为编程器-Arduino)对新开发的Arduino板进行编程有一些规定。首先,必须将“programmer-Arduino”(您已配置为程序员的Arduino)配置为ISP。默认情况下,草图(代码)在Arduino IDE的“文件”菜单中的示例代码中可用。 Arduino ISP草图将所需的指令传递给Programmer-Arduino,以便在编程模式下进行设置。

使用Arduino ISP编程AVR微控制器和Arduino开发板_第1张图片
图1:Arduino ISP草图选项。

使用Arduino ISP编程AVR微控制器和Arduino开发板_第2张图片
图2:Arduino ISP草图。

可以使用连接的LED监控Programmer-Arduino的状态,如图所示。 Arduino ISP草图已针对此功能进行了预编程。

更多内容请参考以下链接:https://www.yiboard.com/thread-1043-1-1.html

你可能感兴趣的:(一板网电子论坛)