TI Arm Clang Compiler Tools User’s Guide - 3.2.0.LTS¶
The TI Arm® code generation tools support development of applications for TI Arm-based platforms featuring TI Arm Cortex-M and Cortex-R series devices. There are now two Arm C/C++ compiler toolchains available from TI:
TI Arm Clang C/C++ Compiler Tools (tiarmclang)
TI Arm C/C++ Compiler Tools (armcl)
This user’s guide documents the TI Arm Clang C/C++ Compiler Tools. The tiarmclang compiler is based on the open source LLVM compiler infrastructure and its Clang front-end. tiarmclang uses the TI Linker and C runtime, which provide additional benefits for stability and reduced code size. Benefits of tiarmclang include:
Excellent Performance
1.58/2.09 DMIPS/MHz (Cortex-R5)
Ease of use with fast compiles and expressive diagnostic messages
GCC compatibility
Comprehensive documentation: Getting Started Guide, Migration Guide and Compiler Tools User Manual
Compiler Qualification Kit to assist qualifying the compiler to functional safety standards such as ISO 26262 and IEC 61508.
Benefits of using the TI linker and C runtime include:
Stability and flexibility, facilitating ongoing embedded differentiation for TI devices
Pairs with C runtime library, which is optimized for reduced code size
Function specialization, minimizing code size on common functions, including printf, memcpy, and memset
Copy Table support, allowing automatic copying of code/data during runtime
Initialized Data and Copy Table compression, reducing code size
Security features such as ECC, CRC, and CMSE (for Cortex-M33)
Optimized placement of function call trampolines
Segmented memory spaces, allowing section placement into multiple ranges as well as split placement
Compatibility with TI linker command files used with armcl
Support for C preprocessing directives in TI linker command files, such as #define, #include, and #if/#endif
While the tiarmclang toolchain serves the same purpose as armcl, there are behavioral differences that need to be accounted for when making the transition from developing C/C++ applications with armcl to tiarmclang. Please refer to the armcl to tiarmclang Migration Guide for detailed guidance on making a smooth transition from armcl to tiarmclang.
Note
The TI Arm Clang C/C++ Compiler Tools replace the existing TI Arm C/C++ Compiler Tools. All new feature development will be done in the TI Arm Clang C/C++ Compiler Tools. The last feature release of the armcl compiler toolchain is v20.2.x.LTS, which will continue to be actively supported as long as necessary. However, only bug fixes will be provided in maintenance releases of v20.2.x.LTS of the armcl.
Both toolchains can be used to compile and link C/C++ and assembly source files to build static executable applications. These applications can then be loaded and run on Arm Cortex-M and Cortex-R series devices. Depending on the device family you are using a specific compiler toolchain will be recommended. Please refer to the SDK for the device family for information on which toolchain to use.