µVision IDE

The µVision IDE combines project management, run-time environment, build facilities, source code editing, and program debugging in a single powerful environment. µVision is easy-to-use and accelerates your embedded software development. µVision supports multiple screens and allows you to create individual window layouts anywhere on the visual surface.

The µVision debugger provides a single environment in which you may test, verify, and optimize your application code. The debugger includes traditional features like simple and complex breakpoints, watch windows, and execution control and provides full visibility to device peripherals.

µVision project manager and run-time environment

Using the µVision Project Manager and Run-Time Environment you create software application using pre-build software components and device support from Software Packs. The software components contain libraries, source modules, configuration files, source code templates, and documentation. Software components can be generic to support a wide range of devices and applications.



  • The Project window shows application source files and selected software components. Below the components you will find corresponding library and configuration files.
  • Projects support multiple targets. They ease configuration management and may be used to generate debug and release builds or adoptions for different hardware platforms.
  • The Manage Run-Time Environment window shows all software components that are compatible with the selected device. Inter-dependencies of software components are clearly identified with validation messages.
  • The Configuration Wizard is an integrated editor utility for generating GUI-like configuration controls in assembler, C/C++, or initialization files.

µVision editor

The integrated µVision editor includes all standard features of a modern source code editor and is also available during debugging. Color syntax highlighting, text indentation, and source outlining are optimized for C/C++.



  • The Functions window gives fast access to the functions in each C/C++ source code module.
  • The Code Completion list and Function Parameter information helps you to keep track of symbols, functions, and parameters.
  • Dynamic Syntax Checking validates the program syntax while you are typing and provides real-time alerts to potential code violations before compilation.

External verification tools

µVision works with add-on products which extend its functionality. Our partners are experts in their field and their products work seamlessly with MDK. For more information on static code analysis and complete C/C++ testing solutions visit the verification tools page.

Arm Compiler 6

Arm Compiler 6 is the compilation toolchain for the Arm architecture, available in all editions of MDK. It brings together the modern LLVM compiler infrastructure and the highly optimized Arm C libraries to produce performance and power optimized embedded software for the Arm architecture.

Efficient code generation, better diagnostics, and faster feature development, coupled with Arm’s compiler backend expertise, make LLVM the natural choice for the next generation of Arm Compiler.

Arm Compiler 6 makes use of Clang for the compiler front-end, whilst also retaining familiar sub-tools such as armasm, armlink, armar and fromelf.



Arm Compiler 6 offers lots of benefits compared to the previous version and other available alternatives:

  • It has the best-in-class code size for cores based on the Armv7-M architecture (Arm Cortex-M3/M4/M7).
  • It supports cores based on Armv8.1-M (Arm Cortex-M23/M33/M35P/M55) and creates secure and non-secure code for devices with TrustZone for Armv8-M.
  • It fully supports the C++14 language standard.
  • Source code created for GCC can be built and optimized with Arm Compiler 6.


Safety Applications

Functional safety standards such as IEC 61508 and ISO 26262 require developers to justify the usage of compilers and demonstrate confidence in the selected toolchain.

Arm offers a compiler safety package to develop functional safety applications and help customers achieve certification by providing confidence-building evidence which can be used to make a toolchain justification argument.

Furthermore, a Functional Safety Run-Time System (FuSa RTS) is available that helps you to create certified applications in less time.