Open-CMSIS-Pack  Version 1.7.45
Delivery Mechanism for Software Packs
Overview

Open-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. This information can also be used for display on web sites (refer to Publish a CMSIS-Pack).

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 examples and user code templates.

The Revision history lists the main changes between versions.

Software pack use cases

A software 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.
  • Software components: a pure software pack can contain source code, libraries, and documentation for:
    • middleware stacks for public availability.
    • in-house software for distribution within a company and/or engineering group.

All these pack types can contain in addition:

  • example projects,
  • code templates,
  • reference applications.

As shown in the image below, a software pack can address multiple use cases at the same time! The XML elements in the PDSC file determine the use case(s). CMSIS itself is distributed in various software packs (CORE, DSP library, RTOS implementation, etc.) and is supplied by Arm.

Major use cases of software packs

The following sections provide more information: