| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=9"/>
- <title>Command Line Build</title>
- <title>CMSIS-Build: Command Line Build</title>
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
- <link href="cmsis.css" rel="stylesheet" type="text/css" />
- <script type="text/javascript" src="jquery.js"></script>
- <script type="text/javascript" src="dynsections.js"></script>
- <script type="text/javascript" src="printComponentTabs.js"></script>
- <link href="navtree.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="resize.js"></script>
- <script type="text/javascript" src="navtree.js"></script>
- <script type="text/javascript">
- $(document).ready(initResizable);
- $(window).load(resizeHeight);
- </script>
- <link href="search/search.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="search/search.js"></script>
- <script type="text/javascript">
- $(document).ready(function() { searchBox.OnSelectItem(0); });
- </script>
- </head>
- <body>
- <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
- <div id="titlearea">
- <table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 46px;">
- <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
- <td style="padding-left: 0.5em;">
- <div id="projectname">CMSIS-Build
-  <span id="projectnumber">Version 0.9.0 (beta)</span>
- </div>
- <div id="projectbrief">Tools, software frameworks, and work flows for productivity with CMSIS based projects</div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <div id="CMSISnav" class="tabs1">
- <ul class="tablist">
- <script type="text/javascript">
- <!--
- writeComponentTabs.call(this);
- //-->
- </script>
- </ul>
- </div>
- <!-- Generated by Doxygen 1.8.6 -->
- <script type="text/javascript">
- var searchBox = new SearchBox("searchBox", "search",false,'Search');
- </script>
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li class="current"><a href="pages.html"><span>Usage and Description</span></a></li>
- <li>
- <div id="MSearchBox" class="MSearchBoxInactive">
- <span class="left">
- <img id="MSearchSelect" src="search/mag_sel.png"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- alt=""/>
- <input type="text" id="MSearchField" value="Search" accesskey="S"
- onfocus="searchBox.OnSearchFieldFocus(true)"
- onblur="searchBox.OnSearchFieldFocus(false)"
- onkeyup="searchBox.OnSearchFieldChange(event)"/>
- </span><span class="right">
- <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
- </span>
- </div>
- </li>
- </ul>
- </div>
- </div><!-- top -->
- <div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
- </div>
- <script type="text/javascript">
- $(document).ready(function(){initNavTree('CmdLineBuild.html','');});
- </script>
- <div id="doc-content">
- <!-- window showing the filter options -->
- <div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
- <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Pages</a></div>
- <!-- iframe showing the search results (closed by default) -->
- <div id="MSearchResultsWindow">
- <iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
- </iframe>
- </div>
- <div class="header">
- <div class="headertitle">
- <div class="title">Command Line Build </div> </div>
- </div><!--header-->
- <div class="contents">
- <div class="textblock"><p>The following bash scripts and command line tools can be used for managing the build of CMSIS Projects from the command line. These scripts can be easily adopted to specific environments and are intended as a minimal reference. CMSIS-Build tools are available for download as an asset of the respective <a href="https://github.com/ARM-software/CMSIS_5/releases/" target="_blank"><b>CMSIS Release Version</b></a> (starting 5.7.0 e/o April 2020).</p>
- <p>For command line build with software packs, the following tools and utilities are provided.</p>
- <table class="doxtable">
- <tr>
- <th align="left">Tool / Script </th><th align="left">Description </th></tr>
- <tr>
- <td align="left"><a class="el" href="cbuild_install.html">cbuild_install.sh</a> </td><td align="left">Setup of the CMSIS command line build environment </td></tr>
- <tr>
- <td align="left"><a class="el" href="cbuild.html">cbuild.sh</a> </td><td align="left">Start the overall command line build process </td></tr>
- <tr>
- <td align="left"><a class="el" href="cp_init.html">cp_init.sh</a> </td><td align="left">Create an empty directory for storing software packs in CMSIS-Pack format </td></tr>
- <tr>
- <td align="left"><a class="el" href="cbuildgen.html">cbuildgen</a> </td><td align="left">Create Make files and manage software layers </td></tr>
- <tr>
- <td align="left"><a class="el" href="Make.html">make</a> </td><td align="left">GNU Make utility to generate binary images and update configuration files </td></tr>
- <tr>
- <td align="left"><a class="el" href="cp_install.html">cp_install.sh</a> </td><td align="left">Download and install software packs </td></tr>
- <tr>
- <td align="left"><a class="el" href="ccmerge.html">ccmerge</a> </td><td align="left">Merge project specific setup to a new version of a configuration file </td></tr>
- <tr>
- <td align="left"><a class="el" href="cbuild_uv.html">cbuild_uv.sh</a> </td><td align="left">Export MDK project targets and run a command line build process </td></tr>
- </table>
- <dl class="section note"><dt>Note</dt><dd>For the above command line build tools and scripts a <a href="https://en.wikipedia.org/wiki/Bash_(Unix_shell)" target="_blank"><b>Bash</b></a> environment is required. For Windows, install for example <a href="https://gitforwindows.org/" target="_blank"><b>git for Windows</b></a> which includes <b>Git Bash</b>.</dd></dl>
- <p>The following usage example assumes that the <a class="el" href="cbuild_install.html">Setup Build Environment</a> is already completed.</p>
- <h2>Usage Example </h2>
- <p>Open a Bash console and choose a the directory that contains a project and setup the command line build environment: </p>
- <div class="fragment"><div class="line">$ source /c/cbuild/setup</div>
- </div><!-- fragment --><p>Create an empty directory for storing software packs (this not required when existing pack directory is re-used): </p>
- <div class="fragment"><div class="line">$ cp_init.sh</div>
- </div><!-- fragment --><p>Start the build process for a existing project file: </p>
- <div class="fragment"><div class="line">$ cbuild.sh MyProject.cprj</div>
- </div><!-- fragment --><p>Below is the output that shows a successful build:</p>
- <pre class="fragment">(cbuild.sh): Build Invocation 0.9.0 (C) 2020 ARM
- MyProject.cprj validates
- (cbuildgen): Build Process Manager 0.9.0 (C) 2020
- M654: URL 'https://www.keil.com/pack/ARM.CMSIS.5.6.0.pack' was added to the list of missing packages.
- M650: Command completed successfully.
- (cp_install.sh): Install Packs 0.9.0 (C) 2020 ARM
- info: reading file: MyProject.cp_install
- dos2unix: converting file MyProject.cp_install to Unix format...
- https://www.keil.com/pack/ARM.CMSIS.5.6.0.pack
- ######################################################################## 100.0%
- info: ARM.CMSIS.5.6.0.pack installing into /c/Projects/Packs/ARM/CMSIS/5.6.0
- pack installation completed successfully
- (cbuildgen): Build Process Manager 0.9.0 (C) 2020 ARM
- M653: Local config file RTE/Device/ARMCM0/ARMCM0_ac6.sct was not found. Copying default file from package.
- M653: Local config file RTE/Device/ARMCM0/startup_ARMCM0.c was not found. Copying default file from package.
- M653: Local config file RTE/Device/ARMCM0/system_ARMCM0.c was not found. Copying default file from package.
- M651: Generated makefile for merging config files: 'MyProject_cfg.mak'
- M652: Generated makefile for project building:'MyProject.mak'
- mkdir -p "/c/Projects/MyProject/Objects/RTE/Device/Startup/C Startup"
- mkdir -p "/c/Projects/MyProject/Objects/Source"
- "/C/Keil_v5/ARM/ARMCLANG/bin/armclang" @"/c/Projects/MyProject/Objects/Source/MyMain.o._cc"
- "/C/Keil_v5/ARM/ARMCLANG/bin/armclang" @"/c/Projects/MyProject/Objects/RTE/Device/Startup/C Startup/startup_ARMCM0.o._cc"
- "/C/Keil_v5/ARM/ARMCLANG/bin/armclang" @"/c/Projects/MyProject/Objects/RTE/Device/Startup/C Startup/system_ARMCM0.o._cc"
- "/C/Keil_v5/ARM/ARMCLANG/bin/armlink" --via="/c/Projects/MyProject/Objects/MyBinary.axf._ld"
- cbuild.sh finished successfully!
- </pre> </div></div><!-- contents -->
- </div><!-- doc-content -->
- <!-- start footer part -->
- <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <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.
- <!--
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
- -->
- </li>
- </ul>
- </div>
- </body>
- </html>
|