Stable Support for ARM Embedded Applications with the Release of Keil MDK-ARM 5.35

By Saumitra Jagdale

Freelance Technology Writer

August 02, 2021


Stable Support for ARM Embedded Applications with the Release of Keil MDK-ARM 5.35

Updates and corrections in the minor version of the development kit propel the overall firmware to a stable build for a flawless deployment. The architecture design of the microcontrollers, along with the compatible software support brings out the optimal performance of the hardware. 

Keil is well known in the embedded industry for its wide range of development tools for microcontrollers and peripherals. Keil MDK is a Microcontroller Development Kit for MCUs featuring ARM architecture which is currently at its 5th major version in terms of development. The development kit assists developers and designers with all the components necessary for creating, building, and debugging embedded applications.

Recently, Keil launched MDK-ARM 5.35, succeeding the previous version of MDK-ARM 5.34. There are not many changes in v5.35 as it is just a minor version update, but some of the corrections and updates are worth noting from the design and development point of view. 

The project files in Keil v4 have an extension of .uvproj for building customized applications using ARM MCUs. These project files come with the provision of configuring and setting application specific parameters as per the project requirements. XTAL is one such parameter that highlights the frequency of operation. The frequency is generally in synch with the debugger and Flash programmer, thus allowing the developers to adjust the frequency depending on the use cases. The MDK-ARM 5.35 version has this feature disabled as Keil v5 project files have .uvprojx extension. 

Debugging Updates in MDK-ARM 5.35

Compilers constitute the foundation of the development kits, as the conversion of high level language to machine code is the most frequent operation while executing programs. ARM Compiler 6 comes with an update in the MDK-ARM 5.35, it generates DWARF4 debug format for source level debugging. DWARF format allows for optimal debugging due to its improved data compression rate, it also provides a brief description of the executable programs. Additionally, the debug information processing for C++ programs has been corrected which is used to generate out of scope messages due to symbol errors.

Some of the product specific debugging updates in MDK-ARM 5.35 are:

  • Resolved ETMv4 decoder which falsely raised errors on not-taken unconditional branches in IT blocks.
  • Development kit supporting SeggerJ-Link’s debug driver to version 7.22b.
  • STMicroelectronics ST-LINK with updated debug driver to version and firmware upgrade utility ST-LinkUpgrade.exe to version2.5.6.
  • Nuvoton NU-Link upgraded debug driver to version 3.05.7215r.

MDK-ARM 5.34 had some bugs in dragging functionalities. The window used to stop working while dragging the symbols from the editor into Watch, Command, Memory, System, and Logic Analyzer. This issue has been fixed in the MDK-ARM 5.35. Also, some of the Armv8-M instructions are disabled which generated errors during execution. 

Software packages increase the scope of development and enhance the quality of the deployed projects. MDK-ARM 5.35 features CMSIS libraries, middleware, board support, code templates, and example projects. “They may be added any time to MDK-Core or DS-MDK, making new device support and middleware updates independent from the toolchain. The IDE manages the provided software components that are available for the application as building blocks.” 

The development kit comes with Keil MDK-Middleware 7.13.0 which has some significant changes with respect to protocols of File Systems, Network functions, and USB communications. There has been a minor version update in CMSIS libraries from 5.7.0 to 5.8.0. Hence, these updates make the software more stable in terms of inbuilt tools, APIs, and frameworks.

For detailed information on the updates and corrections, you can headover to the official page of ARM-MDK 5.35.

Saumitra Jagdale is a Backend Developer, Freelance Technical Author, Global AI Ambassador (SwissCognitive), Open-source Contributor in Python projects, Leader of Tensorflow Community India, and Passionate AI/ML Enthusiast.

More from Saumitra