arm-linux-gcc编译,armlinuxgcc环境配置

各位老铁们,大家好,今天由我来为大家分享arm-linux-gcc编译,以及armlinuxgcc环境配置的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

GCC能否运行于ARM-Linux环境下即GCC能否在ARM平台上运行

简答:

gcc可以运行在arm-linux下。

gcc,可以在arm平台上运行。

详解:

gcc,一般指的是,pc版,x86的平台,

用于嵌入式系统,比如arm的cpu,linux的系统下,是:

本来,一直就可以的,

而且有专门的属于:

交叉编译

简答说就是:

在你的pc端,x86的cpu上,制作出一个交叉编译器

一般叫做arm-linux-gcc

用此arm-linux-gcc去编译你的程序

编译出来的程序,可以运行在嵌入式开发板,比如arm的linux下

极其详尽的解释:

我刚写个教程,你去看就知道了:

交叉编译详解

交叉编译详解

此教程的主要内容包括:

了什么是交叉编译

为何要有交叉编译

什么是工具链

什么是交叉工具链

交叉编译器的名字的命名规则:包括你这里所说的arm-linux-gcc的含义

如何获得交叉编译器

制作交叉编译器的各种工具:简介了常见的crosstool-ng,buildroot,crosstool等等工具

使用已有的交叉编译器和自己手动编译交叉编译器之间的对比

交叉编译方面的心得和注意事项

等你看完了后,建议用crosstool-ng,或者是buildroot去自己编译一个arm-linux的gcc。

arm-linux-gcc在linux上编译出在arm上运行的代码

为了在Linux上编译出可在ARM处理器上运行的代码,通常使用的是名为arm-linux-gcc的编译器。这个工具主要依赖于GNU工具链,它包括了多种编译器,链接器以及其它支持库。

如果您需要在Windows操作系统下使用arm-linux-gcc进行编译,那么您需要在Windows环境中安装一个兼容的编译环境。您可以寻找第三方提供的Windows兼容版本,或者安装一些在Windows上运行的虚拟环境,如Cygwin或者MinGW,这些环境模拟了Linux的运行环境,允许您在Windows下使用Linux工具,包括arm-linux-gcc。

至于ARM和MIPS架构的代码编译,arm-linux-gcc通常支持ARM架构,而对于MIPS架构的代码编译,您可以寻找支持MIPS架构的gcc版本,例如MIPS-Toolchain。

Codesourcery是提供嵌入式开发工具链的公司,其官方提供了2010版本的arm-gxx工具链,详情可参阅sourcery.mentor.com/GNU和mentor.com/embedded-software-engineering。这些资源提供了一系列的编译工具,包括arm-linux-gcc,适合在ARM处理器上运行的代码编译。

综上所述,在Linux环境下使用arm-linux-gcc编译ARM处理器的代码是可行的,且针对不同架构的代码编译,您需要选择对应架构的gcc版本。至于在Windows环境下使用,可以通过安装兼容环境或者虚拟机来实现。

如何制作arm-linux-gcc编译工具

一、下载源文件

源代码文件及其版本:

binutils-2.19.tar.bz2, gcc-core-4.4.4.tar.bz2 gcc-g++-4.4.4.tar.bz2 Glibc-2.7.tar.bz2 Glibc-ports-2.7.tar.bz2 Gmp-4.2.tar.bz2 mpfr-2.4.0.tar.bz2mpc-1.0.1.tar.gz Linux-2.6.25.tar.bz2(由于我在编译出错的过程中,根据出错的信息修改了相关的C代码,故而没有下载相应的补丁)

一般一个完整的交叉编译器涉及到多个软件,主要包括bilinguals、cc、glibc等。其中,binutils主要生成一些辅助工具;gcc是用来生成交叉编译器,主要生成arm-linux-gcc交叉编译工具,而glibc主要提供用户程序所需要的一些基本函数库。

二、建立工作目录

编译所用主机型号 fc14.i686,虚拟机选的是VM7.0,Linux发行版选的是Fedora9,

第一次编译时用的是root用户(第二次用一般用户yyz),所有的工作目录都在/home/yyz/cross下面建立完成,首先在/home/yyz目录下建立cross目录,然后进入工作目录,查看当前目录。命令如下:

创建工具链文件夹:

[root@localhost cross]# mkdir embedded-toolchains

下面在此文件夹下建立如下几个目录:

setup-dir:存放下载的压缩包;

src-dir:存放binutils、gcc、glibc解压之后的源文件;

Kernel:存放内核文件,对内核的配置和编译工作也在此完成;

build-dir:编译src-dir下面的源文件,这是GNU推荐的源文件目录与编译目录分离的做法;

tool-chain:交叉编译工具链的安装位;

program:存放编写程序;

doc:说明文档和脚本文件;

下面建立目录,并拷贝源文件。

[root@localhost cross]#cd embedded- toolchains

[root@localhost embedded- toolchains]#mkdir setup-dir src-dir kernel build-dir tool-chain program doc

[root@localhost embedded- toolchains]#ls

build-dir doc kernel program setup-dir src-dir tool-chain

[root@localhost embedded- toolchains]#cd setup-dir

拷贝源文件:

这里我们采用直接拷贝源文件的方法,首先应该修改setup-dir的权限

[root@localhost embedded- toolchains]#chmod 777 setup-dir

然后直接拷贝/home/yyz目录下的源文件到setup-dir目录中,如下图:

建立编译目录:

[root@localhost setup-dir]#cd../build-dir

[root@localhost build-dir]#mkdir build-binutils build-gcc build-glibc

三、输出环境变量

输出如下的环境变量方便我们编译。

为简化操作过程。下面就建立shell命令脚本environment-variables:

[root@localhost build-dir]#cd../doc

[root@localhost doc]#mkdir scripts

[root@localhost doc]#cd scripts

用编辑器vi编辑环境变量脚本envionment-variables:[root@localhost scripts]

#vi envionment-variables

export PRJROOT=/home/yyz/cross/embedded-toolchains

export TARGET=arm-linux

export PREFIX=$PRJROOT/tool-chain

export TARGET_PREFIX=$PREFIX/$TARGET

export PATH=$PREFIX/bin:$PATH

截图如下:

执行如下语句使环境变量生效:

[root@localhost scripts]# source./environment-variables

四、建立二进制工具(binutils)

下面将分步介绍安装binutils-2.19.1的过程。

[root@localhost script]# cd$PRJROOT/src-dir

[root@localhost src-dir]# tar jxvf../setup-dir/binutils-2.19.1.tar.bz2

[root@localhost src-dir]# cd$PRJROOT/build-dir/build-binutils

创建Makefile:

[root@localhost build-binutils]#../../src-dir/binutils-2.19.1/configure--target=$TARGET--prefix=$PREFIX

在build-binutils目录下面生成Makefile文件,然后执行make,make install,此过程比较缓慢,大约需要一个15分钟左右。完成后可以在$PREFIX/bin下面看到我们的新的binutil。

输入如下命令

[root@localhost build-binutils]#ls$PREFIX/bin

阅读剩余
THE END