CMSIS-Build  Version 0.9.0 (beta)
Tools, software frameworks, and work flows for productivity with CMSIS based projects
 All Pages
ccmerge: Config File Updater

The ccmerge tool supports the update process for configuration files that use Configuration Wizard Annotations. The tool takes the configuration file located in the CMSIS Pack (pfile) and merges the configuration information extracted from the configuration file located in the current project (cfile). If the merge succeeds the result is written to 'cfile' after a copy of 'cfile' has been stored as 'cfile.nnnn'.

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

ccmerge has the following command invocation:

ccmerge -pfile <name_of_pack_cfgfile> -cfile <name_of_current_cfgfile> [-merge] [-details]

ccmerge helps to update the setup of software components as it merges options from a previous configuration file version to a new version.

Option Description
-pfile <name_of_pack_cfgfile> File path of the configuration file from a pack
-cfile <name_of_current_cfgfile> File path of the current config file in a project
-merge Execute merge: the current 'cfile' will be saved as 'cfile.nnnn' then 'cfile' will be updated and overwritten.
-details Create a log file: the name will be that of 'cfile' with an extension '.mlog' added to 'cfile'. The log file will contain info about merged items and their location or warning and error messages when processing fails.

When -details is specified without -merge, then a .mlog file will be created that shows the differences of the config values but no actual merge takes place.

When ccmerge detects that 'cfile' and 'pfile' are incompatible then an error message is shown and the merge is not executed.

Note
A filepath name can be specified without surrounding " characters as long as it does not contain any space or other special characters. It must be enclosed by " characters when the filepath name contains one or more spaces or other special characters.

Usage Example

ccmerge -pfile $CMSIS_PACK_ROOT/ARM/CMSIS/5.6.0/CMSIS/RTOS2/RTX/Config/RTX_Config.h -cfile RTE/CMSIS/RTX_Config.h -merge

Error Messages

Type Message Action
ERROR -cfile - missing filename See usage and correct the argument.
ERROR -cfile: duplicate specification See usage and correct the argument.
ERROR -pfile - missing filename See usage and correct the argument.
ERROR -pfile: duplicate specification See usage and correct the argument.
ERROR unknown command option See usage and correct the argument.
ERROR Error - cannot open s file Check input files.
ERROR Error - different types of configuration options Check input files.
ERROR Error: vector.AddCitem() failed - out of memory. Ensure you have enough memory available.
ERROR FATAL-ERROR: Out of Memory Ensure you have enough memory available.
ERROR ccmerge failed, d Error(s) found. Check log file.
WARNING ccmerge command line warning: duplicate '-s' ignored See usage and correct the argument.
INFO Note: '-merge' not specified, checking files only. For information only.
INFO Note: no config annotations in pfile For information only.
INFO Note: no config annotations in cfile For information only.
INFO ccmerge completed, 0 Error(s), 0 Warning(s), 'cfile' left unchanged. For information only.
INFO ccmerge completed, d Error(s), d Warning(s), d items merged. For information only.