CMSIS-Pack  Version 1.6.1
Delivery Mechanism for Software Packs
 All Pages
packChk

packChk is a utility for validation of a Software Pack. It operates on the unzipped content of the Software Pack and is located in the directory .\CMSIS\Utilities of the ARM::CMSIS Pack. packChk is available for Windows and Linux operating systems.

packChk performs the following operations:

  • Reads the content of the specified *.pdsc file. The path to this *.pdsc file is considered as root directory of the Software Pack.
  • Verifies the existence of all files in the Software Pack that are referenced in the *.pdsc file.
  • Checks for presence and correctness of mandatory elements such as <vendor>, <version>, etc.
  • Optionally, reads other PDSC files to resolve dependencies on <apis>, <boards>, and <conditions>.
  • Optionally, checks all System View Description files (*.SVD) referenced in the *.pdsc file using SVDConv.exe. Refer to SVD File Validation for details.
  • Optionally, verifies the element <url>.
  • Optionally, creates the standardized name of the Software Pack file for further processing in scripts.
  • Sets the exit status reflecting the validation result to:
    0 : no errors detected
    1 : errors during validation detected

Operation

packChk is invoked from the command line:

packChk <pdsc_file> <options>


<options> Short Name Description
-i <file> Check component dependencies Reference PDSC file(s) used to resolve component dependencies in conditions.
-n <file> Write Pack file name Write a standardized name for the Software Pack to the specified ASCII file.
-s Verify SVD files Each SVD file referenced in the *.pdsc file is validated with SVDConv. With this option set, SVDConv.exe is invoked from the same directory as packChk.
-u <url> Pack Server URL Verifies that the specified URL matches the <url> element in the *.pdsc file.
-v Verbose Prints extra process information.
-x <msg-list> Suppress Suppress all listed validation messages. You can separate the values with blanks to create a list or repeat the option. Ranges are not allowed. Suppressing validation messages does not affect error and warning counters. For a list of messages refer to Validation Messages.
-h/-? Help Show help.

Examples

Run packChk on the package description file called MyVendor.MyPack.pdsc. packChk verifies the file against the Software Pack that is located in the same directory.

packChk MyVendor.MyPack.pdsc

Run packChk on the package description file called MyVendor.MyPack.pdsc in the current directory and try to resolve conditions using the ARM.CMSIS.pdsc file based in another directory.

packChk MyVendor.MyPack.pdsc -i ..\..\PACK\ARM\CMSIS\ARM.CMSIS.pdsc

Run packChk on the package description file called MyVendor.MVCM3.pdsc, verify SVD files, verify the URL to the Pack Server, and generate a ASCII text file with the standardized name of the Software Pack.

packChk "MyVendor.MVCM3.pdsc" -s -u "http://www.myvendor.com/pack" -n packname.txt

Run packChk on the package description file called MyVendor.MVCM3.pdsc. Suppress validation messages M304 and M331.

packChk MyVendor.MVCM3.pdsc -x M304 M331           // messages as a list
packChk MyVendor.MVCM3.pdsc -x M304 -x M331        // option repeated

Error and Warning Messages

The following table shows the errors and warnings issued by packChk.

Invocation Errors

Message Number Type Description Action
M200 ERROR Invalid arguments! At least one argument is wrong. Correct the argument.
M201 ERROR Too many arguments! The list of arguments is too long. Verify if you have used one argument twice.
M202 ERROR No PDSC input file specified Correct the command line. packChk expects a *.pdsc file name as input.
M203 ERROR Error reading PDSC file 'PATH/FILENAME'! Verify the PDSC file for consistency.
M204 ERROR File not found: 'PATH' The specified PDSC file could not be found in the PATH displayed in the message. Correct the path or the filename.
M205 ERROR Cannot create Pack Name file 'PATH' Check the disk space or your permissions. Correct the path name.
M206 ERROR Multiple PDSC files found in package: 'FILES' Only one PDSC file is allowed in a package. Remove unnecessary PDSC files. The message lists all *.pdsc files found.
M207 ERROR PDSC file name mismatch!
Expected: 'PDSC1.pdsc'
Actual : 'PDSC2.pdsc'
The PDSC file expected has not been found. Rename or exchange the PDSC file.
M208 ERROR Error calling SVDConv: 'PATH' SVDConv.exe was not found. Copy the executable into the directory of packChk or enter the path where SVDConv is located. Default is CMSIS\Utilities.
M209 ERROR Unknown Option: 'OPT' The command line option entered is not known or invalid.
M210 ERROR Only one input file to be checked is allowed. You can only check one PDSC file at a time.

Validation Messages

Message Number Type Description Action
M300 ERROR The following files are listed in PDSC but not part of the package:
'PATH':
'FILES'
The files listed should be part of the package. However, these files could not be added to the package. Verify whether the files exist. Verify the file permissions.
M301 ERROR Checking Pack URL of PDSC file failed:
Expected URL : 'URL1'
Package URL : 'URL2'
The URL entered in the package does not match the value entered for comparison. Change the URL in the package. Check for possible misspellings of URL1.
M302 ERRORNo vendor tag found in the PDSC file! Add the <vendor> tag and provide the vendor name. For example: <vendor>Keil</vendor>. No vendor entered in the PDSC file. Enter the tag <vendor> and add the vendor name. Refer to /package.
M303 ERRORNo package name found in the PDSC file! Add the <name> tag and provide the package name. For example: <name>MCU-Name_DFP</name>. No package name found in the PDSC file. Enter the tag <name> and add the package name. For example <name>MCU-Name_DFP</name>. The package name is mandatory to create the package. Refer to /package.
M304 ERROR No package URL (<url>-tag and/or value) found in PDSC file! Add the tag <url> and enter a URL in the PDSC file. The URL points to the web page from which users can download the package. Refer to /package.
M305 ERRORNo package version ("version"-attribute in a <release>-tag) found in PDSC file! No version or release information found in the PDSC file. Add the attribute version to the tag <release> and enter the version number. Refer to /package/releases/release.
M306 ERRORNo package description found in the PDSC file. Add the <description>-tag and provide a descriptive text. No package description was found in the PDSC file. Enter the tag <description> and briefly describe the package content. Refer to /package.
M307 ERROR Checking SVD file 'PATH' failed! Verify the consistency of the *.SVD file. Refer to SVD File Validation.
M308 ERROR SVD file 'PATH' not found. Add the SVD file or correct the PDSC entry. The *.SVD file was not found in the path specified in the message. Add the SVD file or correct the entry in the *.pdsc file.
M309 ERROR Cannot read file information: 'PATH'. Access to the file specified failed. Verify permissions and spelling.
M310 ERROR Filename mismatch (case sensitive):
PDSC name : 'PDSC_FILENAME'
Filename : 'SYSTEM'
Filenames are case sensitive. Correct spelling.
M323 ERROR File/Path not found: 'PATH' The file or path entered in the PDSC file could not be found. Verify the path information.
M324 ERROR Board referenced in Example 'EXAMPLE' is undefined: 'VENDOR' : 'BOARD' The board referenced in the example application could not be found. Define the board (/package/boards/board) or correct the reference information (/package/examples/example/board).
M325 ERROR Board 'NAME' redefined, already defined in Line 'LINE': 'PATH' This board has been defined already in the line 'LINE' of the file 'PATH'. Verify and remove one of the board definitions.
M326 ERROR Path is not conformant: 'PATH': Absolute Paths or Drive references are not allowed, use Paths relative to PDSC file. The path needs to be relative to the PDSC file so that a dependency of a certain file system does not occur.
M327 ERROR Path is not conformant: 'PATH': Backslashes are not recommended, use forward slashes. Paths to files should adhere to the POSIX standard using forward slashes (/).
M328 ERROR Version not set for Release Information 'DESCR' The release defined through the description 'DESCR' requires the attribute <version>. Refer to /package/releases/release.
M329 ERROR Description not set for Release Information 'VER' The release defined through the version 'VER' needs a description. Refer to /package/releases/release.
M330 ERROR Condition redefined: 'COND', already defined in Line 'LINE' The condition has been defined already in a previous line. Correct the condition name, or remove the duplicate.
M331 WARNING Condition unused: 'COND' The condition has been defined but not used further. Remove the condition or add condition rules. Refer to /package/conditions/condition.
M332 ERROR Condition undefined: 'COND' A condition has been used but not defined. Correct the name of the condition or define the missing condition. Refer to /package/conditions/condition.
M333 WARNING Component has no condition: Cclass= 'CCLASS', Cgroup= 'CGROUP', Csub='CSUB', Cversion= 'CVER' The component defined has no condition. If the component has restrictions, then add a condition to the component definition. Refer to /package/components/.../component.
M334 WARNING Config File has no version: 'PATH' Add version information to the configuration file.
M335 WARNING Component declared as 'Board Support' has no ref to a device: Cclass= 'CCLASS', Cgroup= 'CGROUP', Cversion= 'CVER' A component defined as 'board support' needs a reference to a device. Add a device or correct the component definition. Refer to attribute Cclass of /package/components/.../component and /package/boards/board/mountedDevice.
M336 WARNING No reference to a device or device not found: Cclass= 'CCLASS', Cgroup= 'CGROUP', Cversion= 'CVER' Define the device /package/devices/family/../device or correct the information about the device in the reference.
M337 WARNING File with category 'CAT' has wrong extension 'EXT': 'PATH' The extension of the file does not match the file category. Verify the extension to match the category. Refer to /package/.../files/file.
M338 WARNING No releases found. The PDSC file is missing release information. Add <release> information to the file. Refer to /package/releases element.
M339 WARNING Include Path 'PATH' must not be a file! The path specified contains a filename. Correct the path infomation and remove the filename.
M340 WARNING Include Path 'PATH' must end with '/' or '\' Include paths must end with a slash or backslash. Verify and correct the path name.
M341 WARNING File with 'COMP' dependency must have extension 'EXT' : 'PATH' A file defining component dependencies must have the extension mentioned in the message. Verify the settings and correct the file extension.
M342 WARNING File with attribute 'ATTR' must not have category 'CAT': 'PATH' A file with the attribute mentioned in the message must not have the category specified. Correct the attribute or the category.Refer to /package/.../files/file.
M343 WARNING File with attribute 'ATTR' requires 'ATTR2' attribute: 'PATH' A file with the attribute 'ATTR' requires another attribute 'ATTR2'. Add the required attribute or correct attribute 'ATTR'. Refer to /package/.../files/file.
M344 WARNING File shall have condition containing 'COND': 'PATH' The file should have a condition. Define a condition in the file specified in the message.
M345 WARNING URL not found : 'URL' The specified URL could not be found. Correct the URL. Refer to /package.
M346 WARNING Referenced device(s) in 'BOARD' not found: 'DEVICE' The device or devices specified for the board could not be found. Verify and correct the device name or the board name. Refer to /package/boards/board/mountedDevice and /package/boards/board/compatibleDevice.
M347 WARNING Generator ID in Component Cclass= 'CCLASS', Cgroup= 'CGROUP', Cversion= 'CVER' is undefined: 'GENID' The generator ID used in the component could not be found. Verify and correct the generator ID (/package/components/.../component), or define the generator ID (ref /package/generators/generator).
M348 WARNING Feature redefined for 'MCU', see Line 'REF_LINE': 'FEATURE' This feature 'FEATURE' has been defined already on the same level in line 'REF_LINE'. The feature characteristics defined on line 'LINE' overwrite those from 'REF_LINE'. Correct the feature (/package/devices/family/.../feature).
M349 WARNING Examples found, but no board description(s) found Example projects have been found for a board that was not defined. Correct the entry for the examples (/package/examples/example/board) or define the board (/package/boards/board).
M350 WARNING No 'COMP' found for 'VENDOR' : 'MCU' ('COMPILER') The package (/package) defines a Vendor-MCU combination for which no component was defined. Define a component (/package/components/.../component) or verify the 'VENDOR' - 'MCU' settings.
M351 WARNING Component 'COMP' ('COMPID') error for 'VENDOR': 'MCU' ( 'COMPILER'): 'MSG' An unspecified error was found for the component. The message might give detailed information about the error.
M352 WARNING No Directories/Files found for 'COMP' ('COMPID') for 'VENDOR': 'MCU' ('COMPILER') No files or directories could be found for the defined component. Add the missing information. Refer to /package/.../files.
M353 WARNING No 'FILECAT' File found for Component 'COMP' ('COMPID') for 'VENDOR' : 'MCU' ('COMPILER') No file with the mentioned file category was found for the component. Verify whether the file exists or correct the information. Refer to attribute category in /package/.../files/file.
M354 WARNING Multiple 'FILECAT' Files found for Component 'COMP' ('COMPID') for 'VENDOR' : 'MCU' ('COMPILER') Multiple files with the mentioned file category were found for the specified component. Verify and rename the files, or correct the component settings (/package/.../files/file).
M355 WARNING No 'FILECAT' Directory found for Component 'COMP' ('COMPID') for 'VENDOR' : 'MCU' ('COMPILER') The directory specified for the file category was not found. Correct the information in the component settings (/package/components/.../component).
M356 WARNING Multiple 'FILECAT' Directories found for Component 'COMP' ('COMPID') for 'VENDOR' : 'MCU' ('COMPILER') Multiple directories were found for the same file category in the specified component. Remove obsolete information or correct the component settings.
M358 WARNING Header File 'HFILE' for 'CFILE' missing for Component 'COMP' ('COMPID') for 'VENDOR' : 'MCU' ('COMPILER') The header file defined for the component could not be found. Verify the header file settings (/package/.../files/file) or whether the file exists.
M359 WARNING Family has no Device(s) or Subfamilies: 'FAMILY' The device family has no devices or subfamilies. Add the missing information (/package/devices/family).
M360 WARNING Subfamily has no Device(s): 'SUBFAMILY' Add the missing information. Refer to /package/devices/family/subFamily.
M361 WARNING Generator ID in Taxonomy Cclass= 'CCLASS', Cgroup= 'CGROUP' is undefined: 'GENID' The generator ID used in the taxonomy is not defined. Define or correct the generator ID (/package/taxonomy element).
M362 WARNING Not all Component Dependencies for Cclass= 'CCLASS', Cgroup= 'CGROUP', Csub= 'CSUB', Cversion= 'CVER', Capiversion= 'APIVER' can be resolved.
RTE Model reports: 'MSG'
Some of the component dependencies could not be resolved. The message might contain additional information. Verify and correct component definition and dependency information. Refer to /package/components/.../component attribute condition.
M363 WARNING No API defined for Component Cclass= 'CCLASS', Cgroup= 'CGROUP', Csub= 'CSUB', Cversion= 'CVER', Capiversion= 'APIVER' The package is missing the API information for the specified component. Refer to /package/apis.
M364 WARNING No Devices for Condition 'COND' available. The specified condition refers to a device that does not exist. Define the device (/package/devices/family/../device) or correct the information for the condition (/package/conditions/condition).
M365 ERROR Redefined DEVTYPE 'MCU' found, see Line LINE Remove duplicate device/variant entries.
M366 ERROR Redefined DEVTYPEEXIST as DEVTYPE 'MCU' found, see Line LINE Device has been redefined as variant or vice versa. Remove duplicate device/variant entries.
M368 INFO Redefined TYPEEXISTING as TYPE 'NAME' found, see Line LINE Family/subfamily/device/variant has been redefined as different type.
M369 INFO Feature is already defined for 'DEVICE' and will be added, see Line 'LINE': 'FEATURE'. This feature 'FEATURE' has been defined already on a higher level and as such it gets added to this 'DEVICE'. This is usually done when some devices have a higher number of basic features. Correct the feature (/package/devices/family/.../feature) if this is a typo.
M370 WARNING URL is not conformant: 'URL':
Backslashes are not allowed in URL, use forward slashes.
Use standard URL notation using forward slashes (/).
M371 ERROR 'SECTION' Feature for 'MCU': 'FEATURE' unknown. This feature 'FEATURE' is unknwon to the specified 'MCU'. Correct the feature (/package/devices/family/.../feature) if this is a typo.
M372 ERROR 'SECTION' Feature for 'MCU': 'FEATURE' misspelled, did you mean 'KNOWNFEATURE' ('DESCR'). This feature 'FEATURE' resembles the feature 'KNOWNFEATURE'. Correct the feature (/package/devices/family/.../feature) if this is a typo.
M373 ERROR Unsupported Schema Version: 'VER'. The schema version is not supported. Verify the attribute schemaVersion of the element /package.
M374 ERROR While checking Feature for 'MCU': Pname 'CPU' not found. The processor could not be found for the specified device. Refer to /package/devices/family/../device and /package/devices/family/.../processor.
M375 ERROR 'path/pdsc_file': No <mountedDevice> for board 'BOARD' found. If a board element does not contain a <mountedDevice> element, then the examples for this board are not shown and example projects may not appear in the development tools. Refer to /package/boards/board/mountedDevice of /package/boards.
M376 ERROR Schema Version not set! Set a valid schema version in the PDSC file.
M377 INFO File 'NAME' TYPE must have 'attr="config"' This file has to be configurable. Add the required attribute to achieve this.

XML Reader Errors

Message Number Type Description Action
M401 INFO Did you mean 'TAG'? Specify the tag to be used.
M410 WARNING Lost xml file stream. File corrupted.
M411 WARNING Preamble for 'UTF' should not be used, specify via '<?xml' Specify encoding as UTF-8 only, without BOM.
M412 WARNING Unsupported format or extra characters found before '<?xml': 'TEXT' Correct the XML file.
M413 WARNING UTF Format not supported: 'UTF' Select another UTF format.
M414 ERROR Cannot decode XML special character: 'SPECIALCHAR'. Correct the XML file.
M415 ERROR '<–' found, should this be a comment '<!–' ? Looks like a misspelled comment.
M416 ERROR Begin Tag seems to end with a Single Tag. Is this a typo? Correct the XML file.
M417 ERROR Inconsistent XML Structure Correct the XML file.
M418 ERROR XML Stack deeper than 30 Items! Giving up. Reduce the nested nodes.
M419 ERROR Begin Tag follows Text. Missing End Tag? Correct the XML file.
M420 ERROR Missing quotes (") in Attributes: 'ATTRLINE' Correct the XML file. Enclose values in " ".
M421 ERROR XML Hierarchy Error: Missing End Tags. Correct the XML file. Verify for enclosing or nested tags.
M422 ERROR Error reading file 'NAME' File could not be read.

Model Errors

Message Number Type Description Action
M500 TEXT RTE Model reports: MSG Error while preparing data. See massage for more details.
M502 TEXT RTE Model reports: #error NUM: NAME : MSG Additional software components required.
M504 TEXT RTE Model reports: MISSING: – SPACE NAME Add the missing component.