首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

交叉编译学习笔记(二)——交叉编译器的命名规则

交叉编译学习笔记(二)——交叉编译器的命名规则 在进行嵌入式开发过程中,用到的交叉编译器经常是这样的名称: arm-linux-gcc arm-none-linux-gnueabi-gcc arm-linux-gnu-gcc...交叉编译器命名规则 交叉编译工具链的命名规则: arch [-vendor][-kernel][-system] 其中每部分的含义如下: arch:体系架构,如ARM, MIPS vendor:工具链提供商...[-vendor] vendor,即工具链提供商,表示该交叉编译器提供者。 vendor的值貌似是可以随便填写的…… 但一般情况下,大家把vendor携程体系架构的值。...用于symbian(不了解) 6. arm-linux-gnueabi-gcc & arm-linux-gnueabihf-gcc 两个交叉编译器名称上的区别在于 gnueabi 与 gnueabihf...架构(对应编译器是arm-linux-gnueabi-gcc)的默认值,用 fpu 计算,但传参数时使用普通寄存器。

4.7K50

x86与ARM架构的区别

在计算机科学领域,x86和ARM是两种主流的CPU架构。它们各自具有独特的特点和应用领域,了解它们之间的区别对于选择合适的硬件和操作系统至关重要。...因此,x86架构主要应用于PC机、服务器、游戏机等高性能计算领域。ARM架构与x86架构不同,ARM架构主要追求节能和低功耗。...它通过精简指令集和高效的流水线操作,实现较低的功耗,非常适合移动设备和嵌入式系统等对功耗要求较高的应用场景。因此,ARM架构主要应用于智能手机、平板电脑、物联网设备等低功耗领域。...三、功耗由于ARM架构采用了精简指令集和高效的流水线操作,其功耗远低于x86架构。在移动设备和嵌入式系统中,低功耗是关键优势之一。因此,ARM架构在这些领域中得到广泛应用。...ARM架构ARM架构在性能方面虽然相对较低,但在一些任务相对固定的应用场合中,其优势能够发挥得淋漓尽致。随着技术的发展,ARM架构的处理器在性能上也在不断提升,逐渐缩小与x86架构的差距。

60600
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ARM 之七 主流编译器(armcc、iar、gcc for arm、LLVM(clang))详细介绍

    首先,看看 ARM 交叉编译工具链的命名规则:arch [-vendor] [-os] [-(gnu)eabi] [-gcc] arch: 体系架构,如 ARM,MIPS vendor: 工具链提供商,...GCC for ARM 中的各命令行工具与 GCC 中的各命令行工具都是对应的,功能基本一致,仅仅是名字有些改变!   ...Arm GNU Toolchain   ARM 除了有自己的专用编译器之外,还维护了一套基于 GCC 的交叉编译工具链,被称为 Arm GNU Toolchain。估计是为了能更有效的占有市场吧!...这是目前我们编写 ARM 裸机程序时,使用最多的交采编译工具链! 安装/解压 之后,目录如下图所示:   编译器工具中的各工具,与标准的 GCC 没有太多区别,主要就是针对的平台变了。...具体如下所示: 需要注意的是,上图中红框全称的就是编译工具链的名字。各命令行工具与标准 GCC 也没啥区别!再一个需要注意的是,编译器的目标平台。

    15K35

    android设备上如何运行C语言原生程序

    目标设备环境不允许,比如单片机, 内存和性能无法支持程序的编译 交叉编译工具 交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch – 体系架构,如...ARM,MIPS vendor – 工具链提供商 os – 目标操作系统 eabi – 嵌入式应用二进制接口(Embedded Application Binary Interface) 根据对操作系统的支持与否...,ARM GCC可分为支持和不支持操作系统,如 arm-none-eabi:这个是没有操作系统的,适用于ARM架构裸机,工具链提供商未知,嵌入式应用二进制接口,这个工具不支持那些跟操作系统关系密切的函数...arm-none-linux-eabi:用于Linux的,ARM架构,使用Glibc 如果是裸机编译,由于没有操作系统进行文件识别翻译,因此编译出来的大部分是面向cpu内核的机器码文件 单片机编译后的文件就是如此...,实现在windows平台上编译出能够在ARM+Linux平台上的可执行程序 这里我们使用 arm-none-linux-gnueabi-gcc 这款交叉编译工具 工具下载: 各个平台arm-none-linux-gnueabi

    5.4K20

    汇编语言之GNU ARM

    Collection)GNU编译器套件,GNU提供的一整套的工具集,这套工具集中包含了汇编器,编译器和链接器,二进制转换,调试工具等 GCC优势: 免费开源 贴近系统底层,功能强大,灵活性高 跨平台,...方便交叉编译 GCC劣势: 工具基本采用命令行方式,学习和使用门槛较高 接下来我们要学习的就是GNU计划众多的产物之一GNU FOR ARM 汇编器与指令集 什么是汇编器 将汇编语言翻译成机器码的工具...GUN工具全部免费,方便开发者进行使用 如果你是从事android开发,有兴趣可以去翻NDK r17以下版本的库,里面用的编译工具就是GCC GNU ARM开发环境搭建 我们需要准备以下两个工具: GCC...编译套件 安卓模拟器 GCC编译套件根据cpu架构和操作系统的不同,又分为了很多子类: 纯ARM裸机: 对应arm-none-eabi工具包 ARM架构+Linux操作系统:对应arm-none-linux-eabi...指令和伪指令的区别 指令: 有与之对应的机器码,能被cpu所识别,和编译器无关 伪指令:没有与之对应的机器码,无法被cpu识别,只能被编译器识别,不同编译器伪指令不一样 不同的CPU对应不同的指令集;不同的汇编器对应不同的语法和伪指令集

    2.2K30

    交叉编译问题记录-嵌入式环境下 GDB 的使用方法

    交叉编译主要针对嵌入式领域,因为嵌入式系统资源受限,没有办法在嵌入式平台上运行一套编译环境,因此需要在其他性能更强劲的平台上借助交叉编译工具链来制作可在嵌入式平台上运行的程序。...交叉编译与普通编译基本步骤一样: [1] configure 在编译前进行配置。如果 --host 参数与 --build 参数不同,则是交叉编译。否则就是普通编译。 [2] make 编译。...编译类型可以分为三种:(假设交叉编译工具链安装在 x86-linux 平台,待编译的目标嵌入式平台为 arm-linux 平台,这里仅为了说明意图,平台命名并不严谨) [1] 编译 PC 平台普通程序.../configure --build=x86_linux --host=arm_linux --target=arm_linux CC=arm-linux-gcc 实际上,如果我们要制作运行于嵌入式平台的编译工具...(比如 gcc、gdb 等),也可以先执行上面的配置命令然后交叉编译得到目标应用程序,但是生成的 gcc、gdb 工具基本上无法在目标嵌入式平台上正常运行,因为硬件带不动,所以嵌入式平台的编译工具链是按

    3.3K00

    arm-gcc各版本区别

    system, and uses the GNU EABI)== 主要用于基于ARM架构的Linux系统,==可用于编译 ARM 架构的 u-boot、Linux内核、Linux应用等==。...armcc ARM 公司推出的编译工具,功能和 arm-none-eabi 类似,可以编译裸机程序(u-boot、kernel),但是不能编译 Linux 应用程序。...嵌入式应用二进制接口指定了文件格式、数据类型、使用、堆积组织优化和在一个嵌入式软件中的参数的标准约定。开发者使用自己的汇编语言也可以使用 EABI 作为与兼容的生成的汇编语言的接口。...==两者主要区别是,ABI是计算机上的,EABI是嵌入式平台上(如ARM,MIPS等)。...softfp:armel架构(对应的编译器为 arm-linux-gnueabi-gcc )采用的默认值,用fpu计算,但是传参数用普通寄存器传,这样中断的时候,只需要保存普通寄存器,中断负荷小,但是参数需要转换成浮点的再计算

    3.4K20

    交叉编译学习笔记(一)——交叉编译和交叉工具链

    交叉编译 了解交叉编译之前,首先要介绍本地编译,才能进一步对比本地编译与交叉编译的区别。 1....另一方面,PC机的CPU架构是x86型的,ARM的CPU架构是ARM型的,所以这时候就需要用交叉编译器(此处即为ARM的编译器)编译程序代码,然后移植到ARM平台运行。所以这就是交叉编译的意义所在。...GNU Binutils,即GNU Binary Utilities的简写,是一组二进制工具的集合。...交叉工具链中,gcc编译器、ld链接器以及其他的相关工具,都是用来跨平台交叉编译的。 交叉工具链与本地工具链类似,也有交叉编译版本的gcc, ld, as等工具,与本地工具链两两对应。...例如常用的交叉编译器arm-linux-gcc,其实是一系列交叉编译版本的交叉工具链,其中包含了arm-linux-gcc, arm-linux-ld, arm-linux-as等工具。

    5.6K70

    【FFmpeg】编译不同平台的 FFmpeg 源码 ( 本地编译 与 交叉编译 | FFmpeg 指定目标平台的编译配置参数 | 配置目标 CPU 架构 | 配置目标操作系统 )

    架构 , arm64 架构 ; " 本地编译 " 的 编译器 和 编译工具链 与 本地系统的 体系结构 和 操作系统相匹配 , 编译过程简单直接 , 无须配置交叉编译相关选项 , 编译出来的 可执行文件..., 包括 体系结构 / 操作系统 / 依赖库 等因素 ; " 交叉编译 " 需要准备的资源 : 交叉编译工具链 : 特定的编译器 , 在 A 系统编译 B 系统的函数库 , 与 B 系统编译 A 系统的函数库...NDK 中附带的 交叉编译工具 , 编译器名称 arm-linux-androideabi-gcc 说明 该编译器 只能在 Linux 系统中编译 arm 架构的 android 平台的 可执行程序...变量指向 gcc g++ 等交叉编译工具所在的目录 TOOLCHAIN=$NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86...FLAGS" 配置 gcc / g++ 编译器的 额外选项 ; --arch=arm 配置要编译 arm 架构的 可执行程序 和 函数库 ; --target-os=android 配置 指定要编译的目标系统为

    1.4K00

    Linux下开发stm32 ①

    (下篇) | gdb的使用 这是为了给接下来的Linux下嵌入式开发打好基础,尽快熟悉Linux下c编程,但是在开发stm32的时候,编译工具链要使用gcc-arm-none-eabi,为什么不是gcc...toolchain 介绍及安装 gcc-arm-none-eabi是一个开源的ARM开发工具链,适用于Arm Cortex-M和Coretex-A系列处理器,包括GNU编译器(GCC),以及GDB,可用于...在此我们从[ARM官方下载链接](https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads)选择合适的版本下载(这里我选择...它下面的bin目录就是我们要使用的编译工具链: ? share目录的doc下包含了大量的使用帮助文档,可以先略读一二,特别是readme.txt: ?...如果系统可以提示,说明环境变量配置成功,可以开心的使用arm-none-eabi工具链啦~ 3.从裸机工程开始 3.1.硬件说明 这里我使用的是野火霸道开发板,板载芯片为STM32F103ZET6,下载器使用

    3.4K31

    第007课 裸机开发步骤和工具使用(SourceInght NotePad++使用)

    名词解释: gcc: gcc是linux系统下主要的编译软件, gcc的全称是GNU编译器套件(GNU Compiler Collection), 除了可以编译c语言开发的程序外,还可以开发C++...GCC的初衷是为GNU操作系统专门编写的一款编译器。 使用gcc的原因:功能强大、稳定、开源免费。 1)gcc -v查看gcc的版本,从而验证了gcc编译器正常。...2)gcc -o 输出文件名 源文件 o:output 交叉编译模式: 通常编译嵌入式程序的平台成为宿主机(如:PC的ubuntu系统,CPU架构为X86架构), 运行嵌入式程序的平台成为目标机...(如:某款ARM开发板,CPU架构为ARM架构)。...在X86平台编辑和和编译器arm-linux-gcc编译ARM架构的程序, 两者属于不同的架构平台,从而属于交叉编译模式。

    68010

    嵌入式linux实时操作系统及应用编程pdf(嵌入式linux都有哪些调试信息)

    GDB 调试工具介绍 linux下的程序调试方法汇总,这篇文章中介绍了linux下调试的常用方法。...GDB调试教程 GDB是一个由GNU开源组织发布的、UNIX/Linux操作系统下的、基于命令行的、功能强大的程序调试工具。这篇文章GDB十分钟教程,介绍了GDB调试程序的大体流程。...要调试C/C++程序,首先在编译时,必须要把调试信息加到可执行文件中,使用编译器(cc/gcc/g++)的-g参数即可。...GDB交叉调试环境搭建 嵌入式Linux的GDB调试环境由Host端(PC机)和Target端(ARM)两部分组成,Host端使用arm-linux-gdb调试工具,而Target端需要运行gdbserver...应该来说,gdb可以算是交叉编译工具链的一个工具,只是在交叉编译工具链中可能不包含这一部分,所以需要交叉编译gdb的库,最终得到arm-linux-gnueabihf-gdb这要的调试工具。

    2.7K20

    交叉编译概念详解

    注意: 严格意义上来说,交叉编译器,只是指交叉编译的gcc,但是实际上为了方便,我们常说的交叉编译器就是交叉工具链。本文对这两个概念不加以区分,都是指编译链。...2.2 交叉编译链的命名规则 我们使用交叉编译链时,常常会看到这样的名字: ‍ arm-none-linux-gnueabi-gcc arm-cortex_a8-linux-gnueabi-gcc...mips-malta-linux-gnu-gcc 其中,对应的前缀为: arm-none-linux-gnueabi- arm-cortex_a8-linux-gnueabi- mips-malta-linux-gnu...Software/WebHome ) 下载已经编译好的交叉编译链在 https://launchpad.net/gcc-arm-embedded 下载已经编译好的交叉编译链一些制作交叉编译链的工具中,包含了已经制作好的交叉编译链...,对于一些新的 GCC 特性不支持 可以使用自己需要的 GCC 特性的版本 补丁 一般都会打上修复补丁 普通开发者很难辨别需要打上哪些补丁,资深开发者可以针对自己的需求合入补丁 源码溯源 可能不清楚源码版本和补丁情况

    4.3K10

    linux 编译汇编,linux下的汇编教程

    编译工具 1.编辑工具介绍 GNU提供的编译工具包括汇编器as、C编译器gcc、C++编译器g++、连接器ld和二进制转换工具objcopy。...基于ARM平台的工具分别为 arm-linux-as、arm-linux-gcc、arm-linux-g++、arm-linux-ld和arm-linux- objcopy。...GNU工具的开发流程如下:编写C、C++语言或汇编源程序,用gcc或g++生成目标文件,编写连接脚本文件,用连接器生成最终目标文件(elf格式),用二进制转换工具生成可下载的二进制代码。...(2)用gcc或g++生成目标文件 如果应用程序包括多个文件,就需要进行分别编译,最后用连接器连接起来。...用GNU工具开发基于ARM的嵌入式系统,http://blog.163.com/liren0@126/blog/static/32897598200821211144696/ 7. objcopy命令介绍

    3.5K31

    Linux实现树莓派3B的国密SM9算法交叉编译——(一)环境部署、简单测试与eclipse工程项目测试

    要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(cross compilation tool chain),然后用这个交叉编译工具链编译源代码,最终生成可在目标平台上运行的代码。      ...选择一个项目类型(如Executable/Empty Project),在 Toolchains 中一定要选 Cross GCC,这是CDT对交叉环境的支持,提供了额外的功能,以方便嵌入式应用程序的开发...上例的情况是在我们已经安装好了ARM芯片商提供的交叉编译包。一般来说,芯片商都提供了这样一个交叉编译环境,包括目标平台的编译工具链、Glibc库、二进制工具和其它常用工具。...可以看到,在Command下方的All Options中出现了工具链的目录。在编译时,Eclipse就会调用 前缀 + 相应的工具 (如gcc) 去编译啦。...下方的Compiler、Linker、Assembler的Command分别为g++、g++、as。

    1.5K32

    (exynos4412)Tiny4412裸机开发-点亮LED灯

    这篇文章就介绍利用这款开发板完成裸机开发,不涉及操作系统,直接当做单片机一样,完成LED灯、蜂鸣器的编程,了解这款芯片与常规的Cortex-M系列芯片编程有何区别。...搭建交叉编译环境 进行裸机编程之前,需要先搭建交叉编译环境,安装arm-linux-gcc交叉编译器,交叉编译后的程序才能在开发板上运行。 什么叫交叉编译?...PC机编译、在嵌入式开发板运行这种模式就叫交叉编译。 交叉编译器在开发板的光盘里有提供,直接拷贝到PC机Linux下解压,配置环境变量接口。 详细操作步骤如下: 1....tar xvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz -C /home/wbyq/work/arm-linux-gcc/ 3....普通用户: 需要将代码写在 用户目录下的.bash_profile文件中 profile文件系统上电的时候会自动执行。

    1.4K20
    领券