CMSIS-Build
Tools, software frameworks, and work flows for productivity with CMSIS based projects
|
The CMSIS Project description format is unifying the specification for the build of a software project. It is a public format to exchange project build information between tools that support the CMSIS-Pack based Run-Time Environment. In addition the format facilitates the tool driven construction of projects from partial projects, named project 'layers'. The project description is targeted to generate a single executable or library file.
The specification of this CMSIS Project description format (*.cprj) is replacing the previous format (*.cpdsc). The most significant differences are:
One example is the separation of an existing project into files and components that are HW dependent (board, device, processor) and those that are application specific. The result is a HW and an application layer. Assuming that there is layers for multiple boards and applications sharing common interfaces between layers, any combination of HW layer with an application layer can be combined to create projects and build consistent applications across a range of hardware.
Due to CMSIS-Pack's software lifecycle management features, projects can be build using different combinations of compatible pack and component versions. as well as different versions of a tool-chain. If the project contains descriptions for multiple different tool-chains, also different tool-chains can be used to create additional build variants.
The build system needs the following pieces of information to successfully build a project:
Note: additional command line options for the tool-chains are tool-chain specific and are transparently passed onto the command line. Command line options related to the processor and it's features are automatically derived from the device information and must not be specified.
See Project Description Root for details about the description format..
See CMSIS-Build for further information how to build software based on the CMSIS Project description at the command line and how to create and manage projects using layers.
See Project Description Schema file for validation of project files.