For many years, the GNU Arm Embedded Toolchain has provided an open-source toolchain targeting embedded systems. The LLVM Embedded Toolchain for Arm is a new open-source project with the goal of providing an LLVM based equivalent to the GNU Embedded toolchain with a modern code base. The toolchain follows the ABI for the Arm Architecture and attempts to provide typical features needed for embedded and real-time operating systems.
We would like the LLVM Embedded Toolchain to lower the bar to entry of using LLVM compiler infrastructure in embedded systems. Initially targeting arm M profile systems with a special focus on v8.1-M. The presentation contains a description of:
- Why do we need an LLVM Embedded Toolchain for Arm?
- The challenges of targeting embedded systems with LLVM components and how the LLVM Embedded Toolchain addresses them.
- A comparison between the LLVM Embedded Toolchain for Arm and the GNU Arm Embedded Toolchain.
- Future plans.
- Armv8-M Mainline
- Armv8.1-M Mainline
- AArch64 armv8.0 (experimental)
The project is hosted on GitHub with build scripts under a permissive Apache License.