当前位置: 首页 > 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…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

AGain DB和倍数增益的关系

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

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

C语言中提供的第三方库之哈希表实现

一. 简介 前面一篇文章简单学习了C语言中第三方库&#xff08;uthash库&#xff09;提供对哈希表的操作&#xff0c;文章如下&#xff1a; C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...

CppCon 2015 学习:Time Programming Fundamentals

Civil Time 公历时间 特点&#xff1a; 共 6 个字段&#xff1a; Year&#xff08;年&#xff09;Month&#xff08;月&#xff09;Day&#xff08;日&#xff09;Hour&#xff08;小时&#xff09;Minute&#xff08;分钟&#xff09;Second&#xff08;秒&#xff09; 表示…...