Package description files are XML files used by CrossStudio to describe a support package, its contents and any dependencies it has on other packages.

Each package file should contain at least one package element that describes the package. Optionally, the package element can contain a collection of file elements, these are used by CrossStudio for documentation purposes by adding links to files of interest within the package such as example project files, documentation, etc. Finally, file elements may be held within group elements in order to categorise files into a particular group.

The filename of the package description file should match that of the package and end in _package.xml.

Here is an example of two package description files, the first for a base chip support package for the LPC2000, the second for a board support package dependent on the first:

[Filename: Philips_LPC2000_package.xml]

<!DOCTYPE CrossStudio_Package_Description_File>
<package cpu_manufacturer="Philips" cpu_family="LPC2000" version="1.0">
  <file file_name="$(TargetsDir)/Philips_LPC210X/arm_target_Philips_LPC210X.htm" title="LPC2000 Support Package Documentation" />
  <file file_name="$(TargetsDir)/Philips_LPC210X/Loader.hzp" title="LPC2000 Loader Application Solution" />
  <group title="System Files">
    <file file_name="$(TargetsDir)/Philips_LPC210X/Philips_LPC210X_Startup.s" title="LPC2000 Startup Code" />
    <file file_name="$(TargetsDir)/Philips_LPC210X/Philips_LPC210X_Target.js" title="LPC2000 Target Script" />
  </group>
</package>
[Filename: CrossFire_LPC2138_package.xml]

<!DOCTYPE CrossStudio_Package_Description_File>
<package cpu_manufacturer="Philips" cpu_family="LPC2000" cpu_name="LPC2138" board_manufacturer="Rowley Associates" board_name="CrossFire LPC2138" dependencies="Philips_LPC2000" version="1.0">
  <file file_name="$(SamplesDir)/CrossFire_LPC2138/CrossFire_LPC2138.hzp" title="CrossFire LPC2138 Samples Solution" />
  <file file_name="$(SamplesDir)/CrossFire_LPC2138/ctl/ctl.hzp" title="CrossFire LPC2138 CTL Samples Solution" />
</package>

Package Element

The package element describes the support package, its contents and any dependencies it has on other packages.

Attribute NameDescription
cpu_familyThe family name of the CPU supported by the package (optional).
cpu_manufacturerThe manufacturer of the CPU supported by the package.
cpu_nameThe name of the specific CPU supported by the package (may be omitted if CPU family is specified).
dependenciesSemicolon seperated list of package names that the package requires to be installed in order to work.
board_manufacturerThe manufacturer of the board supported by the package (CPU manufacturer will be used if omitted).
board_nameThe name of the specific board supported by the package (only required for board support packages).
versionThe package version description.

File Element

The file element is optional and is used by CrossStudio for documentation purposes by adding links to files of interest within the package such as example project files, documentation, etc.

Attribute NameDescription
file_nameThe file path of the file.
titleA description of the file.

Group Element

The group element is optional and is used categorising files described by file elements into a particular group.

Attribute NameDescription
titleA title of the group.