Arm has been creating embedded C or C++ cross-compilers for over 25 years, with 6 generations being launched between 1998 and 2014. These are the reference compilers for the Arm architecture and are used in countless Arm-based embedded projects, architecture exploration, design validation, platform bring-up, library development and more.
10 years after the launch of the 6th generation compiler Arm Compiler for Embedded (perhaps better known as AC6), technology, the Arm architecture, and the needs of developers and of Arm-based embedded projects have changed. To address the needs of current and future developers creating high-performance Arm-based embedded projects, Arm is launching Arm Toolchain for Embedded (ATfE): the 7th generation Arm embedded C/C++ cross-compiler. ATfE delivers several advantages over AC6 for these projects: the toolchain is expected to be launched in April 2025, but a beta version is available now.
AC6 will continue to be enabled by licenses that enable ATfE: the compilers will be available together and will complement each other. The two compilers will appear to different Arm-based projects: developers will be able to choose which of the compilers best suits their projects.
Read on to discover more about ATfE, and to download the beta release.
In the decade since AC6 was launched, technology has hardly stood still. The Arm Architecture has grown significantly in functionality and capability. Arm-based designs have grown in complexity functionality and power, as has the software running on those designs. Development for Artificial Intelligence is now commonplace, as is the use of rich operating systems in embedded Arm-based projects. C and C++ language standards have continued to evolve. Arm and many others have continued to invest heavily in the LLVM project. The requirements on today's compilers are as different from the requirements at the launch of AC6, as the requirements for AC6 were from the requirements for the first-generation Arm embedded compiler back in 1998.
To address the challenges of growing complexity and increasing requirements and fulfill the needs of current and future developers for Arm-based embedded projects, the embedded Arm Compiler is completing the migration to LLVM started 10 years ago by AC6. The remaining proprietary components carried over from AC5 (the linker, C libraries, binutils) will be retired, and Arm will instead increase investment in the LLVM equivalents and in the Picolib C library project.
As a result, the 7th generation Arm embedded C/C++ compiler will for the first time be 100% open source. To differentiate it from AC6 and to stress that it's a complete compilation toolchain instead of just a compiler, generation 7 will be called Arm Toolchain for Embedded (ATfE).
ATfE aims to address the needs of current and future developers working with high-end Arm-based projects. Arm Toolchain for Embedded will deliver many advantages over AC6, including:
There will be 4 editions of Arm Toolchain for Embedded.
Arm Toolchain contains the source and build scripts for the toolchain in a GitHub repo, expected to become available in April 2025. Users who find value in building the toolchain from source, will be able to do so.
Arm Toolchain for Embedded (ATfE) will be a 100% open source toolchain, free to use for commercial and non-commercial purposes. Binaries will be build by and validated by Arm, with support through the armCommunity forum. Arm Toolchain for Embedded is expected to become available in April 2025, but a beta version is available now.
Arm Toolchain for Embedded Professional (ATfEP) will be identical in functionality and optimization to ATfE, but commercial instead of free to use. The toolchain will be enabled by User-based (UBL) licenses for Keil MDK 6, Arm Development Studio UBL Gold, and Arm Success Kits, it is expected to launch in April 2025 but a beta version is available now. ATfEP delivers additional features that are valuable to professional development teams:
Arm Toolchain for Embedded FuSa (ATfEF) is the safety-qualified variant of Arm Toolchain for Embedded Professional and is expected to become available at the end of 2026. With Arm Compiler for Embedded FuSa 6.22LTS having launched in October 2024, this maintains the historical 2–3-year cadence of launches of Arm embedded compilers for safety development.
Although the Arm Toolchain for the Embedded public launch is expected in April 2025, a beta version is available now, you are welcome to start investigating the toolchain and all feedback would be gratefully received! Although the toolchain is functional, it is at a beta stage and users should be aware of some caveats, including:
The beta download package is available here, The package contains the toolchain binaries, a user and migration guide, example Arm Development Studio projects migrated from AC6, a linker script overview guide, and a script to help migration of old armasm-format assembly files.
The 6.24 release scheduled for March 2025 will contain improved support for the Armv9.6-A architecture revision (following beta support for the revision in the 6.23 release) and will be the final scheduled release of AC6. We do expect further releases to be made on an approximately annual basis, but containing defect fixes only (no new architecture support, language support, optimizations, functionality and so on).
AC6 will continue to be enabled by all the licenses that enable Arm Toolchain for Embedded Professional, users will be able to choose which of the two compilers best suits their project. This is an exact mirror of the situation for AC5 when AC6 was launched 10 years ago: AC5 development was ended but AC5 has continued to be used in existing and new projects where it is found to be more suitable than AC6.
AC6 is likely to continue to appeal to existing and new embedded projects where: