MX6ULL学习笔记 (一)交叉工具链的安装

前言:

        ARM 裸机、Uboot 移植、Linux 移植这些都需要在 Ubuntu 下进行编译,编译就需要编译 器,Ubuntu 自带的 gcc 编译器是针对 X86 架构的!而我们现在要编译的是 ARM 架构的代码,因为我们编译的代码是需要烧写到ARM板子上的,所以我们需要一个在 X86 架构的 PC 上运行,可以编译 ARM 架 构代码的 GCC 编译器,这个编译器就叫做交叉编译器。

一、编译器的获取:

        交叉编译器有很多种,我们使用 Linaro 出品的交叉编译器,Linaro 是一间非营利性质的开 放源代码软件工程公司,Linaro 开发了很多软件,最著名的就是 Linaro GCC 编译工具链(编译 器),关于 Linaro 详细的介绍可以到 Linaro 官网查阅。Linaro GCC 编译器下载地址如下:

https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/

在图中有很多种 GCC 交叉编译工具链,因为我们所使用的 I.MX6U-ALPHA 开发板 是一个 Cortex-A7 内核的开发板,因此选择 arm-linux-gnueabihf,点击后面的“Binaries”进入可 执行文件下载界面,如下图所示:

我 们 需 要 下 载 4.9 版 本 的 编 译 器 ,下 载 地 址 为 :

https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/

 

        图中有很多种交叉编译器,我们只需要关注这两种: gcc-linaro-4.9.4-2017.01- i686_arm-linux-gnueabihf.tar.tar.xz gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz,         第一个是针对 32 位系统的,第二个是针对 64 位系统的。大家根据自己所使用的 Ubuntu 系统类 型选择合适的版本,比如我安装的 Ubuntu 16.04 是 64 位系统,因此我要使用 gcc-linaro-4.9.4- 2017.01-x86_64_arm-linux-gnueabihf.tar.xz。 然后就使用 FileZilla 将交叉编译器拷贝到 Ubuntu 中。

二、编译器的安装

在 Ubuntu 中创建目录:/usr/local/arm,命令如下:

sudo mkdir /usr/local/arm 

创建完成以后将刚刚拷贝的交叉编译器复制到/usr/local/arm 这个目录中,在存放编译器的目录中打开终端,然后使用如下命令将交叉编译器复制到/usr/local/arm 中:

sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f 

拷贝完成以后在/usr/local/arm 目录中对交叉编译工具进行解压,解压命令如下:

sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz 

等待解压完成,解压完成以后会生成一个名为“gcc-linaro-4.9.4-2017.01-x86_64_arm-linuxgnueabihf”的文件夹,这个文件夹里面就是我们的交叉编译工具链。

修改环境变量,使用 VI 打开/etc/profile 文件,命令如下:

sudo vi /etc/profile

 打开/etc/profile 以后,在最后面输入如下所示内容:

export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

修改好以后就保存退出,重启 Ubuntu 系统,交叉编译工具链(编译器)就安装成功了。

三、相关库的安装

 在使用交叉编译器之前还需要安装一下其它的库,命令如下:

sudo apt-get install lsb-core lib32stdc++6 

四、交叉编译器验证

首先查看一下交叉编译工具的版本号,输入如下命令:

arm-linux-gnueabihf-gcc -v 

如果交叉编译器安装正确的话就会显示版本号,如图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/226169.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字符串逆序问题

写一个函数,可以将任意输入的字符串逆序(要可以满足多组输入) 这个题有三个点 1.要读入键盘输入的字符串,所以要用到字符串输入函数 2.可以进行多组输入 3.把输入的n组字符串都逆序 #define _CRT_SECURE_NO_WARNINGS 1 #incl…

SEAM-STRESS

模型 PCM means ‘Pixel Correlation Module’ 辅助信息 作者未提供代码

Redis(二):常见数据类型:String 和 哈希

引言 Redis 提供了 5 种数据结构,理解每种数据结构的特点对于 Redis 开发运维⾮常重要,同时掌握每 种数据结构的常⻅命令,会在使⽤ Redis 的时候做到游刃有余。 Redis 的命令有上百种,我们不可能全部死记硬背下来,但是…

服务器中深度学习环境的配置

安装流程 11.17 日,周末去高校参加学术会议,起因, 由于使用了某高校内的公共有线网络, 远程连接服务器后,黑客利用 ssh 开放的 22 端口, 篡改了主机的配置, 使得只要一连上网络, 服…

心大数据结构题型

选择题 2021 数据处理的单位:数据元素 矩阵压缩存储 2022 ①单链表头插法选择 ②矩阵压缩存储,行优先 ③删除链表节点的时间复杂度 ④稀疏矩阵存储 ⑤平衡二叉树时间复杂度 ⑥栈和队列的出队,问栈的大小至少多少 ⑦拓扑排序 ⑧参考书 360…

扩散模型,快速入门和基于python实现的一个简单例子(复制可直接运行)

提示:内容丰富,收藏本文,以免忘记哦 文章目录 一、扩散模型二、一个简单的迭代式扩散模型的例子温度扩散模型python代码实现差分近似模拟拉普拉斯算子 三、扩散模型和深度学习进行结合简介用python和torch的代码实现 四、扩散模型与生成模型第…

设备状态监测与故障诊断系统在发电厂中的应用

现代科技不断进步,设备状态监测与故障诊断系统在各个行业中扮演着越来越重要的角色。特别是在发电厂这样的关键领域,设备状态监测与故障诊断系统的应用对于确保发电运行的稳定性、安全性和高效性至关重要。本文将探讨设备状态监测与故障诊断系统在发电厂…

回归模型和分类模型

在进行模型构建与分析时,模型评价是非常关键的一步。合适的评价指标可以帮助我们准确地衡量模型的性能,从而进行优化和改进。然而,不同的模型和应用场景需要使用不同的评价指标。下面将分别介绍回归模型与分类模型常用的一些评价指标。 一、…

外汇天眼:你要多久才能成为一个赚钱的交易者?

自古以来,从我们的远祖开始,遇到风险会先跑,看到食物就会先吃,怕被人抢走,这是我们求生本能。 但如果按照我们的天性去做交易,基本上是不容易赚到钱,因为这个心态是祖先留下来的,可…

zblog采集插件-免费的zblog采集插件大全

在当今充斥着信息浪潮的网络世界,许多博主和网站管理员都面临着一个共同而令人头疼的问题——如何轻松而高效地获取大量丰富的内容,以保持他们的平台的活力和吸引力?zblog免费采集插件,这一神奇的工具,正成为许多人解决…

元宇宙3d服装数字化交互展示营销平台大幅提高客户满意度和口碑

web3D云展营销平台是以web3d开发、VR虚拟现实和计算机技术,以展品3D展示、数字人,AI,社交等技术打造,为 Web3D可视化提供了丰富的展示形式和效果,实现将线下展厅、展品在线上1:1复刻呈现的线上场景营销。 w…

03、K-means聚类实现步骤与基于K-means聚类的图像压缩(1)

03、K-means聚类实现步骤与基于K-means聚类的图像压缩(1) 03、K-means聚类实现步骤与基于K-means聚类的图像压缩(1) 03、K-means聚类实现步骤与基于K-means聚类的图像压缩(2) 开始学习机器学习啦&#xf…