Open-CMSIS-Pack  Version 1.7.37
Delivery Mechanism for Software Packs

CMSIS-Pack describes a delivery mechanism for software components, device parameters, and evaluation board support. The XML-based package description (PDSC) file describes the content of a Software Pack (file collection) that includes:

  • Source code, header files, and software libraries
  • Documentation and source code templates
  • Device parameters along with startup code and programming algorithms
  • Example projects

The complete file collection along with the PDSC file is shipped in ZIP-format (renamed to *.pack). The PDSC file is designed for software development environments and describes the user and device relevant context for the files supplied within such a pack file.

The CMSIS-Pack system solves several problems:

  • It provides meta-data of files that relate to a software component. All files that belong to a software component can be identified and information about the original provider is preserved.
  • It enables consistent software component upgrade and identifies incompatible configuration files that may be part of the user application.
  • Software component providers can specify the interfaces and relationship to other software components.
  • The meta-data of a software component can include dependency information for toolchains, devices, and processors which simplifies the integration into application programs.

After installing a Software Pack, all included software components are available to the development tools. Software components are a collection of source modules, header and configuration files as well as libraries. Packs containing software components can also include Example Projects and User Code Templates.

The Revision History of CMSIS-Pack lists the main changes between versions.

Software Pack Use Cases

A pack can be used to deliver:

  • Device support: a so called Device Family Pack (DFP) contains CMSIS system/startup files, drivers, and flash algorithms for a microcontroller device family.
  • Board support: a Board Support Pack (BSP) contains documentation, schematics, and drivers for a certain development board.
  • Middleware: distribute software components belonging to a middleware stack (such as source code or libraries) in CMSIS-Pack format.
  • In-house software: distribute software components within a company or engineering group.
  • A Software Pack can address multiple use cases at the same time!
  • CMSIS itself is distributed as a software pack (containing the generic CMSIS components (CORE, DSP Library, and RTOS implementation)) and is supplied by Arm.

The following sections provide more information:


Files relevant to CMSIS-Pack are present in the following ARM::CMSIS directories:

Folder Content
Utilities Utilities for Creating Packs
Pack\Tutorials Tutorials for Creating Packs