<!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-RTOS2: 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-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 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><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('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>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">CMSIS-RTOS2 Documentation</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The <b>CMSIS-RTOS v2 (CMSIS-RTOS2)</b> provides generic RTOS interfaces for Arm&reg; Cortex&reg; processor-based devices. It provides a standardized API for software components that require RTOS functionality and gives therefore serious benefits to the users and the software industry:</p>
<ul>
<li>CMSIS-RTOS2 provides basic features that are required in many applications.</li>
<li>The unified feature set of the CMSIS-RTOS2 reduces learning efforts and simplifies sharing of software components.</li>
<li>Middleware components that use the CMSIS-RTOS2 are RTOS agnostic and are easier to adapt.</li>
<li>Standard project templates of the CMSIS-RTOS2 may be shipped with freely available CMSIS-RTOS2 implementations.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>The CMSIS-RTOS API Version 2 defines a minimum feature set. Implementations with extended features may be provided by the RTOS vendors.</dd></dl>
<p>The CMSIS-RTOS2 manages the resources of the microcontroller system and implements the concept of parallel threads that run concurrently.</p>
<p>Applications frequently require several concurrent activities. CMSIS-RTOS2 can manage multiple concurrent activities at the time when they are needed. Each activity gets a separate thread which executes a specific task and this simplifies the overall program structure. The CMSIS-RTOS2 system is scalable and additional threads can be added easily at a later time. Threads have a priority allowing faster execution of time-critical parts of a user application.</p>
<p>The CMSIS-RTOS2 offers services needed in many real-time applications, for example, periodical activation of timer functions, memory management, and message exchange between threads with time limits.</p>
<p>The CMSIS-RTOS2 addresses the following new requirements:</p>
<ul>
<li>Dynamic object creation no longer requires static memory, static memory buffers are now optional.</li>
<li>Support for Armv8-M architecture that provides a secure and non-secure state of code execution.</li>
<li>Provisions for message passing in multi-core systems.</li>
<li>Full support of C++ run-time environments.</li>
<li>C interface which is binary compatible across <a href="http://infocenter.arm.com/help/topic/com.arm.doc.subset.swdev.abi/index.html">ABI compatible compilers</a>.</li>
</ul>
<p>As a consequence of these requirements the CMSIS-RTOS2 has the following fundamental modifications:</p>
<ul>
<li>The functions osXxxxNew replace osXxxxCreate functions; osXxxxNew and osXxxxDelete create and destroy objects.</li>
<li>The C function <code>main</code> is no longer started as a thread (this was an optional feature in CMSIS-RTOS v1).</li>
<li>Functions that return osEvent have been replaced.</li>
</ul>
<p>CMSIS-RTOS2 provides an translation layer to <a href="../../RTOS/html/index.html" class="el">CMSIS-RTOS v1</a>. It is possible to intermix <a class="el" href="rtos_api2.html">CMSIS-RTOS C API v2</a> and <a href="../../RTOS/html/functionOverview.html" class="el">CMSIS-RTOS C API v1</a> within the same application. Over time, you may migrate to the new API as explained in <a class="el" href="os2Migration.html">Migration from API v1 to API v2</a>.</p>
<p>CMSIS-RTOS2 is not POSIX compliant, but has provisions to enable a C++11/C++14 interface.</p>
<p>The following sections provide further details about CMSIS-RTOS2 and the RTX reference implementation.</p>
<ul>
<li><a class="el" href="rtos_revisionHistory.html">Revision History</a> documents changes made in each version for CMSIS-RTOS v2 and RTX v5.</li>
<li><a class="el" href="genRTOS2IF.html">Generic RTOS Interface</a> provides an overview about the APIs available with CMSIS-RTOS v2.</li>
<li><a class="el" href="functionOverview.html">Function Overview</a> lists the CMSIS-RTOS2 API functions and the header file cmsis_os2.h.</li>
<li><a class="el" href="rtosValidation.html">RTOS Validation</a> describes the validation suite that is publicly available.</li>
<li><a class="el" href="os2Migration.html">Migration from API v1 to API v2</a> shows how to use CMSIS-RTOS2 in existing projects and lists function differences to CMSIS-RTOS v1.</li>
<li><a class="el" href="rtx5_impl.html">RTX v5 Implementation</a> provides general information about the operation and usage of RTX v5.</li>
</ul>
<hr/>
<h2>CMSIS-RTOS2 in ARM::CMSIS Pack </h2>
<p><a class="anchor" id="directory"></a> The following files relevant to CMSIS-RTOS2 are present in the <b>ARM::CMSIS</b> Pack directories: </p>
<table class="doxtable">
<tr>
<th align="left">Directory </th><th align="left">Content  </th></tr>
<tr>
<td align="left"><b>CMSIS/Documentation/RTOS2</b> </td><td align="left">This documentation </td></tr>
<tr>
<td align="left"><b>CMSIS/RTOS2/Include</b> </td><td align="left"><a class="el" href="genRTOS2IF.html#cmsis_os2_h">cmsis_os2.h header file</a> </td></tr>
<tr>
<td align="left"><b>CMSIS/RTOS2/RTX</b> </td><td align="left">CMSIS-RTOS2 reference implementation based on RTX version 5 </td></tr>
<tr>
<td align="left"><b>CMSIS/RTOS2/Source</b> </td><td align="left">Generic <b>OS tick</b> implementations for various processors based on <a class="el" href="rtos_os_tick_api.html">OS Tick API</a> </td></tr>
<tr>
<td align="left"><b>CMSIS/RTOS2/Template</b> </td><td align="left">Compatibility layer to <a href="../../RTOS/html/index.html" class="el">CMSIS-RTOS v1</a> </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="footer">Generated on Wed Jul 10 2019 15:21:04 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>
