⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 whatsnew.html

📁 scmRTOS is real-time preemptive operating system and supports up to 31 user processes (and one syste
💻 HTML
字号:
<html><head>
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>scmRTOS - scmRTOS What's New</title>
<link rel="icon" href="../favicon.ico" type="ico">
<link rel="stylesheet" type="text/css" href="../description.css" media="all" 
title="Burly Wood Style">
</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" 
leftmargin="0" rightmargin="0">

<table border="0" width="100%" height="100%" cellpadding="0" cellspacing="0">

<tr id="banner" valign="top" height="75px"><td>
    <table border="0" cellpadding="0" cellspacing="0"><tr>
        <td height="72" width="60"><img src="../scmrtos.png" hspace="4"></td>
        <td><h11><nobr>Single-Chip Microcontroller</nobr></h11><br>
        <div id="subtitle"><nobr>Real-Time Operating System</nobr></div></td>
    </tr></table>
</td></tr>

<tr><td valign="top">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr valign="top">
        <td class="menu2"><table align="left" border="0" cellpadding="4" cellspacing="8" class="gridmenu" width="100%">
<colgroup>
<col width="100%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Releases</th>
</tr>
</thead>
<tbody valign="top">
<tr><td><a class="reference" href="msp430/index.html">MSP430</a></td>
</tr>
<tr><td><a class="reference" href="avr/index.html">AVR</a></td>
</tr>
<tr><td><a class="reference" href="bf/index.html">Blackfin</a></td>
</tr>
<tr><td><a class="reference" href="arm7/index.html">ARM7</a></td>
</tr>
<tr><td><a class="reference" href="fr/index.html">FR</a></td>
</tr>
<tr><td><a class="reference" href="WhatsNew.html">What's New</a></td>
</tr>
<tr><td />
</tr>
<tr><td><a class="reference" href="../ports/index.html">Ports</a></td>
</tr>
</tbody>
</table></td>
        <td id="main">
        <div id="breadcrumbs"><a href="../index.html">Main page</a>&nbsp;> <a href="./index.html">Releases</a>&nbsp;> What's New</div>
        <div id="text">
        <h1>scmRTOS What's New</h1><!-- - - - - - - - - - - - - - -->
<div class="section">
<h1><a id="version-3-05" name="version-3-05">Version 3.05</a></h1>
<ul class="plain borderless simple">
<li>GPL license changed to MIT license.</li>
<li>Resume/Suspend code of services significantly redesigned. This eliminates bug
with skipping events when more then one process waits the event (Bug 1878045, see Project Tracker for details).</li>
<li>Added GCC Ports and Samples for AVR and MSP430.</li>
<li>Added support and Samples for STR71x (ARM7).</li>
<li>Function Sleep added to namaspace OS. This function is inline function and
just call function TBaseProcess::Sleep. This allows a simple way to call
Sleep from any place in user code, not only from root process's function.</li>
<li>Added ContextSwitchUserHook - the user defined function that is called from
OS::TKernel::ContextSwitchHook. The function is inlined and does not bring
overhead on calling.</li>
<li>Bugfixes:<ul class="plain2">
<li>TMutex: incorrect behaviour during locking (Bug 1732748, see Project Tracker for details).</li>
<li>Blackfin port: space in stacks for calling function incoming parameters added.</li>
<li>EWAVR port: macro A90_PROC_OPTION was not properly defined. Fixed. Support for another Analog Comparator vector name added.</li>
<li>EWAVR port: support for devices with more then 64 kbytes flash added in target assembler file.</li>
</ul>
</li>
</ul>
</div>
<div class="section">
<h1><a id="version-3-00-since-v2-xx" name="version-3-00-since-v2-xx">Version 3.00 (since v2.xx)</a></h1>
<ul class="plain borderless simple">
<li>The source code significant rearranged. As result:<ul class="plain2">
<li>Definitions of kernel and services are placed on separate files.</li>
<li>User support library has been removed from Port part and now the
library is resided in Common part of the RTOS.</li>
<li>Portable part is much more &quot;decoupled&quot; from Common part that gives
more freedom for Port functionality realization.</li>
</ul>
</li>
<li>The RTOS is positioned as explicitly separated on three parts:<ul class="plain2">
<li>Common part.</li>
<li>Target-dependent part (port).</li>
<li>Project-dependent part that allows user to tune the RTOS according
to his project requirements. Project-dependent part includes two
header files:<ul class="plain2">
<li><tt class="docutils literal"><span class="pre">scmRTOS_CONFIG.h</span></tt>.</li>
<li><tt class="docutils literal"><span class="pre">scmRTOS_TARGET_CFG.h</span></tt>.</li>
</ul>
</li>
</ul>
</li>
<li>Any available hardware timer in processor can be used as System Timer.</li>
<li>System Timer and Context Switch Software interrupts are fully definable
at user's project level.</li>
<li>Context Switch mechanisms are significant redesigned:<ul class="plain2">
<li>when Direct Program Control Flow transfer scheme is used
no special requirements to place context saving code immediately
at begining of interrupt service routine (ISR). This eliminates the
most frequent cause of program (that using the RTOS) failure, which
has taken place in versions (v1.xx and v2.xx) of the RTOS.</li>
<li>when Software Interrupt Program Control Flow transfer scheme is used
the only one rescheduling is performed inside interrupt service routine -
on ISR exit, no in every service function that is called. This improves
performance.</li>
</ul>
</li>
<li>Priority names order do not depend on Context Switch Scheme (in contrast to v2.xx).
<tt class="docutils literal"><span class="pre">pr0</span></tt> - is always the highest priority, <tt class="docutils literal"><span class="pre">prN</span></tt> - is always the lowest priority,
where  <tt class="docutils literal"><span class="pre">N</span></tt> - is integer number in range <tt class="docutils literal"><span class="pre">[1..32]</span></tt> and defined as
<tt class="docutils literal"><span class="pre">scmRTOS_PROCESS_COUNT</span> <span class="pre">+</span> <span class="pre">1</span></tt>. As usual, <tt class="docutils literal"><span class="pre">prN</span></tt> is priority of the System's
<tt class="docutils literal"><span class="pre">IdleProcess</span></tt>.</li>
<li>Software switch on ISR stack support. Currently, this feature is suitable
for MSP430 and AVR only. The feature is optional. See MSP430 Port or AVR Port
pages or [and] Ports descriptions for more details.</li>
<li>Type of the System timeouts is defined at project level now. See project
RTOS configuration file <tt class="docutils literal"><span class="pre">scmRTOS_CONFIG.h</span></tt>. The type of the System timeouts
can be <tt class="docutils literal"><span class="pre">byte</span></tt>, <tt class="docutils literal"><span class="pre">word</span></tt> or <tt class="docutils literal"><span class="pre">dword</span></tt>. The user can choose the most
suitable variant for his current project.</li>
<li><tt class="docutils literal"><span class="pre">IdleProcess</span></tt> stack[s] size specified at user's project level now (see below).</li>
<li>Some configuration options have been added:<ul class="plain2">
<li><tt class="docutils literal"><span class="pre">scmRTOS_ISRW_TYPE</span></tt>. The macro defines type of ISR Wrapper object in
System Timer interrupt. The macro can have values <tt class="docutils literal"><span class="pre">TISRW</span></tt> or
<tt class="docutils literal"><span class="pre">TISRW_SS</span></tt>. Now this is applicable for MSP430 and AVR ports only.</li>
<li><tt class="docutils literal"><span class="pre">scmRTOS_IDLE_PROCESS_STACK_SIZE</span></tt>. Specifies <tt class="docutils literal"><span class="pre">IdleProcess</span></tt> stack size.
AVR Port has two same macros to define stacks sizes (because of two stacks
used with EWAVR):<ul>
<li><tt class="docutils literal"><span class="pre">scmRTOS_IDLE_PROCESS_DATA_STACK_SIZE</span></tt> - stack size for process's data.</li>
<li><tt class="docutils literal"><span class="pre">scmRTOS_IDLE_PROCESS_RETURN_STACK_SIZE</span></tt> - stack size for return addresses
storage.</li>
</ul>
</li>
</ul>
</li>
<li>Several ARM7 Ports added:<ul class="plain2">
<li>LPC2xxx (NXP).</li>
<li>AT91SAM7 (Atmel).</li>
<li>ADuC7xxx (ADI).</li>
</ul>
</li>
</ul>
</div>

        </div>
        </td>
    </tr></table>
</td></tr>

<tr><td valign="bottom">
    <table border="0" cellspacing="0" cellpadding="6" width="100%">
    <tr id="footer">
        <td><a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=181958&amp;type=3" width="125" height="37" border="0" alt="SourceForge.net Logo" /></a></td>
        <td align="right">Copyright 漏 scmRTOS Team 2006-2008</td>
    </tr></table>
</td></tr>
</table>
</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -