eclipse是著名的跨平台的集成开拓环境(IDE),最初是由IBM公司开拓的替代商业软件Visual Age For Jave的下一代开拓环境。
2001年,IBM将eclipse贡献给开源社区,现在由eclipse基金会管理。
2005年7月,eclipse稳定版3.1.0发布,目前最新的稳定版本是3.4。

eclipse本身只是一个框架平台,最初紧张用于java措辞的开拓。
但是浩瀚插件的支持使得eclipse同样可以用来开拓其他的措辞,如c/c++、c#、perl、cobol的等等。
cdt(c/c++ development toolkit)便是支持c/c++开拓的插件。
许多软件开拓商也以eclipse为框架推出了自己的集成开拓环境。
由于eclipse平台用java实现,以是运行时须要jre(java runtime environment)的支持。
下面我们以ubuntu(linux发行版的一种)为例,先容如何在linux上利用 eclipse+cdt来进行嵌入式Linux运用程序的开拓。

一、安装软件

jsp环境一键安装包linuxlinux eclipse的安装和应用教程 Vue.js

在ubuntu下安装软件有两种方法:利用apt-get来自动安装或手动安装。
用户利用自动安装非常方便,适宜初学者。
但是安装过程过于依赖资源网站的连接状况,可能须要耗费过多的韶光。
这里我们推举手动安装的办法,花的韶光比较短。

1、安装jdk

jdk(java development kit)即java开拓包,个中包含了运行eclipse所须要的jre. ubuntu缺省安装的gnu版本的jre运行效率不高,以是我们须要安装sun公司的jre. 首先从sun的网站上(http://java.sun.com/javase/downloads/index.jsp)下载安装包jdk-6u7-linux-i586.bin,然后如下进行安装:

# mkdir -p /opt/java

# ./jdk-6u7-linux-i586.bin // 实行自解压文件,天生目录

# mv jdk1.6.0_07 /opt/java // 把目录移到/opt/java下

# cd /opt/java

# ln -s jdk1.6.0_07 jdk

# mv /etc/alternatives/java /etc/alternatives/java.gnu

# ln -s /opt/java/jdk/bin/java /etc/alternatives/java

# export JAVA_HOME=/opt/java/jdk // 设置环境变量

2、安装eclipse和cdt

从eclipse网站上(http://www.eclipse.org/)下载安装包eclipse-SDK-3.4-linux-gtk.tar.gz 和cdt-master-5.0.0.zip

# cd /opt

# tar zxvf eclipse-SDK-3.4-linux-gtk.tar.gz // 解压天生eclipse目录

# export PATH=/opt/eclipse:$PATH/p>

# mkdir -p /opt/cdt

# cd /opt/cdt

# unzip cdt-master-5.0.0.zip

# cp -r plugins/ /opt/eclipse/plugins/

# cp -r features/ /opt/eclipse/features/

二、创建c/c++工程

假设我们已经在linux上安装好了arm交叉工具链,下面先容如何创建、交叉编译和调试c/c++工程。
为了更直不雅观的解释,我们截取了干系的图片:

进入eclipse安装路径后,运行eclipse

eclipse运行界面

创建c 工程

利用缺省的Linux GCC工具链

进入c/c++ 界面

添加源代码文件1

添加源代码文件2

编辑代码

设置工程属性,指定交叉工具链1

设置工程属性,指定交叉工具链2

设置工程属性,指定交叉工具链3

编译工程

已天生arm平台可实行代码

配置调试选项

设置Debugger和 GDB debugger选项

设置连接类型为TCP,目标板的ip地址和调试端口号。
端口号任意指定,常日大于1024(避免和系统所用端口号冲突)

在开拓板上运行程序,格式如上图所示:gdbserver是交叉调试赞助程序;192.168.0.150是主机的ip地址;1234是调试端口号,和eclipse调试选项里设定的端口号要同等

点击Debug,进入调试界面

实行到断点

eclipse的调试界面和操作和在windows下开拓类似,相信到了这一步,大家已经可以很方便来进行运用程序的开拓了。

所需开拓工具及环境

虚拟机Linux:Fedora 9交叉编译工具:arm-linux-gcc-3.4.1.tar.bz2集成开拓工具:Eclipse(Linux安装包中自带的,安装Linux时选中安装)

安装ARM交叉编译器

1. 安装。
实在很大略,便是将下载的arm-linux-gcc-3.4.1.tar.bz2解压到Linux根目录即可(由于解压后已经包含了/usr/local目录,以是要解压到根目录),如下命令:

tar-jxvf arm-linux-gcc-3.4.1.tar.bz2-C/

解压后的目录如下图:

解压后的目录/usr/local/arm/3.4.1/

2. 设置环境变量。
便是把交叉编译器的路径设置到系统环境变量里面去。

echo$PATH

查看现有的环境变量,显示如下图:

如果你只想临时添加交叉编译器的环境变量(注:临时添加的系统重启或注销后又没有了),只需在命令行输入如下命令:

export PATH=$PATH:/usr/local/arm/3.4.1/bin

添加后的环境变量如下图:(多了一个/usr/local/arm/3.4.1/bin)

如果你想这个环境变量永久的添加到系统的环境变量中,则你只需把这个命令添加到/root/.bashrc文件的末了一行即可(这个文件是隐蔽文件,你要在文件浏览器中单击查看菜单,勾选显示隐蔽文件才能看到)

3. 测试建立的交叉编译环境。
新建一个c程序,文件名:test.c, 如下:

#include

intmain(void)

{

printf(\"大众Hellow world!\n\"大众);

return0;

}

进行交叉编译,如下:

arm-linux-gcc-o test test.c

将交叉编译好的目标文件test下载到ARM开拓板中并运行,如下:

./test

输出结果为:

Hellow world!

用集成开拓工具Eclipse来开拓嵌入式运用程序

双击Eclipse图标启动Eclipse

设置Eclipse的事情空间,便是选个目录,单击OK

启动后的主界面

开始新建一个运用程序工程

选择新建一个C工程,单击Next

给工程取个名字,这里我就叫test_app;然后选择工程类型,我选择了个Hellow world C工程模版,单击Next

填写作者、版权等信息,单击Next

没什么选的,点击Finish

单击Yes

新建好的项目工程

展开左边的源代码目录,双击打开主函数。
这里只是输出一句\"大众Hello World!!!\"大众,你可以做一些其他繁芜的运用

单击Project菜单,去掉Build Automatically的勾选,由于勾选的话,每次修正一个地方工程都会自动进行编译

打开工程的属性对话框进行编译选项的设置

我们的运用程序终极要到嵌入式arm上运行,这里就要把gcc改成arm-linux-gcc编译器,当然条件是你要在你的开拓主机上先安装arm-linux-gcc

C连接器也要改成arm-linux-gcc

这里的Libraries是设置你的运用程序中用到的库文件,比如运用程序中用到了线程类,则这里在上面添加pthread这个库,下面就添加这个库的路径。
如果运用程序没用到任何库文件就不用管了

选中左侧的工程名,右键,在弹出的菜单中选择Build Project编译工程

编译好后的工程,目标文件在Debug目录下

结束语

建立交叉编译环境是开拓嵌入式程序的第一步,编译器版本也有很多,这里就先容用的较多的一种。
而Eclipse则是本人认为开拓嵌入式运用程序最为方便的集成开拓工具,他不仅让全体工程清晰可见,更主要的是他不须要你去为全体工程编写繁芜的Makefile文件,他会为你自动天生Makefile。

ubuntu上安装arm交叉编译环境arm-linux-gcc

首先下载 arm-linux-gcc-4.3.2.tgz,这个就不多说了,重点先容一下怎么安装。
将 arm-linux-gcc-4.3.2.tgz 文件拷贝到 Ubuntu 的主文件夹下,在 Ubuntu 中新建一个终端,以root用户运行,输入下面的命令安装交叉编译器:

#tar zxvf arm-linux-gcc-4.3.2.tgz

解压后会产usr文件夹,将这个目录下的usr/local/arm的arm文件夹复制到文件系统的usr/local目录下,命令为

#mv usr/local/armusr/local

然后把交叉编译器路径添加到系统环境变量中,

在终端中实行:

gedit /etc/profile

添加以下四行到该文件中:

export PATH=/usr/local/arm/4.3.2/bin:$PATH

export TOOLCHAIN=/usr/local/arm/4.3.2

export TB_CC_PREFIX=arm-linux-

export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi