IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> arm_linux交叉编译工具链的下载解压与配置环境 -> 正文阅读

[嵌入式]arm_linux交叉编译工具链的下载解压与配置环境

下载

arm developer

arm developer官网下载

linaro

linaro官网下载

工具链的种类

GCC 的命名规则为: arch [-vendor] [-os] [-(gnu)eabi]-gcc
比如 arm-linux-gnueabi-gcc ,arm-none-eabi-gcc, aarch64-linux-gnu-gcc
带 [] 的是可选部分。
arch: 芯片架构,比如 32 位的 Arm 架构对应的 arch 为 arm,64 位的 Arm 架构对应的 arch 为 aarch64。
vendor :工具链提供商,大部分工具链名字里面都没有包含这部分。
os :编译出来的可执行文件(目标文件)针对的操作系统,比如 Linux。

arm-none-eabi-gcc 一般适用用于 Arm Cortex-M/Cortex-R 平台,它使用的是 newlib 库,来自CodeSourcery。

arm-linux-gnueabi-gcc 和 aarch64-linux-gnu-gcc 适用于 Arm Cortex-A 系列芯片,前者针对 32 位芯片,后者针对 64 位芯片,它使用的是 glibc 库。可以用来编译 u-boot、linux kernel 以及应用程序,来自linaro。

解压

tar.xz

创建tar.xz文件:只要先 tar cvf xxx.tar xxx/ 这样创建xxx.tar文件先,然后使用 xz -z xxx.tar 来将 xxx.tar压缩成为 xxx.tar.xz
解压tar.xz文件:先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。

tar.bz2

解压tar.bz2文件类似,先bzip2 -d xxx.tar.bz2 将 xxx.tar.bz2解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。

配置环境

在~/.bashrc文件末尾加上
export PATH=$PATH:/home/xyw/arm/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin
其中/home/xyw/arm/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin是工具链解压后bin文件夹的绝对路径,不同工具链路径之间用:隔开。
检查环境是否配置成功:
在任意位置打开终端,输入arm-linux-gnueabihf-gcc(在bin文件夹中可查找到该名字的文件,不同环境名字可能不同)-v查看gcc版本。

编译

在这里插入图片描述
可以编写一个简单的helloworld程序测试能否成功编译

问题

运行arm-linux-gnueabihf-gcc -v时:
1.bash: /home/xyw/arm/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-gcc: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录
解决:yum provides 文件名查看需要安装什么库,然后安装该库
2.库版本冲突
解决:升级低版本的库
3.未找到命令
解决:直接执行arm-linux-gnueabihf-gcc test.c -o test
发现还有需要安装的文件,按问题1的解决方法处理

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 19:03:54  更:2022-07-20 19:04:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 17:19:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计