Skip to content

Latest commit

 

History

History

tools

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Open-CMSIS-Pack Tools

These command-line tools provide the foundation for Open-CMSIS-Pack-based software development flows and are part of the CMSIS-Toolbox.

Package creation and validation:

  • packgen: create a software pack from a CMake based software repository.
  • packchk: semantic validation of a software pack description and the archive content.

Package management including discovery of components, devices, boards and examples:

  • cpackget: download, add, and remove packs and local repositories.

Project management for constructing projects from local files and software components:

  • csolution: manage complex applications with *.yaml user input files and content from CMSIS-Packs; output *.cprj files for reproducible builds using cbuild in IDEs and CI environments.

Build management to compile and generate executable program images:

  • cbuild (aka CMSIS-Build): convert a *.cprj file that describes a single target and configuration of a project to a CMake input; start the build process.

CMSIS-Toolbox - Download and Install

The CMSIS-Toolbox is currently under development but supports already a wide range of use cases.

Development Cycle - Create Applications

The tools of the CMSIS-Toolbox provide a command-line interface for creating application projects that are based on software packs. An IDE that supports import and export of *.cprj project files is included for completeness.

Discover packs for an application by using a catalog of software packs. These packs may be installed using cpackget and by csolution, for example to list devices or software components. Along with user code, these items are used to describe the application project in *.csolution.yml and cproject.yml format and convert it with csolution into *.cprj files.

These *.cprj files describe a reproducible build and are the input for cbuild. Using different target-types at the *.csolution.yml-level allows to create applications that run on hardware boards or simulation models (Arm Virtual Hardware).

Development Cycle - Software Packs

CMSIS software packs may be created from a CMake based repository with packgen or directly described in the *.PDSC format. These packs should be verified for consistency with packchk before publishing in a vendor index (*.vidx) file.

Once the pack is published, it can be listed in a catalog of software packs for being discovered by developers. With cpackget these packs can be installed local and used to create the application program as described above.