Linux下安装和配置ARM交叉编译器

2023-05-16

本篇为基于Linux-Ubuntu20.04下配置安装ARM交叉编译器,“arm-linux-gcc交叉编译器”云盘链接放置文章底部,有需要可自提

1. 第一步
在windows下载arm-linux-gcc压缩包,移植到Linux主目录下
在这里插入图片描述
2. 第二步
打开终端,在主目录下解压arm-linux-gcc-4.3.2.tgz包,解压后的得到文件夹是usr。

tar zxvf arm-linux-gcc-4.3.2.tgz

运行解压指令后显示如下:

usr/local/arm/4.3.2/
usr/local/arm/4.3.2/bin/
usr/local/arm/4.3.2/bin/arm-linux-C++
usr/local/arm/4.3.2 /bin/arm-linux-objdumpusr/local/arn/4.3.2/bin/arm-linux-sprite
usr/local/arn/4.3.2/bin/arm-none-linux-gnueabi-ld
usr/local/are/4.3.2/bin/arn-none-linux-gnueabi-readelf
...
...

在这里插入图片描述
3. 第三步
切换到/usr/local文件夹并新建arm文件夹。

cd /usr/local/
sudo mkdir arm

在这里插入图片描述
4. 第四步
把解压好的arm-linux-gcc-4.3.2文件夹内的内容复制到arm文件夹下, 进入目录 /usr/local/arm/4.3.2/bin,输入 ls 可以看到不同类型的编译器

sudo cp -rv  /home/niedong/usr/local/arm/4.3.2  /usr/local/arm

cd /home/niedong/usr/local/arm/4.3.2/bin

ls

在这里插入图片描述
5. 第五步
配置环境,打开配置文件 vim /etc/profile,添加路径设置:在末尾添加(export PATH=$PATH:/usr/local/arm/4.3.2/bin),保存退出:wq

  • 没安装vim的需先安装vim
sudo apt-get install vim
  • 打开配置文件
vim  /etc/profile
  • 在末尾添加如下命令
export PATH=$PATH:/usr/local/arm/4.3.2/bin

在这里插入图片描述
6. 第六步
运行source命令,使设置生效(source /etc/profile),检测是否将路径加入到PATH运行(echo $PATH),显示的内容中有/usr/local/arm/4.3.2/bin,说明已将交叉编译器的路径加入到了PATH。

source /etc/profile

echo $PATH

在这里插入图片描述

  • 若出现类似以下错误
-bash: export: `=': 不是有效的标识符
-bash: export: `/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin': 不是有效的标识符

解决方法:检查添加 export PATH=$PATH:/usr/local/arm/4.3.2/bin 时“=” 俩边是否存在空格,因为复制时系统会自动在“=”号俩边添加空格。

7. 第七步
下载安装完交叉编译器后,验证交叉编译器是否正确安装,输入如下命令:

arm-linux-gcc -v
  • 若出现如下显示,则恭喜你配置成功!
    在这里插入图片描述

  • 若出现如下问题
    在这里插入图片描述
    不要着急,这是因为你的宿主机是64位的Linux,而你安装的交叉编译工具链(因为我们在宿主机上编译后最终安装进目标机的程序是32位的)是基于32位系统的,所以需要为64位宿主机安装32位兼容包。

解决方法:执行 sudo apt-get install lib32ncurses5 即可。

sudo apt-get install lib32ncurses5

在这里插入图片描述
待安装完毕后执行 arm-linux-gcc -v 再次进行验证
在这里插入图片描述
至此,配置成功!

交叉编译器云盘链接:
链接:https://pan.baidu.com/s/1xhYyuc0ZiI20MJLBJZgwug?pwd=iwis
提取码:iwis

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux下安装和配置ARM交叉编译器 的相关文章

  • 应用程序中两个不同版本的库

    考虑一个场景 其中有两个不同版本的共享库 考虑 A 1 so 链接到 B so A 2 so 链接到 C so 现在 B so 和 C so 都链接到 d exe 当 B so 想要调用 A 1 so 中的函数时 它最终会调用 A 2 so
  • 对于任何真实数据集,数据压缩比的最小可能值是多少

    我在写信ZLIB类似于嵌入式硬件压缩器的 API 它使用 deflate 算法来压缩给定的输入流 在进一步讨论之前 我想解释一下数据压缩率 数据压缩率定义为未压缩大小与压缩大小之间的比率 压缩比通常大于一 这意味着压缩数据通常比未压缩数据小
  • 如何获取与 shell 中的文件名模式匹配的所有文件的总文件大小?

    我正在尝试仅使用 shell 来计算与文件名模式匹配的所有文件 在目录树中 的总大小 以字节为单位 这是我到目前为止所拥有的 find name undo exec stat c s awk 总计 1 END 打印总计 有没有更简单的方法来
  • 在 scapy 中通过物理环回发送数据包

    我最近发现了 Scapy 它看起来很棒 我正在尝试查看 NIC 上物理环回模块 存根上的简单流量 但是 Scapy sniff 没有给出任何结果 我正在做的发送数据包是 payload data 10 snf sniff filter ic
  • bash while 循环的布尔表达式中的 -lt 意味着什么?

    我猜测它代表小于基于输出 但是我在哪里可以找到有关此语法的文档 bin bash COUNTER 0 while COUNTER lt 10 do echo The counter is COUNTER let COUNTER COUNTE
  • Python glob,操作系统,相对路径,将文件名放入列表中[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个目录中所有文件的列表 其中文件名以 root 结尾 在阅读了论坛中的一些文章后 我尝试使用 glob 和 os listdir 的基本策略 但我都遇到了麻烦 首先 当我使用 import glo
  • BASH:输入期间按 Ctrl+C 会中断当前终端

    我的 Bash 版本是 GNU bash version 4 3 11 1 release x86 64 pc linux gnu 我有一段这样的代码 while true do echo n Set password read s pas
  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • 在 x86 汇编语言中获取文件大小的简单方法

    假设我已经在汇编中打开了一个文件 并且在寄存器 eax 中有该文件的文件句柄 我将如何获取文件的大小 以便为其分配足够的缓冲区空间 我在这里研究了另一个讨论 建议使用sys fstat 28 系统调用来获取文件统计信息但无法实现它 My a
  • LINUX:如何锁定内存中进程的页面

    我有一个 LINUX 服务器 运行一个具有大量内存占用的进程 某种数据库引擎 该进程分配的内存太大 需要将其中一部分换出 换出 我想做的是将所有其他进程 或正在运行的进程的子集 的内存页面锁定在内存中 以便只有数据库进程的页面被换出 例如
  • 为 Linux 编译 Objective-C 应用程序(API 覆盖范围)

    我可能在这里问一些奇怪的问题 但我不确定从哪里开始 问题是我正在考虑使用 Obj C 和 Foundation 类在 Mac 上编写一个命令行工具 但存在一个非常大的风险 那就是我希望能够为不同的 Linux 发行版编译它 以便将来作为服务
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • grep 排除文件的数组参数

    我想从我的文件中排除一些文件grep命令 为此我使用参数 exclude excluded file ext 为了更容易阅读 我想使用包含排除文件的 bash 数组 EXCLUDED FILES excluded file ext 然后将
  • awk 在循环中使用时不打印任何内容[重复]

    这个问题在这里已经有答案了 我有一堆使用 file 1 a 1 txt 格式的文件 如下所示 A 1 B 2 C 3 D 4 并使用以下命令添加包含每个文件名称的新列 awk print FILENAME NF t 0 file 1 a 1
  • 仅使用containerd(不使用Docker)修剪容器镜像

    如果我刚刚containerd安装在 Linux 系统上 即 Docker 是not安装 如何删除未使用的容器映像以节省磁盘空间 Docker 就是这么方便docker system prune https docs docker com
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu
  • 在 .gitconfig 中隐藏 GitHub 令牌

    我想将所有点文件存储在 GitHub 上 包括 gitconfig 这需要我将 GitHub 令牌隐藏在 gitconfig 中 为此 我有一个 gitconfig hidden token 文件 这是我打算编辑并放在隐藏令牌的 git 下
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的

随机推荐

  • 对图片的操作

    英文原文链接 xff1a Operations with images 文章目录 输入 输出图像的基本操作内存管理和引用计数基本操作可视化图像 输入 输出 从文件加载一个图像 Mat img span class token operato
  • 使用OpenCV相加(混合)两个图像

    使用OpenCV相加 混合 两个图像 xff1a Adding blending two images using OpenCV 文章目录 目标理论源码解释结果 目标 什么是线性混合 xff0c 为什么它有用 如何使用addWeighted
  • 改变图像的对比度和亮度

    英文链接 xff1a Changing the contrast and brightness of an image 文章目录 目标理论图像处理像素处理亮度和对比度调整 源码解释结果实例亮度和对比度调整图像灰度校正 xff08 Gamma
  • 离散傅里叶变换

    英文链接 xff1a Discrete Fourier Transform 目标 什么是傅里叶变换 xff0c 为什么要用它 在OpenCV中怎么做 使用诸如 copyMakeBorder merge dft getOptimalDFTSi
  • 使用XML和YAML文件的 文件输入和输出

    英文链接 xff1a File Input and Output using XML and YAML files 文章目录 目标源码解释结果 目标 如何打印和读取文本条目到文件 和 OpenCV使用YAML或XML文件 如何为OpenCV
  • 如何使用OpenCV的parallel_for_并行化你的代码

    英文链接 xff1a How to use the OpenCV parallel for to parallelize your code 文章目录 目的先决条件简单的示例 绘制曼德尔布罗特集 xff08 Mandelbrot set x
  • 摇杆滑块机构运动模型

    clc span class token punctuation span close all span class token punctuation span r1为杆1的长度 xff0c r2为杆2的长度 xff0c d为偏置距离 r
  • 广义逆矩阵A+:行列满秩法和奇异值分解法

    奇异值的物理意义是什么 xff1f 广义逆矩阵A 43 SVD 矩阵奇异值分解 原理与几何意义 SVD xff08 奇异值分解 xff09 小结 超定方程 最小二乘解 奇异值分解 xff08 SVD xff09 A span class t
  • MQ-2烟雾浓度传感器

    文章目录 一 模块简介二 工作原理三 程序设计 本实验将采集到的传感器数据利用ADC转换 xff0c 将转换后的电压值显示在串口调试助手上 一 模块简介 MQ 2烟雾传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡 SnO2 当烟雾
  • git基础操作

    在 Windows 系统中可以安装 Git for Windows 客户端 xff1a span class token string 39 把当前所在目录变成一个本地仓库 39 span span class token function
  • git分支操作

    span class token string 39 每次提交都要手动输入用户名和密码 xff0c 若想避免这些麻烦 xff0c 可以在系统中创建 SSH 公私钥 xff0c 并将公钥放到 GitHub 指定位置 如此操作即可生成 GitH
  • shape_match

    使用OpenCV的dnn模块实时目标检测 非极大值抑制 xff08 Non Maximum Suppression xff0c NMS xff09 NMS 非极大值抑制 span class token comment test cpp s
  • C#基础语法

    Console span class token punctuation span span class token function Write span span class token punctuation span span cl
  • C# 类&对象

    输入行 xff1a span class token comment 将从控制台输入的值转换成int类型 span span class token keyword int span num span class token operato
  • C# string字符串详解

    字符串常用成员 xff1a span class token keyword string span str span class token operator 61 span Console span class token punctu
  • C#数组详解

    span class token comment 在 C 中 xff0c 将方括号放在标识符后是不合法的语法 span span class token keyword int span span class token punctuati
  • C#继承和派生

    用户在程序中会遇到 this 和 base 关键字 xff0c this 关键字代表的是当前类的对象 xff0c 而 base 关键字代表的是父类中的对象 方法隐藏和重写方法有区别吗 xff1f span class token keywo
  • C#快速入门教程

    此C 快速入门教程仅记录本人所认为的重点以及方便查阅的知识点 xff1b 系统学习请参考C语言中文网 xff08 C 教程 xff1a C 入门经典教程 xff0c 值得收藏 xff09 C 语言是微软推出的一款面向对象的编程语言 xff0
  • 2020-08-16大疆嵌入式笔试编程题:求两个不重叠连续子串的最大和

    描述 从输入数组中找出两个连续子串 xff0c 并且使这 两个连续字串和 之间的和最大 输入 xff1a 1 1 2 2 3 3 4 4 5 5 输出 xff1a 13 即 2 2 3 3 4 和 5 的和 xff08 8 43 5 61
  • Linux下安装和配置ARM交叉编译器

    本篇为基于Linux Ubuntu20 04下配置安装ARM交叉编译器 xff0c arm linux gcc交叉编译器 云盘链接放置文章底部 xff0c 有需要可自提 1 第一步 在windows下载arm linux gcc压缩包 xf