前言
在嵌入式Linux开发中,无论是应用还是驱动开发,一般都是采用交叉编译的方式,对Arm平台进行开发。但是因为系统架构的差异,比方在x86架构的Ubuntu系统下的可执行文件,则无法在windows平台和arm平台上执行,为了解决这个问题,则需要用到适用于目标平台的交叉编译工具链,来完成程序的编译,以适配目标平台的系统架构。
一、什么是交叉编译?
交叉编译是在系统架构不同的两个平台上进行的,通常是指在资源富余和性能较好的PC宿主机上,通过交叉编译工具链去编译目标机程序的过程。
例如在X86架构的Ubuntu系统中,通过arm-linux-gnueabihf编译工具链来编译在arm架构平台中执行的程序。
二、交叉编译环境搭建步骤
1.获取交叉编译工具链
下载交叉编译工具链可到linaro官网下载与arm官方下载
1.1 linaro官方
https://releases.linaro.org/components/toolchain/binaries
PS:下载时注意arm,armel是小端字节序编译器,armeb是大端字节序编译器
1.2 arm Developer(arm官方)
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
2.配置环境变量
2.1 将下载到的交叉编译工具链的压缩包
tar -xvf gcc编译工具链压缩包名称
2.2 找到gcc编译工具所在路径,将该路径添加到/home/用户名/.bashrc或者/etc/profile文件内
(1)查看编译工具链所在路径
进入解压之后的文件夹的bin文件夹,进入之后在终端输入pwd查看路径信息
(2)以.bashrc为例,用vim编辑器打开
sudo vi ~/.bashrc
(3)添加路径
export PATH=$PATH:步骤(1)查询到的gcc编译工具所在路径
(4)即时生效
source ~/.bashrc
(5)终端查看交叉编译器版本,验证是否配置成功
arm-linux-gnueabihf-gcc -v
总结
本文介绍了arm平台开发的交叉编译环境的简单搭建,总的来说就是下载交叉编译工具链,配置编译工具链环境变量。欢迎各位路过的道友共同交流,也请多多指正。