CMSIS-Pack
Version 1.5.0
Delivery Mechanism for Software Packs
|
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> |
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. |
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 |
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 |
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 |