Debian下构建嵌入式交叉编译环境

在Debian下构建嵌入式交叉编译环境

1. 安装标准的C开发环境,由于Linux安装默认是不安装的,所以需要先安装一下.
 #sudo apt-get install gcc g++ libgcc1 libg++ make gdb

(推荐使用:apt-get install build-essential 代替上面的安装)

2. 下载arm-linux-gcc-4.3.2.tgz到任意的目录下,我把它下载到了我的个人文件夹里 /home/fdp/mini2440/setup-dir
  arm-linux-gcc-4.3.2.tgz 的下载地址如下:http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-4.3.2.tgz

3. 解压
arm-linux-gcc-4.3.2.tgz
  #tar zxvf arm-linux-gcc-4.3.2.tgz -C /

    直接解压到usr/local/  之下
    现在交叉编译程序集都在/usr/local/arm/4.3.2/bin下面了

4. 修改环境变量,把交叉编译器的路径加入到PATH。(有三种方法,强烈推荐使用方法一)
     方法一:修改/etc/bash.bashrc文件
                      #vim /etc/bash.bashrc
                      在最后加上:
                      export PATH=$PATH:/usr/local/arm/3.4.1/bin
                      export PATH
    方法二:修改/etc/profile文件:
                       # vim /etc/profile
                      增加路径设置,在末尾添加如下,保存/etc/profile文件:
                      export PATH=$PATH:/usr/local/arm/3.4.1/bin
    方法三:#export PATH=$PATH:/usr/local/arm/3.4.1/bin
                  注:(这只能在当前的终端下才是有效的!)

5. 立即使新的环境变量生效,不用重启电脑:
     对应方法一:#source /etc/bash.bashrc

      对应方法二:# source /etc/profile

6. 检查是否将路径加入到PATH:
      # echo $PATH
  显示的内容中有/usr/local/arm/bin,说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。
7. 测试是否安装成功
   # arm-linux-gcc -v
  上面的命令会显示arm-linux-gcc信息和版本,这是我显示的信息:
   Using built-in specs.
  Target: arm-none-linux-gnueabi
  Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-   pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2008q3-72' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)

8.编译Hello World程序,测试交叉工具链
  写下下面的Hello World程序,保存为hello.c
    #include <stdio.h>
    int main()
    {
    printf("Hello World!/n");
       return 0;
    }
   
    执行下面的命令:
    # arm-linux-gcc -o hello hello.c
    源程序有错误的话会有提示,没有任何提示的话,就是通过了,就可以下载到ARM目标板 上运行了! 接着可以输入file hello的命令,查看生成的hello文件的类型,要注意的是生成的可执行文件只能在ARM体系下运行,不能在其于X86的PC机上运行。

你可能感兴趣的:(Debian下构建嵌入式交叉编译环境)