CMSIS-Build  
Tools, software frameworks, and work flows for productivity with CMSIS based projects
 All Pages
cpackget: Install Packs

The cpackget "cpackget" program gets a list of URLs that refer to software packs in CMSIS-Pack format that should be downloaded and installed.

Invocation

cpackget is called from the Bash command line with the following syntax:

cpackget add -f <pack-list-file>

Where:

cpackget is the name of the program.

pack add invokes the subcommand that handles pack download and installation.

<pack-list-file> is a text file that contains a URL list.

The cpackget program reads a text file that contains a URL list of software packs in CMSIS-Pack format. The URL list has the following format: <url>/<vendor>.<packname>.<version>.pack. Below is an example:

https://www.keil.com/pack/ARM.CMSIS.5.6.0.pack
https://www.keil.com/pack/ARM.CMSIS-Driver.2.5.0.pack

For each URL in this list the following operations are performed:

  1. Download the related software pack from the URL.
  2. Extract the content of the software pack.

The following directories are used to store software pack. The naming conventions for directories is based on the CMSIS-Pack specification.

Directory Description
${CMSIS_PACK_ROOT}/.Download Stores the downloaded software pack
${CMSIS_PACK_ROOT}/<vendor>/<packname>/<version> Extracted content of the software pack (naming according CMSIS-Pack specification)
Note
The environment variable $CMSIS_PACK_ROOT must reference an existing directory with at least the file ./Web/index.pidx. The directory structure can be created with cpackget init

Usage Example

$
$ cpackget -v init --pack-root packroot https://www.keil.com/pack/index.pidx
I: Using pack root: "packroot"
Downloading index.pidx 100% |███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| (97/97 kB, 189.317 kB/s)
$ cat Simulation.cpinstall
http://www.keil.com/pack/ARM.CMSIS.5.6.0.pack
http://www.keil.com/pack/Keil.ARM_Compiler.1.6.1.pack
$ cpackget -v pack add -f Simulation.cpinstall --pack-root packroot
I: Using pack root: "packroot"
I: Parsing packs urls via file Simulation.cpinstall
I: Adding [http://www.keil.com/pack/ARM.CMSIS.5.6.0.pack http://www.keil.com/pack/Keil.ARM_Compiler.1.6.1.pack]
Downloading ARM.CMSIS.5.6.0.pack 100% |████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| (101/101 MB, 8.141 MB/s)
Downloading Keil.ARM_Compiler.1.6.1.pack 100% |█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| (3.8/3.8 MB, 2.443 MB/s)

Error Messages

The error messages that the cpackget prints are mostly self explanatory. Here are some examples

# Trying to install a pack without specifying a pack root
$ cpackget add -f Simulation.cpinstall
E: pack root not found
# Trying to install a pack using an invalid pack url
$ cpackget add not-a-pack-path --pack-root packroot
E: bad pack name: pack extension should be "pdsc", "pack" or "zip"

There are a few generic error messages that can be easily debugged by passing the verbose flag to cpackget "-vv".