Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程
来源:互联网 发布:网络电视电视机 编辑:程序博客网 时间:2024/06/05 10:36
搭建所需环境
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
现在交叉编译程序集都在/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目录所在的路径。
编写完使用wq保存退出。
3.使环境变量生效并验证
然后使用命令:
source /etc/profile使环境变量生效(在不同用户下最好都运行一下此语句,例如shgao和root用户下都运行一下)。
检查是否将路径加入到PATH:
echo $PATH显示的内容中有/usr/local/arm-linux-gcc-4.4.3/bin,说明已经将交叉编译器的路径加入PATH。
之后可以使用命令:
arm-linux-gcc -v
查看环境是否搭建成功,如果输出以下内容,代表已经搭建成功:
编译生成二进制文件
然后可以使用命令:
arm-linux-gcc HZK16.cpp -o arm_HZK16
编译生成可以在arm上运行的二进制文件。
因为生成的arm_HZK16为arm上运行的二进制文件,所以在Ubuntu中执行出错,x86_HZK16是用gcc编译器生成的可执行文件,./x86_HZK16运行结果如上。
- Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程
- ubuntu下arm-linux-gcc交叉编译环境搭建
- Ubuntu下Arm-Linux-GCC交叉编译环境的搭建
- Ubuntu下Arm-Linux-GCC交叉编译环境的搭建
- ubuntu arm-linux-gcc-4.4.3交叉编译环境搭建
- Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Ubuntu 16.04[64bit]嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- 64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解
- Ubuntu 14.04 LTS嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Ubuntu 16.04[64bit]嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Ubuntu 16.04[64bit]嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- 【Linux学习】Ubuntu下嵌入式交叉编译环境arm-linux-gcc搭建
- Ubuntu14.04下arm-linux-gcc交叉编译环境搭建
- 定义指针变量时星号的位置
- matlab画一个局部放大的图中图
- 锁的概述
- 第一次使用阿里云(Windows)部署Java后台
- jQuery ajax使用$(this).parent()无效解决方法
- Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程
- 如何为一些常用的工具开启启动快捷键。比如截图工具,qq,浏览器等。
- Linux 启动 ./XX.sh 文件
- java单例
- 使用 Rx 中预定义的 Subject
- jsp中的<%=表达式%>和<%表达式%>有什么区别?
- Spring MVC之@RequestBody, @ResponseBody 详解
- Android学习之使用贝塞尔曲线实现波纹效果
- Vue学习(day1)