MDK Middleware

Microcontrollers offer a wide range of peripherals to meet today's embedded design requirements. However, implementing applications that efficiently utilize these interfaces presents software developers with real challenges. Flexible and easy-to-use middleware components are essential to unleash the power of communication and interface peripherals in modern microcontrollers.

MDK middleware components

Keil MDK is a development environment for Arm Cortex-M series microcontrollers which contains everything for creating and testing applications in assembly, C or C++. MDK is split into MDK Core and Software Packs making new device support and middleware updates independent from the tools.

MDK middlware components

The MDK-Middleware software pack contains components for IPv4 and IPv6 networking, USB Host and Device communication, file system for data storage, and a graphical user interface. The real-time operating system Keil RTX5 is used by all middleware components for task scheduling.

This documentation describes:

  • File System Component: create, save, read, and modify files in storage devices such as RAM, Flash, SD/SDHC/MMC memory cards, or USB memory devices.
  • Graphics Component: create flexible graphical user interfaces (GUIs) for LCD displays (separately available in the Keil:Middleware_Graphics software pack).
  • Network Component: services, protocol sockets, and physical communication interfaces for creating networking applications.
  • USB Component: create USB Device and USB Host applications with standard USB device classes.
  • Board Support Component: describes the board support interfaces that are used by the various example programs.

Each component is configurable for a wide range of applications and requires the driver interface as described by the CMSIS-Driver standard.

Note: Before using MDK-Middleware, please make sure that your selected microcontroller device offers CMSIS-Driver support.