CMSIS Packs  Version 0.10
Mechanism to install software, device support, APIs, and example projects
 All Pages
Pack Description (*.PDSC) Format

The Pack Description (*.PDSC) Format uses standard XML annotations and is defined in the schema file PACK.xsd. Software components are distributed through Software Packs. A Software Pack is a zip file containing a single Pack Description file that describes dependencies to devices, processors, tool chains, or other software components.

A descriptive text of the Software Pack along the text information for devices, components, and examples is part of each a Pack Description (*.PDSC) file. In addition, information is provided which facilitates downloading, updating, and versioning of of a Software Pack. The *.PDSC file contains also the complete version history of the Software Pack with a brief list of the most significant changes.

Filename Conventions

A Software Pack must have a unique filename which uses the following format: <vendor>.<name>.<version>.pack.

Where:

  • <vendor>: name of the supplier or vendor of the Software Pack.
  • <name>: name of the Software Pack. It is the vendor's responsibility to ensure unique package names.
  • <version>: version number of the Software Pack.
  • .pack: file extension identifying a Software Pack.

The Pack Description (*.PDSC) file belonging to such a Software Pack file (<vendor>.<name>.<version>.pack) is version independent and has the format: <vendor>.<name>.pdsc.

Where:

Example filenames for software packs:

Software Pack for CMSIS Version 3.20 released by ARM.

  • ARM.CMSIS.3.20.0.pack: filename of the Software Pack.
  • ARM.CMSIS.pdsc: filename of the Pack Description (*.PDSC) file.

Software Pack for STM32F4 Device Family Pack (DFP) Version 1.0.0 released by ST Microelectronics.

  • ST.STM32F4xx_DFP.1.0.0.pack: filename of the Software Pack.
  • ST.STM32F4xx.pdsc: filename of the Pack Description (*.PDSC) file.

Pack Schema

The XML schema file PACK.xsd defines the sections used in a *.PDSC file.

The Pack Description (*.PDSC) Format is structured using grouping elements and contains the following top level elements:

  • <package>: describes package related information like vendor, package name, description, version. Is the root element.
  • <apis>: describes Application Programming Interfaces (API) Specifications contained in the Software Pack.
  • <devices>: lists the devices support by this Software Pack. It specifies the device attributes and files like flash programming algorithms, CMSIS device header files, CMSIS System View Descriptions, etc.
  • <conditions>: defines dependencies to devices, processors, components, and tools that are used within the Software Pack. It allows making components and files conditional.
  • <components>: lists the software components contained in the Software Pack.
  • <examples>: specifies example projects contained in the PACK.

The Pack Description (*.PDSC) Format describes types and enum values used across elements:

  • Types : data types for various elements.
  • Enum Values : enumeration values for various elements.

Example of a *.PDSC File

This example of a *.PDSC File explains the sections, particularly how dependencies are used to identify individual files of Software Components.

PDSC_Example.png
Example of a *.PDSC File