linux下搭建基于Eclipse的arm的开发环境

经过一段时间的摸索,终于把linux下搭建基于Eclipse的arm的开发环境给搭建起来了,做下笔记,以便日后查看。

0. 用的linux版本是Ubuntu 9.04

    用的板子是FriendlyARM s3c2440

1. 准备好相应的软件包:

    arm-linux-gcc-3.4.1.tar.bz2(网上现成的交叉编译工具,有兴趣的话也可以自己重头编译)

                                 地址:ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2

    jdk-6u21-linux-i586.bin(其实这里jre应该也够了,装个jdk以备以后开发java程序需要)

                                 地址:http://www.oracle.com/us/sun/index.html

    eclipse-cpp-helios-linux-gtk.tar.gz

                                 地址:http://www.eclipse.org/downloads/

2. 首先建立交叉编译环境

    (1) 将arm-linux-gcc的压缩包arm-linux-gcc-2.95.3.tar.gz解压缩;eclipse-cpp-helios-linux-gtk.tar.gzeclipse-cpp-helios-linux-gtk.tar.gz

         $ sudo tar vxjf arm-linux-gcc-3.4.1.tar.bz2

    (2) 将路径usr/local下的arm目录拷贝到你自己系统的/usr/local下;

         cd ./usr/local
         $ sudo mv arm /usr/local

    (3) 修改环境变量,把交叉编译器的路径加入到PATH。(有三种方法,强烈推荐使用方法一,我也不知道为啥,网上说的)

         方法一:修改/etc/bash.bashrc文件
               $ sudo vi /etc/bash.bashrc    在最后加上:
                export PATH=$PATH:/usr/local/arm/3.4.1/bin(注意,这里的等号前后不能有空格,下同)

                export PATH
方法二:修改/etc/profile文件:(经测试发现,方法二必须重新启动,使用source的话换个终端就无效了)
               $ sudo  vi /etc/profile        增加路径设置,在末尾添加如下:
                export PATH=$PATH:/usr/local/arm/3.4.1/bin
    方法三:#export PATH=$PATH:/usr/local/arm/3.4.1/bin   注:(这只能在当前的终端下才是有效的!)

         总结:在这里我们还是用第二种方式吧,第一种方式Eclipse识别不出来的  -- 2010-10-10 9:47

    (4) 保存对profile的修改后,执行source /etc/bash.bashrc 就OK了,该命令能立即使新的环境变量生效,不用重启电脑; 

          用$ echo $PATH 检查是否将路径加入到PATH

    (5) 测试是否安装成功:$ arm-linux-gcc -v

3. 安装Eclipse运行所需的jre,这里以jdk替代

    (1) 安装jdk-6u21-linux-i586.bin

view plaincopy to clipboardprint?

  1. $ cd /usr/local/lib  
  2. $ sudo cp /home/jdk-6u4-linux-i586.bin ./  
  3. $ sudo chmod +x jdk-6u4-linux-i586.bin  
  4. $ sudo ./jdk-6u4-linux-i586.bin  

$ cd /usr/local/lib $ sudo cp /home/jdk-6u4-linux-i586.bin ./ $ sudo chmod +x jdk-6u4-linux-i586.bin $ sudo ./jdk-6u4-linux-i586.bin

    (2) 设置环境变量

         在/etc/profile中加入如下的内容:

         (由上面可知这里用的是第一种方法,其实我暂时也没搞明白具体区别在哪里,姑且这样这着吧)

view plaincopy to clipboardprint?

  1. JAVA_HOME=/usr/local/lib/jdk1.6.0_21  
  2. JRE_HOME=/usr/local/lib/jdk1.6.0_21/jre  
  3. CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib  
  4. PATH=$PATH:$JAVA_HOME/bin 
  5. export JAVA_HOME JRE_HOME CLASSPATH  

JAVA_HOME=/usr/local/lib/jdk1.6.0_21 JRE_HOME=/usr/local/lib/jdk1.6.0_21/jre CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin export JAVA_HOME JRE_HOME CLASSPATH

    (3) source /etc/profile

    (4) java -version

4. 安装Eclipse

    (1) 解压Eclipse

view plaincopy to clipboardprint?

  1. sudo tar zxvf eclipse-cpp-helios-linux-gtk.tar.gz -C /usr/local/dev  

sudo tar zxvf eclipse-cpp-helios-linux-gtk.tar.gz -C /usr/local/dev

    (2) 把Eclipse的编译器配置成arm-linux-gcc

          解压完以后我们就能在相应的目录找到Eclipse文件了,双击打开运行。

          新建一个工程以后选择工程的Properties,在弹出的页面上进行如下图设置:

          加了一个名为arm的编译方式以后,将它下面GCC C Compiler和GCC C Linker的Command改成arm-linux-gcc,然后就万事OK了,你现在就可以通过Eclipse利用arm-linux-gcc来进行交叉编译了。

5.PC开启NFS与开发板链接

      PC上编译好的东西必须拿到板子上才能运行,拿U盘拷来拷去好像有点不太现实,我们利用NFS挂载就可以轻松解决这个问题。

   (1) 安装

      在Ubuntu系统下,使用NFS需要首先安装以下NFS的软件包

      服务器端 : nfs-common、nfs-kernel-server、portmap;

      客户端:nfs-common、portmap;

      在服务器端安装软件包的命令式:$sudo apt-get install nfs-kernel-server

       (安装nfs-kernel-server时,apt会自动安装nfs-common和portmap)

      目标板上的Linux系统由Linux内核和busybox共同提供对NFS的支持,不必安装其他的NFS客户端。

   (2) 配置

      NFS的配置文件是/etc/exports。

      在该文件后面加一行:/home/xxx/workspace *(rw,no_root_squash)  使目录/home/xxx/workspace允许所有的IP以读写的权限来访问。

   (3) 使用

      使用之前必需开启NFS服务:$sudo /etc/init.d/nfs-kernel-server start

      当然,使用之后可以关闭NFS服务:$sudo /etc/init.d/nfs-kernel-server stop

      首先在Linux服务器上进行NFS服务器的回环测试,验证共享目录能否被访问。

       $ mount -t nfs 192.168.1.1:/home/xxx/workspace /mnt

       $ ls /mnt

      启动开发板后在目标系统的Linux Shell下

       $ mount -t nfs 192.168.1.1:/home/xxx/workspace /mnt/nfs -o nolock

       $ ls /mnt/nfs

      如果成功开发板就可以直接运行主机上的程序了。

你可能感兴趣的:(linux,开发,ARM,软件包,网上)