Keil MDK-ARM is the most comprehensive software development solution for ARM Cortex-M microcontrollers. It includes IDE, C/C++ compiler, debugger, software pack management and CMSIS. MDK software packs add device support and software components that are managed using the new Run-Time Environment (RTE). Real-time debug and trace capabilities are improved with RTOS stack watermarking and Event Viewer.
The MDK-Plus edition adds middleware components and the MDK-Professional adds encryption and a TÜV-certified compiler for safety critical applications.
The Run-Time Environment (RTE) in MDK Version 5 enables you to use validated Software Components in your project. You can access related documentation quickly, get context sensitive help for API functions, and use code templates for faster coding. MDK Version 5 improves also RTOS support with stack watermarking. The Event Viewer precisely shows the multi-tasking behavior of your embedded application.
After the installation of a Software Pack the contained software components become available in the MDK Run-Time Environment (RTE). RTE provides access to documentation and allows you to add, remove or update a software component in your project. For most components, code templates provide a starting point for application development.
The µVision Debugger gives you full access to debug and trace of an Cortex-M based system. You may use run/stop debugging or analyze a running system using trace. Trace enables additional debug views such as Logic Analyzer, Event Viewer, Performance Analyzer, Code Coverage, and Instruction Trace. These debug views show the dynamic behavior of your application and let you optimize algorithms or identify sporadic errors.
The precise version information of the Software Packs and Software Components is important during product lifecycle management (PLM) of an embedded application. For new projects you can easily explore and update software components. For released projects you can freeze the Software Pack versions. The build log gives you a lists of components used in the application to create an archive for long-term service.