{"id":28710801,"url":"https://github.com/arm-software/mdk-middleware","last_synced_at":"2025-06-14T21:08:20.555Z","repository":{"id":241470929,"uuid":"791191472","full_name":"ARM-software/MDK-Middleware","owner":"ARM-software","description":"MDK-Middleware (file system, network and USB components) source code for Arm Cortex-M using CMSIS-Drivers and CMSIS-RTOS2 APIs.","archived":false,"fork":false,"pushed_at":"2025-04-25T09:48:34.000Z","size":39409,"stargazers_count":114,"open_issues_count":6,"forks_count":34,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-06-04T20:06:24.779Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://arm-software.github.io/MDK-Middleware/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ARM-software.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license_terms/license_agreement.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-24T09:01:30.000Z","updated_at":"2025-05-30T17:58:22.000Z","dependencies_parsed_at":"2024-09-06T12:17:32.993Z","dependency_job_id":"e932eb21-3382-4c60-93ff-c12a62beef1b","html_url":"https://github.com/ARM-software/MDK-Middleware","commit_stats":null,"previous_names":["arm-software/mdk-middleware"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ARM-software/MDK-Middleware","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FMDK-Middleware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FMDK-Middleware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FMDK-Middleware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FMDK-Middleware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ARM-software","download_url":"https://codeload.github.com/ARM-software/MDK-Middleware/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARM-software%2FMDK-Middleware/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259884525,"owners_count":22926446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-14T21:08:17.134Z","updated_at":"2025-06-14T21:08:20.538Z","avatar_url":"https://github.com/ARM-software.png","language":"C","readme":"[![Version](https://img.shields.io/github/v/release/arm-software/MDK-Middleware)](https://github.com/ARM-software/MDK-Middleware/releases/latest)\n[![FileSystem Build Test](https://img.shields.io/github/actions/workflow/status/Arm-Software/MDK-Middleware/build_fs.yml?logo=arm\u0026logoColor=0091bd\u0026label=FileSystem%20Build%20Test)](./.ci)\n[![Network Build Test](https://img.shields.io/github/actions/workflow/status/Arm-Software/MDK-Middleware/build_net.yml?logo=arm\u0026logoColor=0091bd\u0026label=Network%20Build%20Test)](./.ci)\n[![USB Build Test](https://img.shields.io/github/actions/workflow/status/Arm-Software/MDK-Middleware/build_usb.yml?logo=arm\u0026logoColor=0091bd\u0026label=USB%20Build%20Test)](./.ci)\n\n# MDK-Middleware\n\nThis is the development repository of the [Keil MDK-Middleware](https://www.keil.arm.com/packs/mdk-middleware-keil) Version 8. MDK-Middleware uses the [CMSIS](https://arm-software.github.io/CMSIS_6/main/General/index.html) software framework and can be compiled with various toolchains such as Arm Compiler 6, GCC, IAR, and LLVM.\n\n## Useful Links\n\n- [Documentation](https://arm-software.github.io/MDK-Middleware/latest/General/index.html) - access to MDK-Middleware user's manual.\n- [Raise Issues](https://github.com/ARM-software/MDK-Middleware/issues) - to provide feedback or report problems.\n\n## Software Pack\n\nThe MDK-Middleware is released as [CMSIS software pack](https://www.keil.arm.com/packs/mdk-middleware-keil/versions/) and therefore accessible by CMSIS-Pack enabled software development tools. The pack is compatible with tools such as [µVision 5.40](https://www.keil.arm.com/#km6-pro-tools) and the [CMSIS-Pack Management for Eclipse](https://github.com/ARM-software/cmsis-pack-eclipse). Examples utilize new features of the [CMSIS-Toolbox](https://github.com/Open-CMSIS-Pack/cmsis-toolbox) and the VS Code integration.\n\nThe MDK-Middleware is annotated for the [CMSIS-View](https://arm-software.github.io/CMSIS-View/latest/index.html) Event Recorder and Component Viewer and uses [CMSIS-Compiler](https://arm-software.github.io/CMSIS-Compiler/main/index.html) for retargeting of standard C run-time library functions. It works therefore with the following other software packs:\n\n- [ARM::CMSIS](https://www.keil.arm.com/packs/cmsis-arm) version 5.9.0 or higher.\n- [ARM::CMSIS-Compiler](https://www.keil.arm.com/packs/cmsis-compiler-arm) version 2.0.0 or higher.\n- [ARM::CMSIS-View](https://www.keil.arm.com/packs/cmsis-view-arm) version 1.0.0 or higher.\n\nThe MDK-Middleware examples use the *csolution project* format of the [CMSIS-Toolbox](https://github.com/Open-CMSIS-Pack/cmsis-toolbox) and are framed as [Reference Applications](https://open-cmsis-pack.github.io/cmsis-toolbox/ReferenceApplications/) that require an additional software layer to run on an evaluation board. The CMSIS-Toolbox is developed under the [Open-CMSIS-Pack project](https://github.com/Open-CMSIS-Pack) and an integral part of several IDEs.\n\n### Using the development repository\n\nThis development repository of the MDK-Middleware can be used in a local directory and [mapped as software pack](https://open-cmsis-pack.github.io/cmsis-toolbox/build-tools#install-a-repository) using for example `cpackget` with:\n\n    cpackget add \u003cpath\u003e/Keil.MDK-Middleware.pdsc\n\n### Generate software pack\n\nThe software pack is generated using bash shell scripts.\n\n- `./gen_pack.sh` (provided via [Open-CMSIS-Pack/gen-pack](\nhttps://github.com/Open-CMSIS-Pack/gen-pack)) generates the software pack. Run this script locally with:\n\n      MDK-Middleware $ ./gen_pack.sh\n\n- `./Documentation/Doxygen/gen_doc.sh` generates the HTML documentation from the input in the folder `/Documentation/Doxygen/`. Run this script locally with:\n\n      MDK-Middleware $ ./Documentation/Doxygen/gen_doc.sh\n\n### GitHub Actions\n\nThe repository uses GitHub Actions to generate the pack, publish documentation, and verify reference applications:\n\n- `.github/workflows/pack.yml` based on [Open-CMSIS-Pack/gen-pack-action](https://github.com/Open-CMSIS-Pack/gen-pack-action) generates pack and documentation using the [Generate software pack](#generate-software-pack) scripts.\n\n- `.github/workflows/gh-pages.yml` publishes the documentation to [arm-software.github.io/MDK-Middleware](https://arm-software.github.io/MDK-Middleware/latest/General/index.html). The version drop-down selects previous documentation releases.\n\n- `.github/workflows/build_fs.yml` is a build test for the [File System reference applications](https://github.com/ARM-software/MDK-Middleware/tree/main/Examples/FileSystem).\n\n- `.github/workflows/build_net.yml` is a build test for the [Network reference applications](https://github.com/ARM-software/MDK-Middleware/tree/main/Examples/Network).\n\n- `.github/workflows/build_usb.yml` is a build test for the [USB reference applications](https://github.com/ARM-software/MDK-Middleware/tree/main/Examples/USB).\n\n## Repository top-level structure\n\nDirectory                   | Description\n:---------------------------|:--------------\n[.ci](https://github.com/ARM-software/MDK-Middleware/tree/main/.ci)                              | Build tests for components and reference applications.\n[.github/workflows](https://github.com/ARM-software/MDK-Middleware/tree/main/.github/workflows)  | [GitHub Actions](#github-actions).\n[Components](https://github.com/ARM-software/MDK-Middleware/tree/main/Components)                | Source code of MDK-Middleware components.\n[Documentation](https://github.com/ARM-software/MDK-Middleware/tree/main/Documentation)          | Doxygen source of the [documentation](https://arm-software.github.io/MDK-Middleware/latest/General/index.html).\n[Examples](https://github.com/ARM-software/MDK-Middleware/tree/main/Examples)                    | Reference applications that show the usage of MDK-Middleware.\n[Test](https://github.com/ARM-software/MDK-Middleware/tree/main/Test)                            | Test applications.\n[license_terms](https://github.com/ARM-software/MDK-Middleware/tree/main/license_terms)          | Standard Arm Tools license with MDK-Middleware usage permission.\n\n## License\n\nThe MDK-Middleware can be used free-of-charge with Arm-based devices and deployed as part of software applications. Refer to [redistributables.txt](https://github.com/ARM-software/MDK-Middleware/blob/main/license_terms/redistributables.txt) for more information.\n\nUsers of the [MDK-Professional or MDK-Essential edition](https://www.keil.arm.com/keil-mdk/#mdk-v6-editions) are entitled to contact Arm for support and maintenance.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farm-software%2Fmdk-middleware","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farm-software%2Fmdk-middleware","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farm-software%2Fmdk-middleware/lists"}