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 as a Software 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 Software Pack. A Software Pack can be used for multiple purposes (see below).
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.
Software Pack Use Cases
Software Pack Use Cases
The figure above shows the following use cases for Software Packs:
- Device Family Pack (DFP): contains CMSIS system/startup files, drivers, and flash algorithms for a microcontroller device family.
- CMSIS Software Pack: contains the generic CMSIS components (CORE, DSP Library, and RTOS implementation) supplied by ARM.
- Middleware Pack: contains software components belonging to a middleware (such as source code or libraries).
- Board Support Pack (BSP): contains documentation, schematics, and drivers for a certain development board.
- In-house Software Packs: usually contain software components that can be distributed within a company or engineering group.
- Note
- A Software Pack can address multiple use cases at the same time!
The following sections give you more details on the basics:
CMSIS-Pack in ARM::CMSIS Pack
Files relevant to CMSIS-Pack are present in the following ARM::CMSIS directories:
Revision History
Version | Description |
1.3.1 | Modifications compared to Version 1.3:
- Schema Version remains unchanged, since no incompatible update
- Added Cortex-M7 to the predefined list of processors
- Updated Vendor list
- Added File version attribute to debugvars element of device description
- Updated XML file header encoding tag set to capital "UTF8"
- Deprecated init attribute of <memory> element in <devices> section deprecated
|
1.3 | Modifications compared to Version 1.2:
- Added attributes to release tag for managing deprecation and changing pack IDs
- Removed external RAMn and ROMn memory IDs in memory tag
- Added FileCategoryTypes in <file> element for C, C++, Assembler, Linker
- Extended specification of <require>, <accept> and <deny> with Cversion and Capiversion ranges
- Added Utilities for Creating Packs and PackChk.exe for pack validation
- Added documentation for the Example PACK based on LPC1800 Device Family
- Refined <debug> element description
- Many clarifications in the documentation along with examples
|
1.2 | Clarifications for release. |
1.1 - Preliminary | Update release for review:
- new Boards description
- new Debug description
- revised Device Feature capture
- new Generator description
- new Flash Algorithm Specification
- new Configuration Wizard Annotation Specification
|
1.0 - Preliminary | Preliminary release for review |
0.10 | Release for beta review |