完整的ubuntu eclipse下arduino开发环境搭建,也可以用于windows...-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5331|回复: 0

完整的ubuntu eclipse下arduino开发环境搭建,也可以用于windows...

[复制链接]
发表于 2012-10-30 14:42 | 显示全部楼层 |阅读模式
根据一个国外的帖子整理的,写c++代码和上传到arduino都在eclipse中完成,步骤比较多,但是建立后,之后的工作就是替换main.cpp中的setup和loop部分代码即可。不过用c就可以了。

1. 安装avrdude and AVR 库:
sudo apt-get install gcc-avr avr-libc avrdude
2. 安装CDT插件 。打开Eclipse,选择Help -> Install New Software…,Work with 选择 Indigo update site,然后选择 “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目录下,以下均按这个目录路径设置)
5. 在eclipse中设定编译环境。在eclipse->Windows->Preference,选择左侧AVR下的paths,
           *AVR-GCC:选择Edit,path source选择custom, custom value设为                                         /home/maphysart/OSS/arduino-1.0.1/hardware/tools/avr/bin ( maphysart为用户名,需替换,以下同)
           *AVR header files: 选择Edit,path source选择custom, custom value设为                                 /home/maphysart/OSS/arduino-1.0.1/hardware/tools/avr/lib/avr/include
           * AVR Dude: 选择Edit,path source选择custom, custom value设为                                            /home/maphysart/OSS/arduino-1.0.1/hardware/tools
        最后,点击apply,点击ok。
      6.  建立avr的静态链接库。在eclipse中选择new, 然后选择c++ project ->AVR Cross Target Static Library -> emtpy project,project名字为ArduinoCore,然后next,去掉debug的选择,将MCU Type” 和“MCU Frequency”设定为ATmega328P 和16MHz (16000000 Hz) (适合的板子是arduino uno和Arduino Duemilanove)。
      7. 在eclipse,右键单击ArduinoCore,选择Properties->c/c++ build → settings -> avr c++ compiler->directories,先后添加 两个路径, /home/maphysart/OSS/arduino-1.0.1/hardware/arduino/variants/standard 和 /home/maphysart/OSS/arduino-1.0.1/hardware/arduino/cores/arduino。
      8.  在eclipse,右键单击ArduinoCore,选择import -> general -> file system,然后next,在目录中选择 /home/maphysart/OSS/arduino-1.0.1/hardware/arduino/cores/arduino,选择所有的文件,但去除对main.cpp的选择。然后点击finish。
     9. 最后选择ArduinoCore,选额build project,生成静态库。
     10. 创建测试项目。在eclipse中New,然后 “C++ Project” -》AVR Cross Target Application” -》“Empty Project”,项目名称为TestProject,next,去掉debug的选择,然后next,同样设定MCU type和频率。
     11.右键点击新建的TestProject,然后选择Properties下的C/C++ Build,在“AVR Compiler” 和 “AVR C++ Compiler”两区域下directories,中类似添加两个路径, /home/maphysart/OSS/arduino-1.0.1/hardware/arduino/variants/standard 和 /home/maphysart/OSS/arduino-1.0.1/hardware/arduino/cores/arduino,并添加${workspace_loc:/${ProjName}}。
   12. 在“AVR C++ Linker”区域中,设定command line  pattern为
        ${COMMAND} --cref -s -Os ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} -lm ${FLAGS}
   13. 然后在AVR C++ linker区域下的Libraries下,添加library path  ${workspace_loc:/ArduinoCore/Release}  (即刚才建立的静态库的位置),在libraries下添加ArduinoCore。
   14.在左侧的Project reference中,勾选ArduinoCore。
   15. 选择TestProject,添加一个新的source file,名为main.cpp,拷贝进下面的代码,并保存项目。代码就是简单的blink例子的代码。注意,在cpp中不要使用new,delete等分配内存,以及在main函数中不要有return语句,main部分不用动。在setup和loop中添加代码即可。

#include <Arduino.h>
 
int ledPin =  13;    // LED connected to digital pin 13
 
// The setup() method runs once, when the sketch starts
void setup()   {
  // initialize the digital pin as an output:
  //setup 初始化的代码
  pinMode(ledPin, OUTPUT);
}
 
// the loop() method runs over and over again,
// as long as the Arduino has power
 
void loop()
{
  //添加loop部分的代码
  digitalWrite(ledPin, HIGH);   // set the LED on
  delay(1000);                  // wait for a second
  digitalWrite(ledPin, LOW);    // set the LED off
  delay(1000);                  // wait for a second
}
 
 
int main(void) {
 
  init(); //启动arduino所必需的
  setup();  //对应于arduino ide中的setup部分
 
  while(true) {
    loop(); //对应于arduino ide中的loop
  }
}
   16. build project。
   17. 上传到uno中。在windows->preference-> avr -> avrdude中,勾选Use custom configuration file for AVRDude,然后AVRDude config file指定为 /home/maphysart/OSS/arduino-1.0.1/hardware/tools/avrdude.conf ,然后apply,ok。
   18. 在eclipse中,选择建立的TestProject项目,右键单击选择Properties,选择avr → avrdude,在programmer configuration中选择new,configuration name设定为Arduino uno,programmer hardware选额arduino,Override default port设为连接uno后的端口  /dev/ttyACM0 , Override default baudrate选择为115200,最后ok。然后在programmer configuration中选择新建的Arduino uno。

   19.最后执行eclipse菜单中的AVR-> upload project to target device即可。

参考英文原文:
http://horrorcoding.altervista.o ... -setup/#comment-246
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-27 07:45 , Processed in 0.068296 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表