Update Documentation
This commit is contained in:
parent
9e1c72e3e2
commit
eb7e66c945
@ -10393,3 +10393,7 @@
|
|||||||
signal/sig_timed*.c, timer/timer_settime.c, and wdog/wd_start.c:
|
signal/sig_timed*.c, timer/timer_settime.c, and wdog/wd_start.c:
|
||||||
Update the type passed to watchdog timer handlers. Using uint32_t is
|
Update the type passed to watchdog timer handlers. Using uint32_t is
|
||||||
a problem for 64-bit machines (2015-05-18).
|
a problem for 64-bit machines (2015-05-18).
|
||||||
|
* configs/saml21-xplained: Add a board build configuration for the
|
||||||
|
SAML21 Xplained Pro. Initial commit is just the SAMD20 Xplained Pro
|
||||||
|
board support with naming changed. Does not yet build (2015-05-18).
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<tr align="center" bgcolor="#e4e4e4">
|
<tr align="center" bgcolor="#e4e4e4">
|
||||||
<td>
|
<td>
|
||||||
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
|
<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>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@ -1330,7 +1330,7 @@
|
|||||||
<li><a href="#arm926ejs">ARM926EJS</a> (4)</li>
|
<li><a href="#arm926ejs">ARM926EJS</a> (4)</li>
|
||||||
<li><a href="#armcortexa5">ARM Cortex-A5</a> (2)</li>
|
<li><a href="#armcortexa5">ARM Cortex-A5</a> (2)</li>
|
||||||
<li><a href="#armcortexa8">ARM Cortex-A8</a> (1)</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="#armcortexm3">ARM Cortex-M3</a> (32)</li>
|
||||||
<li><a href="#armcortexm4">ARM Cortex-M4</a> (20)</li>
|
<li><a href="#armcortexm4">ARM Cortex-M4</a> (20)</li>
|
||||||
<li><a href="#armcortexm7">ARM Cortex-M7</a> (1)</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="#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="#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="#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="#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="#at91sam3x">Atmel SAM3X</a> <small>(ARM Cortex-M3)</small></li>
|
||||||
<li><a href="#at91sam4c">Atmel SAM4C</a> <small>(ARM Cortex-M4)</small></li>
|
<li><a href="#at91sam4c">Atmel SAM4C</a> <small>(ARM Cortex-M4)</small></li>
|
||||||
@ -2229,6 +2230,28 @@ nsh>
|
|||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</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>
|
<tr>
|
||||||
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
<h1><big><font color="#3c34ec">
|
<h1><big><font color="#3c34ec">
|
||||||
<i>NuttX RTOS Porting Guide</i>
|
<i>NuttX RTOS Porting Guide</i>
|
||||||
</font></big></h1>
|
</font></big></h1>
|
||||||
<p>Last Updated: April 1, 2015</p>
|
<p>Last Updated: May 18, 2015</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</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="#wdstart">4.3.5.3 wd_start</a></li>
|
||||||
<li><a href="#wdcancel">4.3.5.4 wd_cancel</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="#wdgettime">4.3.5.5 wd_gettime</a></li>
|
||||||
|
<li><a href="#wdcallback">4.3.5.6 Watchdog Timer Callback</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h4><a name="wdcreate">4.3.5.1 wd_create/wd_static</a></h4>
|
<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.
|
means either that wdog is not valid or that the wdog has already expired.
|
||||||
</p>
|
</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) < 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>
|
<h2><a name="workqueues">4.4 Work Queues</a></h2>
|
||||||
<p><b>Work Queues</b>.
|
<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.
|
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.
|
||||||
|
@ -9731,37 +9731,6 @@ notify a task when a message is available on a queue.
|
|||||||
};
|
};
|
||||||
</pre>
|
</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) < 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%">
|
<table width ="100%">
|
||||||
<tr bgcolor="#e4e4e4">
|
<tr bgcolor="#e4e4e4">
|
||||||
|
@ -106,7 +106,7 @@
|
|||||||
* alignment of the pointer within the uint32_t. For example, the SDCC
|
* alignment of the pointer within the uint32_t. For example, the SDCC
|
||||||
* MCS51 general pointer is 24-bits, but uint32_t is 32-bits (of course).
|
* MCS51 general pointer is 24-bits, but uint32_t is 32-bits (of course).
|
||||||
*
|
*
|
||||||
* We always have sizeof(pointer) <= sizeof(uintptr_t) by definitions.
|
* We always have sizeof(pointer) <= sizeof(uintptr_t) by definition.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
union wdparm_u
|
union wdparm_u
|
||||||
|
Loading…
Reference in New Issue
Block a user