如何使用eclipse进行嵌入式Linux的开发

2024年12月03日 02:47
有2个网友回答
网友(1):

  1、安装jdk

  jdk(java development kit)即java开发包,其中包含了运行eclipse所需要的jre. ubuntu缺省安装的gnu版本的jre运行效率不高,所以需要安装sun公司的jre. 首先从sun的网站上下载安装包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网站上下载安装包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
        # 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。

  

  创建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

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

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

  #include 
int main(void)
{
    printf("Hellow world!\n");
    return 0;
}

  进行交叉编译,如下:

  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目录下


网友(2):

您好,很高兴为您解答。

一、安装软件
在ubuntu下安装软件有两种方法:使用apt-get来自动安装或手动安装。用户使用自动安装非常方便,适合初学者。但是安装过程过于依赖资源网站的连接状况,可能需要耗费过多的时间。这里我们推荐手动安装的方式,花的时间比较短。
1、安装jdk
jdk(java development kit)即java开发包,其中包含了运行eclipse所需要的jre. ubuntu缺省安装的gnu版本的jre运行效率不高,所以我们需要安装sun公司的jre. 首先从sun的网站上下载安装包jdk-6u7-linux-i586.bin,然后如下进行安装:
1
2
3
4
5
6
7
8
# 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网站上下载安装包eclipse-SDK-3.4-linux-gtk.tar.gz 和cdt-master-5.0.0.zip
1
2
3
4
5
6
7
8
# cd /opt
# tar zxvf eclipse-SDK-3.4-linux-gtk.tar.gz // 解压生成eclipse目录
# export PATH=/opt/eclipse:$PATH
# 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++工程

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

具体步骤参照:http://www.embedu.org/Column/Column26.htm

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!