6. 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-m33
With FPv5SPD16 support:
-mcpu=cortex-m33 -mfloat-abi=hard -mfpu=fpv5-sp-d16
Without FPv5SPD16 support:
-mcpu=cortex-m33 -mfloat-abi=soft
Note
Enabling the Use of Custom Datapath Extension (CDE) Intrinsics
A TI Arm Cortex-M33 device may be equipped with a coprocessor that is able to execute custom datapath extension (CDE) instructions via intrinsics that are defined in arm_cde.h, which is included in the tiarmclang compiler tools installation.
To enable the use of CDE intrinsics in a C/C++ source file, you must include the arm_cde.h header file in your compilation unit prior to the first reference to a CDE intrinsic. You must also specify one of the following -march compiler options on the tiarmclang command-line:
-march=armv8.1-m.main+cdecp0
or
-march=thumbv8.1-m.main+cdecp0
For more information about the CDE intrinsics that are supported, please see Custom Datapath Extension (CDE) Intrinsics.
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.