当前位置: 首页 > news >正文

Linux第19步_安装“Ubutun交叉编译工具链”

由于Ubuntu系统使用的GCC编译器,编译结果是X86文件,只能在X86上运行,不能在ARM上直接运行。因此,还要安装一个“Ubutun交叉编译工具链”,才可以在ARM上运行。

arm-none-linux-gnueabi-gcc是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具lsb-core lib32stdc++6是需要安装的相关库。

1、在安装前,要检查虚拟机可以上网,否则可能会导致安装失败。

2、在虚拟机界面,右击鼠标,弹出下面的对话框:

3、点击“打开终端(E)”,得到下面的界面:

4、输入“ls回车”,列出文件和文件夹

输入“cd linux回车”,进入linux目录;

输入“rm main*回车”,删除所有以main开头的文件。

输入“ls回车”,列出文件和文件夹

 5、输入“mkdir tool回车”,在linux目录下创建一个”tool“文件夹。

然后输入“ls回车”,列出文件和文件夹;

6、双击Window系统桌面上的“FileZilla Client.exe”,打开FTP客户端,这时候,我们知道安装“FTP客户端 的用处了吧。

7、点击“文件”,然后点击“站点管理器”,见下图操作:

打开E:\开发板资料\STM32MP157开发板A盘基础资料\05、开发工具\05、开发工具\01、交叉编译器,找到下面这个文件:

gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar

8、点击下图中“MP1_Ubinti”,然后点击“链接”,见下图操作: 

得到下图:

 9、找到E盘,再找STM32MP157开发板A盘基础资料,见下图操作: 

10、将gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar拖到tool目录下,见下图操作:

 11、等待文件传输结束

12、文件上传成功,见下图:

 13、在终端,输入“pwd回车”,pwd是词组print working directory的首字母缩写,即打印工作目录;

输入“cd tool回车”,进入tool目录;

输入“ls回车”,列出文件和文件夹;

14、在虚拟机界面右击鼠标,弹出下面的对话框,再打开一个终端。 

15、点击“打开终端(E)”,得到下面的界面:

16、输入“ls回车” ,列出文件和文件夹;

17、输入“sudo mkdir /usr/local/arm回车 ,在“/usr/local”路径下创建一个“arm”文件夹:

 18、输入密码“123456回车”

19、输入“cd /usr/local/arm回车” ,进入/usr/local”路径下的“arm”文件夹:

20、输入“sudo cp gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz  /usr/local/arm回车”,将当前文件拷贝到“/usr/local/arm”目录下

21、 输入密码“123456回车”

 22、在另外一个已经打开的终端里,输入“ls回车”,列出文件和文件夹;

23、输入“sudo tar -vxf gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz回车”,解压文件。

 24、 输入密码“123456回车”

25、解压完成后,输入“ls回车”,发现下面的目录

gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf

26、输入“cd gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/回车”,进入目录gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf下;

输入“ls回车”,列出文件和文件夹;

27、输入“cd bin回车”,进入“bin”目录

输入“ls回车”,列出文件和文件夹;

28、arm-none-linux-gnueabi-gcc是 Codesourcery 公司基于GCC推出的的ARM交叉编译工具,见下图:

29、输入“pwd回车”,查找全路径如下:

/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin

输入“sudo vi /etc/profile回车”,直接打开"etc"目录下的profile文件,准备修改它。

30、输入密码“123456回车”

31、在文件的最后面添加下面的语句

export PATH=$PATH:/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin

注意:PATH后面不能有空格

32、按“ESC键”,然后输入“:wq回车”保存退出。

33、升级系统中的软件包

输入“cd /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin回车”,进入“bin”目录

输入“ls回车,列出文件和文件夹;

输入“sudo apt-get update回车”,升级系统中的软件包。

输入密码“123456回车

更新完成见下图:

34、输入“sudo apt-get install lsb-core lib32stdc++6回车”,安装相关库“lsb-core lib32stdc++6”

发现问题如下:

E: 无法获得锁 /var/cache/apt/archives/lock - open (11: 资源暂时不可用)

E: 无法对目录 /var/cache/apt/archives/ 加锁

输入“ps -aux回车”,列出所有进程,找到lock

输入“sudo kill  850回车”,删除lockd进程

 输入“sudo apt-get install lsb-core lib32stdc++6回车”,安装“lsb-core lib32stdc++6”;

见下图:

 输入“cd /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin回车

35、关机重启Ubuntu系统

36、在虚拟机界面右击鼠标,弹出下面的对话框:

37、点击“打开终端(E)”,得到下面的界面 

 38打开终端,输入“arm-none-linux-gnueabihf-gcc -v回车”,如果交叉编译器安装正确的话就会显示版本号

39、输入“cd /home/zgq/linux/回车”,进入/home/zgq路径下的linux目录;

输入“ls回车”,列出文件和文件夹;

可以看到: gcc版本:9.2-2019.12

40、输入“vi main.c回车”,创建一个main.c文件,并打开

41、按下“大写字母A”,插入光标。

#include <stdio.h>

int main(int argc,char *argv[])

{      

        printf("Hello world\r\n");

}

 42、按下“ESC建”,输入“:wq回车”,保存退出。

43、输入“ls回车”,列出文件和文件夹;

 44输入“arm-none-linux-gnueabihf-gcc  main.c  -o main回车”,编译,并生成可执行文件main.exe

输入“ls回车”,列出文件和文件夹;

见下图:

45输入“file main回车”,发现main是32位文件。

46、输入“./main回车”,发现不能执行main。

相关文章:

Linux第19步_安装“Ubutun交叉编译工具链”

由于Ubuntu系统使用的GCC编译器&#xff0c;编译结果是X86文件&#xff0c;只能在X86上运行&#xff0c;不能在ARM上直接运行。因此&#xff0c;还要安装一个“Ubutun交叉编译工具链”&#xff0c;才可以在ARM上运行。 arm-none-linux-gnueabi-gcc是 Codesourcery 公司&#x…...

【论文阅读笔记】 Representation Learning with Contrastive Predictive Coding

Representation Learning with Contrastive Predictive Coding 摘要 这段文字是论文的摘要&#xff0c;作者讨论了监督学习在许多应用中取得的巨大进展&#xff0c;然而无监督学习并没有得到如此广泛的应用&#xff0c;仍然是人工智能中一个重要且具有挑战性的任务。在这项工作…...

CNN——LeNet

1.LeNet概述 LeNet是Yann LeCun于1988年提出的用于手写体数字识别的网络结构&#xff0c;它是最早发布的卷积神经网络之一&#xff0c;可以说LeNet是深度CNN网络的基石。 当时&#xff0c;LeNet取得了与支持向量机&#xff08;support vector machines&#xff09;性能相…...

分类模型评估方法

1.数据集划分 1.1 为什么要划分数据集? 思考&#xff1a;我们有以下场景&#xff1a; 将所有的数据都作为训练数据&#xff0c;训练出一个模型直接上线预测 每当得到一个新的数据&#xff0c;则计算新数据到训练数据的距离&#xff0c;预测得到新数据的类别 存在问题&…...

RabbitMQ高级

文章目录 一.消息可靠性1.生产者消息确认 MQ的一些常见问题 1.消息可靠性问题:如何确保发送的消息至少被消费一次 2.延迟消息问题:如何实现消息的延迟投递 3.高可用问题:如何避免单点的MQ故障而导致的不可用问题 4.消息堆积问题:如何解决数百万消息堆积&#xff0c;无法及时…...

SonarQube 漏洞扫描

SonarQube 漏洞扫描 一、部署服务 1.1 docker方式部署 #安装docker curl -L download.beyourself.org.cn/shell-project/os/get-docker-latest.sh | sh yum install -y docker-compose #进去输入:set paste可以保证不穿行 [rootlocalhost sonar]# vim docker-compose.yml v…...

Web前端篇——ElementUI的Backtop 不显示问题

在使用ElementUI的Backtop回到顶部组件时&#xff0c;单独复制这一行代码 <el-backtop :right"100" :bottom"100" /> 发现页面在向下滚动时&#xff0c;并未出现Backtop组件。 可从以下3个方向进行分析&#xff1a; 指定target属性&#xff0c;且…...

MySQL 管理工具

1、MySQL 管理 系统数据库 a. mysql 命令 语法&#xff1a;mysql [options] [database] -u,--username 指定用户名-p,--password[name] 指定密码-h, --hostname 指定服务器IP或域名-P, --portport 指定连接端-e,--executename 执行SQL语句并退出 mysql -h192.168.200.202 -…...

LeetCode 33 搜索旋转排序数组

题目描述 搜索旋转排序数组 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], ..., num…...

分类预测 | Python实现基于SVM-RFE-LSTM的特征选择算法结合LSTM神经网络的多输入单输出分类预测

分类预测 | Python实现基于SVM-RFE-LSTM的特征选择算法结合LSTM神经网络的多输入单输出分类预测 目录 分类预测 | Python实现基于SVM-RFE-LSTM的特征选择算法结合LSTM神经网络的多输入单输出分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 基于SVM-RFE-LSTM的特征…...

JetBrains Rider使用总结

简介&#xff1a; JetBrains Rider 诞生于2016年&#xff0c;一款适配于游戏开发人员&#xff0c;是JetBrains旗下一款非常年轻的跨平台 .NET IDE。目前支持包括.NET 桌面应用、服务和库、Unity 和 Unreal Engine 游戏、Xamarin 、ASP.NET 和 ASP.NET Core web 等多种应用程序…...

C# Emgu.CV4.8.0读取rtsp流录制mp4可分段保存

【官方框架地址】 https://github.com/emgucv/emgucv 【算法介绍】 EMGU CV&#xff08;Emgu Computer Vision&#xff09;是一个开源的、基于.NET框架的计算机视觉库&#xff0c;它提供了对OpenCV&#xff08;开源计算机视觉库&#xff09;的封装。EMGU CV使得在.NET应用程序…...

java碳排放数据信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web碳排放数据信息管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环 境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为…...

K8S陈述式资源管理(1)

命令行: kubectl命令行工具 优点: 90%以上的场景都可以满足对资源的增&#xff0c;删&#xff0c;查比较方便&#xff0c;对改不是很友好 缺点:命令比较冗长&#xff0c;复杂&#xff0c;难记声明式 声明式&#xff1a;K8S当中的yaml文件来实现资源管理 GUI&#xff1a;图形…...

STL map容器与pair类模板(解决扫雷问题)

CSTL之Map容器 - 数据结构教程 - C语言网 (dotcpp.com)https://www.dotcpp.com/course/118CSTL之Pair类模板 - 数据结构教程 - C语言网 (dotcpp.com)https://www.dotcpp.com/course/119 刷到一个扫雷的题目&#xff0c;之前没有玩怎么过扫雷&#xff0c;于是我就去玩了玩…...

【React系列】Portals、Fragment

本文来自#React系列教程&#xff1a;https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) Portals 某些情况下&#xff0c;我们希望渲染的内容独立于父组件&#xff0c;甚至是独立于当前挂载到的DOM元素中&am…...

ByteTrack算法流程的简单示例

ByteTrack ByteTrack算法是将t帧检测出来的检测框集合 D t {\mathcal{D}_{t}} Dt​ 和t-1帧预测轨迹集合 T ~ t − 1 {\tilde{T}_{t-1}} T~t−1​ 进行匹配关联得到t帧的轨迹集合 T t {T_{t}} Tt​。 首先使用检测器检测t帧的图像得到检测框集合 D t {\mathcal{D}_{t}} …...

免费的GPT4来了,你还不知道吗?

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…...

win10报错“zlib.dll文件丢失,软件无法启动”,修复方法,亲测有效

zlib.dll文件是一个由Zlib创建的动态链接库文件&#xff0c;它是用于Windows操作系统的数据压缩和解压缩的软件。Zlib是一个广泛使用的软件库&#xff0c;广泛应用在许多不同类型的软件中&#xff0c;包括游戏、浏览器和操作系统。 zlib.dll的主要作用是提供数据压缩和解压缩的…...

MFC中如何使用CListCtrl可以编辑,并添加鼠标右键及双击事件。

要在MFC中使用CListCtrl来实现编辑功能&#xff0c;可以按照以下步骤进行操作&#xff1a; 在对话框资源中添加CListCtrl控件&#xff0c;并设置合适的属性。在对话框类的头文件中添加成员变量来管理CListCtrl控件&#xff0c;例如&#xff1a; CListCtrl m_listCtrl; 3. 在O…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

comfyui 工作流中 图生视频 如何增加视频的长度到5秒

comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗&#xff1f; 在ComfyUI中实现图生视频并延长到5秒&#xff0c;需要结合多个扩展和技巧。以下是完整解决方案&#xff1a; 核心工作流配置&#xff08;24fps下5秒120帧&#xff09; #mermaid-svg-yP…...

Unity VR/MR开发-VR开发与传统3D开发的差异

视频讲解链接&#xff1a;【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...

flow_controllers

关键点&#xff1a; 流控制器类型&#xff1a; 同步&#xff08;Sync&#xff09;&#xff1a;发布操作会阻塞&#xff0c;直到数据被确认发送。异步&#xff08;Async&#xff09;&#xff1a;发布操作非阻塞&#xff0c;数据发送由后台线程处理。纯同步&#xff08;PureSync…...

运行vue项目报错 errors and 0 warnings potentially fixable with the `--fix` option.

报错 找到package.json文件 找到这个修改成 "lint": "eslint --fix --ext .js,.vue src" 为elsint有配置结尾换行符&#xff0c;最后运行&#xff1a;npm run lint --fix...