<!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</title>
<title>CMSIS-RTOS2: Revision History</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-RTOS2
   &#160;<span id="projectnumber">Version 2.1.3</span>
   </div>
   <div id="projectbrief">Real-Time Operating System: API and RTX Reference Implementation</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><a href="modules.html"><span>Reference</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('rtos_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>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><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 </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h1><a class="anchor" id="GenRTOS2Rev"></a>
CMSIS-RTOS API Version 2</h1>
<table  class="cmtable" summary="Revision History">
<tr>
<th>Version </th><th>Description  </th></tr>
<tr>
<td>V2.1.3 </td><td>Additional functions allowed to be called from Interrupt Service Routines:<ul>
<li><a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#ga8df03548e89fbc56402a5cd584a505da">osThreadGetId</a>   </li>
</ul>
</td></tr>
<tr>
<td>V2.1.2 </td><td>Additional functions allowed to be called from Interrupt Service Routines:<ul>
<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga6f7764e7250c5c5364c00c45a5d1d199">osKernelGetInfo</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga48b69b81012fce051f639be288b243ba">osKernelGetState</a>   </li>
</ul>
</td></tr>
<tr>
<td>V2.1.1 </td><td><p class="starttd">Additional functions allowed to be called from Interrupt Service Routines:</p>
<ul>
<li><a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga7a8d7bd927eaaa58999f91d7d6310cee">osKernelGetTickFreq</a></li>
</ul>
<p class="endtd">Changed Kernel Tick type to uint32_t:</p>
<ul>
<li>updated: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga84bcdbf2fb76b10c8df4e439f0c7e11b">osKernelGetTickCount</a>, <a class="el" href="group__CMSIS__RTOS__Wait.html#ga3c807924c2d6d43bc2ffb49da3f7f3a1">osDelayUntil</a>   </li>
</ul>
</td></tr>
<tr>
<td>V2.1.0 </td><td><p class="starttd">Support for critical and uncritical sections (nesting safe):</p>
<ul>
<li>updated: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga948609ee930d9b38336b9e1c2a4dfe12">osKernelLock</a>, <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gaf401728b4657456198c33fe75f8d6720">osKernelUnlock</a></li>
<li>added: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae7d0a71b9586cbbb49fcbdf6a04f0289">osKernelRestoreLock</a></li>
</ul>
<p class="endtd">Updated <a class="el" href="group__CMSIS__RTOS__ThreadFlagsMgmt.html">Thread Flags</a> and <a class="el" href="group__CMSIS__RTOS__EventFlags.html">Event Flags</a>:</p>
<ul>
<li>changed flags parameter and return type from int32_t to uint32_t   </li>
</ul>
</td></tr>
<tr>
<td>V2.0.0 </td><td>New API Version 2.0 available.<ul>
<li>See <a class="el" href="rtos_api2.html">CMSIS-RTOS C API v2</a> for a detailed function reference.</li>
<li>See <a class="el" href="os2Migration.html">Migration from API v1 to API v2</a> for details on the migration process from API Version 1.   </li>
</ul>
</td></tr>
<tr>
<td>V1.02 - only documentation changes </td><td>Added: Overview of the <a class="el" href="rtosValidation.html">CMSIS-RTOS Validation</a> Software Pack.<br/>
 Clarified: Behavior of <a class="el" href="theory_of_operation.html#CMSIS_RTOS_TimeOutValue">Timeout Value</a>.   </td></tr>
<tr>
<td>V1.02 </td><td>Added: New control functions for short timeouts in microsecond resolution <b>osKernelSysTick</b>, <b>osKernelSysTickFrequency</b>, <b>osKernelSysTickMicroSec</b>.<br/>
 Removed: osSignalGet.  fv </td></tr>
<tr>
<td>V1.01 </td><td>Added capabilities for C++, kernel initialization and object deletion.<br/>
 Prepared for C++ class interface. In this context to <em>const</em> attribute has been moved from osXxxxDef_t typedefs to the osXxxxDef macros.<br/>
 Added: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gad0001dd74721ab461789324806db2453">osTimerDelete</a>, <a class="el" href="group__CMSIS__RTOS__MutexMgmt.html#gabee73ad227ba4587d3db12ef9bd582bc">osMutexDelete</a>, <a class="el" href="group__CMSIS__RTOS__SemaphoreMgmt.html#ga81258ce9c67fa89f07cc49d2e136cd88">osSemaphoreDelete</a>.<br/>
 Added: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#gae818f6611d25ba3140bede410a52d659">osKernelInitialize</a> that prepares the kernel for object creation.<br/>
   </td></tr>
<tr>
<td>V1.00 </td><td>First official Release.<br/>
 Added: <a class="el" href="group__CMSIS__RTOS__KernelCtrl.html#ga9ae2cc00f0d89d7b6a307bba942b5221">osKernelStart</a>; starting 'main' as a thread is now an optional feature.<br/>
 Semaphores have now the standard behavior.<br/>
 <b>osTimerCreate</b> does no longer start the timer. Added: <a class="el" href="group__CMSIS__RTOS__TimerMgmt.html#gab6ee2859ea657641b7adfac599b8121d">osTimerStart</a> (replaces osTimerRestart).<br/>
 Changed: osThreadPass is renamed to <a class="el" href="group__CMSIS__RTOS__ThreadMgmt.html#gad01c7ec26535b1de6b018bb9466720e2">osThreadYield</a>.   </td></tr>
<tr>
<td>V0.02 </td><td>Preview Release.  </td></tr>
</table>
<h1><a class="anchor" id="RTX5RevisionHistory"></a>
CMSIS-RTOS RTX Version 5</h1>
<table  class="cmtable" summary="Revision History">
<tr>
<th>Version </th><th>Description  </th></tr>
<tr>
<td>V5.5.1 </td><td><ul>
<li>Fixed osMutexRelease issue (thread owning multiple mutexes).</li>
<li>Improved osThreadJoin robustness (user programing errors).   </li>
</ul>
</td></tr>
<tr>
<td>V5.5.0 </td><td><ul>
<li>Updated and enhanced generated events (reorganized components).</li>
<li>Updated configuration (Event Recorder).</li>
<li>Updated Component Viewer (improved performance).</li>
<li>Minor code optimizations.   </li>
</ul>
</td></tr>
<tr>
<td>V5.4.0 </td><td><ul>
<li>Based on CMSIS-RTOS API V2.1.3.</li>
<li>Added support for Event Recorder initialization and filter setup.</li>
<li>Added support to use RTOS as Event Recorder Time Stamp source.</li>
<li>Fixed osDelayUntil longest delay (limited to 2^31-1).</li>
<li>Fixed optimization issue when using GCC optimization level 3.</li>
<li>Fixed osMemoryPoolAlloc to avoid potential race condition.</li>
<li>Restructured exception handling for Cortex-A devices.</li>
<li>Minor code optimizations (removed unnecessary checks).   </li>
</ul>
</td></tr>
<tr>
<td>V5.3.0 </td><td><ul>
<li>Added Object Memory usage counters.</li>
<li>Added support for additional external configuration file.</li>
<li>Added user configurable names for system threads (Idle and Timer).</li>
<li>Added support for OS sections when using ARMCC5.</li>
<li>Added callback for MPU integration (experimental)</li>
<li>Increased default thread stack sizes to 256 bytes.</li>
<li>Fixed stack context display for running thread in SCVD.</li>
<li>Enhanced MISRA Compliance.   </li>
</ul>
</td></tr>
<tr>
<td>V5.2.3 </td><td><ul>
<li>Based on CMSIS-RTOS API V2.1.2.</li>
<li>Added TrustZone Module Identifier configuration for Idle and Timer Thread.</li>
<li>Moved SVC/PendSV handler priority setup from osKernelInitialize to osKernelStart (User Priority Grouping can be updated after osKernelInitialize but before osKernelStart).</li>
<li>Corrected SysTick and PendSV handlers for ARMv8-M Baseline.</li>
<li>Corrected memory allocation for stack and data when "Object specific Memory allocation" configuration is used.</li>
<li>Added support for ARMv8-M IAR compiler.   </li>
</ul>
</td></tr>
<tr>
<td>V5.2.2 </td><td><ul>
<li>Corrected IRQ and SVC exception handlers for Cortex-A.   </li>
</ul>
</td></tr>
<tr>
<td>V5.2.1 </td><td><ul>
<li>Corrected SysTick and SVC Interrupt Priority for Cortex-M.   </li>
</ul>
</td></tr>
<tr>
<td>V5.2.0 </td><td><ul>
<li>Based on CMSIS-RTOS API V2.1.1.</li>
<li>Added support for for Cortex-A.</li>
<li>Using OS Tick API for RTX Kernel Timer Tick.</li>
<li>Fixed potential corruption of terminated threads list.</li>
<li>Corrected MessageQueue to use actual message length (before padding).</li>
<li>Corrected parameters for ThreadEnumerate and MessageQueueInserted events.</li>
<li>Timer Thread creation moved to osKernelStart.   </li>
</ul>
</td></tr>
<tr>
<td>V5.1.0 </td><td><ul>
<li>Based on CMSIS-RTOS API V2.1.0.</li>
<li>Added support for Event recording.</li>
<li>Added support for IAR compiler.</li>
<li>Updated configuration files: RTX_Config.h for the configuration settings and RTX_config.c for implementing the <a class="el" href="group__rtx5__specific.html">RTX v5 Specific API</a>.</li>
<li>osRtx name-space for RTX specific symbols.   </li>
</ul>
</td></tr>
<tr>
<td>V5.0.0 </td><td>Initial release compliant to CMSIS-RTOS2.<br/>
   </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:03 for CMSIS-RTOS2 Version 2.1.3 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>
