ccmerge.html 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <title>ccmerge: Config File Updater</title>
  7. <title>CMSIS-Build: ccmerge: Config File Updater</title>
  8. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  9. <link href="cmsis.css" rel="stylesheet" type="text/css" />
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <script type="text/javascript" src="printComponentTabs.js"></script>
  13. <link href="navtree.css" rel="stylesheet" type="text/css"/>
  14. <script type="text/javascript" src="resize.js"></script>
  15. <script type="text/javascript" src="navtree.js"></script>
  16. <script type="text/javascript">
  17. $(document).ready(initResizable);
  18. $(window).load(resizeHeight);
  19. </script>
  20. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  21. <script type="text/javascript" src="search/search.js"></script>
  22. <script type="text/javascript">
  23. $(document).ready(function() { searchBox.OnSelectItem(0); });
  24. </script>
  25. </head>
  26. <body>
  27. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  28. <div id="titlearea">
  29. <table cellspacing="0" cellpadding="0">
  30. <tbody>
  31. <tr style="height: 46px;">
  32. <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
  33. <td style="padding-left: 0.5em;">
  34. <div id="projectname">CMSIS-Build
  35. &#160;<span id="projectnumber">Version 0.9.0 (beta)</span>
  36. </div>
  37. <div id="projectbrief">Tools, software frameworks, and work flows for productivity with CMSIS based projects</div>
  38. </td>
  39. </tr>
  40. </tbody>
  41. </table>
  42. </div>
  43. <!-- end header part -->
  44. <div id="CMSISnav" class="tabs1">
  45. <ul class="tablist">
  46. <script type="text/javascript">
  47. <!--
  48. writeComponentTabs.call(this);
  49. //-->
  50. </script>
  51. </ul>
  52. </div>
  53. <!-- Generated by Doxygen 1.8.6 -->
  54. <script type="text/javascript">
  55. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  56. </script>
  57. <div id="navrow1" class="tabs">
  58. <ul class="tablist">
  59. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  60. <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
  61. <li>
  62. <div id="MSearchBox" class="MSearchBoxInactive">
  63. <span class="left">
  64. <img id="MSearchSelect" src="search/mag_sel.png"
  65. onmouseover="return searchBox.OnSearchSelectShow()"
  66. onmouseout="return searchBox.OnSearchSelectHide()"
  67. alt=""/>
  68. <input type="text" id="MSearchField" value="Search" accesskey="S"
  69. onfocus="searchBox.OnSearchFieldFocus(true)"
  70. onblur="searchBox.OnSearchFieldFocus(false)"
  71. onkeyup="searchBox.OnSearchFieldChange(event)"/>
  72. </span><span class="right">
  73. <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
  74. </span>
  75. </div>
  76. </li>
  77. </ul>
  78. </div>
  79. </div><!-- top -->
  80. <div id="side-nav" class="ui-resizable side-nav-resizable">
  81. <div id="nav-tree">
  82. <div id="nav-tree-contents">
  83. <div id="nav-sync" class="sync"></div>
  84. </div>
  85. </div>
  86. <div id="splitbar" style="-moz-user-select:none;"
  87. class="ui-resizable-handle">
  88. </div>
  89. </div>
  90. <script type="text/javascript">
  91. $(document).ready(function(){initNavTree('ccmerge.html','');});
  92. </script>
  93. <div id="doc-content">
  94. <!-- window showing the filter options -->
  95. <div id="MSearchSelectWindow"
  96. onmouseover="return searchBox.OnSearchSelectShow()"
  97. onmouseout="return searchBox.OnSearchSelectHide()"
  98. onkeydown="return searchBox.OnSearchSelectKey(event)">
  99. <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Pages</a></div>
  100. <!-- iframe showing the search results (closed by default) -->
  101. <div id="MSearchResultsWindow">
  102. <iframe src="javascript:void(0)" frameborder="0"
  103. name="MSearchResults" id="MSearchResults">
  104. </iframe>
  105. </div>
  106. <div class="header">
  107. <div class="headertitle">
  108. <div class="title">ccmerge: Config File Updater </div> </div>
  109. </div><!--header-->
  110. <div class="contents">
  111. <div class="textblock"><p>The <a class="el" href="ccmerge.html">ccmerge</a> tool supports the update process for configuration files that use <a href="../../Pack/html/configWizard.html"><b>Configuration Wizard Annotations</b></a>. 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'.</p>
  112. <p>It is called from the <b>Bash</b> command line with the following syntax:</p>
  113. <p><b>ccmerge</b> has the following command invocation:</p>
  114. <div class="fragment"><div class="line">ccmerge -pfile &lt;name_of_pack_cfgfile&gt; -cfile &lt;name_of_current_cfgfile&gt; [-merge] [-details]</div>
  115. </div><!-- fragment --><p><a class="el" href="ccmerge.html">ccmerge</a> helps to update the setup of software components as it merges options from a previous configuration file version to a new version.</p>
  116. <table class="cmtable" summary="ccmerge Arguments">
  117. <tr>
  118. <th style="min-width:210px">Option </th><th>Description </th></tr>
  119. <tr>
  120. <td>-pfile &lt;name_of_pack_cfgfile&gt; </td><td>File path of the configuration file from a pack </td></tr>
  121. <tr>
  122. <td>-cfile &lt;name_of_current_cfgfile&gt; </td><td>File path of the current config file in a project </td></tr>
  123. <tr>
  124. <td>-merge </td><td>Execute merge: the current 'cfile' will be saved as 'cfile.nnnn' then 'cfile' will be updated and overwritten. </td></tr>
  125. <tr>
  126. <td>-details </td><td>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. </td></tr>
  127. </table>
  128. <p>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.</p>
  129. <p>When <a class="el" href="ccmerge.html">ccmerge</a> detects that 'cfile' and 'pfile' are incompatible then an error message is shown and the merge is not executed.</p>
  130. <dl class="section note"><dt>Note</dt><dd>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.</dd></dl>
  131. <h1><a class="anchor" id="ccmerge_examples"></a>
  132. Usage Example</h1>
  133. <div class="fragment"><div class="line">ccmerge -pfile $CMSIS_PACK_ROOT/ARM/CMSIS/5.6.0/CMSIS/RTOS2/RTX/Config/RTX_Config.h -cfile RTE/CMSIS/RTX_Config.h -merge</div>
  134. </div><!-- fragment --><h1><a class="anchor" id="ccmerge_errors"></a>
  135. Error Messages</h1>
  136. <table class="cmtable" summary="ccmerge messages">
  137. <tr>
  138. <th>Type </th><th>Message </th><th>Action </th></tr>
  139. <tr>
  140. <td>ERROR </td><td>-cfile - missing filename </td><td>See usage and correct the argument. </td></tr>
  141. <tr>
  142. <td>ERROR </td><td>-cfile: duplicate specification </td><td>See usage and correct the argument. </td></tr>
  143. <tr>
  144. <td>ERROR </td><td>-pfile - missing filename </td><td>See usage and correct the argument. </td></tr>
  145. <tr>
  146. <td>ERROR </td><td>-pfile: duplicate specification </td><td>See usage and correct the argument. </td></tr>
  147. <tr>
  148. <td>ERROR </td><td>unknown command option </td><td>See usage and correct the argument. </td></tr>
  149. <tr>
  150. <td>ERROR </td><td>Error - cannot open s file </td><td>Check input files. </td></tr>
  151. <tr>
  152. <td>ERROR </td><td>Error - different types of configuration options </td><td>Check input files. </td></tr>
  153. <tr>
  154. <td>ERROR </td><td>Error: vector.AddCitem() failed - out of memory. </td><td>Ensure you have enough memory available. </td></tr>
  155. <tr>
  156. <td>ERROR </td><td>FATAL-ERROR: Out of Memory </td><td>Ensure you have enough memory available. </td></tr>
  157. <tr>
  158. <td>ERROR </td><td>ccmerge failed, d Error(s) found. </td><td>Check log file. </td></tr>
  159. <tr>
  160. <td>WARNING </td><td>ccmerge command line warning: duplicate '-s' ignored </td><td>See usage and correct the argument. </td></tr>
  161. <tr>
  162. <td>INFO </td><td>Note: '-merge' not specified, checking files only. </td><td>For information only. </td></tr>
  163. <tr>
  164. <td>INFO </td><td>Note: no config annotations in pfile </td><td>For information only. </td></tr>
  165. <tr>
  166. <td>INFO </td><td>Note: no config annotations in cfile </td><td>For information only. </td></tr>
  167. <tr>
  168. <td>INFO </td><td>ccmerge completed, 0 Error(s), 0 Warning(s), 'cfile' left unchanged. </td><td>For information only. </td></tr>
  169. <tr>
  170. <td>INFO </td><td>ccmerge completed, d Error(s), d Warning(s), d items merged. </td><td>For information only. </td></tr>
  171. </table>
  172. </div></div><!-- contents -->
  173. </div><!-- doc-content -->
  174. <!-- start footer part -->
  175. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  176. <ul>
  177. <li class="navelem"><a class="el" href="CmdLineBuild.html">Command Line Build</a></li>
  178. <li class="footer">Generated on Thu Apr 9 2020 15:49:55 for CMSIS-Build Version 0.9.0 (beta) by Arm Ltd. All rights reserved.
  179. <!--
  180. <a href="http://www.doxygen.org/index.html">
  181. <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
  182. -->
  183. </li>
  184. </ul>
  185. </div>
  186. </body>
  187. </html>