【嵌入式Linux环境搭建-06】交叉编译器安装

该文详细介绍了如何在Ubuntu环境下安装和配置ARM架构的交叉编译器,包括Linaro的arm-linux-gnueabihf和aarch64-linux-gnu编译器。步骤包括下载压缩包、创建目标目录、解压、更新环境变量,并在Makefile中指定ARCH和CROSS_COMPILE以适应不同硬件平台。

7.交叉编译器安装

如果我们想在 ARM上运行,就要使用 ARM的编译器,然后在 X86 上进行编译。因为我们使用ARM的编译器编译完了之后,是把我们的可执行程序放到开发板上来运行,而不是在 PC 上运行的,这个过程大家可以把它理解成交叉,然后再和我们的编译器结合起来就叫做交叉编译器。交叉编译器的种类有很多,我们使用的是Linaro公司的 arm 交 叉 编 译 器 , 这是交叉编译器的地址 ,https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/

imx6ull交叉编译器安装过程

  • 找到压缩包,复制到win_share下的imx6ull文件夹下
  • Ubuntu中
$ cd /usr/local                      //这个地址无所谓,可以习惯性放这
$ sudo mkdir arm-linux-gnueabihf     //新建一个放他的目录
//把它放新建的目录里
$ cd /mnt/hgfs/win_share/imx6ull
$ cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm-linux-gnueabihf/
//解压
$ cd /usr/local/arm-linux-gnueabihf/                                         //来到复制过来的目录
$ sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz   //解压

//添加到环境变量
$ vim ~/.bashrc         //编辑器打开
//最后一行写入
$ export PATH=$PATH:/usr/local/arm-linux-gnueabihf/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
$ source ~/.bashrc //使启动脚本修改生效

//控制台上输入 arm- 输入一个Tap 他会自动帮我们补全,然后我们输入一个 gcc -v (中间有空格)
$ arm-linux-gnueabihf-gcc -v

jeston nano交叉编译器安装过程

  • 找到压缩包,复制到win_share下的jeston nano文件夹下
  • Ubuntu中
$ cd /usr/local                      //这个地址无所谓,可以习惯性放这
$ sudo mkdir aarch64-linux-gnu       //新建一个放他的目录
//把它放新建的目录里
$ cd /mnt/hgfs/win_share/jeston nano
$ sudo cp gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz /usr/local/aarch64-linux-gnu/
//解压
$ cd /usr/local/aarch64-linux-gnu/                                         //来到复制过来的目录
$ sudo tar -xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz   //解压

//添加到环境变量
$ vim ~/.bashrc         //编辑器打开
//最后一行写入
$ export PATH=$PATH:/usr/local/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin
$ source ~/.bashrc //使启动脚本修改生效

aarc 按tab健 //能补全为 aarch64-linux-gnu- 表示安装成功

*****************************************
编译的时候需要在Makefile中指定ARCH,例
注 //修改Makefile 直接写死,简单方便,但是是侵入时的。如果编译匹配别的板子,不方便
$ cd kernel/kernel-4.9
$ vim Makefile /*直接指定ARCH  CROSS_COMPILE (写死的)
#ARCH           ?= $(SUBARCH)
ARCH            = arm64
#CROSS_COMPILE  ?= $(CONFIG_CROSS_COMPILE:"%"=%)
CROSS_COMPILE   = aarch64-linux-gnu-
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值