Ubuntu下ARM交叉编译环境配置
2012-11-21 11:31
489 查看
1. 安装标准的C开发环境,由于Ubuntu 9.04 Linux安装默认是不安装的,所以需要先安装一下(如果已经安装好或有套件光盘的话,就可以免去这一步了):
$ sudo apt-get install gcc g++ libgcc1 libg++ make gdb
如果上面这个安装不行,可以试试
$ sudo apt-get install build-essential
2. 下载arm-linux-gcc-4.3.2.tgz到任意的目录下,进入这个文件夹
$ sudo tar xvzf arm-linux-gcc-4.3.2.tgz –C /
注意:C 后面有个空格,并且 C 是大写的,它是英文单词“Change”的第一个字母,
在此是改变目录的意思。
执行该命令,将把 arm-linux-gcc 安装到/usr/loca/arm/4.3.2 目录。
3. 修改环境变量,把交叉编译器的路径加入到PATH。
方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)
$sudo gedit /etc/bash.bashrc
在最后加上export PATH=$PATH:/usr/local/arm/4.3.2/bin
方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用):
$sudo gedit /etc/profile
增加路径设置,在末尾添加如下,保存/etc/profile文件:
export PATH=$PATH:/usr/local/arm/4.3.2/bin
方法三:修改/etc/environment文件
$sudo gedit /etc/environment
原文件应为PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin: /usr/games“将其改为PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin"保存退出即可
4. 立即使新的环境变量生效,不用重启电脑:
对应方法一:$ source /root/.bashrc
对应方法二:$ source /etc/profile
方法三立即生效
5. 检查是否将路径加入到PATH:
$ echo $PATH
显示内容/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin 说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。
6. 测试是否安装成功
$ 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)
7.编译Hello World程序,测试交叉工具链
写下下面的Hello World程序,保存为hello.c
#include
int main()
{
printf("Hello World!\n");
return 0;
}
执行下面的命令:
$ arm-linux-gcc -o hello hello.c
源程序有错误的话会有提示,没有任何提示的话,就是通过了,就可以下载到ARM目标板上运行了! 接着可以输入file hello的命令,查看生成的hello文件的类型,要注意的是生成的可执行文件只能在ARM体系下运行,不能在其于X86的PC机上运行
$ sudo apt-get install gcc g++ libgcc1 libg++ make gdb
如果上面这个安装不行,可以试试
$ sudo apt-get install build-essential
2. 下载arm-linux-gcc-4.3.2.tgz到任意的目录下,进入这个文件夹
$ sudo tar xvzf arm-linux-gcc-4.3.2.tgz –C /
注意:C 后面有个空格,并且 C 是大写的,它是英文单词“Change”的第一个字母,
在此是改变目录的意思。
执行该命令,将把 arm-linux-gcc 安装到/usr/loca/arm/4.3.2 目录。
3. 修改环境变量,把交叉编译器的路径加入到PATH。
方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)
$sudo gedit /etc/bash.bashrc
在最后加上export PATH=$PATH:/usr/local/arm/4.3.2/bin
方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用):
$sudo gedit /etc/profile
增加路径设置,在末尾添加如下,保存/etc/profile文件:
export PATH=$PATH:/usr/local/arm/4.3.2/bin
方法三:修改/etc/environment文件
$sudo gedit /etc/environment
原文件应为PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin: /usr/games“将其改为PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin"保存退出即可
4. 立即使新的环境变量生效,不用重启电脑:
对应方法一:$ source /root/.bashrc
对应方法二:$ source /etc/profile
方法三立即生效
5. 检查是否将路径加入到PATH:
$ echo $PATH
显示内容/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin 说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。
6. 测试是否安装成功
$ 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)
7.编译Hello World程序,测试交叉工具链
写下下面的Hello World程序,保存为hello.c
#include
int main()
{
printf("Hello World!\n");
return 0;
}
执行下面的命令:
$ arm-linux-gcc -o hello hello.c
源程序有错误的话会有提示,没有任何提示的话,就是通过了,就可以下载到ARM目标板上运行了! 接着可以输入file hello的命令,查看生成的hello文件的类型,要注意的是生成的可执行文件只能在ARM体系下运行,不能在其于X86的PC机上运行
相关文章推荐
- Ubuntu,TQ2440,arm-linux,Qt交叉编译环境配置
- ubuntu下arm交叉编译环境配置
- Ubuntu配置安装ARM Linux交叉编译环境完整流程
- Ubuntu16.04系统中BusyBox在配置arm交叉编译环境时make失败
- 在ubuntu上搭建交叉编译环境---arm-none-eabi-gcc
- ubuntu 12.10环境arm-linux-gcc-4.3.2.tgz交叉编译
- Ubuntu16.4(64位)下gcc-linaro-arm-linux-gnueabihf交叉编译环境搭建
- 【Linux学习】Ubuntu下嵌入式交叉编译环境arm-linux-gcc搭建
- 在Ubuntu10.04中建立ARM交叉编译环境
- Ubuntu16.04安装配置嵌入式交叉编译工具链arm-linux-gcc
- QT creator 3.4.1配置arm交叉编译环境(QT5.4.2)
- visual studio 2013上搭建arm交叉编译环境(二) cygwin等软件的安装及配置
- ubuntu 10.04 建立交叉编译环境 arm-linux-gcc-4.3.2
- ubuntu14.0安装arm-linux-gcc交叉编译环境
- Ubuntu 9.10上建立ARM-Linux交叉编译环境
- vmware虚拟机上ubuntu操作系统安装arm-linux-gcc交叉编译环境
- 在Ubuntu13.10上自己动手搭建交叉编译环境arm-linux-gcc-4.8.2
- Ubuntu12.04环境下配置ARM交叉编译环境
- Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Linux下配置交叉编译环境arm-none-eabi-gcc