CMSIS-Pack: Pack Example

| CMSIS-Pack Version 1.5.0 Delivery Mechanism for Software Packs

- Main Page
- Usage and Description

All Pages
Pack Example

The ARM::CMSIS Pack contains an example of a Software Pack that contains device support, board support and software components. This Pack can be used as a reference for user generated Software Packs. It is available in the directory \CMSIS\Pack\Example. It contains a PDSC example file and all sub-directories containing the files referenced in the PDSC.
The example is a DFP for NXP's LPC1800 series of microcontrollers. It also contains BSP information and software components, mainly peripheral drivers. Some of the drivers adhere to the CMSIS-Driver standard. This is the layout of the sub-directories:

Directory | Content | Section in PDSC
--- | --- | ---
Boards | CMSIS-RTOS Blinky uVision project running on the MCB1800 development board | <examples>
CMSIS_Driver | CMSIS-Driver compliant peripheral drivers | <component>
Device | CMSIS-Core (Cortex-M) files for LPC1800 series | <device>
Documents | Documentation for devices and boards | <book>
Flash | Flash Programming and a sub-directory called LPC18xx43xx_IAP containing a uVision project for IAP (In-Application Programming) support | <algorithm>
Images | Images of the MCB1800 development board | <board>
SVD | SVD file for LPC1800 series | <debug>

## PDSC Example File

The PDSC file that is included in the example Pack is called Keil.LPC1800_DFP.pdsc.txt. The extension `txt` has been added to hide the file from development tools as it is not intended for installation. The file contains the following top level elements:

XML Element | Purpose
--- | ---
<package> | Publish Pack information like vendor, name, version, etc.
<devices> | Define four sub-families with 16 devices in total.
<boards> | Show MCB1800 development board information.
<conditions> | Declare required conditions for software components.
<components> | Include startup/system files, HAL drivers, and CMSIS-Driver 2.0 compliant peripheral drivers.
<examples> | Contain a CMSIS-RTOS Blinky example project for uVision running on the MCB1800 development board.

## Directory CMSIS_Driver

The CMSIS_Driver directory contains the following CMSIS-Driver compliant peripheral drivers. These drivers are supporting the NXP LPC1800 series:

Driver | File | Software Component
--- | --- | ---
Ethernet | EMAC_LPC18xx.c | ::CMSIS-Driver:Ethernet MAC
SPI | SSP_LPC18xx.c | ::CMSIS-Driver:SPI
I2C | I2C_LPC18xx.c | ::CMSIS-Driver:I2C
MCI | MCI_LPC18xx.c | ::CMSIS-Driver:MCI
USART | USART_LPC18xx.c | ::CMSIS-Driver:USART
USB Device | USBD_LPC18xx.c | ::CMSIS-Driver:USB Device:USB0/1
USB Host | USBH_LPC18xx.c | ::CMSIS-Driver:USB Host:USB0/1

The following HAL drivers are required for the implementation of the CMSIS-Driver compliant peripheral drivers:

Driver | File | Software Component
--- | --- | ---
General purpose DMA driver | GPDMA_LPC18xx.c | ::Device:GPDMA
General purpose IO driver | GPIO_LPC18xx.c | ::Device:GPIO
System control unit driver | SCU_LPC18xx.c | ::Device:SCU

## Directory Device

The Device directory has two sub-directories: Include and Source.

File | Purpose | Software Component
--- | --- | ---
Include\LPC18xx.h | LPC1800 series header file | ::CMSIS:CORE
Include\system_LPC18xx.h | LPC1800 series system header file | ::CMSIS:Startup
Source\system_LPC18xx.c | LPC1800 series system source file | ::CMSIS:Startup
Source\ARM\startup_LPC18xx.s | LPC1800 series startup assembler file for ARMCC | ::CMSIS:Startup
Source\GCC\startup_LPC18xx.S | LPC1800 series startup assembler file for GCC | ::CMSIS:Startup
Source\IAR\startup_LPC18xx.s | LPC1800 series startup assembler file for IAR | ::CMSIS:Startup

## Directory Documents

This directory incorporates the following documents:

File | Purpose | Section in PDSC
--- | --- | ---
dui0552a_cortex_m3_dgug.pdf | Cortex-M3 Generic User Guide | <book> element of the device <family> element
ES_LPC18X0.pdf | LPC1800 Errata sheet | <book> element of the <device> section
LPC1850_30_20_10.pdf | LPC1800 Data sheet | <book> element of the <device> section
mcb1800.chm | MCB1800/4300 User's Guide | <book> element of the <boards> section
MCB1800v1-3-schematics.chm | MCB1800 schematics | <book> element of the <boards> section
UM10430.pdf | User manual for LPC1800 | <book> element of the <device> section

Note
  Some of these documents are only placeholders for copyright reasons.