ARM-GCC与交叉编译

简介: ARM-GCC与交叉编译

1、编译工具链和目标程序运行在相同的平台,叫做本地编译

2、编译工具链和目标程序运行在不同的架构平台,叫做交叉编译,如在x86 pc电脑上编译,在arm开发板上运行,两个在不同架构下

ARM-GCC是正对arm平台的一款编译器,她是gcc编译工具链的一个分支

which gcc:查看gcc编译器在什么位置

Ubuntu和开发板架构平台查看

Untitled(7).png

如何安装ARM-GCC?

apt install gcc

ubuntu安装arm-gcc

apt install gcc-arm-linux-gnueabihf

交叉编译范例:

1、在Ubuntu上的共享文件夹下新建一个文件arm-hello.c,内容如下

Untitled(8).png

2、在Ubuntu上使用arm-gcc交叉编译链编译,生成可执行文件

命令:sudo arm-linux-gnueabihf-gcc arm-hello.c -o arm-hello

Untitled(9).png

此处不使用交叉编译链后面在ARM开发板上无法运行,架构平台不一样

3、在开发板上访问共享文件夹并运行arm-hello可执行文件,查看运行结果

Untitled(10).png

相关文章
|
算法 Go 计算机视觉
【YOLO系列】YOLOv8算法(尖端SOTA模型)
Ultralytics YOLOv8 是由 Ultralytics开发的一个前沿 SOTA 模型。它在以前 YOLO 版本的成功基础上,引入了新的功能和改进,进一步提升了性能和灵活性。YOLOv8 基于快速、准确和易于使用的理念设计,使其成为广泛的物体检测、图像分割和图像分类任务的绝佳选择。
3660 0
【YOLO系列】YOLOv8算法(尖端SOTA模型)
|
11月前
|
量子技术 Python
探索绝对零度的极限:量子计算机的冷却技术
探索绝对零度的极限:量子计算机的冷却技术
473 9
|
Web App开发 JSON 缓存
GET 和 POST 请求的请求头有哪些常见字段
【10月更文挑战第27天】不同的应用场景和服务器要求可能会使用到其他一些请求头字段,这些字段在HTTP请求和响应的交互过程中起着重要的作用,帮助客户端和服务器更好地进行数据传输和处理。
|
Unix Linux 异构计算
用于实时 Linux® 的 TwinCAT Runtime,基于 Linux® 的实时控制器开辟了新的应用可能性
**TwinCAT Runtime for Linux®** 打开了倍福实时控制的新领域,支持在同一PC上运行多个独立实例,促进硬件整合和效率提升。基于Debian的定制Linux发行版,内置实时内核,允许GPU驱动的高速应用如机器视觉。利用Docker等容器技术,实现模块化控制和资源优化,降低工程成本。此发行版将逐步扩展到更多倍福设备,为Linux用户提供熟悉的TwinCAT编程环境和增强的灵活性。
|
机器学习/深度学习 存储 计算机视觉
基于YOLOv8深度学习的PCB板缺陷检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测
基于YOLOv8深度学习的PCB板缺陷检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测
|
芯片
stm32f407探索者开发板(二十)——独立看门狗实验
stm32f407探索者开发板(二十)——独立看门狗实验
953 0
|
存储 缓存 编解码
FFmpeg开发笔记(五):ffmpeg解码的基本流程详解(ffmpeg3新解码api)
FFmpeg开发笔记(五):ffmpeg解码的基本流程详解(ffmpeg3新解码api)
FFmpeg开发笔记(五):ffmpeg解码的基本流程详解(ffmpeg3新解码api)
|
机器学习/深度学习 人工智能 自然语言处理
Transformer类架构的发展带动多模态融合
【1月更文挑战第21天】Transformer类架构的发展带动多模态融合
498 1
Transformer类架构的发展带动多模态融合
|
人工智能 运维 Kubernetes
阿里云容器服务 ACK AI 助手正式上线
期待已久!阿里云容器服务 ACK AI 助手正式上线
|
前端开发 JavaScript Java
毕业设计|课程设计|SSM开发实现图书管理系统
毕业设计|课程设计|SSM开发实现图书管理系统
366 1