本文作者:Bo (https://cn.linkedin.com/pub/bo-yang/5/786/609)
本人初学者, 习惯了 eclipse 的 IDE 环境做开发,如果用Eclipse来支持 Arduino 开发,就可以提供语法检查,函数索引,多项目管理了,甚至还可以用上git 这种高大上的代码管理工具,那将是多么美好的事儿啊 。因此,本人最近在网上找了许多资料尝试,终于成功。总结如下,与君共享。
==========================Part I. IDE开发配置===============================
1. 安装avrdude and AVR 库
Ubuntu下: >sudo apt-get install gcc-avr avr-libc avrdude
Windows下: 下载winavr进行安装,我的版本是WinAVR-20100110-install.exe (http://sourceforge.net/projects/winavr)
2. 安装CDT插件。打开Eclipse,选择Help -> Install New Software…,Work with 选择 Juno update site (如果没有,可以手工添加一个,地址用http://download.eclipse.org/releases/juno),然后选择 “Programming Languages” 下的 “C/C++ Development Tools” ,安装CDT插件。
3. 安装AVR Eclipse插件。选择Help -> Install New Software…,Work with 后的Add,在http中添加avr的源地址 "http://avr-eclipse.sourceforge.net/updatesite/", 等待下方出现avr插件,选择安装。
4. 下载linux 版本的Arduino SDK, "http://arduino.cc/en/Main/Software", 解压到Home下的某目录中(这里放在自建的OSS目录下,以下均按这个目录路径设置)
Windows下可将arduino开发包解压放于某个目录下(如 D:\arduino-0023),我用的版本是arduino-0023。记录该路径,后面的IDE环境配置需要用到。
5. 在eclipse中设定编译环境。在eclipse->Windows->reference,选择左侧AVR下的paths,
Ubuntu下:
*AVR-GCC:选择Edit,path source选择custom, custom value设为 /home/username/OSS/arduino-1.0.1/hardware/tools/avr/bin (username为用户名,需替换,以下同)
*AVR header files: 选择Edit,path source选择custom, custom value设为 /home/username/OSS/arduino-1.0.1/hardware/tools/avr/lib/avr/include
*AVR Dude: 选择Edit,path source选择custom, custom value设为 /home/username/OSS/arduino-1.0.1/hardware/tools
最后,点击apply,点击ok。
Windowns下:
如果WinAVR安装正确,Eclipse是可以自动发现 *AVR-GCC, * GNU make, * AVR header files的,如c:\WinAVR-20100110\bin,所以使用System的默认配置就好,如果没有默认配置,可以点击"Rescan"重新发现。
这里需要custom配置的是*AVR Dude,就是arduino开发包所在的路径,如D:\arduino-0023\hardware\tools\avr\bin
6. 建立avr的静态链接库。(可以通过git导入本空间下的ArduinoCore项目 https://gitlab.com/yeungbo/ArduinoPark/tree/master/ArduinoCore) 或者手工创建:在eclipse中选择new, 然后选择c++ project ->AVR Cross Target Static Library -> emtpy project,project名字为ArduinoCore,然后next,去掉debug的选择,将MCU Type” 和 “MCU Frequency” 设定为ATmega328P 和16MHz (16000000 Hz,6个零) (适合的板子是arduino uno和Arduino Duemilanove)。
7. 在eclipse,右键单击ArduinoCore,选择Properties->c/c++ build → settings -> avr compiler->directories 和 avr c++ compiler->directories,先后添加两个路径,
ubuntu中:
/home/username/OSS/arduino-1.0.1/hardware/arduino/variants/standard 和 /home/username/OSS/arduino-1.0.1/hardware/arduino/cores/arduino。
Windows中:
"D:\arduino-0023\hardware\arduino\cores\arduino" 和 "D:\arduino-0023\hardware\arduino\cores\arduino", 两者一样
8. 在eclipse中,选择ArduinoCore,创建一个arduino目录,在系统中找到 /home/username/OSS/arduino-1.0.1/hardware/arduino/cores/arduino,选择其下所有的文件,但去除main.cpp的选择。然后复制到ArduinoCore下新建的arduino目录中。
在windows中:选择 D:\arduino-0023\hardware\arduino\cores\arduino下所有的文件,但去除main.cpp。然后复制到ArduinoCore下新建的arduino目录中。
9. 最后选择ArduinoCore,选择build project,生成静态库libArduinoCore.a。
10. 创建测试项目。
导入本空间下的Blinky项目 https://gitlab.com/yeungbo/ArduinoPark/tree/master/Blinky。
和上面的方法一样,将他导入eclipse,并把上面生成的 libArduinoCore.a 复制到这个工程中并且覆盖,然后就是配置编译参数了,只是更改几个路径而已,方法同上。最后 build(make all),成功编译,输出和上面的差不多,会在release目录中看到目标文件 Blinky.elf。剩下就是烧录了。
[ 發表回應 ] ( 10預覽 ) | 常註連結 | 相關鍵接 | ( 3 / 1418 )