In the fast-paced world of embedded systems development, newer does not always mean better. While Arm Compiler 6 (based on LLVM/clang) offers advanced optimizations and C++17 support, a massive installed base of legacy projects, middleware libraries, and certified safety applications still relies on Keil ARM Compiler version 5 (AC5) – specifically armcc.
Cause: Arm Compiler 6 uses a different inline assembly syntax (GNU-like). If your code uses __asm directives written for ARMCC v5, it will fail to compile with v6. But you are moving to v5, so the opposite happens: v5-code will compile fine, but do not expect to migrate forward.
Version Recommendation: Most legacy projects are compatible with Arm Compiler 5.06 update 7. 2. Installation and Setup
If you have a licensed version of MDK, you can download specific versions of the compiler (like 5.06) from the Arm Downloads