码迷,mamicode.com
首页 > 系统相关 > 详细

Arduino Eclipse 开发环境

时间:2018-01-23 20:43:20      阅读:605      评论:0      收藏:0      [点我收藏+]

标签:tools   图片   inf   官方   开发板   好处   区域   x64   分享   

概括起来说,Eclipse CDT,Toolchain用AVR Libc,以及:a, AVR Eclipse Plugin插件;b, make, rm等shell命令行工具;c, AVRDude,用来下载程序到单片机。

这篇随笔分2部分,第一部分是软件安装和设置步骤,第二部分建立一个demo工程,并编译、下载程序到开发板,以确定开发环境正常工作。

1. 安装和设置

首先安装Eclipse CDT,我用次新版Neon。在Marketplace搜索安装AVR Eclipse Plugin。

Toolchain有2个来源。首先,microchip网站可以单独下载AVR Toolchain for Windows。第二,可以安装Atmel Studio,里面除包含AVR Libc外,还有shell命令行工具。我采用后者,安装Atmel Studio,再把需要的东西拷贝出来。

Arduino软件中有AVRDude,可以直接拷贝出来用。

Atmel Studio安装目录下,Toolchain的路径为 toolchain\avr8\avr8-gnu-toolchain,如下图:

技术分享图片

shell命令行工具的路径为 shellutils,如下图:

技术分享图片

Arduino安装目录下,AVRDude路径为 hardware\tools\avr\bin\avrdude.exe,配置文件路径为 hardware\tools\avr\etc\avrdude.conf,将它们都拷贝出来,放在同一个目录下。AVRDude的配置文件默认搜寻路径中包括当前目录,因此可以把配置文件和可执行程序放在一起。顺便说一下,Arduino安装目录中也包含AVR Libc,但是是经过Arduino项目修改过的。用它应该是没有问题的,但是我还是用了官方出的。

另外,分析一下avrdude.exe的链接关系,发现它依赖于LIBUSB0.DLL,因此,需要把它一同拷贝出来,放在avrdude.exe相同的目录中。所以,AVRDude目录中应包含3个文件:avrdude.exe, avrdude.conf, libusb0.dll。

技术分享图片

技术分享图片

都弄妥后,需要设置PATH环境变量。我喜欢用一个bat批处理来启动Eclipse,这样可以单为Eclipse设置环境变量,而不用修改Windows系统变量。启动脚本如下:

set PATH=%windir%\System32

set JAVA_HOME=C:\Java\jdk_x64\jdk1.8.0_144
set TOOLCHAIN_HOME=%CD%\avr8-gnu-toolchain
set SHELLUTILS_PATH=%CD%\shellutils
set AVRDUDE_PATH=%CD%\avrdude

set PATH=%JAVA_HOME%\bin;%TOOLCHAIN_HOME%\bin;%SHELLUTILS_PATH%;%AVRDUDE_PATH%;%PATH%

start %CD%\eclipse\eclipse.exe  

好吧,我承认,这些PATH其实是不必要的。AVR Eclipse Plugin插件设置中还是需要再设置这些路径的。但是,加到PATH中有一个好处是,可以在Eclipse Terminal中,手工执行一些命令行。接着设置AVR Eclipse Plugin,如下图。需要设置这几个路径:

  • AVR-GCC:Toolchain安装目录下的 bin
  • make:shellutils目录
  • AVR Header Files:Toolchain安装目录下的avr\include
  • AVRDude:

技术分享图片

AVRDude的配置文件路径也需要指定一下,如下图:

技术分享图片

接下来,要增加AVRDUde的“Programmer configuration”。简单地说,Programmer configuration就是调用AVRDude写程序的命令及选项的模板。为确定AVRDude命令及选项,有一个办法是借助Arduino软件。在Arduino软件中下载一个程序到开发板,观察输出区域中的命令调用,例如:

C:\Arduino\arduino-1.8.5\hardware\tools\avr/bin/avrdude -CC:\Arduino\arduino-1.8.5\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 -b115200 -D -Uflash:w:C:\Users\user1\AppData\Local\Temp\arduino_build_421366/Blink.ino.hex:i 

  

技术分享图片

由此可确定,对于 Arudino UNO:

  • 协议为arduino(-c arduino)
  • MCU为atmega328p(-p atmega328p)
  • 串口号为COM4(-P COM4)
  • 波特率为115200(-b 115200)
  • -D选项

依照上述设置,增加Arduino UNO的Programmer configuration,如下。这里主要是选择协议和串口参数,其余选项会由AVR Eclipse Plugin自动补全。可以查看界面底部的命令行预览:

技术分享图片

 

2. Demo工程

搞一个blink Demo工程。新建一个C Project,选择AVR GCC Toolchain,并指定MCU型号和主频。Arduino UNO为 atmega328p,16MHz主频:

技术分享图片

技术分享图片

增加源文件main.c,实现LED闪烁,代码如下。Arduino UNO开发板上LED接在PB5口:

#include <avr/io.h>
#include <util/delay.h>

int main() {

    DDRB = 0xFF;

    for (;;) {
        PINB = 1 << PINB5;
        _delay_ms(500);
        PINB = 0;
        _delay_ms(500);
    }
}

  

需要对工程属性进行一些设置。首先指定生成HEX文件:

技术分享图片

接下来,设置AVRDude有关的参数。Programmer configuration选择先前第一部分中创建的Arduino UNO配置。高级选项卡中启用-D选项。留意前面Arduino软件调用AVRDude的命令行,可以看到它使用了此选项:

技术分享图片

 

技术分享图片

现在可以编译了。选择菜单Project->Build Project,如果成功编译,在Debug目录下会生成blink.hex文件。再选择菜单AVR->Upload Project to Target Device,将HEX文件下载到开发板。留意Console View的输出内容,确认编译和下载成功。如果一切顺利,程序下载到开发板上后,LED会以1s的频率闪烁:

技术分享图片

 

Arduino Eclipse 开发环境

标签:tools   图片   inf   官方   开发板   好处   区域   x64   分享   

原文地址:https://www.cnblogs.com/vinccc/p/8336210.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!