Update Documentation

This commit is contained in:
Gregory Nutt 2015-05-18 13:41:35 -06:00
parent c9bbde3078
commit 6fbe614a75
3 changed files with 58 additions and 34 deletions

View File

@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
<p>Last Updated: May 1, 2015</p>
<p>Last Updated: May 18, 2015</p>
</td>
</tr>
</table>
@ -1330,7 +1330,7 @@
<li><a href="#arm926ejs">ARM926EJS</a> (4)</li>
<li><a href="#armcortexa5">ARM Cortex-A5</a> (2)</li>
<li><a href="#armcortexa8">ARM Cortex-A8</a> (1)</li>
<li><a href="#armcortexm0">ARM Cortex-M0/M0+</a> (4)</li>
<li><a href="#armcortexm0">ARM Cortex-M0/M0+</a> (5)</li>
<li><a href="#armcortexm3">ARM Cortex-M3</a> (32)</li>
<li><a href="#armcortexm4">ARM Cortex-M4</a> (20)</li>
<li><a href="#armcortexm7">ARM Cortex-M7</a> (1)</li>
@ -1402,6 +1402,7 @@
<li><a href="#avrat90usbxxx">AVR AT90USB64x and AT90USB6128x</a> <small>(8-bit AVR)</small></li>
<li><a href="#at32uc3bxxx">AVR32 AT32UC3BXXX</a> <small>(32-bit AVR32)</small></li>
<li><a href="#at91samd20">Atmel SAMD20</a> <small>(ARM Cortex-M0+)</small></li>
<li><a href="#at91saml21">Atmel SAML21</a> <small>(ARM Cortex-M0+)</small></li>
<li><a href="#at91sam3u">Atmel SAM3U</a> <small>(ARM Cortex-M3)</small></li>
<li><a href="#at91sam3x">Atmel SAM3X</a> <small>(ARM Cortex-M3)</small></li>
<li><a href="#at91sam4c">Atmel SAM4C</a> <small>(ARM Cortex-M4)</small></li>
@ -2229,6 +2230,28 @@ nsh>
</ul>
</td>
</tr>
<tr>
<td><br></td>
<td><hr></td>
</tr>
<tr>
<td><br></td>
<td>
<p>
<a name="at91saml21"><b>Atmel SAML21</b>.</a>
The port of NuttX to the Atmel SAML21-Xplained Pro development board.
This board features the ATSAML21J18A MCU (Cortex-M0+ with 256KB of FLASH and 32KB of SRAM).
</p>
<ul>
<p>
<b>STATUS</b>.
This is a work in progress.
Initial support for the SAML21 Xplained Pro is expected in the NuttX 7.10 timeframe.
Refer to the SAML21 Explained Pro board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/saml21-xplained/README.txt">README</a> file for further information.
</p>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>

View File

@ -12,7 +12,7 @@
<h1><big><font color="#3c34ec">
<i>NuttX RTOS Porting Guide</i>
</font></big></h1>
<p>Last Updated: April 1, 2015</p>
<p>Last Updated: May 18, 2015</p>
</td>
</tr>
</table>
@ -2725,6 +2725,8 @@ int up_timer_start(FAR const struct timespec *ts);
<li><a href="#wdstart">4.3.5.3 wd_start</a></li>
<li><a href="#wdcancel">4.3.5.4 wd_cancel</a></li>
<li><a href="#wdgettime">4.3.5.5 wd_gettime</a></li>
<li><a href="#wdcallback">4.3.5.6 Watchdog Timer Callback</a></li>
</ul>
<h4><a name="wdcreate">4.3.5.1 wd_create/wd_static</a></h4>
@ -2927,6 +2929,36 @@ VxWorks provides the following comparable interface:
means either that wdog is not valid or that the wdog has already expired.
</p>
<h4><a name="wdcallback">4.3.5.6 Watchdog Timer Callback</a></h4>
<p>
When a watchdog expires, the callback function with this type is called:
</p>
<pre>
typedef void (*wdentry_t)(int argc, ...);
</pre>
<p>
Where <code>argc</code> is the number of <code>wdparm_t</code> type arguments that follow.
</p>
<p>
The arguments are passed as scalar <code>wdparm_t</code> values. For systems where the <code>sizeof(pointer) &lt; sizeof(uint32_t)</code>, the following union defines the alignment of the pointer within the <code>uint32_t</code>. For example, the SDCC MCS51 general pointer is 24-bits, but <code>uint32_t</code> is 32-bits (of course).
</p>
We always have <code>sizeof(pointer) <= sizeof(uintptr_t)</code> by definition.
</p>
<ul><pre>
union wdparm_u
{
FAR void *pvarg; /* The size one generic point */
uint32_t dwarg; /* Big enough for a 32-bit value in any case */
uintptr_t uiarg; /* sizeof(uintptr_t) >= sizeof(pointer) */
};
#if UINTPTR_MAX >= UINT32_MAX
typedef uintptr_t wdparm_t;
#else
typedef uint32_t wdparm_t;
#endif
</pre></ul>
<h2><a name="workqueues">4.4 Work Queues</a></h2>
<p><b>Work Queues</b>.
NuttX provides <i>work queues</i>. Work queues are threads the service a queue of work items to be performed. There are useful for off-loading work to a different threading context, for delayed processing, or for serializing activities.

View File

@ -9731,37 +9731,6 @@ notify a task when a message is available on a queue.
};
</pre>
<H3>3.4.9 Watchdog Data Types</H3>
<p>
When a watchdog expires, the callback function with this
type is called:
</p>
<pre>
typedef void (*wdentry_t)(int argc, ...);
</pre>
<p>
Where argc is the number of uint32_t type arguments that follow.
</p>
<p>
The arguments are passed as <code>wdparm_t</code> values. For systems where the <code>sizeof(pointer) &lt; sizeof(uint32_t)</code>, the following union defines the alignment of the pointer within the <code>uint32_t</code>. For example, the SDCC MCS51 general pointer is 24-bits, but <code>uint32_t</code> is 32-bits (of course).
</p>
We always have <code>sizeof(pointer) <= sizeof(uintptr_t)</code> by definitions.
</p>
<ul><pre>
union wdparm_u
{
FAR void *pvarg; /* The size one generic point */
uint32_t dwarg; /* Big enough for a 32-bit value in any case */
uintptr_t uiarg; /* sizeof(uintptr_t) >= sizeof(pointer) */
};
#if UINTPTR_MAX >= UINT32_MAX
typedef uintptr_t wdparm_t;
#else
typedef uint32_t wdpartm_t;
#endif
</pre></ul>
<table width ="100%">
<tr bgcolor="#e4e4e4">