TI Arm Clang Compiler Tools User’s Guide - 1.3.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:

_images/ti-arm-clang-toolchain-block-diagram.png

Benefits of using the TI linker and C runtime include:

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 necesaary. 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.

For offline use, a PDF version of the guide is available here: TI Arm Clang C/C++ Compiler Tools User's Guide