This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

What does Keil offer that GCC does not?

This question was raised in the 'How to implement a secure IoT system on ARMv8-M' webinar, view all the questions in the round up blog post

  • Below is a brief summary of some of the differences between ARM Compiler 6 (shipped with Keil Microcontroller Development Kit) and GCC:
    • ARM Compiler 6 is developed and created by ARM experts, leveraging decades of experience of creating compilers for ARM. We have deep experience of ARM architecture and cores, excellent internal relationships, and AC6 is the reference compiler for ARM: it is extensively used inside ARM itself for core validation and benchmarking. Our position inside ARM makes it possible for use to add core-specific micro-architectural optimisations in the compiler for superior performance.
    • Our support is unbeatable: it’s a 24/7 operation with experts in 12 centres worldwide. For particularly deep and complicated problems we have a dedicated compiler response team comprising engineers on rotation from the compiler development team.
    • AC5 is certified for functional safety, and AC6 will gain certification soon. For those customers not working in functional safety environments the certification is still important: it speaks volumes of the quality of our toolchain. Our development and testing processes, our ley roles and responsibilities, our testing infrastructure and coverage have all been assessed and accepted by a safety industry leader: ARM compilers are developed, tested, and maintained under very strict regimes.
    • AC6 is based on LLVM and Clang. The modern architecture and clean codebase gives AC6 numerous advantages including ease of optimization and potential feature velocity.
    • AC6 includes the ARM optimised libraries and the ARM linker, librarian, and assembler. It’s a full toolchain: the compiler, linker, and optimised libraries work together to get you the best performance and codesize
    • AC6 includes much better diagnostics and innovative features such as Link Time Optimization. Although the benefit of this varies according to code structure and workload, across a wide range of code an average performance increase of around 10% isn’t unreasonable.
    • AC6 is shipped under a commercial license.