Awesome
MDK-Middleware
This is the development repository of the Keil MDK-Middleware Version 8. MDK-Middleware uses the CMSIS software framework and can be compiled with various toolchains such as Arm Compiler 6, GCC, IAR, and LLVM.
Useful Links
- Documentation - access to MDK-Middleware user's manual.
- Raise Issues - to provide feedback or report problems.
Software Pack
The MDK-Middleware is released as CMSIS software pack and therefore accessible by CMSIS-Pack enabled software development tools. The pack is compatible with tools such as µVision 5.40 and the CMSIS-Pack Management for Eclipse. Examples utilize new features of the CMSIS-Toolbox and the VS Code integration.
The MDK-Middleware is annotated for the CMSIS-View Event Recorder and Component Viewer and uses CMSIS-Compiler for retargeting of standard C run-time library functions. It works therefore with the following other software packs:
- ARM::CMSIS version 5.9.0 or higher.
- ARM::CMSIS-Compiler version 2.0.0 or higher.
- ARM::CMSIS-View version 1.0.0 or higher.
The MDK-Middleware examples use the csolution project format of the CMSIS-Toolbox and are framed as Reference Applications that require an additional software layer to run on an evaluation board. The CMSIS-Toolbox is developed under the Open-CMSIS-Pack project and an integral part of several IDEs.
Using the development repository
This development repository of the MDK-Middleware can be used in a local directory and mapped as software pack using for example cpackget
with:
cpackget add <path>/Keil.MDK-Middleware.pdsc
Generate software pack
The software pack is generated using bash shell scripts.
-
./gen_pack.sh
(provided via Open-CMSIS-Pack/gen-pack) generates the software pack. Run this script locally with:MDK-Middleware $ ./gen_pack.sh
-
./Documentation/Doxygen/gen_doc.sh
generates the HTML documentation from the input in the folder/Documentation/Doxygen/
. Run this script locally with:MDK-Middleware $ ./Documentation/Doxygen/gen_doc.sh
GitHub Actions
The repository uses GitHub Actions to generate the pack, publish documentation, and verify reference applications:
-
.github/workflows/pack.yml
based on Open-CMSIS-Pack/gen-pack-action generates pack and documentation using the Generate software pack scripts. -
.github/workflows/gh-pages.yml
publishes the documentation to arm-software.github.io/MDK-Middleware. The version drop-down selects previous documentation releases. -
.github/workflows/build_fs.yml
is a build test for the File System reference applications. -
.github/workflows/build_net.yml
is a build test for the Network reference applications. -
.github/workflows/build_usb.yml
is a build test for the USB reference applications.
Repository top-level structure
Directory | Description |
---|---|
.ci | Build tests for components and reference applications. |
.github/workflows | GitHub Actions. |
Components | Source code of MDK-Middleware components. |
Documentation | Doxygen source of the documentation. |
Examples | Reference applications that show the usage of MDK-Middleware. |
Test | Test applications. |
license_terms | Standard Arm Tools license with MDK-Middleware usage permission. |
License
The MDK-Middleware can be used free-of-charge with Arm-based devices and deployed as part of software applications. Refer to redistributables.txt for more information.
Users of the MDK-Professional or MDK-Essential edition are entitled to contact Arm for support and maintenance.