Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程

先看这个: 资料

                  https://blog.csdn.net/gsh_hello_world/article/details/56277182

                  https://blog.csdn.net/gsh_hello_world/article/details/81335955

搭建所需环境

Linux版本:Ubuntu 14.10   

交叉编译器版本:arm-linux-gcc-4.4.3资源链接

何为交叉编译环境

搭建交叉编译环境,即安装、配置交叉编译工具链。在Ubuntu环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。

   交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链,arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。

   gcc和arm-linux-gcc的区别就是gcc是linux下的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc用来在linux下跨平台的C语言编译器,编译出来的程序在目标机(如ARM平台)上执行,嵌入式开发应使用嵌入式交叉编译工具链。

 

搭建步骤

1.解压缩

下载arm-linux-gcc-4.4.3.tar.gz压缩包,并将其放在/usr/local/目录下,使用解压缩命令将其解压缩至该文件夹内:

tar zxvf arm-linux-gcc-4.4.3.tar.gz


Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程_第1张图片

 

现在交叉编译程序集都在/usr/local/arm-linux-gcc-4.4.3/bin文件夹下。

 

2.配置环境变量

配置环境变量,把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。记下上一步中的安装路径,使用命令:vi /etc/profile编辑profile文件,添加环境变量, 在profile中最后一行添加:

  export PATH=$PATH:/usr/local/arm-linux-gcc-4.4.3/bin  

这个路径就是那个bin目录所在的路径。

Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程_第2张图片

 

编写完使用wq保存退出。

 

3.使环境变量生效并验证

然后使用命令:

source /etc/profile 

使环境变量生效(在不同用户下最好都运行一下此语句,例如shgao和root用户下都运行一下)。

检查是否将路径加入到PATH:

echo $PATH

 

显示的内容中有/usr/local/arm-linux-gcc-4.4.3/bin,说明已经将交叉编译器的路径加入PATH。

 

之后可以使用命令:

arm-linux-gcc -v

查看环境是否搭建成功,如果输出以下内容,代表已经搭建成功:

Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程_第3张图片

编译生成二进制文件

然后可以使用命令:

arm-linux-gcc HZK16.cpp -o arm_HZK16

编译生成可以在arm上运行的二进制文件。

Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程_第4张图片

因为生成的arm_HZK16为arm上运行的二进制文件,所以在Ubuntu中执行出错,x86_HZK16是用gcc编译器生成的可执行文件,./x86_HZK16运行结果如上。

 

你可能感兴趣的:(ubuntu)