Arm Toolchain for Embedded (ATfE) launched in 2025 as Arm’s LLVM-based, next-generation C/C++ compiler, Arm’s long-term replacement for Arm Compiler 6 (AC6) in standard (non-FuSa) work. For Indian Cortex-M and Cortex-R product teams the question is no longer whether to standardise on ATfE eventually, it is when. This post gives the framing; the per-team migration plan is the engagement GSAS runs with you.
GSAS is Arm’s authorized partner in India for Arm Development Tools. ATfE Professional is currently sold direct by Arm: GSAS does not distribute ATfEP itself. What we do is advise Indian engineering managers in Bengaluru, Hyderabad, Chennai, Pune, Mumbai, and Delhi NCR on the migration decision: when ATfE makes sense for new work, when AC6 stays the right answer (especially for FuSa programmes), and how to plan the transition without disrupting in-flight projects.
What’s the same, what’s different
Both toolchains compile C and C++ for Cortex-M, Cortex-R, and Cortex-A. Both ship from Arm with full commercial support entitlements. Both are Arm’s officially-supported toolchains for production firmware. The headline differences:
| Property | Arm Compiler 6 (AC6) | Arm Toolchain for Embedded (ATfE) |
|---|---|---|
| Architecture | LLVM-derived (Arm-maintained branch) | LLVM upstream-aligned |
| Driver | armclang | armclang (semantics preserved across toolchains) |
| C library | Arm-provided proprietary | PicoLibC + LLVM-libc |
| Assembler | armasm (legacy, removed in AC6.22 LTS) and GNU-syntax | GNU-syntax only |
| Launch year | 2014 | 2025 |
| Active development | Maintained, especially the FuSa LTS branches | Forward-going feature investment |
| FuSa qualification | AC6 FuSa is TÜV-certified today | Talk to your Arm contact via GSAS for the ATfE FuSa roadmap, not yet shipping |
| Indian commercial SKU | Arm Compiler 6 (also via Keil MDK Professional) | ATfEP (Arm Toolchain for Embedded Professional) |
| India procurement | INR via GSAS | Direct from Arm |
The single most important row in that table for safety-critical Indian programmes is the FuSa one. AC6 FuSa stays in service for safety work until ATfE FuSa ships. If your product is on an ASIL / SIL / Class-C qualification track, the buyer’s guide stops here for now: stay on AC6 FuSa.
For everyone else, read on.

The decision matrix
| Scenario | Recommendation | Why |
|---|---|---|
| New project, no certification, starting today | ATfE Professional | Forward-going investment, modern C/C++ standards, LLVM upstream alignment. |
| New project, ASIL-D / SIL-3 / SIL-4 / Class-C | AC6 FuSa | TÜV-certified today; the ATfE FuSa roadmap is an Arm conversation, talk to GSAS for current status before committing a programme schedule. |
| In-flight project on AC6, no certification | Migrate at the next natural release boundary | Migration is small effort; modern roadmap pays back over the next 3–5 years of product life. |
| In-flight project on AC6.16 LTS / AC6.22 LTS for FuSa | Stay on AC6 FuSa | Re-running safety qualification is multi-month work; do it for the FuSa version change (AC6.16 → AC6.22), not the toolchain family change (AC6 → ATfE). |
| Cortex-A Linux toolchain | Use Arm Development Studio (Gold or Gold FuSa) | Arm DS Gold and Gold FuSa editions ship with ATfE Professional bundled today; the AC6 family is also available within Arm DS for teams that haven’t migrated yet. |
| Indian university or evaluation project | ATfE Community | Free, full toolchain, modern. No reason to start a new educational project on AC6. |
The migration concerns Indian teams should plan for
The AC6 → ATfE move is not a drop-in for non-trivial firmware. Four areas usually drive the bulk of the migration effort:
armasmremoval. Both AC6.22 LTS and ATfE remove the legacyarmasmassembler. Hand-written.s/.asmfiles in armasm syntax must move to GNU-syntax. Scope depends on how much hand-tuned assembly is in the codebase, usually small for typical Cortex-M firmware, larger for DSP / cryptographic / motor-control work.- Scatter-loading → LLVM linker scripts. AC6 reads Arm’s traditional scatter-loading description; ATfE moves to LLVM linker scripts. The conversion is mechanical for flat memory layouts and a real porting block for non-trivial layouts (dual-core split RAM, ECC-protected segments, position-independent code regions).
- C library substitution. ATfE substitutes PicoLibC / LLVM-libc for AC6’s proprietary C library. The behavioural delta is small for standard-conforming code; firmware that depends on Arm-proprietary library extensions or specific AC6 semihosting hooks needs porting.
- CI/CD image rebuild. Container images that bake in the toolchain need to be rebuilt with the new compiler. Both AC6 and ATfE Professional use UBL; the activation logic is the same but the image embeds a fresh
armlminstall and you flush the build cache once.
Refer to Arm’s Arm Toolchain for Embedded product page on developer.arm.com for the canonical migration documentation. The per-team scoping, how big is each of the four blocks for your specific firmware, is the conversation GSAS runs with you before you commit a schedule.
What about MISRA / coding-standard conformance?
Both toolchains report similar diagnostic quality on the standard MISRA C / MISRA C++ checks; both pair well with Perforce Helix QAC and Perforce Klocwork for full-coverage MISRA conformance scanning. The compiler is rarely the limiting factor in Indian MISRA programmes; the static-analysis tool is. The AC6 → ATfE migration doesn’t change that workflow.
What about CMSIS-Pack and the Keil MDK ecosystem?
The CMSIS-Pack toolchain (cpackget, csolution.yml, cbuild) is compiler-agnostic. It works with AC6, with ATfE, with GCC, and with IAR, the pack format names the toolchain explicitly and the build system selects the right compiler. For Indian teams using Keil MDK v6, the move from AC6 to ATfE inside the same MDK installation is a configuration change, not a tool replacement.
What to do this quarter
If you are an Indian engineering manager evaluating an AC6 → ATfE move:
- Confirm whether you have a FuSa-locked dependency. If yes, stay on AC6 FuSa; come back to this guide when ATfE FuSa ships.
- Count your
armasmexposure. This is the cheapest first signal of migration scope. - Pilot ATfE Community on a non-production branch of one product. The smoke-test surfaces most porting issues in a few days.
- Procure ATfE Professional direct from Arm when ready. UBL provisioning, CI/CD migration, and the firewall + cache gotchas are the same conversation GSAS has weekly with Indian teams running AC6 and Keil MDK, happy to advise on the rollout shape even though the procurement itself goes through Arm.
Talk to GSAS about your AC6 / Keil MDK / FuSa setup → | Arm Toolchain for Embedded, Arm’s product page
GSAS Micro Systems is Arm’s authorized partner in India for Arm Development Tools, across Bengaluru, Hyderabad, Chennai, Pune, Mumbai, Delhi NCR, and Visakhapatnam. ATfE Professional is currently sold direct by Arm.
Also appears in:
Interested in Arm tools?
Talk to our application engineers for personalized tool recommendations.
More from Arm
View all →