<!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>Revision History of CMSIS-Pack</title>
<title>CMSIS-Pack: Revision History of CMSIS-Pack</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><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><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('pack_revisionHistory.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">Revision History of CMSIS-Pack </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><table  class="cmtable" summary="Revision History">
<tr>
<th>Version </th><th>Description  </th></tr>
<tr>
<td>1.6.0 </td><td>Modifications compared to Version 1.5.0<ul>
<li>added Armv8.1-M MVE processor feature attribute 'Dmve'.</li>
<li>added local and global pre-include section <a class="el" href="pdsc_components_pg.html#Pre_Include_Local_h">Pre_Include_Local_h</a>, <a class="el" href="pdsc_components_pg.html#Pre_Include_Global_h">Pre_Include_Global_h</a>.</li>
<li>added file categories 'preIncludeLocal' and 'preIncludeGlobal' to the <a class="el" href="pdsc_components_pg.html#FileCategoryEnum">FileCategoryEnum</a>.</li>
<li>added file attribute 'path' for file category 'header' to add support for relative include paths.</li>
<li>added to <a class="el" href="pdsc_package_pg.html#element_package">package</a> element the possibility to restrict the usage of the with attributes Dcore, Dname, Dvendor, and Tcompiler.</li>
<li>added <a class="el" href="element_dominate.html">dominate</a> element to overwrites identical <a class="el" href="pdsc_devices_pg.html#element_devices">devices</a>, <a class="el" href="pdsc_apis_pg.html#element_apis">APIs</a>, or <a class="el" href="pdsc_components_pg.html#element_components">components</a>.</li>
<li>added attribute 'condition' to the <a class="el" href="pdsc_apis_pg.html#element_api">api</a> element so that an API can be excluded based on a condition.</li>
<li>added new <a class="el" href="cp_Packs.html#pack_Cclass">Software Component Cclasses</a> : "Audio", "Board Part", "Data Exchange", "Extension Board", "IoT Client", "IoT Utility", "Security", "Utility".   </li>
</ul>
</td></tr>
<tr>
<td>1.5.0 </td><td>Modifications compared to Version 1.4.9<ul>
<li>added <a class="el" href="sdf_pg.html">System Description File (*.SDF) Format</a></li>
<li>updates to <a class="el" href="pdsc_family_pg.html#DeviceVendorEnum">Device Vendor</a></li>
<li>removed usage of DP CTRL/STAT CDBGRSTREQ from <a class="el" href="debug_description.html#debugPortStart">DebugPortStart</a> default sequence</li>
<li>added <a class="el" href="pdsc_family_pg.html#element_flashinfo">flashinfo</a> with children &lt;block&gt; and &lt;gap&gt; to describe flash devices for sequence-based flash download</li>
<li>new <a class="el" href="debug_description.html#DebugFunctions">debug access functions</a> and <a class="el" href="debug_description.html#DebugVars">global debug variables</a> for sequence-based flash download</li>
<li>added <a class="el" href="element_repository.html">repository</a> element for specifying origin of public repositories</li>
<li>added attributes to <a class="el" href="element_releases.html#element_release">release</a> element specifying repository tag and url for downloading repository content</li>
<li>added new processor Cortex-M35P   </li>
</ul>
</td></tr>
<tr>
<td>1.4.9 </td><td>Modifications compared to Version 1.4.8<ul>
<li>added Toptions attribute for use in conditions</li>
<li>updated documentation for generator section to reflect new exe, web, and eclipse sections   </li>
</ul>
</td></tr>
<tr>
<td>1.4.8 </td><td>Modifications compared to Version 1.4.7<ul>
<li>added support for semantic versioning quality information in ConditionVersionType</li>
<li>updated Pack schema file making some elements optional</li>
<li>added Pack Index File Specification and schema file   </li>
</ul>
</td></tr>
<tr>
<td>1.4.7 </td><td>Modifications compared to Version 1.4.6<ul>
<li>added multiple version types to tighten the schema checking depending on context</li>
<li>added new generator sections for exe, web and eclipse based generators in &lt;generator&gt;</li>
<li>added new processor attributes Dtz = Trustzone and Ddsp = DSP instructions for Armv8-M</li>
<li>added new attributes Dtz, Ddsp, Dsecure to conditions &lt;require&gt;, &lt;deny&gt;, &lt;accept&gt;</li>
<li>added new processors Cortex-M23 and Cortex-M33 and other in DcoreEnum</li>
<li>added new attribute public to books and images to indicate public use of documents and board images   </li>
</ul>
</td></tr>
<tr>
<td>1.4.6 </td><td>Modifications compared to Version 1.4.5<ul>
<li>refined Dname string pattern restriction (RestrictedStringDname)   </li>
</ul>
</td></tr>
<tr>
<td>1.4.5 </td><td>Modifications compared to Version 1.4.4<ul>
<li>added: Punits to ProcessorType</li>
<li>added: Punit to DebugType   </li>
</ul>
</td></tr>
<tr>
<td>1.4.4 </td><td>Modifications compared to Version 1.4.3<ul>
<li>added: attribute defaultResetSequence to DebugType.</li>
<li>added: &lt;requirements&gt; section:<ul>
<li>&lt;packages&gt; defining dependencies between packs</li>
<li>&lt;languages&gt; defining required language support e.g. C99</li>
<li>&lt;compiler&gt; defining required toolchains</li>
</ul>
</li>
<li>added: &lt;create&gt; section used for tool independent project description<ul>
<li>attributes: name, documentation, condition</li>
<li>&lt;target&gt; specifies the board and device targeted by the project</li>
<li>&lt;options&gt;</li>
<li>&lt;files&gt; specifies the grouped files</li>
</ul>
</li>
<li>updated: &lt;algorith&gt; element<ul>
<li>added attributes: style, parameter and endian</li>
</ul>
</li>
<li>updated: &lt;memory&gt; element<ul>
<li>added attributes: name, access and alias</li>
<li>deprecating attribute: id (replaced by name + access)   </li>
</ul>
</li>
</ul>
</td></tr>
<tr>
<td>1.4.3 </td><td>Modifications compared to Version 1.4.1<ul>
<li>Adding attribute "sdf" to debugconfig element within section &lt;devices&gt;   </li>
</ul>
</td></tr>
<tr>
<td>1.4.1 </td><td>Modifications compared to Version 1.4.0<ul>
<li>pName, Dname, Dvariant type changed from xs:string to RestrictedString   </li>
</ul>
</td></tr>
<tr>
<td>1.4.0 </td><td>Modifications compared to Version 1.3.3:<ul>
<li>device section <em>memory</em> specification redefined, deprecating <em>id</em> attribute</li>
<li>device section <em>algorithm</em> support multiple flash programming algorithm styles</li>
<li>device section <em>debug</em> adding CJTAG debug port type   </li>
</ul>
</td></tr>
<tr>
<td>1.3.3 </td><td>Modifications compared to Version 1.3.1:<ul>
<li>Schema Version remains unchanged, since no incompatible update</li>
<li><em>Added</em> generator section can specify a target GPDSC file that it will generate</li>
<li><em>Added</em> A component can be linked to a generator and the generator's GPDSC file will be automatically included in the project as part of the component.</li>
<li><em>Added</em> A generator command is optionally extended by a separate description of arguments</li>
<li><em>Updated</em> Vendor list</li>
<li><em>Updated</em> Utility packChk.exe to Version 1.3.0.0:<ul>
<li>detect redefinitions of boards</li>
<li>check presence of board image files</li>
<li>check for duplicate device features</li>
<li>check for duplicate device definitions</li>
<li>check for</li>
<li>minor bug fixes   </li>
</ul>
</li>
</ul>
</td></tr>
<tr>
<td>1.3.1 </td><td>Modifications compared to Version 1.3:<ul>
<li>Schema Version remains unchanged, since no incompatible update</li>
<li><em>Added</em> Cortex-M7 to the predefined list of processors</li>
<li><em>Updated</em> Vendor list</li>
<li><em>Added</em> File version attribute to debugvars element of device description</li>
<li><em>Updated</em> XML file header encoding tag set to capital "UTF8"</li>
<li><em>Deprecated</em> init attribute of &lt;memory&gt; element in &lt;devices&gt; section deprecated   </li>
</ul>
</td></tr>
<tr>
<td>1.3 </td><td>Modifications compared to Version 1.2:<ul>
<li><em>Added</em> attributes to release tag for managing deprecation and changing Pack IDs</li>
<li><em>Removed</em> external RAMn and ROMn memory IDs in memory tag</li>
<li><em>Added</em> FileCategoryTypes in &lt;file&gt; element for C, C++, Assembler, Linker</li>
<li><em>Extended</em> specification of &lt;require&gt;, &lt;accept&gt; and &lt;deny&gt; with Cversion and Capiversion ranges</li>
<li><em>Added</em> <a class="el" href="createPackUtil.html">Utilities for Creating Packs</a> and <a class="el" href="packChk.html">packChk.exe</a> for Pack validation</li>
<li><em>Added</em> documentation for the Example Pack based on LPC1800 Device Family</li>
<li><em>Refined</em> &lt;debug&gt; element description</li>
<li>Many clarifications in the documentation along with examples   </li>
</ul>
</td></tr>
<tr>
<td>1.2 </td><td>Clarifications for release.  </td></tr>
<tr>
<td>1.1 - Preliminary </td><td>Update release for review:<ul>
<li><em>new</em> Boards description</li>
<li><em>new</em> Debug description</li>
<li><em>revised</em> Device Feature capture</li>
<li><em>new</em> Generator description</li>
<li><em>new</em> Flash Algorithm Specification</li>
<li><em>new</em> Configuration Wizard Annotation Specification  </li>
</ul>
</td></tr>
<tr>
<td>1.0 - Preliminary </td><td>Preliminary release for review  </td></tr>
<tr>
<td>0.10 </td><td>Release for beta review  </td></tr>
</table>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="index.html">index</a></li>
    <li class="footer">Generated on Wed Jul 10 2019 15:21:00 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>
