Open-CMSIS-Pack Home
Open-CMSIS-Pack Project Home moves to GitHub: Open-CMSIS-Pack/landing/Wiki
The project vision:
Create a flexible and easy to use end to end development flow - from project creation to execution of the software on real or virtual hardware - for embedded software that supports:
command line, CI and IDEs that are cloud or host based
at least windows, linux on x86 and arm, and macOS host operating systems
multiple toolchains for building libraries and executables
multiple dependent projects targeting different contexts of the same hardware or the same context of different hardware
multiple configuration for fine tuning settings and selections for reusing projects for different use cases like test, debug and release
usage of meta information for devices, boards and software components shared via publicly hosted and privately maintained software packs with the aim to maximize ease of use and reuse
definition and management of hardware resources that enables the processing of template files to create context specific configuration files (e.g. linker script)
distribution, sharing and reuse of complex multi-projects (solution), projects and partial projects (layers)
hardware specific programming and debug of complex, dependent project executables
discovery of boards, devices, processors as well as software components, layers, projects, solutions and packs
tools and methodologies for creating, maintaining and validating a distributable
training material and documentation for developers and end-users
Help Wanted
There is still a lot do. Do you want to get involved?
Look at the areas below and visit the associated repositories to learn more. We currently use C++ and GO, depending on the project.
Join our weekly meetings.
The project aims: (https://www.Open-CMSIS-Pack.org)
Lead the evolution of the definition of the CMSIS-Pack specification
The project uses github issues to discuss input: https://github.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/issues/new/choose
Doxygen based documentation: https://github.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/tree/main/doxygen
Any update to the specification requires an update of the Schema and PackChk utility
Backed by documentation and training material
CLI tools for major host platforms targeting:
Package creation and validation
packgen https://github.com/Open-CMSIS-Pack/devtools/tree/main/tools/packgen - create a software pack for a Cmake based software repository
schema validation of the package description: https://github.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/blob/main/schema/PACK.xsd - using tools like xmllint.
packchk https://github.com/Open-CMSIS-Pack/devtools/tree/main/tools/packchk - semantic validation of a software pack description and the archive content
Package management including discovery of components, devices, boards and examples
cpackget https://github.com/Open-CMSIS-Pack/cpackget - download, add and remove packs and local repositories to CMSIS_PACK_ROOT
Project management for constructing projects from local files and components
projmgr https://github.com/Open-CMSIS-Pack/devtools/tree/main/tools/projmgr - yml formatted solution/project/layer descriptions.
Project build management
buildmgr (aka CMSIS-Build) https://github.com/Open-CMSIS-Pack/devtools/tree/main/tools/buildmgr - converting a single target, single configuration project (XML: cprj) into a CMake build
Package index utilities
vidx2pidx https://github.com/Open-CMSIS-Pack/vidx2pidx - create a flat index file from a vendor index file (a public index file is maintained here: www.keil.com/pack/index.pidx (vendor index: www.keil.com/pack/keil.vidx)
Shared Components (C++) - shared by genpack, packchk, buildmgr, projmgr
e.g. RTE Data Model: https://github.com/Open-CMSIS-Pack/devtools/tree/main/libs/rtemodel
Open-CMSIS-Pack Project:
Source Repository Organization: github.com/Open-CMSIS-Pack
Scheduled meetings: weekly Technical Project Meetings - Tuesdays 16:00 - 17:00 CET -https://armltd.zoom.us/j/99024608973?pwd=7CqrLIX8mmHkR1EFyXLbeTwyApNw9k.1&from=addon (!!! UPDATED 2025-09-12 !!!)
Working Group (WG) Meeting Notes: Meeting notes
Key contacts:
CMSIS@arm.com
Joachim.Krech@arm.com (Project Lead)
Mailing list:
!!! Deprecated !!! register/unregister here: https://op-lists.linaro.org/mailman3/lists/open-cmsis-pack-dev.op-lists.linaro.org/
Register to github notifications: https://github.com/Open-CMSIS-Pack/landing - select
Customfrom theWatchdrop down and select Discussion
GitHub project boards: Open-CMSIS-Pack
Need inspiration?
Get a quick intro into what spaces are, and how to best use them at Confluence 101: organize your work in spaces.
Check out our guide for ideas on how to set up your space overview.
If starting from a blank space is daunting, try using one of the space templates instead.