softfp:armel架构(对应的编译器为 arm-linux-gnueabi-gcc )采用的默认值,用fpu计算,但是传参数用普寄存器传,这样中断的时候,只需要保存普通寄存器,中断负荷小,但是参数需要转换成浮点的再计算。 hard:armhf架构(对应的编译器 arm-linux-gnueabihf-gcc )采用的默认值,用fpu计算,传参数也用fpu中浮点寄存器传,省去了...
arm-linux-gnueabihf-gcc是由 Linaro 公司(http://www.linaro.org/)基于GCC推出的ARM交叉编译工具,可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。 arm-linux-gneabihf-gcc 与 CodeSourcery 的 arm-none-linux-gnueabi-gcc 类似,都可以用来编译基于ARM平台所...
最后,arm-linux-gnueabi-gcc和arm-linux-gnueabihf-gcc是针对不同架构(armel和armhf)的交叉编译器。armel架构使用arm-linux-gnueabi-gcc,它采用softfp模式,即使有fpu也不使用,而是使用软件模式进行浮点计算。armhf架构使用arm-linux-gnueabihf-gcc,采用hard模式,使用fpu进行浮点计算,提供最佳性能,但中...
1、arm 表示这是编译 arm 架构代码的编译器。 2、none 表示厂商,一般半导体厂商会修改通用的交叉编译器,此处就是半导体厂商的名 字,ARM 自己做的交叉编译这里为 none,表示没有厂商。 3、linux 表示运行在 linu…
arm-none-linux-gnueabihf-gcc是编译器的标识,涵盖了多种关键信息。首先,arm表示它适用于arm架构的代码编译,这是一种广泛应用的处理器架构。接着,none这一标识表示该编译器由ARM自身开发,没有特定厂商的定制。linux在名称中表明此编译器运行于Linux操作系统环境。gnueabihf标识了该编译工具链支持嵌入式...
arm-linux-gnueabihf: 针对于目标平台是 Linux 系统,用于交叉编译ARM(32位)系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和 App 应用程序。 arm-eabi-gcc: 用于编译 ARM 架构的裸机系统,包括 ARM Linux 的 boot、kernel,不适用编译 Linux 应用 Application aarch64-elf: 用于编译 ARM v8...
gcc-arm-linux-gnueabi – The GNU C compiler for armel architecture gcc-arm-linux-gnueabihf – The GNU C compiler for armhf architecture 可见这两个交叉编译器适用于armel和armhf两个不同的架构, armel和armhf这两种架构在对待浮点运算采取了不同的策略(有fpu的arm才能支持这两种浮点运算策略)。
softfp : armel架构(对应的编译器为gcc-arm-linux-gnueabi)采用的默认值,用fpu计算,但是传参数用普通寄存器传,这样中断的时候,只需要保存普通寄存器,中断负荷小,但是参数需要转换成浮点的再计算。 hard : armhf架构(对应的编译器gcc-arm-linux-gnueabihf)采用的默认值,用fpu计算,传参数也用fpu中的浮点寄存器传,省...
softfp : armel架构(对应的编译器为gcc-arm-linux-gnueabi)采用的默认值,用fpu计算,但是传参数用普通寄存器传,这样中断的时候,只需要保存普通寄存器,中断负荷小,但是参数需要转换成浮点的再计算。 hard : armhf架构(对应的编译器gcc-arm-linux-gnueabihf)采用的默认值,用fpu计算,传参数也用fpu中的浮点...