GCC编译ARM篇

ARM 平台下GCC编译相关介绍,待补充

ARM处理器架构

ARM处理器架构,通过选项-march指定,如-march=armv7-a,目前常见的有armv5tearmv6armv7-a

指令集

指令集,通过选项-m指定,如-mthumb,常见的有

  1. thumb
    16位指令集,它将32位arm指令的压缩成16位的指令编码方式,,实现低功耗
  2. thumb-2
    16位/32位指令集,对thumb指令集进行了扩充,增加了一些32位指令,改善thumb指令集的性能
  3. arm
    32位指令集, 兼容所有arm架构

浮点类型

浮点运算的类型,通过选项-mfloat-abi指定,如-mfloat-abi=hard,有三种类型

  1. soft
    使用软浮点库进行浮点运算,不使用硬浮点单元,适用于不含FPUCPU
  2. softfp
    使用硬浮点单元进行浮点运算,生成硬浮点指令,调用接口的规则和soft兼容
  3. hard
    使用硬浮点单元进行浮点运算,生成硬浮点指令,与softfp的区别在于调用接口的规则不同

硬浮点指令的类型,通过选项-mfpu指定,如-mfpu=neon,常用的有两种

  1. vfp
  2. neon
    应用于cortex-a系列处理器

About me

forthebadge

Creative Commons License This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。