6. Arm Cortex Processor Variants Supported by tiarmclang

The tiarmclang compiler toolchain supports development of applications that are to be loaded and run on one of the following Arm Cortex processor variants (applicable -mcpu and floating-point support options are listed for each):

  • Cortex-m0

    -mcpu=cortex-m0
    
  • Cortex-m0plus

    -mcpu=cortex-m0plus
    
  • Cortex-m3

    -mcpu=cortex-m3
    
  • Cortex-m4

    With FPv4SPD16 support:

    -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16
    

    Without FPv4SPD16 support:

    -mcpu=cortex-m4 -mfloat-abi=soft
    
  • Cortex-r4

    Thumb mode with VFPv3D16

    -mcpu=cortex-r4 -mthumb -mfloat-abi=hard -mfpu=vfpv3-d16
    

    Thumb mode without VFPv3D16

    -mcpu=cortex-r4 -mthumb -mfloat-abi=soft
    

    Arm mode with VFPv3D16

    -mcpu=cortex-r4 -marm -mfloat-abi=hard -mfpu=vfpv3-d16
    

    Arm mode without VFPv3D16

    -mcpu=cortex-r4 -marm -mfloat-abi=soft
    
  • Cortex-r5

    Thumb mode with VFPv3D16

    -mcpu=cortex-r5 -mthumb -mfloat-abi=hard -mfpu=vfpv3-d16
    

    Thumb mode without VFPv3D16

    -mcpu=cortex-r5 -mthumb -mfloat-abi=soft
    

    Arm mode with VFPv3D16

    -mcpu=cortex-r5 -marm -mfloat-abi=hard -mfpu=vfpv3-d16
    

    Arm mode without VFPv3D16

    -mcpu=cortex-r5 -marm -mfloat-abi=soft
    

The tiarmclang compiler will default to the Cortex-M4 (“-mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16”) processor if you do not explicitly specify an -mcpu or -march option on the compiler command-line.