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

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

3天内不再提示

如何安装和配置Eclipse以对AVR微控制器进行编程

454398 来源:网络整理 作者:佚名 2019-10-30 16:21 次阅读

步骤1:

Eclipse很酷。喜欢,真的很酷。与诸如Arduino编程软件之类的东西相比,Eclipse IDE是众所周知的瑞士军刀。例如,Arduino开发环境只能一次处理一个文件。同样,如果要重命名变量,则必须执行查找/替换。如果要获取一些代码并将其包装在一个方法中,则必须手工完成。 Eclipse可以帮助完成这些原本繁琐的任务,甚至更多。更一般地说,迁移到功能齐全的IDE(例如eclipse)是从功能较少的环境中迈出的一步。

注意:是的,可以使用Eclipse对Arduino进行编程-但是针对这稍微复杂一点,这里不介绍在Eclipse中使用Arduino的细节。

步骤2:准备工作

在办公室计算机上(即在您的工作场所)进行操作,您需要获得许可才能在计算机上安装软件。最好还是检查公司防火墙是否阻止了http://Eclipse.org和http://sourceforge.net(如果您从防火墙收到警告,只需在地址栏中输入这些地址或单击链接)则您将无法访问这些站点。)

如果您是通过具有互联网连接的家用计算机工作,并且计算机具有USB端口,那么您可以使用。

要对AVR设备进行编程,您要么需要编程器和您的AVR(两个独立的单元),或者带有板上编程器的AVR,例如Arduino。如果您还没有,我建议您先研究一下Arduino或类似的产品。如果您还处于初级阶段,我将带您去搜索“ Arduino入门”并从那里开始学习。当您对AVR开发更加有把握时,请继续使用Eclipse。

拿起一杯您最喜欢的饮料(或玻璃杯),希望我们能够在冷,热或任何温度下完成安装不应该。..好吧,至少应该在它发芽之前进行。

步骤3:下载并安装Eclipse

首先我们需要下载Eclipse本身。我建议使用单独的工作区和Eclipse版本,因为随着时间的流逝,AVR插件似乎会破坏Eclipse安装和工作区(每次安装都会不知不觉地破坏了它的工作空间)。因此,如果您已经食过了,我建议您在计算机上再建一个副本,并为AVR开发准备一个“ AVR工作区”,以便将任何故障损坏包含在AVR工作区中。稍后将进一步解决这些问题。

请访问eclipse网站并找到下载页面(撰写本文时位于此处; http://www.eclipse.org/downloads/packages/release/helios/r)。版本列表包含一个标题为“ C/C ++开发人员的Eclipse IDE ”的条目,在其旁边应该有一个或多个链接。单击所运行平台的“ 32位”选项(例如,如果正在运行Windows计算机,则单击“ Windows:”旁边的 32位链接)。 。这应该带您到下载页面。

在下载页面的顶部附近应该是一些文本,内容为“从以下位置下载eclipse-cpp-helios-linux-gtk.tar.gz:”,然后是标题为的链接。 。.. Mirror Service 。..(http)或类似服务。单击链接,下载应开始。由于Eclipse定期更新,因此我将不发布链接。因此,您需要检查此页面以获取最新版本。

一旦下载,则需要从中解压缩Eclipse程序。您下载的压缩文件。此步骤因操作系统而异,但广泛地说,如果双击下载,将打开一个提取程序。将程序解压缩到适当的位置,对于Windows用户,可以使用“程序”文件夹。打开刚刚提取的 eclipse 文件夹,然后双击 eclipse 可执行文件。 Eclipse现在将启动。

注意:创建运行可执行程序的桌面快捷方式是一个好主意,以节省以后的时间和精力。

“启动”屏幕将询问您在哪里可以找到工作区。如果您不知道这是什么,请保持原样,然后按OK。对于更有经验的程序员,明智的选择;使用版本控制或什至只是本地副本来备份您的工作区,并避免使用现有的工作空间。

步骤4:安装AVR-GCC和AVR Dude

AVR GCC工具链是用于编译适用于AVR的数据的编译器。 AVR-dude是一种用于将该信息放入AVR的工具(基本上是通过物理编程器与AVR通信)。

Windows

在Windows计算机上,只需转到WinAVR站点并按照安装说明进行操作。 WinAVR(此处的帮助页面和此处的下载页面)具有上述内容和一些额外的内容,使调试等事情变得更加容易。现在转到下一步(以下内容适用于Linux用户)!

Linux

在Linux上,有必要手动安装所需的软件包,但是所涉及的工作并不多不同。转到软件包管理器并安装以下内容;

-gcc-avr

-binutils-avr

-gdb-avr

-avr-libc

-avrdude

第5步:关于CDT插件的说明

在网上找到的一些说明表明,此时您应该安装C C ++开发工具( CDT )。在这种情况下,这不是必需的,因为我们已经下载了已经安装了Eclipse的C C ++版本。所以。..这里没有说明,请转到下一步。..停止这里。..我们必须进行安装!

步骤6:安装AVR插件

AVR插件使我们能够从Eclipse中轻松处理AVR。安装后,它将允许您构建C项目并将其部署到AVR设备。还具有一些整洁的功能,例如无需参考数据表就可以提取芯片上的数据。

要安装AVR插件,请转至Eclipse中的顶部菜单,选择“帮助”》“安装新软件”。将打开一个名为“安装”的新窗口。顶部附近是一个下拉框,左侧带有“工作方式:”。单击该框,然后键入 http://avr-eclipse.sourceforge.net/updatesite/,然后单击添加。在出现的弹出框中,在《名称》框中键入 AVR Eclipse插件。

不久之后,在下面的框中,将出现一个条目(“ CDT可选功能”)。选中该条目左侧的复选框,然后单击下一步。下一个屏幕询问所选的新软件包是否正确。按下一步。下一页要求您同意条款和条件。选中“我同意”旁边的单选按钮,然后单击完成。

进度条将慢慢填充,表明eclipse正在安装指定的插件。如果有任何安全警告,只需单击确定或继续。安全警告仅与插件未通过身份验证这一事实有关,没什么大不了的。

安装完成后,将弹出一个弹出窗口,通知您需要重新启动Eclipse。选择立即重启。。Eclipse将自行关闭并重启。当eclipse重新启动时,它将要求您选择一个工作空间(如果您想要一个不同于建议的工作空间,或者您不知道这是什么,请选择确定)。现在已安装了AVR插件。

现在Eclipse具有与AVR对话所需的功能。

第7步:创建一个新项目

现在我们已经设置了Eclipse,我们仍然需要做的是;创建一个项目以保存我们的设置和文件,设置该项目,创建一个闪烁的灯光应用程序,加载到AVR。

针对来自Arduino IDE背景的人的项目注释(跳至下一段(如果您已经知道项目);项目为我们要完成的每一项工作都分离出代码。例如,如果我想创建一个闪烁的灯光来装饰我的地幔,我将创建一个 FlashyLight 项目来包含它。同样,如果我想制作渐弱的灯光来修饰我的办公桌,我会做一个名为 FadingLights的项目。 与单个文件(如草图-即源文件)的主要区别在于,该项目可以包含一堆设置以及任意数量的源文件。大致上,项目是一个特殊的文件夹,而源文件是放入其中的文件。我们告诉Project我们要瞄准的平台(例如Attiny2313),我们要如何编程,要在EEPROM中放入哪些数据,要刻录的熔丝位等等。

创建一个新项目单击文件》新建》 C项目,为您的项目键入一个名称,例如 BlinkyLight 。确保已选择 AVR跨目标应用程序下的空项目选项,然后单击下一步。取消选择 Debug 选项(目前不需要),然后单击完成。如果不是单击 Finish ,而是单击下一步,您可以设置许多设置,但是我们将在一分钟内手动进行设置(我们也需要设置一些其他设置,因此我们将一次性完成所有设置)。

第8步:设置构建设置

现在您应该有一个名为“项目”的项目项目资源管理器标签。现在我们要设置该项目的设置,因此右键单击该项目,然后选择属性(位于底部的右侧)。

单击加号 [+] 在 C C ++ Build 旁边签名,然后单击设置。在出现的窗口中,选择以下内容;

为闪存生成十六进制文件

打印尺寸

AVR Dude

取消选择其他两个选项(我们实际上不需要他们)。点击应用(它位于右下角附近,您可能需要向下滚动)。

现在,我们告诉Eclipse,我们希望它生成一个HEX文件(该文件将闪现到设备上,它是我们代码的“编译”版本),我们已经告诉它使用AVR Dude来写入我们的AVR,并且我们告诉它告诉我们编译后的程序有多大(如果空间不足,这有时会很有用) 。

步骤9:设置AVR目标设置

最后,在建立我们的项目时,我们需要告诉Eclipse我们要编程的AVR以及使用它进行编程的内容。选择 AVR 选项旁边的加号 [+] 来展开它。选择 AVR Dude 。目前我们没有任何配置,因此请点击新建。现在选择您正在使用的编程器,如果您使用的是Arduino,它也在列表中。在页面顶部提供简短的名称和描述,例如“ Arduino编程器”,“用于对标准Arduino进行编程”就可以了-这就是您要使用不同设备进行编程的含义,

注意:如果默认端口不起作用,您可能需要指定一个串行端口。请先尝试执行这些步骤,然后忽略此注释,然后再尝试请重试并按照此说明操作。串行端口可以更改(通常是固定名称,带有递增编号,例如COM1)。如果您插入了多个arduino,或者拔下了插头,请重新插入arduino,则数字可能会增加。可能会造成混乱。找到正确的串行端口名称的最简单方法是拔出要编程的所有arduino,然后使用arduino软件中的“串行端口”下拉列表查找串行端口的名称。拥有串行端口后,将其输入相应的框中。

点击确定。单击应用。

现在,我们将查看设置是否有效-我们将尝试让MCU告诉我们它是什么。点击屏幕左侧的目标 硬件列表项。请确保您的编程器已;

A)插入电源(如有必要)并且USB(或串行)。 B)已打开。 C)已连接到AVR目标设备。

现在单击加载 来自 MCU 。如果一切正常,则框中列出的设备应更改为编程器中当前使用的设备。如果可行,请单击应用,然后单击确定。如果不起作用,请从列表中选择MCU(可能是您的编程器不支持从MCU加载功能),然后单击应用,然后单击确定。

您的项目现已设置好,可以继续进行。

步骤10:新的源文件

创建源文件和头文件非常容易。只需右键单击要在其中创建新文件的项目或项目文件夹,然后单击新建》源文件。 在出现的窗口中查找要创建的文件类型,输入新文件的名称,然后点击完成。

请注意,您 需要 项目中某处名为 main.c 的文件,这是因为这是编译器开始使用的文件。编译器将编译 main.c 及其中包含的所有源文件。对于要放入 main.c 中的内容的简单示例,请尝试使用此页面中的源清单

(对于attiny2313)。我已经在此步骤的图片中使用了此示例。

现在,您已经完成了构建它所需的代码。你问的是什么建筑?生成项目是编译所有源代码并创建“已编译”结果的行为。对于普通的C程序员,您将构建一个可执行文件(Windows用户的EXE)。由于我们将数据放入AVR,因此我们正在构建Flash映像。在进行构建之前,您将不会在代码中看到任何错误。点击构建后,您将看到一些带红色下划线的行。这些被称为“编译错误”-这些是不正确的代码,因为编译器无法理解它们或它们有问题。

关于源文件的说明(同样适用于Arduino IDE背景的人) :现在,我们已经从单个源文件继续进行,是时候认真考虑组织代码了。这样做并不难,这意味着当您要使项目进行其他操作时(例如在闪烁的灯光中添加按钮)。在C(我们现在使用的语言)中,编写代码的方法是将其组织为“实用程序”文件组。假设我们想知道数字是否为质数,数字是否为斐波纳契数,数字是否为平方。现在想象我们要在Blinky Light项目和完全独立的Fading Light项目中使用这些新方法。如果您想在Arduino IDE中执行此操作,则唯一可行的方法是复制并粘贴您的方法(这是一种艰苦的工作)。更糟糕的是,如果发现我的方法 isAFibonacciNumber 实际上有一个错误,我必须将修复程序复制并粘贴到两个项目中。如果可以一次编写一个函数并多次使用它会不会更容易?好吧,这很容易。..我们使用源文件和头文件。我们可能会制作一个名为 NumberUtilities.c 的源文件。号码实用程序将包含我们可能要使用的所有号码处理方法。现在,如果我想使用Number Utilities,我要做的就是将其导入一次。很棒的是,如果我需要进行更改或修复,则只需要执行一次。有关C和AVR的更多帮助,您可能需要访问google,AVR论坛或您的图书馆。请记住,此说明的结尾处有一个链接部分!。

步骤11:构建并上传到AVR

我假设您现在已经使用至少一个 main.c设置了项目。 文件和 main.c 文件中的某些内容。每当您希望构建和/或刷新AVR设备时,都应执行此步骤。

下一步,我们需要构建项目。您说的这个建筑是什么?这是编译代码的过程。有效地,将我们可以理解的“源”代码转换成AVR可以理解的二进制机器代码。一旦我们完成构建,编译器将尝试执行此任务,但是有时它会在源文件中遇到问题。 (一个说明性示例在此步骤附带的图像中)。在这种情况下,编译器将报告错误(请参见下一步“编译错误”以获取帮助)。

单击 Project》全部构建可以构建项目。修复所有编译错误后,单击 AVR》将项目上传到目标设备。现在,“控制台”选项卡应该用绿色文本填充,描述正在发生的过程。如果上传过程失败,请检查是否确实打开了设备并插入了设备。如果要上传到Arduino,请在上传之前按reset按钮。

您的项目现在应该已经上传,并且要在设备上插入它进入电路,然后离开!现在,大部分Instructable已经结束。剩下的步骤是信息性的(即不是指导性的),如果您对到目前为止所取得的结果感到满意,则可以忽略。

如果要在此之后创建新项目,请按照步骤6、8、9和10进行操作。我们可以忽略第7步,因为eclipse会记住我们在第7步中设置设置时第一次应用的设置,并将其应用于以后的项目。请记住,当重复步骤8时,由于我们已经创建了 Programmer Configuration ,因此只需在 Programmer Configuration 下拉框中选择它,而不是像我们创建新配置那样

第12步:编译错误

什么是编译错误?

编译错误是编译器在构建过程中检测到的错误。构建是获取所有书面代码并将其转换(即编译)为AVR可以理解的单个二进制文件的过程。仅当您单击 Build 时,才会刷新编译错误,因此,在解决问题后,建议保存并重建项目(如果不让日食迷惑)。

为什么我明白了吗?

通常构建错误是基本的编程错误,例如查看以下代码片段;

if(1))

{

}

请注意,如果if有两个闭合括号而只有一个打开括号?这将导致编译错误。这是因为语法错误,解决此示例仅需删除两个右圆括号之一。固定保存并重建项目后,下划线应消失。如果您尝试构建的程序中存在此错误,则第一行 if(1))用红色下划线标记。这表明指示的行上有错误。要获取更多详细消息,请在页面底部附近找到“错误”标签。

在“错误”标签中,您会看到许多列逐行告诉您有关每个错误的信息。如果双击此窗口中的错误,Eclipse将自动打开有问题的文件并突出显示问题行。

如何解决它们?

通常,编译器发现的错误是语法相关-这意味着修复错误是相对容易的事情;只需找出您已违反的语法规则并加以解决即可。如果不确定解决方案,请将问题发布在论坛上,在可指导人员或专门的C编程论坛上。 请不要使用此页面的注释部分来查找有关编程问题的帮助。

有关有用的网站,请参见链接部分。

还有其他类型的错误吗?

是的。..如果您编写的程序在运行时表现异常,则说明存在所谓的“运行时错误”,即程序运行时发生的错误。这些类型的错误通常很难诊断,有解决此类型错误的高级工具,但是使用此类工具超出了本指南的范围。

步骤第13章:酷功能快速浏览

我想简要地吸引您注意很多酷功能。这些功能在某种程度上直接有助于日常编程。

重构方法,文件

列表顶部是重构。重构背后的想法很简单,如果我重构一个方法,我会更改它的名称。更具体地说,我键入一个新名称,然后eclipse更新对该方法的所有引用。因此,如果我想重命名方法 oldMethodName(),请选择它的声明,右键单击,重构》 重命名 ,然后 输入新名称(例如 newMethodName()),然后单击“确定”。然后,Eclipse消失了,将对oldMethodName()的所有调用替换为newMethodName()。此功能是实时保护程序。重构还可以用于将一段代码变成一种方法,以及对该主题的多种变体。

自定义透视图

毫无疑问,日食窗口已满标签和窗格以及许多其他按钮。如果您对这些布局的方式不满意,则只需拖放即可移动tem。您可以关闭不需要的选项卡,并添加您认为不需要的选项卡。如果要使Eclipse变得不那么复杂,最简单的方法之一就是重新组织窗口的显示方式。 “透视”。您可以保存重新组织的新窗口,并且确实可以根据需要拥有所有这些透视图。

AVR视图(受支持的设备和MCU检查器)

AVR插件还添加了两个新标签,其中一个包含AVR设备的兼容性列表,而另一个则允许您探索AVR微控制器的功能。如果您很快就需要芯片上的一些信息,但又不需要数据表中所有详细的内容,则这两个选项卡将非常有用。

双击可最小化和最大化日食中的面板 C C ++透视图 (特别是调用层次结构)

内置的C C ++透视图对于跟踪故障代码和常规错误可能非常有用。鼓励您探索月食的各种角度,其中一些非常有用。

更多。..

这里有太多很棒的功能要介绍。我建议您浏览Eclipse帮助文件( Help》帮助目录),然后右键单击项目,源文件和代码行的菜单(aka。context-)。具体查看重构和源部分。

步骤14:备份注意事项

明智的选择:Eclipse以前使我崩溃了很多次,无法使用它。带有AVR插件的Eclipse的典型故障模式似乎是破坏程序和工作空间。因此,强烈建议:

-保留备份

-使用版本控制

-为AVR内容维护单独的工作空间

-为AVR内容使用单独的Eclipse。提到备份吗?

责任编辑:wv

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

    关注

    88

    文章

    3441

    浏览量

    92442
  • Eclipse
    +关注

    关注

    1

    文章

    114

    浏览量

    21319
  • AVR微控制器
    +关注

    关注

    0

    文章

    11

    浏览量

    6787
收藏 人收藏

    评论

    相关推荐

    如何在aurix TC333微控制器配置内存分区?

    谁能建议如何在 aurix TC333 微控制器配置内存分区。
    发表于 01-30 07:10

    CW32L083系列微控制器的ADC和DAC模块要如何使用?怎么配置

    如何配置和使用CW32L083系列微控制器的ADC和DAC模块?
    发表于 01-17 06:08

    Microchip AVR DD系列微控制器产品特性

    的功能集,包括多电压输入/输出(MVIO),非常·适合复杂应用,或在具有多个功率域的复杂设计中作为配套微控制器(MCU)使用。
    的头像 发表于 12-28 09:38 273次阅读

    如何理解微控制器的PWM模块分辨率和精度?

    不同微控制器的PWM功能在硬件设计和软件编程方面可能会有所不同。具体的差异取决于微控制器的型号、架构和功能配置
    的头像 发表于 12-13 10:06 666次阅读

    微控制器基础】—— 从历史切入,了解微控制器的五个要素(下)

    微控制器基础】—— 从历史切入,了解微控制器的五个要素(下)
    的头像 发表于 12-06 17:23 282次阅读
    【<b class='flag-5'>微控制器</b>基础】—— 从历史切入,了解<b class='flag-5'>微控制器</b>的五个要素(下)

    eclipse安装web插件步骤

    的过程很简单,只需按照向导的指示进行操作即可。 安装完成后,启动 Eclipse。在打开的 IDE 窗口中,您将看到一个欢迎页面。
    的头像 发表于 12-06 13:48 457次阅读

    如何在eclipse配置jdk环境

    Eclipse配置JDK环境非常重要,它是开发Java程序的基础。本文将详细介绍如何在Eclipse配置JDK环境。 下载和安装JDK
    的头像 发表于 12-06 11:49 703次阅读

    eclipse配置servers识别不到jdk

    Eclipse是一个广泛使用的集成开发环境(IDE),它可以帮助开发人员编写、调试和测试许多编程语言。在使用Eclipse时,可能会遇到配置servers时无法识别JDK的问题,这会导
    的头像 发表于 12-06 11:41 408次阅读

    在AT32微控制器上创建IAP by Ymodem应用程序的方法

    对于大多数基于闪存的系统,一项重要要求是能够在最终产品中安装固件时进行更新。此功能称为应用程序内编程(IAP)。本应用笔记的目的是提供在AT32微控制器上创建IAP by Ymodem
    发表于 10-24 07:38

    在AT32微控制器上创建Multi MCU IAP应用程序的方法

    对于大多数基于闪存的系统,一项重要要求是能够在最终产品中安装固件时进行更新。此功能称为应用程序内编程(IAP)。本应用笔记的目的是提供在AT32微控制器上创建Multi MCU IAP
    发表于 10-24 06:48

    在AT32微控制器上创建IAP by USB HID应用程序的方法

    对于大多数基于闪存的系统,一项重要要求是能够在最终产品中安装固件时进行更新。此功能称为应用程序内编程(IAP)。本应用笔记的目的是提供在AT32微控制器上创建IAP by USB HI
    发表于 10-19 06:48

    微控制器基础】——CPU内核与整体配置(上)

    微控制器基础】——CPU内核与整体配置(上)
    的头像 发表于 10-17 17:19 476次阅读
    【<b class='flag-5'>微控制器</b>基础】——CPU内核与整体<b class='flag-5'>配置</b>(上)

    STM8S微控制器参考手册

    导言本参考手册为应用开发人员提供了关于如何使用STM8S微控制器的存储和外设的完整信息。STM8S是一个拥有不同存储大小,封装和外设的微控制器家族。■ STM8S针对通用应用而设计
    发表于 09-25 07:33

    嵌入式编程微控制器应用

    欢迎进入嵌入式编程微控制器应用的世界!使用日益流行且价格适宜的AtmelAVR嵌入式控制器作为学习平台。本书是目前可以获得的最佳书籍之一。对于初学者,本书将会是极好的选择。随着
    发表于 09-20 07:52

    LPC54606J512BD100微控制器无法连接到目标怎么解决?

    我正在使用LPC54606J512BD100微控制器并面临一个非常严重的问题。 问题是,在成功对控制器进行编程并随机工作后,我无法再次上传代码并出现错误。 关于
    发表于 05-31 07:48