summaryrefslogtreecommitdiff
path: root/docs/Pack/html/index.html
blob: f2c4fbefbf6f6fe93db465b1d404f2bf04855fc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<!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>Main Page</title>
<title>CMSIS-Pack: Main Page</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-Pack
   &#160;<span id="projectnumber">Version 1.6.0</span>
   </div>
   <div id="projectbrief">Delivery Mechanism for Software Packs</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 class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Usage&#160;and&#160;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('index.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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</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">CMSIS-Pack Documentation</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><b>CMSIS-Pack</b> describes a delivery mechanism for software components, device parameters, and evaluation board support. The XML-based package description (PDSC) file describes the content of a <a class="el" href="cp_SWComponents.html">Software Pack</a> (file collection) that includes:</p>
<ul>
<li>Source code, header files, and software libraries</li>
<li>Documentation and source code templates</li>
<li>Device parameters along with startup code and programming algorithms</li>
<li>Example projects</li>
</ul>
<p>The complete file collection along with the PDSC file is shipped in ZIP-format (renamed to *.pack). The PDSC file is designed for software development environments and describes the user and device relevant context for the files supplied within such a pack file.</p>
<p>The CMSIS-Pack system solves several problems:</p>
<ul>
<li>It provides meta-data of files that relate to a software component. All files that belong to a software component can be identified and information about the original provider is preserved.</li>
<li>It enables consistent software component upgrade and identifies incompatible configuration files that may be part of the user application.</li>
<li>Software component providers can specify the interfaces and relationship to other software components.</li>
<li>The meta-data of a software component can include dependency information for toolchains, devices, and processors which simplifies the integration into application programs.</li>
</ul>
<p>After installing a <a class="el" href="cp_SWComponents.html">Software Pack</a>, all included software components are available to the development tools. <a class="el" href="cp_SWComponents.html#cp_Components">Software components</a> are a collection of source modules, header and configuration files as well as libraries. Packs containing software components can also include <a class="el" href="cp_SWComponents.html#cp_Examples">Example Projects</a> and <a class="el" href="cp_SWComponents.html#cp_CodeTemplates">User Code Templates</a>.</p>
<p>The <a class="el" href="pack_revisionHistory.html">Revision History of CMSIS-Pack</a> lists the main changes between versions.</p>
<h1><a class="anchor" id="SWPackVariants"></a>
Software Pack Use Cases</h1>
<p>A pack can be used for multiple purposes:</p>
<div class="image">
<img src="SPVariants_small.png" alt="SPVariants_small.png"/>
<div class="caption">
Software Pack Use Cases</div></div>
<p> The figure above shows the following use cases for Software Packs:</p>
<ul>
<li><b>Device Family Pack (DFP):</b> contains CMSIS system/startup files, drivers, and flash algorithms for a microcontroller device family.</li>
<li><b>CMSIS Software Pack:</b> contains the generic CMSIS components (CORE, DSP Library, and RTOS implementation) supplied by Arm.</li>
<li><b>Middleware Pack:</b> contains software components belonging to a middleware (such as source code or libraries).</li>
<li><b>Board Support Pack (BSP):</b> contains documentation, schematics, and drivers for a certain development board.</li>
<li><b>In-house Software Packs:</b> usually contain software components that can be distributed within a company or engineering group.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>A Software Pack can address multiple use cases at the same time!</dd></dl>
<p>The following sections provide more information:</p>
<ul>
<li>In the <a class="el" href="cp_Packs.html">Overview</a>, learn the basics and the required steps for creating a pack.</li>
<li><a class="el" href="cp_SWComponents.html">Pack with Software Components</a> shows how to start a pack from scratch.</li>
<li><a class="el" href="createPack_DFP.html">Pack with Device Support</a> describes how to enable device support in a DFP.</li>
<li><a class="el" href="createPackBoard.html">Pack with Board Support</a> covers the creation of Board Support Packs (BSPs).</li>
<li><a class="el" href="pack_Example.html">Pack Example</a> explains the available example pack in more detail.</li>
<li>Learn how to <a class="el" href="createPackPublish.html">Publish a Pack</a>.</li>
<li><a class="el" href="createPackUtil.html">Utilities for Creating Packs</a> are available that are useful during the creation of a pack.</li>
<li><a class="el" href="packFormat.html">Pack Description (*.pdsc) Format</a> describes all XML elements that can be used in a PDSC file.</li>
<li><a class="el" href="configWizard.html">Configuration Wizard Annotations</a> can be used to create GUI-like elements in development tools for configuration files.</li>
<li><a class="el" href="flashAlgorithm.html">Flash Programming</a> algorithms are used to erase or download applications to Flash devices.</li>
<li><a class="el" href="coresight_setup.html">Debug Setup with CMSIS-Pack</a> allows to create tool-agnostic debug and trace configurations</li>
<li><a class="el" href="cpdsc_pg.html">Project Description (*.cpdsc) Format</a> is a environment/tool independent definition of a software project. This helps to create only one set of example projects that can be used by many different tool vendors.</li>
<li><a class="el" href="packIndexFile.html">CMSIS-Pack Index Files</a> are used to generate a catalog of available packs.</li>
</ul>
<hr/>
<h2>CMSIS-Pack in ARM::CMSIS Pack </h2>
<p>Files relevant to CMSIS-Pack are present in the following <b>ARM::CMSIS</b> directories: </p>
<table class="doxtable">
<tr>
<th>Folder </th><th>Content  </th></tr>
<tr>
<td>Utilities </td><td><a class="el" href="createPackUtil.html">Utilities for Creating Packs</a> </td></tr>
<tr>
<td>Pack\Example </td><td><a class="el" href="pack_Example.html">Reference Software Pack</a> </td></tr>
<tr>
<td>Pack\Tutorials </td><td>Tutorials for <a class="el" href="cp_Packs.html">Creating Packs</a> </td></tr>
</table>
<hr/>
 </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 Wed Jul 10 2019 15:21:01 for CMSIS-Pack Version 1.6.0 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>