diff options
Diffstat (limited to 'nuttx')
359 files changed, 4302 insertions, 25769 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 1904cf0f0d..5bec7c5ad7 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -1600,5 +1600,6 @@ * apps/Makefile and configs/*/appconfig - Use '=' as the delimiter instead of '/' so that sub-directories in apps/ can be used. * apps/vsn - Move all VSN apps to apps/vsn. + * nuttx/examples moved to apps/examples diff --git a/nuttx/Documentation/NXGraphicsSubsystem.html b/nuttx/Documentation/NXGraphicsSubsystem.html index ac67c9614a..4e6e780547 100644 --- a/nuttx/Documentation/NXGraphicsSubsystem.html +++ b/nuttx/Documentation/NXGraphicsSubsystem.html @@ -12,7 +12,7 @@ <h1><big><font color="#3c34ec"> <i>NX Graphics Subsystem</i> </font></big></h1> - <p>Last Updated: July 27, 2010</p> + <p>Last Updated: March 20, 2010</p> </td> </tr> </table> @@ -212,7 +212,7 @@ </tr> <tr> <td><small>Figure 1. - This scren shot shows the final frame for the NuttX example at <code>examples/nx</code> + This scren shot shows the final frame for the NuttX example at <code>apps/examples/nx</code> running on the simulated, Linux x86 platform with simulated framebuffer output to an X window. This picture shows to framed windows with (blank) toolbars. @@ -2499,9 +2499,9 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height, <h2>2.6 <a name="samplecode">Sample Code</a></h2> -<p><b><code>examples/nx</code></b>. +<p><b><code>apps/examples/nx</code></b>. No sample code is provided in this document. - However, an example can be found in the NuttX source tree at <code>examples/nx</code>. + However, an example can be found in the NuttX source tree at <code>apps/examples/nx</code>. That code is intended to test NX. Since it is test code, it is designed to exercise functionality and does not necessarily represent best NX coding practices. @@ -2514,7 +2514,7 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height, be implemented by the NX client code. </p> -<p><b>Building <code>examples/nx</code></b>. +<p><b>Building <code>apps/examples/nx</code></b>. Testing was performed using the Linux/Cygwin-based NuttX simulator. Instructions are provided for building that simulation are provided in <a href="#testcoverage">Appendix C</a> of this document. @@ -2690,11 +2690,11 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height, </tr> </table> -<p><b><code>examples/nx</code></b>. - The primary test tool for debugging NX resides at <code>examples/nx</code>. +<p><b><code>apps/examples/nx</code></b>. + The primary test tool for debugging NX resides at <code>apps/examples/nx</code>. </p> -<p><b>Building <code>examples/nx</code></b>. - NX testing was performed using <code>examples/nx</code> with the +<p><b>Building <code>apps/examples/nx</code></b>. + NX testing was performed using <code>apps/examples/nx</code> with the Linux/Cygwin-based NuttX simulator. Configuration files for building this test can be found in <code>configs/sim/nx</code>. There are two alternative configurations for building the simulation: @@ -2761,7 +2761,7 @@ make </p> <p><b>Test Coverage</b>. - At present, <code>examples/nx</code>t only exercises a subset of NX; + At present, <code>apps/examples/nx</code>t only exercises a subset of NX; the remainder is essentially untested. The following table describes the testing performed on each NX API: </p> @@ -2938,7 +2938,7 @@ make </tr> <tr> <td align="left" valign="top"><a href="#nxeventnotify"><code>nx_eventnotify()</code></a></td> - <td>This is not used in the current version of <code>examples/nx</code>, + <td>This is not used in the current version of <code>apps/examples/nx</code>, was tested in a previous version)</td> <td align="center" bgcolor="lightgrey">NO</td> </tr> diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html index 37e22a0089..6929f54e1c 100644 --- a/nuttx/Documentation/NuttX.html +++ b/nuttx/Documentation/NuttX.html @@ -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: March 19, 2011</p> + <p>Last Updated: March 20, 2011</p> </td> </tr> </table> @@ -948,7 +948,7 @@ <ul> <p> <b>STATUS:</b> - This port boots and passes the OS test (examples/ostest). + This port boots and passes the OS test (apps/examples/ostest). The port is complete and verified. As of NuttX 0.3.17, the port includes: timer interrupts, serial console, USB driver, and SPI-based MMC/SD card support. A verified NuttShell (<a href="NuttShell.html">NSH</a>) @@ -982,7 +982,7 @@ <ul> <p> <b>STATUS:</b> - This port boots and passes the OS test (examples/ostest) and includes a + This port boots and passes the OS test (apps/examples/ostest) and includes a working implementation of the NuttShell (<a href="NuttShell.html">NSH</a>). The port is complete and verified. As of NuttX 5.3, the port includes only basic timer interrupts and serial console support. @@ -1161,7 +1161,7 @@ <b>STATUS:</b> This port was released in NuttX 5.5. Features are the same as with the Eagle-100 LM3S6918 described above. - The examples/ostest configuration has been successfully verified and an + The apps/examples/ostest configuration has been successfully verified and an NSH configuration with telnet support is available. MMC/SD and Networking support was not been thoroughly verified: Current development efforts are focused on porting the NuttX window system (NX) @@ -1357,7 +1357,7 @@ </p> <p> That initial, 5.6, basic release included <i>timer</i> interrupts and a <i>serial console</i> and was - verified using the NuttX OS test (<code>examples/ostest</code>). + verified using the NuttX OS test (<code>apps/examples/ostest</code>). Configurations available include include a verified NuttShell (NSH) configuration (see the <a href="http://www.nuttx.org/NuttShell.html">NSH User Guide</a>). The NSH configuration supports the Nucleus2G's microSD slot and additional configurations @@ -1374,7 +1374,7 @@ </ul> </p> <p> - This port includes a NuttX OS test configuration (see <code>examples/ostest</code>). + This port includes a NuttX OS test configuration (see <code>apps/examples/ostest</code>). </p> <p> <b>Olimex LPC1766-STK</b>. @@ -1524,7 +1524,7 @@ Since then, the basic RTOS port has solidified: <ul> <li> - The port successfully passes the NuttX OS test (examples/ostest). + The port successfully passes the NuttX OS test (apps/examples/ostest). </li> <li> A NuttShell (NSH) configuration is in place (see the <a href="http://www.nuttx.org/NuttShell.html">NSH User Guide</a>). @@ -1534,7 +1534,7 @@ At present, I get nothing coming in the serial RXD line (probably because the pins are configured wrong or I have the MAX232 connected wrong). </li> </ul> - The basic, port (including the verified examples/ostest configuration) was be released in NuttX-5.13. + The basic, port (including the verified apps/examples/ostest configuration) was be released in NuttX-5.13. A complete port will include drivers for additional AVR32 UC3 devices -- like SPI and USB --- and will be available in a later release, time permitting. </p> @@ -1979,7 +1979,7 @@ m68k, m68hc11, m68hc12, and SuperH ports.</blockquote> This build for the ARM9 target includes a significant subset of OS features, a filesystem, Ethernet driver, full TCP/IP, UDP and (minimal) ICMP stacks (via uIP) and a small network test application: (11/8/07, - configuration netconfig, examples/nettest) + configuration netconfig, apps/examples/nettest) </p> <pre> text data bss dec hex filename @@ -1988,7 +1988,7 @@ m68k, m68hc11, m68hc12, and SuperH ports.</blockquote> <p> Another build for the ARM9 target includes a minimal OS feature set, Ethernet driver, full TCP/IP and (minimal) ICMP stacks, and - a small webserver: (11/20/07, configuration uipconfig, examples/uip) + a small webserver: (11/20/07, configuration uipconfig, apps/examples/uip) </p> <pre> text data bss dec hex filename @@ -2224,6 +2224,10 @@ nuttx-5.20 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> * examples/nsh and apps/nshlib - Move the core NuttShell (NSH) logic out of the exemples directory and into the apps/directory where it belongs. + * apps/Makefile and configs/*/appconfig - Use '=' as the delimiter + instead of '/' so that sub-directories in apps/ can be used. + * apps/vsn - Move all VSN apps to apps/vsn. + * nuttx/examples moved to apps/examples apps-5.20 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> diff --git a/nuttx/Documentation/NuttXNxFlat.html b/nuttx/Documentation/NuttXNxFlat.html index b1948f47f8..b08b658016 100644 --- a/nuttx/Documentation/NuttXNxFlat.html +++ b/nuttx/Documentation/NuttXNxFlat.html @@ -10,7 +10,7 @@ <td> <h1><big><font color="#3c34ec"><i>NXFLAT</i></font></big></h1> <h2><font color="#dc143c">>>> Under Construction <<<</font></h2> - <p>Last Updated: June 26, 2009</p> + <p>Last Updated: March 20, 2011</p> </td> </tr> </table> @@ -253,7 +253,7 @@ <p> The initial release of NXFLAT was made in NuttX version 0.4.9. - Testing is limited to the tests found under <code>examples/nxflat</code> in the source tree. + Testing is limited to the tests found under <code>apps/examples/nxflat</code> in the source tree. Some known problems exist (see the <a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/nuttx/TODO?view=log">TODO</a> list). As such, NXFLAT is currently in an early alpha phase. @@ -366,7 +366,7 @@ any following arguments. <p> Below is a snippet from an NXFLAT make file (simplified from NuttX - <a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/nuttx/examples/nxflat/tests/hello/Makefile?view=log"> + <a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/apps/examples/nxflat/tests/hello/Makefile?view=log"> Hello, World!</a> example. <p> <ul><table width="50%"> diff --git a/nuttx/Documentation/NuttxPortingGuide.html b/nuttx/Documentation/NuttxPortingGuide.html index 2d77d4ab9d..85fc8010dc 100644 --- a/nuttx/Documentation/NuttxPortingGuide.html +++ b/nuttx/Documentation/NuttxPortingGuide.html @@ -12,7 +12,7 @@ <h1><big><font color="#3c34ec"> <i>NuttX RTOS Porting Guide</i> </font></big></h1> - <p>Last Updated: March 19, 2011</p> + <p>Last Updated: March 20, 2011</p> </td> </tr> </table> @@ -37,30 +37,31 @@ <a href="#summaryofarchfiles">2.2.2 Summary of Files</a><br> <a href="#supportedarchitectures">2.2.3 Supported Architectures</a> </ul> - <a href="#DirStructBinFmt">2.2 binfmt/</a><br> + <a href="#DirStructBinFmt">2.3 binfmt/</a><br> <a href="#DirStructConfigs">2.4 configs/</a> <ul> - <a href="#configsdirectorystructure">2.3.1 Subdirectory Structure</a><br> - <a href="#summaryofconfigfiles">2.3.2 Summary of Files</a> + <a href="#configsdirectorystructure">2.4.1 Subdirectory Structure</a><br> + <a href="#summaryofconfigfiles">2.4.2 Summary of Files</a> <ul> <a href="#boardlogic">2.4.2.1 Board Specific Logic</a><br> - <a href="#boardconfigsubdirs">2.3.2.2 Board Specific Configuration Sub-Directories</a> + <a href="#boardconfigsubdirs">2.4.2.2 Board Specific Configuration Sub-Directories</a> </ul> <a href="#supportedboards">2.4.3 Supported Boards</a> </ul> - <a href="#DirStructDrivers">2.5 drivers/</a><br> - <a href="#DirStructExamples">2.6 examples/</a><br> - <a href="#DirStructFs">2.7 fs/</a><br> - <a href="#DirStructGraphics">2.8 graphics/</a><br> - <a href="#DirStructInclude">2.9 include/</a><br> - <a href="#DirStructLib">2.10 lib/</a><br> - <a href="#DirStructLibXX">2.11 libxx/</a><br> - <a href="#DirStructMm">2.12 mm/</a><br> - <a href="#DirStructNet">2.13 net</a><br> - <a href="#DirStructNetUtils">2.14 netutils</a><br> - <a href="#DirStructSched">2.15 sched/</a><br> - <a href="#DirStructTools">2.16 tools/</a><br> - <a href="#topmakefile">2.17 Makefile</a> + <a href="#DirStructDrivers">2.5 nuttx/drivers/</a><br> + <a href="#DirStructFs">2.6 nuttx/fs/</a><br> + <a href="#DirStructGraphics">2.7 nuttx/graphics/</a><br> + <a href="#DirStructInclude">2.8 nuttx/include/</a><br> + <a href="#DirStructLib">2.9 nuttx/lib/</a><br> + <a href="#DirStructLibXX">2.10 nuttx/libxx/</a><br> + <a href="#DirStructMm">2.11 nuttx/mm/</a><br> + <a href="#DirStructNet">2.12 nuttx/net</a><br> + <a href="#DirStructSched">2.13 nuttx/sched/</a><br> + <a href="#DirStructTools">2.14 nuttx/tools/</a><br> + <a href="#topmakefile">2.15 nuttx/Makefile</a> + <a href="#DirStructNetUtils">2.16 apps/netutils</a><br> + <a href="#DirStructNshLib">2.17 apps/nshlib</a><br> + <a href="#DirStructExamples">2.18 apps/examples/</a><br> </ul> <a href="#configandbuild">3.0 Configuring and Building</a> <ul> @@ -200,10 +201,6 @@ | | |-- <i>(driver-specific sub-directories)/</i> | | | `-- <i>(driver-specific source files)</i> | | `-- <i>(common driver source files)</i> -| |-- <a href="#DirStructExamples">examples</a>/ -| | `-- <i>(example)</i>/ -| | |-- Makefile -| | `-- <i>(example source files)</i> | |-- <a href="#DirStructFs">fs</a>/ | | |-- Makefile | | |-- <i>(file system-specific sub-directories)</i>/ @@ -245,14 +242,18 @@ | |-- <i>(network feature sub-directories)</i>/ | | `-- <i>(network feature source files)</i> | `-- <i>(netutils common files)</i> - |-- nshlib/ + |-- <a href="#DirStructNshLib">nshlib</a>/ | |-- Makefile | `-- <i>NuttShell (NSH) files</i> - `-- <i>(Board-specific applications)</i>/ - |-- Makefile - |-- <i>(Board-specific application sub-directories)</i>/ - | `-- <i>(Board-specific application source files)</i> - `-- <i>(Board-specific common files)</i> + |-- <i>(Board-specific applications)</i>/ + | |-- Makefile + | |-- <i>(Board-specific application sub-directories)</i>/ + | | `-- <i>(Board-specific application source files)</i> + | `-- <i>(Board-specific common files)</i> + `-- <a href="#DirStructExamples">examples</a>/ + `-- <i>(example)</i>/ + |-- Makefile + `-- <i>(example source files)</i> </pre></ul> <p> @@ -295,7 +296,7 @@ General documentation for the NuttX OS resides in this directory. </p> -<h2>2.2 <a name="DirStructArch">arch</a></h2> +<h2>2.2 <a name="DirStructArch">nuttx/arch</a></h2> <h3><a name="archdirectorystructure">2.2.1 Subdirectory Structure</a></h3> <p> @@ -460,7 +461,7 @@ <li><code>arch/arm/include/lpc214x</code> and <code>arch/arm/src/lpc214x</code>: These directories provide support for NXP LPC214x family of processors. - STATUS: This port boots and passes the OS test (examples/ostest). + STATUS: This port boots and passes the OS test (apps/examples/ostest). The port is complete and verified. As of NuttX 0.3.17, the port includes: timer interrupts, serial console, USB driver, and SPI-based MMC/SD card support. A verified NuttShell configuration is also available. @@ -544,21 +545,21 @@ of progress </p> -<h2>2.3 <a name="DirStructBinFmt">binfmt</a></h2> +<h2>2.3 <a name="DirStructBinFmt">nuttx/binfmt</a></h2> <p> The <code>binfmt/</code> subdirectory contains logic for loading binaries in the file system into memory in a form that can be used to execute them. </p> -<h2>2.4 <a name="DirStructConfigs">configs</a></h2> +<h2>2.4 <a name="DirStructConfigs">nuttx/configs</a></h2> <p> The <code>configs/</code> subdirectory contains configuration data for each board. These board-specific configurations plus the architecture-specific configurations in the <code>arch/</code> subdirectory complete define a customized port of NuttX. </p> -<h3><a name="configsdirectorystructure">2.3.1 Subdirectory Structure</a></h3> +<h3><a name="configsdirectorystructure">2.4.1 Subdirectory Structure</a></h3> <p> The configs directory contains board specific configuration files. Each board must provide a subdirectory <board-name> under <code>configs/</code> with the following characteristics: @@ -589,8 +590,8 @@ </small></p> </ul> -<h3><a name="summaryofconfigfiles">2.3.2 Summary of Files</a></h3> -<h4><a name="boardlogic">2.3.2.1 Board Specific Logic</a></h4> +<h3><a name="summaryofconfigfiles">2.4.2 Summary of Files</a></h3> +<h4><a name="boardlogic">2.4.2.1 Board Specific Logic</a></h4> <ul> <li> <code>include/</code>: @@ -612,7 +613,7 @@ It must support the following targets: <code>libext$(LIBEXT)</code>, <code>clean</code>, and <code>distclean</code>. </li> </ul> -<h4><a name="boardconfigsubdirs">2.3.2.2 Board Specific Configuration Sub-Directories</a></h4> +<h4><a name="boardconfigsubdirs">2.4.2.2 Board Specific Configuration Sub-Directories</a></h4> <p> The <code>configs/</code><i><board-name></i><code>/</code> sub-directory holds all of the files that are necessary to configure NuttX for the particular board. @@ -676,7 +677,7 @@ </li> </ul> -<h3><a name="supportedboards">2.3.3 Supported Boards</a></h3> +<h3><a name="supportedboards">2.4.3 Supported Boards</a></h3> <p> All of the specific boards supported by NuttX are identified below. These are the specific <i><board-name></i>'s that may be used to configure NuttX @@ -790,7 +791,7 @@ is available to build these toolchains under Linux or Cygwin. </blockquote></small></p> -<h2>2.5 <a name="DirStructDrivers">drivers</a></h2> +<h2>2.5 <a name="DirStructDrivers">nuttx/drivers</a></h2> <p> This directory holds architecture-independent device drivers. @@ -816,13 +817,7 @@ drivers/ `-- <i>(common driver source files)</i> </pre></ul> -<h2>2.6 <a name="DirStructExamples">examples</a></h2> - -<p> - Example and test programs to build against. -</p> - -<h2>2.7 <a name="DirStructFs">fs</a></h2> +<h2>2.6 <a name="DirStructFs">nuttx/fs</a></h2> <p> This directory contains the NuttX file system. @@ -840,7 +835,7 @@ fs/ `-- <i>(common file system source files)</i> </pre></ul> -<h2>2.8 <a name="DirStructGraphics">graphics</a></h2> +<h2>2.7 <a name="DirStructGraphics">nuttx/graphics</a></h2> <p> This directory contains files for graphics/video support under NuttX. @@ -857,7 +852,7 @@ graphics/ `-- <i>(common file system source files)</i> </pre></ul> -<h2>2.9 <a name="DirStructInclude">include</a></h2> +<h2>2.8 <a name="DirStructInclude">nuttx/include</a></h2> <p> This directory holds NuttX header files. Standard header files file retained in can be included in the <i>normal</i> fashion: @@ -886,30 +881,64 @@ include/ `-- <i>(more standard header files)</i> </per></ul> -<h2>2.10 <a name="DirStructLib">lib</a></h2> +<h2>2.9 <a name="DirStructLib">nuttx/lib</a></h2> <p> This directory holds a collection of standard libc-like functions with custom interfaces into NuttX. </p> -<h2>2.11 <a name="DirStructLibXX">libxx</a></h2> +<h2>2.10 <a name="DirStructLibXX">nuttx/libxx</a></h2> <p> This directory holds a tiny, minimal standard std C++ that can be used to build some, simple C++ applications in NuttX. </p> -<h2>2.12 <a name="DirStructMm">mm</a></h2> +<h2>2.11 <a name="DirStructMm">nuttx/mm</a></h2> <p> This is the NuttX memory manager. </p> -<h2>2.13 <a name="DirStructNet">net</a></h2> +<h2>2.12 <a name="DirStructNet">nuttx/net</a></h2> <p> This directory contains the implementation of the socket APIs. The subdirectory, <code>uip</code> contains the uIP port. </P> -<h2>2.14 <a name="DirStructNetUtils">netutils</a></h2> +<h2>2.13 <a name="DirStructSched">nuttx/sched</a></h2> +<p> + The files forming core of the NuttX RTOS reside here. +</p> + +<h2>2.14 <a name="DirStructTools">nuttx/tools</a></h2> +<p> + This directory holds a collection of tools and scripts to simplify + configuring, building and maintaining NuttX. +</p> +<ul><pre> +tools/ +|-- Makefile.mkconfig +|-- configure.sh +|-- incdir.sh +|-- indent.sh +|-- link.sh +|-- mkconfig.c +|-- mkdeps.sh +|-- mkimage.sh +|-- mknulldeps.sh +|-- mkromfsimg.sh +|-- unlink.sh +|-- winlink.sh +`-- zipme +</pre></ul> + +<h2>2.15 <a name="topmakefile">nuttx/Makefile</a></h2> +<p> + The top-level <code>Makefile</code> in the <code>${TOPDIR}</code> directory contains all of the top-level control + logic to build NuttX. + Use of this <code>Makefile</code> to build NuttX is described <a href="#buildingnuttx">below</a>. +</p> + +<h2>2.16 <a name="DirStructNetUtils">apps/netutils</a></h2> <p> This directory contains most of the network applications. Some of these are original with NuttX (like tftpc and dhcpd) and others were leveraged from the uIP-1.0 apps directory. @@ -951,38 +980,14 @@ netutils/ `-- <i>(netutils common files)</i> </pre></ul> -<h2>2.15 <a name="DirStructSched">sched</a></h2> +<h2>2.17 <a name="DirStructNshLib">apps/nshlib</a></h2> <p> - The files forming core of the NuttX RTOS reside here. + This directory contains for the core of the NuttShell (NSH) application. </p> -<h2>2.16 <a name="DirStructTools">tools</a></h2> +<h2>2.18 <a name="DirStructExamples">apps/examples</a></h2> <p> - This directory holds a collection of tools and scripts to simplify - configuring, building and maintaining NuttX. -</p> -<ul><pre> -tools/ -|-- Makefile.mkconfig -|-- configure.sh -|-- incdir.sh -|-- indent.sh -|-- link.sh -|-- mkconfig.c -|-- mkdeps.sh -|-- mkimage.sh -|-- mknulldeps.sh -|-- mkromfsimg.sh -|-- unlink.sh -|-- winlink.sh -`-- zipme -</pre></ul> - -<h2>2.17 <a name="topmakefile">Makefile</a></h2> -<p> - The top-level <code>Makefile</code> in the <code>${TOPDIR}</code> directory contains all of the top-level control - logic to build NuttX. - Use of this <code>Makefile</code> to build NuttX is described <a href="#buildingnuttx">below</a>. + Example and test programs to build against. </p> <table width ="100%"> @@ -2663,10 +2668,9 @@ extern void up_ledoff(int led); <ul> <li> <p> - <code>CONFIG_APP_DIR</code>: Ldentifies the directory that builds the application to link with NuttX. - This symbol must be assigned to the path to the application build directory <i>relative</i> to the NuttX top build direcory. - As an an example, there are several example applicatins in the NuttX <code>examples/</code> sub-directory. - To use one of these example applications, say <code>nsh</code>, you would set <code>CONFIG_APP_DIR=examples/nsh</code>. + <code>CONFIG_APP_DIR</code>: Identifies the directory that builds the application to link with NuttX. + This symbol must be assigned to the path to the application build directory <i>relative</i> to the NuttX top build directory. + If the application resides in the top-level <code>apps</code> directory, it is not necessary to define <code>CONFIG_APP_DIR</code>. If you had an application directory and the NuttX directory both within another directory like this: <ul><pre> build @@ -2874,7 +2878,7 @@ build <li> <code>CONFIG_NXFLAT</code>: Enable support for the NXFLAT binary format. This format will support execution of NuttX binaries located - in a ROMFS filesystem (see <code>examples/nxflat</code>). + in a ROMFS filesystem (see <code>apps/examples/nxflat</code>). </li> <li> <code>CONFIG_SCHED_WORKQUEUE</code>: Create a dedicated "worker" thread to diff --git a/nuttx/Documentation/README.html b/nuttx/Documentation/README.html index 63f83166b9..eff38044d4 100755 --- a/nuttx/Documentation/README.html +++ b/nuttx/Documentation/README.html @@ -165,9 +165,6 @@ | | `- <a href="nuttx/configs/README.txt?view=log"><b><i>README.txt</i></b></a> | |- drivers/ | | `- <a href="nuttx/drivers/README.txt?view=log"><b><i>README.txt</i></b></a> - | |- examples/ - | | |- <a href="nuttx/examples/pashello/README.txt?view=log">pashello/README.txt</a> - | | `- <a href="nuttx/examples/README.txt?view=log"><b><i>README.txt</i></b></a> | |- graphics/ | | `- <a href="nuttx/graphics/README.txt?view=log"><b><i>README.txt</i></b></a> | |- libxx/ @@ -180,6 +177,9 @@ | `- <a href="apps/netutils/README?view=log"><b><i>README</i></b></a> |- nshlib/ | |- <a href="apps/nshlib/README.txt?view=log"><b><i>README.txt</i></b></a> + |- examples/ + | |- <a href="apps/examples/pashello/README.txt?view=log">pashello/README.txt</a> + | `- <a href="apps/examples/README.txt?view=log"><b><i>README.txt</i></b></a> `- vsn/ |- <a href="apps/vsn/free/README.txt?view=log">free/README.txt</a> |- <a href="apps/vsn/hello/README.txt?view=log">hello/README.txt</a> diff --git a/nuttx/Documentation/UsbTrace.html b/nuttx/Documentation/UsbTrace.html index ac1a7e7507..2f08f9ef2e 100755 --- a/nuttx/Documentation/UsbTrace.html +++ b/nuttx/Documentation/UsbTrace.html @@ -9,7 +9,7 @@ <tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX USB Device Trace</i></font></big></h1>
- <p>Last Updated: February 25, 2010</p>
+ <p>Last Updated: March 20, 2011</p>
</td>
</tr>
</table>
@@ -134,7 +134,7 @@ Otherwise, the trace data goes to console.
<p>
<p><b>Example</b>.
- Here is an example of USB trace output using <code>examples/usbserial</code> for an LPC1768 platform with the following NuttX configuration settings:
+ Here is an example of USB trace output using <code>apps/examples/usbserial</code> for an LPC1768 platform with the following NuttX configuration settings:
</p>
<ul>
<li><code>CONFIG_DEBUG</code>, <code>CONFIG_DEBUG_VERBOSE</code>, <code>CONFIG_USB</code>
diff --git a/nuttx/Makefile b/nuttx/Makefile index fef629ee21..22102a91bf 100644 --- a/nuttx/Makefile +++ b/nuttx/Makefile @@ -62,23 +62,23 @@ BOARD_DIR = configs/$(CONFIG_ARCH_BOARD) # Add-on directories. These may or may not be in place in the # NuttX source tree (they must be specifically installed) # -# APPS_LOC can be over-ridden from the command line: +# APPLOC can be over-ridden from the command line or in the .config file: ifeq ($(CONFIG_BUILTIN_APPS),y) -ifeq ($(APPS_LOC),) -APPS_LOC = ../apps +ifeq ($(APPLOC),) +APPLOC = ../apps endif -APPS_DIR := ${shell if [ -r $(APPS_LOC)/Makefile ]; then echo "$(APPS_LOC)"; fi} +APPDIR := ${shell if [ -r $(APPLOC)/Makefile ]; then echo "$(APPLOC)"; fi} endif PCODE_DIR := ${shell if [ -r pcode/Makefile ]; then echo "pcode"; fi} -ADDON_DIRS := $(PCODE_DIR) $(NX_DIR) $(APPS_DIR) +ADDON_DIRS := $(PCODE_DIR) $(NX_DIR) $(APPDIR) # FSDIRS depend on file descriptor support; NONFSDIRS do not # (except for parts of FSDIRS). We will exclude FSDIRS # from the build if file descriptor support is disabled -NONFSDIRS = sched lib $(ARCH_SRC) mm $(CONFIG_APP_DIR) $(ADDON_DIRS) +NONFSDIRS = sched lib $(ARCH_SRC) mm $(ADDON_DIRS) FSDIRS = fs drivers binfmt CONTEXTDIRS = @@ -87,6 +87,10 @@ NONFSDIRS += graphics CONTEXTDIRS += graphics endif +ifneq ($(CONFIG_APP_DIR),) +NONFSDIRS = $(CONFIG_APP_DIR) +endif + # CLEANDIRS are the directories that will clean in. These are # all directories that we know about. # MAKEDIRS are the directories in which we will build targets @@ -99,7 +103,7 @@ ifneq ($(CONFIG_NSOCKET_DESCRIPTORS),0) MAKEDIRS += fs endif ifeq ($(CONFIG_NET),y) -MAKEDIRS += drivers +MAKEDIRS += net endif else MAKEDIRS += $(FSDIRS) @@ -123,7 +127,7 @@ endif # is disabled. LINKLIBS = sched/libsched$(LIBEXT) $(ARCH_SRC)/libarch$(LIBEXT) mm/libmm$(LIBEXT) \ - lib/liblib$(LIBEXT) $(CONFIG_APP_DIR)/libapp$(LIBEXT) + lib/liblib$(LIBEXT) # Add libraries for network support. CXX, CXXFLAGS, and COMPILEXX must # be defined in Make.defs for this to work! @@ -132,12 +136,18 @@ ifeq ($(CONFIG_HAVE_CXX),y) LINKLIBS += libxx/liblibxx$(LIBEXT) endif +# Add application-specific library + +ifneq ($(CONFIG_APP_DIR),) +LINKLIBS = $(CONFIG_APP_DIR)/libapp$(LIBEXT) +endif + # Add library for application support # Always compile the framework which includes exec_nuttapp if users # or nuttX applications are to be included. ifeq ($(CONFIG_BUILTIN_APPS),y) -LINKLIBS += $(APPS_DIR)/libapps$(LIBEXT) +LINKLIBS += $(APPDIR)/libapps$(LIBEXT) endif # Add libraries for network support @@ -259,8 +269,8 @@ fs/libfs$(LIBEXT): context drivers/libdrivers$(LIBEXT): context @$(MAKE) -C drivers TOPDIR="$(TOPDIR)" libdrivers$(LIBEXT) -$(APPS_DIR)/libapps$(LIBEXT): context - @$(MAKE) -C $(APPS_DIR) TOPDIR="$(TOPDIR)" libapps$(LIBEXT) +$(APPDIR)/libapps$(LIBEXT): context + @$(MAKE) -C $(APPDIR) TOPDIR="$(TOPDIR)" libapps$(LIBEXT) binfmt/libbinfmt$(LIBEXT): context @$(MAKE) -C binfmt TOPDIR="$(TOPDIR)" libbinfmt$(LIBEXT) diff --git a/nuttx/TODO b/nuttx/TODO index 044c42d187..ef73e2e800 100644 --- a/nuttx/TODO +++ b/nuttx/TODO @@ -18,7 +18,6 @@ nuttx/ (1) Pascal add-on (pcode/) (1) Documentation (Documentation/) (5) Build system / Toolchains - (3) Other Applications & Tests (examples/) (7) Linux/Cywgin simulation (arch/sim) (3) ARM (arch/arm/) (1) ARM/C5471 (arch/arm/src/c5471/) @@ -42,6 +41,7 @@ apps/ (5) Network Utilities (apps/netutils/) (4) NuttShell (NSH) (apps/nshlib) + (3) Other Applications & Tests (apps/examples/) o Task/Scheduler (sched/) ^^^^^^^^^^^^^^^^^^^^^^^ @@ -152,7 +152,7 @@ o C++ Support o Binary loaders (binfmt/) ^^^^^^^^^^^^^^^^^^^^^^^^ - Description: Not all of the NXFLAT test under examples/nxflat are working. + Description: Not all of the NXFLAT test under apps/examples/nxflat are working. Most simply do not compile yet. tests/mutex runs okay but outputs garbage on completion. Status: Open @@ -454,7 +454,7 @@ o Graphics subystem (graphics/) Status: Open Priority: Medium - Description: The examples/nx test using lcd/p14201.c and the configs/lm3s6965-ek + Description: The apps/examples/nx test using lcd/p14201.c and the configs/lm3s6965-ek configuration shows two single pixel-wide anomalies. One along column zero is clearly caused by the NX windowing logic. It is not certain if these are consequences of the 4bpp logic or if these @@ -516,26 +516,6 @@ o Build system Priority: High if you are using NX and a newer compiler. -o Other Applications & Tests (examples/) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - Description: The redirection test (part of examples/pipe) terminates - incorrectly on the Cywgin-based simulation platform (but works - fine on the Linux-based simulation platform). - Status: Open - Priority: Low - - Description: examples/wget is untested on the target (it has been tested - on the host, but not in the target using the uIP resolv logic). - Status: Open - Priority: Med - - Description: examples/sendmail is untested on the target (it has been tested - on the host, but not on the target. - Status: Open - Priority: Med - - o Linux/Cywgin simulation (arch/sim) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -840,7 +820,7 @@ o ARM/STM32 (arch/arm/src/stm32/) Priority: Low Description A USB device-side driver is in place but not well tested. At - present, the examples/usbserial test sometimes fails. The situation + present, the apps/examples/usbserial test sometimes fails. The situation that causes the failure is: - Host-side of the test started after the target side sends the @@ -897,8 +877,8 @@ o 8051 / MCS51 (arch/8051/) sched/gmtime_r.c aroud lines 184 and 185 sched/clock_initialize.c at line 107 sched/pthread_create.c at 330 - examples/ostest/barrier.c around lines 53 and 74 - examples/ostest/sighand.c at 225 and 244 + apps/examples/ostest/barrier.c around lines 53 and 74 + apps/examples/ostest/sighand.c at 225 and 244 driver/serial.c in usleep calls around 347 and 354 Status: Open. Update: These were reviewed during the hcs12 port. The hcs12 also has 16-bit integer types (if -mshort is in the CFLAGS). @@ -1075,7 +1055,7 @@ o z16 (arch/z16) interim for system testing. Description: The system delays do not appear to be correct with the - examples/ostest/timedmqueue.c test. + apps/examples/ostest/timedmqueue.c test. Status: Open Priority: Medium-High @@ -1178,7 +1158,7 @@ o Network Utilities (apps/netutils/) Description: Not all THTTPD features/options have been verified. In particular, there is no test case of a CGI program receiving POST input. Only the configuration of - examples/thttpd has been tested. + apps/examples/thttpd has been tested. Status: Open Priority: Medium @@ -1221,4 +1201,23 @@ o NuttShell (NSH) (apps/nshlib) Status: Open Priority: Low (enhancement) +o Other Applications & Tests (apps/examples/) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + Description: The redirection test (part of examples/pipe) terminates + incorrectly on the Cywgin-based simulation platform (but works + fine on the Linux-based simulation platform). + Status: Open + Priority: Low + + Description: examples/wget is untested on the target (it has been tested + on the host, but not in the target using the uIP resolv logic). + Status: Open + Priority: Med + + Description: examples/sendmail is untested on the target (it has been tested + on the host, but not on the target. + Status: Open + Priority: Med + diff --git a/nuttx/configs/avr32dev1/nsh/appconfig b/nuttx/configs/avr32dev1/nsh/appconfig index d1701eff27..1dc56fabb4 100644 --- a/nuttx/configs/avr32dev1/nsh/appconfig +++ b/nuttx/configs/avr32dev1/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# avrdev1/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/avr32dev1/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH Library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/avr32dev1/nsh/defconfig b/nuttx/configs/avr32dev1/nsh/defconfig index 27e791eba1..4be6e47eec 100755 --- a/nuttx/configs/avr32dev1/nsh/defconfig +++ b/nuttx/configs/avr32dev1/nsh/defconfig @@ -305,7 +305,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/examples/dhcpd/Makefile.host b/nuttx/configs/avr32dev1/ostest/appconfig index 8e89a15941..b81d321fa4 100644 --- a/nuttx/examples/dhcpd/Makefile.host +++ b/nuttx/configs/avr32dev1/ostest/appconfig @@ -1,7 +1,7 @@ ############################################################################ -# examples/dhcpd/Makefile.host +# configs/avr32dev1/ostest/appconfig # -# Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved. +# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <spudmonkey@racsa.co.cr> # # Redistribution and use in source and binary forms, with or without @@ -33,30 +33,7 @@ # ############################################################################ -WD = ${shell pwd} -TOPDIR = $(WD)/../.. -include $(TOPDIR)/Make.defs - -OBJS = host.o1 dhcpd.o1 -BIN = dhcpd - -HOSTCFLAGS += -DCONFIG_NETUTILS_DHCPD_HOST=1 -HOSTCFLAGS += -DCONFIG_NETUTILS_DHCPD_INTERFACE=\"eth1\" -HOSTCFLAGS += -DHAVE_SO_REUSEADDR=1 -HOSTCFLAGS += -DHAVE_SO_BROADCAST=1 - -VPATH = $(TOPDIR)/netutils/dhcpd:. - -all: $(BIN) -.PHONY: clean context clean_context distclean - -$(OBJS): %.o1: %.c - $(HOSTCC) -c $(HOSTCFLAGS) $< -o $@ - -$(BIN): $(OBJS) - $(HOSTCC) $(HOSTLDFLAGS) $^ -o $@ - -clean: - @rm -f $(BIN).* *.o1 *~ +# Path to example in apps/examples containing the user_start entry point +CONFIGURED_APPS += examples/ostest=.built_always diff --git a/nuttx/configs/avr32dev1/ostest/defconfig b/nuttx/configs/avr32dev1/ostest/defconfig index 58eb351f78..ae27af68b2 100755 --- a/nuttx/configs/avr32dev1/ostest/defconfig +++ b/nuttx/configs/avr32dev1/ostest/defconfig @@ -305,7 +305,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/c5471evm/httpd/appconfig b/nuttx/configs/c5471evm/httpd/appconfig index a4be53aec6..fb6909413d 100644 --- a/nuttx/configs/c5471evm/httpd/appconfig +++ b/nuttx/configs/c5471evm/httpd/appconfig @@ -1,41 +1,46 @@ -############################################################################
-# c5471evm/httpd/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/dhcpc=.built_always
-CONFIGURED_APPS += netutils/resolv=.built_always
-CONFIGURED_APPS += netutils/webserver=.built_always
+############################################################################ +# configs/c5471evm/httpd/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/uip=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/dhcpc=.built_always +CONFIGURED_APPS += netutils/resolv=.built_always +CONFIGURED_APPS += netutils/webserver=.built_always diff --git a/nuttx/configs/c5471evm/httpd/defconfig b/nuttx/configs/c5471evm/httpd/defconfig index 061f784c4a..4e94cef979 100644 --- a/nuttx/configs/c5471evm/httpd/defconfig +++ b/nuttx/configs/c5471evm/httpd/defconfig @@ -200,7 +200,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/uip +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/c5471evm/nettest/appconfig b/nuttx/configs/c5471evm/nettest/appconfig index ea921b2f24..351987da60 100644 --- a/nuttx/configs/c5471evm/nettest/appconfig +++ b/nuttx/configs/c5471evm/nettest/appconfig @@ -1,38 +1,43 @@ -############################################################################
-# c5471evm/nettest/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
+############################################################################ +# configs/c5471evm/nettest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nettest=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always diff --git a/nuttx/configs/c5471evm/nettest/defconfig b/nuttx/configs/c5471evm/nettest/defconfig index c0baa3a0b3..f262d50010 100644 --- a/nuttx/configs/c5471evm/nettest/defconfig +++ b/nuttx/configs/c5471evm/nettest/defconfig @@ -200,7 +200,7 @@ CONFIG_NET_C5471_BASET10=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/nettest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/c5471evm/nsh/appconfig b/nuttx/configs/c5471evm/nsh/appconfig index ab74c03ad5..7cef43dc46 100644 --- a/nuttx/configs/c5471evm/nsh/appconfig +++ b/nuttx/configs/c5471evm/nsh/appconfig @@ -1,48 +1,54 @@ -############################################################################
-# c5471evm/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# NSH library
-
-CONFIGURED_APPS += nshlib=.built_always
-
-# Networking support
-
-ifeq ($(CONFIG_NET),y)
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/dhcpc=.built_always
-CONFIGURED_APPS += netutils/resolv=.built_always
-CONFIGURED_APPS += netutils/tftp=.built_always
-CONFIGURED_APPS += netutils/webclient=.built_always
-endif
+############################################################################ +# configs/c5471evm/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# NSH library + +CONFIGURED_APPS += nshlib=.built_always + +# Networking support + +ifeq ($(CONFIG_NET),y) +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/dhcpc=.built_always +CONFIGURED_APPS += netutils/resolv=.built_always +CONFIGURED_APPS += netutils/tftpc=.built_always +CONFIGURED_APPS += netutils/webclient=.built_always +endif + + diff --git a/nuttx/configs/c5471evm/nsh/defconfig b/nuttx/configs/c5471evm/nsh/defconfig index 6014b99fff..065f29d68b 100644 --- a/nuttx/configs/c5471evm/nsh/defconfig +++ b/nuttx/configs/c5471evm/nsh/defconfig @@ -200,7 +200,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/examples/mm/Makefile b/nuttx/configs/c5471evm/ostest/appconfig index 7ec3d48023..3e025698c7 100644 --- a/nuttx/examples/mm/Makefile +++ b/nuttx/configs/c5471evm/ostest/appconfig @@ -1,5 +1,5 @@ ############################################################################ -# examples/mm/Makefile +# configs/c5471evm/ostest/appconfig # # Copyright (C) 2011 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <spudmonkey@racsa.co.cr> @@ -33,43 +33,7 @@ # ############################################################################ --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs +# Path to example in apps/examples containing the user_start entry point -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = mm_main.c -COBJS = $(CSRCS:.c=$(OBJEXT)) +CONFIGURED_APPS += examples/ostest=.built_always -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/configs/c5471evm/ostest/defconfig b/nuttx/configs/c5471evm/ostest/defconfig index 2b8e54bbec..a0e2d355e6 100644 --- a/nuttx/configs/c5471evm/ostest/defconfig +++ b/nuttx/configs/c5471evm/ostest/defconfig @@ -200,7 +200,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/examples/hidkbd/Makefile b/nuttx/configs/demo9s12ne64/ostest/appconfig index 97917b3500..a800665c29 100644 --- a/nuttx/examples/hidkbd/Makefile +++ b/nuttx/configs/demo9s12ne64/ostest/appconfig @@ -1,5 +1,5 @@ ############################################################################ -# examples/hidkbd/Makefile +# configs/demo9s12ne64/ostest/appconfig # # Copyright (C) 2011 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <spudmonkey@racsa.co.cr> @@ -33,43 +33,7 @@ # ############################################################################ --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs +# Path to example in apps/examples containing the user_start entry point -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = hidkbd_main.c -COBJS = $(CSRCS:.c=$(OBJEXT)) +CONFIGURED_APPS += examples/ostest=.built_always -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/configs/demo9s12ne64/ostest/defconfig b/nuttx/configs/demo9s12ne64/ostest/defconfig index c986c1a54d..2f5f7cf53f 100755 --- a/nuttx/configs/demo9s12ne64/ostest/defconfig +++ b/nuttx/configs/demo9s12ne64/ostest/defconfig @@ -283,7 +283,7 @@ CONFIG_PASS1_OBJECT=init.r # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/detron/hidkbd/appconfig b/nuttx/configs/detron/hidkbd/appconfig new file mode 100644 index 0000000000..0379e253ec --- /dev/null +++ b/nuttx/configs/detron/hidkbd/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/detron/hidkbd/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/hidkbd=.built_always + diff --git a/nuttx/configs/detron/hidkbd/defconfig b/nuttx/configs/detron/hidkbd/defconfig index f432dc2ce0..d116d1fab7 100755 --- a/nuttx/configs/detron/hidkbd/defconfig +++ b/nuttx/configs/detron/hidkbd/defconfig @@ -323,7 +323,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/hidkbd +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/detron/nsh/appconfig b/nuttx/configs/detron/nsh/appconfig index a4d5dc64c1..f0e6ba334f 100644 --- a/nuttx/configs/detron/nsh/appconfig +++ b/nuttx/configs/detron/nsh/appconfig @@ -1,48 +1,54 @@ -############################################################################
-# detron/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# NSH library
-
-CONFIGURED_APPS += nshlib=.built_always
-
-# Networking support
-
-ifeq ($(CONFIG_NET),y)
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/dhcpc=.built_always
-CONFIGURED_APPS += netutils/resolv=.built_always
-CONFIGURED_APPS += netutils/tftp=.built_always
-CONFIGURED_APPS += netutils/webclient=.built_always
-endif
+############################################################################ +# configs/detron/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# NSH library + +CONFIGURED_APPS += nshlib=.built_always + +# Networking support + +ifeq ($(CONFIG_NET),y) +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/dhcpc=.built_always +CONFIGURED_APPS += netutils/resolv=.built_always +CONFIGURED_APPS += netutils/tftpc=.built_always +CONFIGURED_APPS += netutils/webclient=.built_always +endif + + diff --git a/nuttx/configs/detron/nsh/defconfig b/nuttx/configs/detron/nsh/defconfig index af2e99c27c..4ae3f4bd60 100755 --- a/nuttx/configs/detron/nsh/defconfig +++ b/nuttx/configs/detron/nsh/defconfig @@ -327,7 +327,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/detron/ostest/appconfig b/nuttx/configs/detron/ostest/appconfig new file mode 100644 index 0000000000..a9566f416e --- /dev/null +++ b/nuttx/configs/detron/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/detron/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/detron/ostest/defconfig b/nuttx/configs/detron/ostest/defconfig index 9f45c1c05b..b418e996f9 100755 --- a/nuttx/configs/detron/ostest/defconfig +++ b/nuttx/configs/detron/ostest/defconfig @@ -319,7 +319,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/detron/wlan/appconfig b/nuttx/configs/detron/wlan/appconfig new file mode 100644 index 0000000000..b171bebcb5 --- /dev/null +++ b/nuttx/configs/detron/wlan/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/detron/wlan/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/wlan=.built_always + diff --git a/nuttx/configs/detron/wlan/defconfig b/nuttx/configs/detron/wlan/defconfig index aa298ae0e7..ddfcd44434 100755 --- a/nuttx/configs/detron/wlan/defconfig +++ b/nuttx/configs/detron/wlan/defconfig @@ -326,7 +326,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/wlan +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ea3131/nsh/appconfig b/nuttx/configs/ea3131/nsh/appconfig index 85f04b727b..5dd67d585b 100644 --- a/nuttx/configs/ea3131/nsh/appconfig +++ b/nuttx/configs/ea3131/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# ea3131/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/ea3131/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/ea3131/nsh/defconfig b/nuttx/configs/ea3131/nsh/defconfig index a6f47266ee..e79f4cee13 100755 --- a/nuttx/configs/ea3131/nsh/defconfig +++ b/nuttx/configs/ea3131/nsh/defconfig @@ -290,7 +290,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ea3131/ostest/appconfig b/nuttx/configs/ea3131/ostest/appconfig new file mode 100644 index 0000000000..12382df554 --- /dev/null +++ b/nuttx/configs/ea3131/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/ea3131/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/ea3131/ostest/defconfig b/nuttx/configs/ea3131/ostest/defconfig index 2f81e3961e..7c47da43f4 100755 --- a/nuttx/configs/ea3131/ostest/defconfig +++ b/nuttx/configs/ea3131/ostest/defconfig @@ -290,7 +290,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/examples/poll/Makefile.host b/nuttx/configs/ea3131/pgnsh/appconfig index 151400efcd..33acab58e2 100644 --- a/nuttx/examples/poll/Makefile.host +++ b/nuttx/configs/ea3131/pgnsh/appconfig @@ -1,7 +1,7 @@ ############################################################################ -# examples/poll/Makefile.host +# configs/ea3131/pgnsh/appconfig # -# Copyright (C) 2008, 2009 Gregory Nutt. All rights reserved. +# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <spudmonkey@racsa.co.cr> # # Redistribution and use in source and binary forms, with or without @@ -33,19 +33,12 @@ # ############################################################################ -include $(TOPDIR)/.config -include $(TOPDIR)/Make.defs +# Path to example in apps/examples containing the user_start entry point -SRC = host.c -BIN = host +CONFIGURED_APPS += examples/nsh=.built_always -DEFINES = -DTARGETIP=\"$(TARGETIP)\" +# The NSH library -all: $(BIN) +CONFIGURED_APPS += nshlib=.built_always -$(BIN): $(SRC) - $(HOSTCC) $(HOSTCFLAGS) $(DEFINES) $^ -o $@ -clean: - @rm -f $(BIN) *~ .*.swp *.o - $(call CLEAN) diff --git a/nuttx/configs/ea3131/pgnsh/defconfig b/nuttx/configs/ea3131/pgnsh/defconfig index 5d4a54ab1e..33b3782241 100755 --- a/nuttx/configs/ea3131/pgnsh/defconfig +++ b/nuttx/configs/ea3131/pgnsh/defconfig @@ -297,7 +297,7 @@ CONFIG_PASS1_OBJECT=locked.r # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ea3131/usbserial/appconfig b/nuttx/configs/ea3131/usbserial/appconfig new file mode 100644 index 0000000000..c0721520ca --- /dev/null +++ b/nuttx/configs/ea3131/usbserial/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/ea3131/usbserial/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/usbserial=.built_always + diff --git a/nuttx/configs/ea3131/usbserial/defconfig b/nuttx/configs/ea3131/usbserial/defconfig index d4df3b0c52..060e096e12 100755 --- a/nuttx/configs/ea3131/usbserial/defconfig +++ b/nuttx/configs/ea3131/usbserial/defconfig @@ -290,7 +290,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/usbserial +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_FS=n diff --git a/nuttx/configs/ea3131/usbstorage/appconfig b/nuttx/configs/ea3131/usbstorage/appconfig new file mode 100644 index 0000000000..097d44ced7 --- /dev/null +++ b/nuttx/configs/ea3131/usbstorage/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/ea3131/usbstorage/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/usbstorage=.built_always + diff --git a/nuttx/configs/ea3131/usbstorage/defconfig b/nuttx/configs/ea3131/usbstorage/defconfig index 273510689f..34e7609f9e 100755 --- a/nuttx/configs/ea3131/usbstorage/defconfig +++ b/nuttx/configs/ea3131/usbstorage/defconfig @@ -290,7 +290,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/usbstorage +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_FS=n diff --git a/nuttx/configs/eagle100/httpd/appconfig b/nuttx/configs/eagle100/httpd/appconfig index 8797493646..be6817d959 100644 --- a/nuttx/configs/eagle100/httpd/appconfig +++ b/nuttx/configs/eagle100/httpd/appconfig @@ -1,41 +1,46 @@ -############################################################################
-# eagle100/httpd/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/dhcpc=.built_always
-CONFIGURED_APPS += netutils/resolv=.built_always
-CONFIGURED_APPS += netutils/webserver=.built_always
+############################################################################ +# configs/eagle100/httpd/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/uip=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/dhcpc=.built_always +CONFIGURED_APPS += netutils/resolv=.built_always +CONFIGURED_APPS += netutils/webserver=.built_always diff --git a/nuttx/configs/eagle100/httpd/defconfig b/nuttx/configs/eagle100/httpd/defconfig index 110b9c0c86..129285cab5 100644 --- a/nuttx/configs/eagle100/httpd/defconfig +++ b/nuttx/configs/eagle100/httpd/defconfig @@ -268,7 +268,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/uip +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/eagle100/nettest/appconfig b/nuttx/configs/eagle100/nettest/appconfig index 0ee4fa816b..14df918167 100644 --- a/nuttx/configs/eagle100/nettest/appconfig +++ b/nuttx/configs/eagle100/nettest/appconfig @@ -1,38 +1,43 @@ -############################################################################
-# eagle100/nettest/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
+############################################################################ +# configs/eagle100/nettest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nettest=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always diff --git a/nuttx/configs/eagle100/nettest/defconfig b/nuttx/configs/eagle100/nettest/defconfig index 07d61b821d..05705add5b 100644 --- a/nuttx/configs/eagle100/nettest/defconfig +++ b/nuttx/configs/eagle100/nettest/defconfig @@ -268,7 +268,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/nettest +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/eagle100/nsh/appconfig b/nuttx/configs/eagle100/nsh/appconfig index 91ae18de21..8879488daf 100644 --- a/nuttx/configs/eagle100/nsh/appconfig +++ b/nuttx/configs/eagle100/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# eagle100/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/eagle100/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH Library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/eagle100/nsh/defconfig b/nuttx/configs/eagle100/nsh/defconfig index 8f2bdfe65b..14b28a5dcc 100644 --- a/nuttx/configs/eagle100/nsh/defconfig +++ b/nuttx/configs/eagle100/nsh/defconfig @@ -268,7 +268,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/eagle100/nxflat/appconfig b/nuttx/configs/eagle100/nxflat/appconfig new file mode 100644 index 0000000000..fb40ad5224 --- /dev/null +++ b/nuttx/configs/eagle100/nxflat/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/eagle100/nxflat/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nxflat=.built_always + diff --git a/nuttx/configs/eagle100/nxflat/defconfig b/nuttx/configs/eagle100/nxflat/defconfig index 55edb913b8..7cf4e28355 100644 --- a/nuttx/configs/eagle100/nxflat/defconfig +++ b/nuttx/configs/eagle100/nxflat/defconfig @@ -265,7 +265,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/nxflat +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/eagle100/ostest/appconfig b/nuttx/configs/eagle100/ostest/appconfig new file mode 100644 index 0000000000..cfb2f1dabd --- /dev/null +++ b/nuttx/configs/eagle100/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/eagle100/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/eagle100/ostest/defconfig b/nuttx/configs/eagle100/ostest/defconfig index e2fb3e6fab..6d9a2a3b5c 100644 --- a/nuttx/configs/eagle100/ostest/defconfig +++ b/nuttx/configs/eagle100/ostest/defconfig @@ -274,7 +274,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/eagle100/thttpd/appconfig b/nuttx/configs/eagle100/thttpd/appconfig index 66db0879d7..9be24790fb 100644 --- a/nuttx/configs/eagle100/thttpd/appconfig +++ b/nuttx/configs/eagle100/thttpd/appconfig @@ -1,39 +1,44 @@ -############################################################################
-# eagle100/thttpd/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/thttpd=.built_always
+############################################################################ +# configs/eagle100/thttpd/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/thttpd=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/thttpd=.built_always diff --git a/nuttx/configs/eagle100/thttpd/defconfig b/nuttx/configs/eagle100/thttpd/defconfig index 09abbd97c6..c5ac388270 100644 --- a/nuttx/configs/eagle100/thttpd/defconfig +++ b/nuttx/configs/eagle100/thttpd/defconfig @@ -271,7 +271,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/thttpd +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ez80f910200kitg/ostest/appconfig b/nuttx/configs/ez80f910200kitg/ostest/appconfig new file mode 100644 index 0000000000..127a5b4ca5 --- /dev/null +++ b/nuttx/configs/ez80f910200kitg/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/ez80f910200kitg/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/ez80f910200kitg/ostest/defconfig b/nuttx/configs/ez80f910200kitg/ostest/defconfig index a7ac41c99e..031dae4cd1 100644 --- a/nuttx/configs/ez80f910200kitg/ostest/defconfig +++ b/nuttx/configs/ez80f910200kitg/ostest/defconfig @@ -234,7 +234,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ez80f910200zco/dhcpd/appconfig b/nuttx/configs/ez80f910200zco/dhcpd/appconfig index de16dcb828..9c35c100d6 100644 --- a/nuttx/configs/ez80f910200zco/dhcpd/appconfig +++ b/nuttx/configs/ez80f910200zco/dhcpd/appconfig @@ -1,39 +1,44 @@ -############################################################################
-# ez80f910200zco/dhcpd/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/dhcpd=.built_always
+############################################################################ +# configs/ez80f910200zco/dhcpd/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/dhcpd=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/dhcpd=.built_always diff --git a/nuttx/configs/ez80f910200zco/dhcpd/defconfig b/nuttx/configs/ez80f910200zco/dhcpd/defconfig index 0b9b60c4c2..475d12e253 100644 --- a/nuttx/configs/ez80f910200zco/dhcpd/defconfig +++ b/nuttx/configs/ez80f910200zco/dhcpd/defconfig @@ -239,7 +239,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/dhcpd +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ez80f910200zco/httpd/appconfig b/nuttx/configs/ez80f910200zco/httpd/appconfig index 202a3c93ef..15f42ea01e 100644 --- a/nuttx/configs/ez80f910200zco/httpd/appconfig +++ b/nuttx/configs/ez80f910200zco/httpd/appconfig @@ -1,42 +1,47 @@ -############################################################################
-# ez80f910200zco/httpd/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/dhcpc=.built_always
-CONFIGURED_APPS += netutils/resolv=.built_always
-CONFIGURED_APPS += netutils/webserver=.built_always
-
+############################################################################ +# configs/ez80f910200zco/httpd/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/uip=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/dhcpc=.built_always +CONFIGURED_APPS += netutils/resolv=.built_always +CONFIGURED_APPS += netutils/webserver=.built_always + diff --git a/nuttx/configs/ez80f910200zco/httpd/defconfig b/nuttx/configs/ez80f910200zco/httpd/defconfig index d12b966f1d..ff68c80c3d 100644 --- a/nuttx/configs/ez80f910200zco/httpd/defconfig +++ b/nuttx/configs/ez80f910200zco/httpd/defconfig @@ -239,7 +239,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/uip +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ez80f910200zco/nettest/appconfig b/nuttx/configs/ez80f910200zco/nettest/appconfig index 63c1a122fe..32cb840ecd 100644 --- a/nuttx/configs/ez80f910200zco/nettest/appconfig +++ b/nuttx/configs/ez80f910200zco/nettest/appconfig @@ -1,38 +1,43 @@ -############################################################################
-# ez80f910200zco/nettest/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
+############################################################################ +# configs/ez80f910200zco/nettest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nettest=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always diff --git a/nuttx/configs/ez80f910200zco/nettest/defconfig b/nuttx/configs/ez80f910200zco/nettest/defconfig index 22774b4ecd..22713e2809 100644 --- a/nuttx/configs/ez80f910200zco/nettest/defconfig +++ b/nuttx/configs/ez80f910200zco/nettest/defconfig @@ -239,7 +239,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/nettest +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ez80f910200zco/nsh/appconfig b/nuttx/configs/ez80f910200zco/nsh/appconfig index 267f96a579..edc9e3d9c3 100644 --- a/nuttx/configs/ez80f910200zco/nsh/appconfig +++ b/nuttx/configs/ez80f910200zco/nsh/appconfig @@ -1,48 +1,54 @@ -############################################################################
-# ez80f910200zco/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# NSH library
-
-CONFIGURED_APPS += nshlib=.built_always
-
-# Networking support
-
-ifeq ($(CONFIG_NET),y)
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/dhcpc=.built_always
-CONFIGURED_APPS += netutils/resolv=.built_always
-CONFIGURED_APPS += netutils/tftp=.built_always
-CONFIGURED_APPS += netutils/webclient=.built_always
-endif
+############################################################################ +# configs/ez80f910200zco/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# NSH library + +CONFIGURED_APPS += nshlib=.built_always + +# Networking support + +ifeq ($(CONFIG_NET),y) +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/dhcpc=.built_always +CONFIGURED_APPS += netutils/resolv=.built_always +CONFIGURED_APPS += netutils/tftpc=.built_always +CONFIGURED_APPS += netutils/webclient=.built_always +endif + + diff --git a/nuttx/configs/ez80f910200zco/nsh/defconfig b/nuttx/configs/ez80f910200zco/nsh/defconfig index 238f9d9851..fda8b9fb03 100644 --- a/nuttx/configs/ez80f910200zco/nsh/defconfig +++ b/nuttx/configs/ez80f910200zco/nsh/defconfig @@ -239,7 +239,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ez80f910200zco/ostest/appconfig b/nuttx/configs/ez80f910200zco/ostest/appconfig new file mode 100644 index 0000000000..e461a8cc26 --- /dev/null +++ b/nuttx/configs/ez80f910200zco/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/ez80f910200zco/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/ez80f910200zco/ostest/defconfig b/nuttx/configs/ez80f910200zco/ostest/defconfig index 1be716ff8c..fd2c7df58c 100644 --- a/nuttx/configs/ez80f910200zco/ostest/defconfig +++ b/nuttx/configs/ez80f910200zco/ostest/defconfig @@ -237,7 +237,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ez80f910200zco/poll/appconfig b/nuttx/configs/ez80f910200zco/poll/appconfig index 6968345b28..e01f62cc7b 100644 --- a/nuttx/configs/ez80f910200zco/poll/appconfig +++ b/nuttx/configs/ez80f910200zco/poll/appconfig @@ -1,38 +1,43 @@ -############################################################################
-# ez80f910200zco/poll/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
+############################################################################ +# configs/ez80f910200zco/poll/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/poll=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always diff --git a/nuttx/configs/ez80f910200zco/poll/defconfig b/nuttx/configs/ez80f910200zco/poll/defconfig index 755a5c93a4..8546f56638 100644 --- a/nuttx/configs/ez80f910200zco/poll/defconfig +++ b/nuttx/configs/ez80f910200zco/poll/defconfig @@ -239,7 +239,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/poll +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/lm3s6965-ek/nsh/appconfig b/nuttx/configs/lm3s6965-ek/nsh/appconfig index be88688cfd..9e6be6aecd 100644 --- a/nuttx/configs/lm3s6965-ek/nsh/appconfig +++ b/nuttx/configs/lm3s6965-ek/nsh/appconfig @@ -1,48 +1,54 @@ -############################################################################
-# lm3s6965-ek/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# NSH library
-
-CONFIGURED_APPS += nshlib=.built_always
-
-# Networking support
-
-ifeq ($(CONFIG_NET),y)
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/dhcpc=.built_always
-CONFIGURED_APPS += netutils/resolv=.built_always
-CONFIGURED_APPS += netutils/tftp=.built_always
-CONFIGURED_APPS += netutils/webclient=.built_always
-endif
+############################################################################ +# configs/lm3s6965-ek/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# NSH library + +CONFIGURED_APPS += nshlib=.built_always + +# Networking support + +ifeq ($(CONFIG_NET),y) +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/dhcpc=.built_always +CONFIGURED_APPS += netutils/resolv=.built_always +CONFIGURED_APPS += netutils/tftpc=.built_always +CONFIGURED_APPS += netutils/webclient=.built_always +endif + + diff --git a/nuttx/configs/lm3s6965-ek/nsh/defconfig b/nuttx/configs/lm3s6965-ek/nsh/defconfig index 03b6c35343..71d9367eab 100755 --- a/nuttx/configs/lm3s6965-ek/nsh/defconfig +++ b/nuttx/configs/lm3s6965-ek/nsh/defconfig @@ -288,7 +288,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/lm3s6965-ek/nx/appconfig b/nuttx/configs/lm3s6965-ek/nx/appconfig new file mode 100644 index 0000000000..590dc5e64c --- /dev/null +++ b/nuttx/configs/lm3s6965-ek/nx/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/lm3s6965-ek/nx/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nx=.built_always + diff --git a/nuttx/configs/lm3s6965-ek/nx/defconfig b/nuttx/configs/lm3s6965-ek/nx/defconfig index f4f7a23532..a0afe732c3 100755 --- a/nuttx/configs/lm3s6965-ek/nx/defconfig +++ b/nuttx/configs/lm3s6965-ek/nx/defconfig @@ -293,7 +293,7 @@ CONFIG_SPI_CMDDATA=y # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/nx +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/lm3s6965-ek/ostest/appconfig b/nuttx/configs/lm3s6965-ek/ostest/appconfig new file mode 100644 index 0000000000..4ad0dfdde7 --- /dev/null +++ b/nuttx/configs/lm3s6965-ek/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/lm3s6965-ek/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/lm3s6965-ek/ostest/defconfig b/nuttx/configs/lm3s6965-ek/ostest/defconfig index 13876f7a35..a51d3aa4ac 100755 --- a/nuttx/configs/lm3s6965-ek/ostest/defconfig +++ b/nuttx/configs/lm3s6965-ek/ostest/defconfig @@ -288,7 +288,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/lm3s8962-ek/nsh/appconfig b/nuttx/configs/lm3s8962-ek/nsh/appconfig index 4ab3e1ce26..3dd2ecbcc1 100644 --- a/nuttx/configs/lm3s8962-ek/nsh/appconfig +++ b/nuttx/configs/lm3s8962-ek/nsh/appconfig @@ -1,48 +1,54 @@ -############################################################################
-# lm3s8962-ek/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# NSH library
-
-CONFIGURED_APPS += nshlib=.built_always
-
-# Networking support
-
-ifeq ($(CONFIG_NET),y)
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/dhcpc=.built_always
-CONFIGURED_APPS += netutils/resolv=.built_always
-CONFIGURED_APPS += netutils/tftp=.built_always
-CONFIGURED_APPS += netutils/webclient=.built_always
-endif
+############################################################################ +# configs/lm3s8962-ek/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# NSH library + +CONFIGURED_APPS += nshlib=.built_always + +# Networking support + +ifeq ($(CONFIG_NET),y) +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/dhcpc=.built_always +CONFIGURED_APPS += netutils/resolv=.built_always +CONFIGURED_APPS += netutils/tftpc=.built_always +CONFIGURED_APPS += netutils/webclient=.built_always +endif + + diff --git a/nuttx/configs/lm3s8962-ek/nsh/defconfig b/nuttx/configs/lm3s8962-ek/nsh/defconfig index c3718a69aa..eade135b6e 100755 --- a/nuttx/configs/lm3s8962-ek/nsh/defconfig +++ b/nuttx/configs/lm3s8962-ek/nsh/defconfig @@ -288,7 +288,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/lm3s8962-ek/nx/appconfig b/nuttx/configs/lm3s8962-ek/nx/appconfig new file mode 100644 index 0000000000..8d1a5fe764 --- /dev/null +++ b/nuttx/configs/lm3s8962-ek/nx/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/lm3s8962-ek/nx/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nx=.built_always + diff --git a/nuttx/configs/lm3s8962-ek/nx/defconfig b/nuttx/configs/lm3s8962-ek/nx/defconfig index c34d4440d2..326a28b490 100755 --- a/nuttx/configs/lm3s8962-ek/nx/defconfig +++ b/nuttx/configs/lm3s8962-ek/nx/defconfig @@ -293,7 +293,7 @@ CONFIG_SPI_CMDDATA=y # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/nx +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/lm3s8962-ek/ostest/appconfig b/nuttx/configs/lm3s8962-ek/ostest/appconfig new file mode 100644 index 0000000000..4c38cd11c4 --- /dev/null +++ b/nuttx/configs/lm3s8962-ek/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/lm3s8962-ek/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/lm3s8962-ek/ostest/defconfig b/nuttx/configs/lm3s8962-ek/ostest/defconfig index f434ea8357..659b6a4426 100755 --- a/nuttx/configs/lm3s8962-ek/ostest/defconfig +++ b/nuttx/configs/lm3s8962-ek/ostest/defconfig @@ -288,7 +288,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/m68332evb/appconfig b/nuttx/configs/m68332evb/appconfig new file mode 100644 index 0000000000..7acbc745ae --- /dev/null +++ b/nuttx/configs/m68332evb/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/m68332evb/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/m68332evb/defconfig b/nuttx/configs/m68332evb/defconfig index 83e09d8818..06c188c856 100644 --- a/nuttx/configs/m68332evb/defconfig +++ b/nuttx/configs/m68332evb/defconfig @@ -167,7 +167,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/mbed/hidkbd/appconfig b/nuttx/configs/mbed/hidkbd/appconfig new file mode 100644 index 0000000000..10058b0792 --- /dev/null +++ b/nuttx/configs/mbed/hidkbd/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/mbed/hidkbd/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/hidkbd=.built_always + diff --git a/nuttx/configs/mbed/hidkbd/defconfig b/nuttx/configs/mbed/hidkbd/defconfig index f66a96fa34..46ae66bdbe 100644 --- a/nuttx/configs/mbed/hidkbd/defconfig +++ b/nuttx/configs/mbed/hidkbd/defconfig @@ -326,7 +326,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/hidkbd +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/mbed/nsh/appconfig b/nuttx/configs/mbed/nsh/appconfig index f06086b59e..14ab50989a 100644 --- a/nuttx/configs/mbed/nsh/appconfig +++ b/nuttx/configs/mbed/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# mbed/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/mbed/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH Library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/mbed/nsh/defconfig b/nuttx/configs/mbed/nsh/defconfig index 1de314b2e6..3f10cb1b16 100755 --- a/nuttx/configs/mbed/nsh/defconfig +++ b/nuttx/configs/mbed/nsh/defconfig @@ -319,7 +319,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/mcu123-lpc214x/nsh/appconfig b/nuttx/configs/mcu123-lpc214x/nsh/appconfig index a0d5aadb25..563f5185d9 100644 --- a/nuttx/configs/mcu123-lpc214x/nsh/appconfig +++ b/nuttx/configs/mcu123-lpc214x/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# mcu123-lpc214x/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/mcu123-lpc214x/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/mcu123-lpc214x/nsh/defconfig b/nuttx/configs/mcu123-lpc214x/nsh/defconfig index bb064a9c08..605eea0da7 100644 --- a/nuttx/configs/mcu123-lpc214x/nsh/defconfig +++ b/nuttx/configs/mcu123-lpc214x/nsh/defconfig @@ -204,7 +204,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/mcu123-lpc214x/ostest/appconfig b/nuttx/configs/mcu123-lpc214x/ostest/appconfig new file mode 100644 index 0000000000..cc3e248cec --- /dev/null +++ b/nuttx/configs/mcu123-lpc214x/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/mcu123-lpc214x/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/mcu123-lpc214x/ostest/defconfig b/nuttx/configs/mcu123-lpc214x/ostest/defconfig index 6da3ffeec8..1656586435 100644 --- a/nuttx/configs/mcu123-lpc214x/ostest/defconfig +++ b/nuttx/configs/mcu123-lpc214x/ostest/defconfig @@ -204,7 +204,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/mcu123-lpc214x/usbserial/appconfig b/nuttx/configs/mcu123-lpc214x/usbserial/appconfig new file mode 100644 index 0000000000..14fba8c4d0 --- /dev/null +++ b/nuttx/configs/mcu123-lpc214x/usbserial/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/mcu123-lpc214x/usbserial/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/usbserial=.built_always + diff --git a/nuttx/configs/mcu123-lpc214x/usbserial/defconfig b/nuttx/configs/mcu123-lpc214x/usbserial/defconfig index 87bc15b243..093ead44ed 100644 --- a/nuttx/configs/mcu123-lpc214x/usbserial/defconfig +++ b/nuttx/configs/mcu123-lpc214x/usbserial/defconfig @@ -204,7 +204,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/usbserial +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/mcu123-lpc214x/usbstorage/appconfig b/nuttx/configs/mcu123-lpc214x/usbstorage/appconfig new file mode 100644 index 0000000000..019d8512da --- /dev/null +++ b/nuttx/configs/mcu123-lpc214x/usbstorage/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/mcu123-lpc214x/usbstorage/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/usbstorage=.built_always + diff --git a/nuttx/configs/mcu123-lpc214x/usbstorage/defconfig b/nuttx/configs/mcu123-lpc214x/usbstorage/defconfig index 24dd6c429a..aee5c503cd 100644 --- a/nuttx/configs/mcu123-lpc214x/usbstorage/defconfig +++ b/nuttx/configs/mcu123-lpc214x/usbstorage/defconfig @@ -204,7 +204,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/usbstorage +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/mx1ads/ostest/appconfig b/nuttx/configs/mx1ads/ostest/appconfig new file mode 100644 index 0000000000..d2f334e9d2 --- /dev/null +++ b/nuttx/configs/mx1ads/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/mx1ads/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/mx1ads/ostest/defconfig b/nuttx/configs/mx1ads/ostest/defconfig index 0c63113cc1..47688a22e5 100644 --- a/nuttx/configs/mx1ads/ostest/defconfig +++ b/nuttx/configs/mx1ads/ostest/defconfig @@ -220,7 +220,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ne64badge/ostest/appconfig b/nuttx/configs/ne64badge/ostest/appconfig new file mode 100644 index 0000000000..e4779070be --- /dev/null +++ b/nuttx/configs/ne64badge/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/ne64badge/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/ne64badge/ostest/defconfig b/nuttx/configs/ne64badge/ostest/defconfig index 87a3ae170f..57670752cf 100755 --- a/nuttx/configs/ne64badge/ostest/defconfig +++ b/nuttx/configs/ne64badge/ostest/defconfig @@ -294,7 +294,7 @@ CONFIG_PASS1_OBJECT=init.r # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ntosd-dm320/nettest/appconfig b/nuttx/configs/ntosd-dm320/nettest/appconfig index 8c20cb4a23..d3d81d10d9 100644 --- a/nuttx/configs/ntosd-dm320/nettest/appconfig +++ b/nuttx/configs/ntosd-dm320/nettest/appconfig @@ -1,38 +1,43 @@ -############################################################################
-# ntosd-dm320/nettest/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
+############################################################################ +# configs/ntosd-dm320/nettest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nettest=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always diff --git a/nuttx/configs/ntosd-dm320/nettest/defconfig b/nuttx/configs/ntosd-dm320/nettest/defconfig index d890345b02..c72ba50d1c 100644 --- a/nuttx/configs/ntosd-dm320/nettest/defconfig +++ b/nuttx/configs/ntosd-dm320/nettest/defconfig @@ -208,7 +208,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/nettest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ntosd-dm320/nsh/appconfig b/nuttx/configs/ntosd-dm320/nsh/appconfig index 3a908a4d16..9265c380e9 100644 --- a/nuttx/configs/ntosd-dm320/nsh/appconfig +++ b/nuttx/configs/ntosd-dm320/nsh/appconfig @@ -1,48 +1,54 @@ -############################################################################
-# ntosd-dm320/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# NSH library
-
-CONFIGURED_APPS += nshlib=.built_always
-
-# Networking support
-
-ifeq ($(CONFIG_NET),y)
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/dhcpc=.built_always
-CONFIGURED_APPS += netutils/resolv=.built_always
-CONFIGURED_APPS += netutils/tftp=.built_always
-CONFIGURED_APPS += netutils/webclient=.built_always
-endif
+############################################################################ +# configs/ntosd-dm320/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# NSH library + +CONFIGURED_APPS += nshlib=.built_always + +# Networking support + +ifeq ($(CONFIG_NET),y) +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/dhcpc=.built_always +CONFIGURED_APPS += netutils/resolv=.built_always +CONFIGURED_APPS += netutils/tftpc=.built_always +CONFIGURED_APPS += netutils/webclient=.built_always +endif + + diff --git a/nuttx/configs/ntosd-dm320/nsh/defconfig b/nuttx/configs/ntosd-dm320/nsh/defconfig index e662ff6aac..bf2a4d8c31 100644 --- a/nuttx/configs/ntosd-dm320/nsh/defconfig +++ b/nuttx/configs/ntosd-dm320/nsh/defconfig @@ -207,7 +207,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ntosd-dm320/ostest/appconfig b/nuttx/configs/ntosd-dm320/ostest/appconfig new file mode 100644 index 0000000000..e5685746ac --- /dev/null +++ b/nuttx/configs/ntosd-dm320/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/ntosd-dm320/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/ntosd-dm320/ostest/defconfig b/nuttx/configs/ntosd-dm320/ostest/defconfig index 48508b03b0..183000974d 100644 --- a/nuttx/configs/ntosd-dm320/ostest/defconfig +++ b/nuttx/configs/ntosd-dm320/ostest/defconfig @@ -208,7 +208,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ntosd-dm320/poll/appconfig b/nuttx/configs/ntosd-dm320/poll/appconfig index be5cbeb4e0..a3f36a6fbb 100644 --- a/nuttx/configs/ntosd-dm320/poll/appconfig +++ b/nuttx/configs/ntosd-dm320/poll/appconfig @@ -1,38 +1,43 @@ -############################################################################
-# ntosd-dm320/poll/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
+############################################################################ +# configs/ntosd-dm320/poll/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/poll=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always diff --git a/nuttx/configs/ntosd-dm320/poll/defconfig b/nuttx/configs/ntosd-dm320/poll/defconfig index eb3336715d..1e8faf4262 100644 --- a/nuttx/configs/ntosd-dm320/poll/defconfig +++ b/nuttx/configs/ntosd-dm320/poll/defconfig @@ -208,7 +208,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/poll +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ntosd-dm320/thttpd/appconfig b/nuttx/configs/ntosd-dm320/thttpd/appconfig index b81a71c7aa..1b6a1f695d 100644 --- a/nuttx/configs/ntosd-dm320/thttpd/appconfig +++ b/nuttx/configs/ntosd-dm320/thttpd/appconfig @@ -1,39 +1,44 @@ -############################################################################
-# ntosd-dm320/thttpd/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/thttpd=.built_always
+############################################################################ +# configs/ntosd-dm320/thttpd/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/thttpd=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/thttpd=.built_always diff --git a/nuttx/configs/ntosd-dm320/thttpd/defconfig b/nuttx/configs/ntosd-dm320/thttpd/defconfig index 06b9a177d8..a4003ef28b 100644 --- a/nuttx/configs/ntosd-dm320/thttpd/defconfig +++ b/nuttx/configs/ntosd-dm320/thttpd/defconfig @@ -215,7 +215,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/thttpd +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ntosd-dm320/udp/appconfig b/nuttx/configs/ntosd-dm320/udp/appconfig index d3c324f7c2..4b34f37fdb 100644 --- a/nuttx/configs/ntosd-dm320/udp/appconfig +++ b/nuttx/configs/ntosd-dm320/udp/appconfig @@ -1,38 +1,43 @@ -############################################################################
-# ntosd-dm320/udp/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
+############################################################################ +# configs/ntosd-dm320/udp/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/udp=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always diff --git a/nuttx/configs/ntosd-dm320/udp/defconfig b/nuttx/configs/ntosd-dm320/udp/defconfig index 91b5829159..3bb8fac40a 100644 --- a/nuttx/configs/ntosd-dm320/udp/defconfig +++ b/nuttx/configs/ntosd-dm320/udp/defconfig @@ -208,7 +208,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/udp +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/ntosd-dm320/uip/appconfig b/nuttx/configs/ntosd-dm320/uip/appconfig index b8629c693d..4077afd14f 100644 --- a/nuttx/configs/ntosd-dm320/uip/appconfig +++ b/nuttx/configs/ntosd-dm320/uip/appconfig @@ -1,41 +1,46 @@ -############################################################################
-# ntosd-dm320/uip/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/dhcpc=.built_always
-CONFIGURED_APPS += netutils/resolv=.built_always
-CONFIGURED_APPS += netutils/webserver=.built_always
+############################################################################ +# configs/ntosd-dm320/uip/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/uip=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/dhcpc=.built_always +CONFIGURED_APPS += netutils/resolv=.built_always +CONFIGURED_APPS += netutils/webserver=.built_always diff --git a/nuttx/configs/ntosd-dm320/uip/defconfig b/nuttx/configs/ntosd-dm320/uip/defconfig index 8ebe894156..61f8641a41 100644 --- a/nuttx/configs/ntosd-dm320/uip/defconfig +++ b/nuttx/configs/ntosd-dm320/uip/defconfig @@ -208,7 +208,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/uip +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/nucleus2g/nsh/appconfig b/nuttx/configs/nucleus2g/nsh/appconfig index 2a369b8abb..d79c94ebbd 100644 --- a/nuttx/configs/nucleus2g/nsh/appconfig +++ b/nuttx/configs/nucleus2g/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# nucleus2g/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/nucleus2g/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/nucleus2g/nsh/defconfig b/nuttx/configs/nucleus2g/nsh/defconfig index 55e1059755..abfd3def39 100755 --- a/nuttx/configs/nucleus2g/nsh/defconfig +++ b/nuttx/configs/nucleus2g/nsh/defconfig @@ -322,7 +322,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/nucleus2g/ostest/appconfig b/nuttx/configs/nucleus2g/ostest/appconfig new file mode 100644 index 0000000000..00f6e309b3 --- /dev/null +++ b/nuttx/configs/nucleus2g/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/nucleus2g/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/nucleus2g/ostest/defconfig b/nuttx/configs/nucleus2g/ostest/defconfig index 537a026071..2539e617ee 100755 --- a/nuttx/configs/nucleus2g/ostest/defconfig +++ b/nuttx/configs/nucleus2g/ostest/defconfig @@ -319,7 +319,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/nucleus2g/usbserial/appconfig b/nuttx/configs/nucleus2g/usbserial/appconfig new file mode 100644 index 0000000000..6e1c908a5c --- /dev/null +++ b/nuttx/configs/nucleus2g/usbserial/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/nucleus2g/usbserial/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/usbserial=.built_always + diff --git a/nuttx/configs/nucleus2g/usbserial/defconfig b/nuttx/configs/nucleus2g/usbserial/defconfig index 2063261a4a..502ee3a852 100755 --- a/nuttx/configs/nucleus2g/usbserial/defconfig +++ b/nuttx/configs/nucleus2g/usbserial/defconfig @@ -319,7 +319,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/usbserial +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/nucleus2g/usbstorage/appconfig b/nuttx/configs/nucleus2g/usbstorage/appconfig new file mode 100644 index 0000000000..32a5b2d31f --- /dev/null +++ b/nuttx/configs/nucleus2g/usbstorage/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/nucleus2g/usbstorage/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/usbstorage=.built_always + diff --git a/nuttx/configs/nucleus2g/usbstorage/defconfig b/nuttx/configs/nucleus2g/usbstorage/defconfig index f021672510..871634660a 100755 --- a/nuttx/configs/nucleus2g/usbstorage/defconfig +++ b/nuttx/configs/nucleus2g/usbstorage/defconfig @@ -319,7 +319,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/usbstorage +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/olimex-lpc1766stk/hidkbd/appconfig b/nuttx/configs/olimex-lpc1766stk/hidkbd/appconfig new file mode 100644 index 0000000000..861d756543 --- /dev/null +++ b/nuttx/configs/olimex-lpc1766stk/hidkbd/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/olimex-lpc1766stk/hidkbd/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/hidkbd=.built_always + diff --git a/nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig b/nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig index e3267eafea..78f50af032 100755 --- a/nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig +++ b/nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig @@ -326,7 +326,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/hidkbd +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/olimex-lpc1766stk/nettest/appconfig b/nuttx/configs/olimex-lpc1766stk/nettest/appconfig index 8fb8f8bcff..3c6bb4729a 100644 --- a/nuttx/configs/olimex-lpc1766stk/nettest/appconfig +++ b/nuttx/configs/olimex-lpc1766stk/nettest/appconfig @@ -1,38 +1,43 @@ -############################################################################
-# olimex-lpc1766stk/nettest/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
+############################################################################ +# configs/olimex-lpc1766stk/nettest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nettest=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always diff --git a/nuttx/configs/olimex-lpc1766stk/nettest/defconfig b/nuttx/configs/olimex-lpc1766stk/nettest/defconfig index 0c2c1b0a6d..20153e3104 100755 --- a/nuttx/configs/olimex-lpc1766stk/nettest/defconfig +++ b/nuttx/configs/olimex-lpc1766stk/nettest/defconfig @@ -326,7 +326,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nettest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/olimex-lpc1766stk/nsh/appconfig b/nuttx/configs/olimex-lpc1766stk/nsh/appconfig index 70363f99a4..e8bb51cb89 100644 --- a/nuttx/configs/olimex-lpc1766stk/nsh/appconfig +++ b/nuttx/configs/olimex-lpc1766stk/nsh/appconfig @@ -1,48 +1,54 @@ -############################################################################
-# olimex-lpc1766stk/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# NSH library
-
-CONFIGURED_APPS += nshlib=.built_always
-
-# Networking support
-
-ifeq ($(CONFIG_NET),y)
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/dhcpc=.built_always
-CONFIGURED_APPS += netutils/resolv=.built_always
-CONFIGURED_APPS += netutils/tftp=.built_always
-CONFIGURED_APPS += netutils/webclient=.built_always
-endif
+############################################################################ +# configs/olimex-lpc1766stk/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# NSH library + +CONFIGURED_APPS += nshlib=.built_always + +# Networking support + +ifeq ($(CONFIG_NET),y) +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/dhcpc=.built_always +CONFIGURED_APPS += netutils/resolv=.built_always +CONFIGURED_APPS += netutils/tftpc=.built_always +CONFIGURED_APPS += netutils/webclient=.built_always +endif + + diff --git a/nuttx/configs/olimex-lpc1766stk/nsh/defconfig b/nuttx/configs/olimex-lpc1766stk/nsh/defconfig index 1e2c074e81..b16abf38f7 100755 --- a/nuttx/configs/olimex-lpc1766stk/nsh/defconfig +++ b/nuttx/configs/olimex-lpc1766stk/nsh/defconfig @@ -326,7 +326,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/olimex-lpc1766stk/nx/appconfig b/nuttx/configs/olimex-lpc1766stk/nx/appconfig new file mode 100644 index 0000000000..7c6a694787 --- /dev/null +++ b/nuttx/configs/olimex-lpc1766stk/nx/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/olimex-lpc1766stk/nx/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nx=.built_always + diff --git a/nuttx/configs/olimex-lpc1766stk/nx/defconfig b/nuttx/configs/olimex-lpc1766stk/nx/defconfig index 565337548a..d45d7a2968 100755 --- a/nuttx/configs/olimex-lpc1766stk/nx/defconfig +++ b/nuttx/configs/olimex-lpc1766stk/nx/defconfig @@ -325,7 +325,7 @@ CONFIG_SPI_CMDDATA=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nx +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n diff --git a/nuttx/configs/olimex-lpc1766stk/ostest/appconfig b/nuttx/configs/olimex-lpc1766stk/ostest/appconfig new file mode 100644 index 0000000000..b046927b3e --- /dev/null +++ b/nuttx/configs/olimex-lpc1766stk/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/olimex-lpc1766stk/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/olimex-lpc1766stk/ostest/defconfig b/nuttx/configs/olimex-lpc1766stk/ostest/defconfig index 561eba6380..f5b46927cd 100755 --- a/nuttx/configs/olimex-lpc1766stk/ostest/defconfig +++ b/nuttx/configs/olimex-lpc1766stk/ostest/defconfig @@ -320,7 +320,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/olimex-lpc1766stk/slip-httpd/appconfig b/nuttx/configs/olimex-lpc1766stk/slip-httpd/appconfig index ab34063817..9be22e90e0 100644 --- a/nuttx/configs/olimex-lpc1766stk/slip-httpd/appconfig +++ b/nuttx/configs/olimex-lpc1766stk/slip-httpd/appconfig @@ -1,39 +1,44 @@ -############################################################################
-# olimex-lpc1766stk/slip-httpd/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/thttpd=.built_always
+############################################################################ +# configs/olimex-lpc1766stk/slip-httpd/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/thttpd=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/thttpd=.built_always diff --git a/nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig b/nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig index 81978e279d..b7c6f17312 100755 --- a/nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig +++ b/nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig @@ -322,7 +322,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/thttpd +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/olimex-lpc1766stk/thttpd/appconfig b/nuttx/configs/olimex-lpc1766stk/thttpd/appconfig index 87766510dd..6eea7ea591 100644 --- a/nuttx/configs/olimex-lpc1766stk/thttpd/appconfig +++ b/nuttx/configs/olimex-lpc1766stk/thttpd/appconfig @@ -1,39 +1,44 @@ -############################################################################
-# olimex-lpc1766stk/thttpd/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
-CONFIGURED_APPS += netutils/thttpd=.built_always
+############################################################################ +# configs/olimex-lpc1766stk/thttpd/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/thttpd=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always +CONFIGURED_APPS += netutils/thttpd=.built_always diff --git a/nuttx/configs/olimex-lpc1766stk/thttpd/defconfig b/nuttx/configs/olimex-lpc1766stk/thttpd/defconfig index 118444517b..a7f8a9f250 100755 --- a/nuttx/configs/olimex-lpc1766stk/thttpd/defconfig +++ b/nuttx/configs/olimex-lpc1766stk/thttpd/defconfig @@ -320,7 +320,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/thttpd +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/olimex-lpc1766stk/usbserial/appconfig b/nuttx/configs/olimex-lpc1766stk/usbserial/appconfig new file mode 100644 index 0000000000..49cc61e039 --- /dev/null +++ b/nuttx/configs/olimex-lpc1766stk/usbserial/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/olimex-lpc1766stk/usbserial/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/usbserial=.built_always + diff --git a/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig b/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig index cf7d7cb990..436ca1ea69 100755 --- a/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig +++ b/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig @@ -320,7 +320,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/usbserial +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/olimex-lpc1766stk/usbstorage/appconfig b/nuttx/configs/olimex-lpc1766stk/usbstorage/appconfig new file mode 100644 index 0000000000..d4f33077e1 --- /dev/null +++ b/nuttx/configs/olimex-lpc1766stk/usbstorage/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/olimex-lpc1766stk/usbstorage/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/usbstorage=.built_always + diff --git a/nuttx/configs/olimex-lpc1766stk/usbstorage/defconfig b/nuttx/configs/olimex-lpc1766stk/usbstorage/defconfig index 85918740c4..4b56fb1fe2 100755 --- a/nuttx/configs/olimex-lpc1766stk/usbstorage/defconfig +++ b/nuttx/configs/olimex-lpc1766stk/usbstorage/defconfig @@ -320,7 +320,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/usbstorage +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/olimex-lpc1766stk/wlan/appconfig b/nuttx/configs/olimex-lpc1766stk/wlan/appconfig new file mode 100644 index 0000000000..2a9f4be407 --- /dev/null +++ b/nuttx/configs/olimex-lpc1766stk/wlan/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/olimex-lpc1766stk/wlan/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/wlan=.built_always + diff --git a/nuttx/configs/olimex-lpc1766stk/wlan/defconfig b/nuttx/configs/olimex-lpc1766stk/wlan/defconfig index 43d281570d..61cd0085e1 100755 --- a/nuttx/configs/olimex-lpc1766stk/wlan/defconfig +++ b/nuttx/configs/olimex-lpc1766stk/wlan/defconfig @@ -325,7 +325,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/wlan +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/olimex-lpc2378/nsh/appconfig b/nuttx/configs/olimex-lpc2378/nsh/appconfig index 13b19fd1ab..786a7de6a8 100644 --- a/nuttx/configs/olimex-lpc2378/nsh/appconfig +++ b/nuttx/configs/olimex-lpc2378/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# olimex-lpc2378/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/olimex-lpc2378/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/olimex-lpc2378/nsh/defconfig b/nuttx/configs/olimex-lpc2378/nsh/defconfig index 85c3f3bf0d..c2ffdb8379 100755 --- a/nuttx/configs/olimex-lpc2378/nsh/defconfig +++ b/nuttx/configs/olimex-lpc2378/nsh/defconfig @@ -193,7 +193,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_DEV_LOWCONSOLE - Use the simple, low-level serial console # driver (minimal support) # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n #CONFIG_DEBUG_MM=y diff --git a/nuttx/configs/olimex-lpc2378/ostest/appconfig b/nuttx/configs/olimex-lpc2378/ostest/appconfig new file mode 100644 index 0000000000..0ef4b7e336 --- /dev/null +++ b/nuttx/configs/olimex-lpc2378/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/olimex-lpc2378/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/olimex-lpc2378/ostest/defconfig b/nuttx/configs/olimex-lpc2378/ostest/defconfig index f3938a5309..c1bec6554e 100755 --- a/nuttx/configs/olimex-lpc2378/ostest/defconfig +++ b/nuttx/configs/olimex-lpc2378/ostest/defconfig @@ -193,7 +193,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_DEV_LOWCONSOLE - Use the simple, low-level serial console # driver (minimal support) # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n #CONFIG_DEBUG_MM=y diff --git a/nuttx/configs/olimex-strp711/nettest/appconfig b/nuttx/configs/olimex-strp711/nettest/appconfig index 332a9998c6..911f28d76a 100644 --- a/nuttx/configs/olimex-strp711/nettest/appconfig +++ b/nuttx/configs/olimex-strp711/nettest/appconfig @@ -1,38 +1,43 @@ -############################################################################
-# olimex-strp711/nettest/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
+############################################################################ +# configs/olimex-strp711/nettest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nettest=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always diff --git a/nuttx/configs/olimex-strp711/nettest/defconfig b/nuttx/configs/olimex-strp711/nettest/defconfig index ed34172d1d..a91e9af0c7 100755 --- a/nuttx/configs/olimex-strp711/nettest/defconfig +++ b/nuttx/configs/olimex-strp711/nettest/defconfig @@ -289,7 +289,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nettest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/olimex-strp711/nsh/appconfig b/nuttx/configs/olimex-strp711/nsh/appconfig index b988f2098c..44287d579b 100644 --- a/nuttx/configs/olimex-strp711/nsh/appconfig +++ b/nuttx/configs/olimex-strp711/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# olimex-strp711/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/olimex-strp711/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/olimex-strp711/nsh/defconfig b/nuttx/configs/olimex-strp711/nsh/defconfig index 27e58db937..d253aef86d 100644 --- a/nuttx/configs/olimex-strp711/nsh/defconfig +++ b/nuttx/configs/olimex-strp711/nsh/defconfig @@ -271,7 +271,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/olimex-strp711/ostest/appconfig b/nuttx/configs/olimex-strp711/ostest/appconfig new file mode 100644 index 0000000000..b6eb6f864d --- /dev/null +++ b/nuttx/configs/olimex-strp711/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/olimex-strp711/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/olimex-strp711/ostest/defconfig b/nuttx/configs/olimex-strp711/ostest/defconfig index 0add6394e8..a625349fc6 100644 --- a/nuttx/configs/olimex-strp711/ostest/defconfig +++ b/nuttx/configs/olimex-strp711/ostest/defconfig @@ -271,7 +271,7 @@ CONFIG_HAVE_LIBM=n # This format will support execution of NuttX binaries located # in a ROMFS filesystem (see examples/nxflat). # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/pjrc-8051/appconfig b/nuttx/configs/pjrc-8051/appconfig new file mode 100644 index 0000000000..80d1dccef1 --- /dev/null +++ b/nuttx/configs/pjrc-8051/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/pjrc-8051/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/pjrc-8051/defconfig b/nuttx/configs/pjrc-8051/defconfig index 764ebe1edb..b2303d0c70 100644 --- a/nuttx/configs/pjrc-8051/defconfig +++ b/nuttx/configs/pjrc-8051/defconfig @@ -165,7 +165,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/qemu-i486/nsh/appconfig b/nuttx/configs/qemu-i486/nsh/appconfig index 1e0507ce89..3e174024e0 100644 --- a/nuttx/configs/qemu-i486/nsh/appconfig +++ b/nuttx/configs/qemu-i486/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# qemu-i486/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/qemu-i486/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/qemu-i486/nsh/defconfig b/nuttx/configs/qemu-i486/nsh/defconfig index dfe3fb4943..60f60b6979 100644 --- a/nuttx/configs/qemu-i486/nsh/defconfig +++ b/nuttx/configs/qemu-i486/nsh/defconfig @@ -230,7 +230,7 @@ CONFIG_UART3_2STOP=0 # task_create() when a new task is started. If set, all sockets will appear # to be closed in the new task. # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/qemu-i486/ostest/appconfig b/nuttx/configs/qemu-i486/ostest/appconfig new file mode 100644 index 0000000000..f469153b60 --- /dev/null +++ b/nuttx/configs/qemu-i486/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/qemu-i486/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/qemu-i486/ostest/defconfig b/nuttx/configs/qemu-i486/ostest/defconfig index 9695160cf9..9e3f0891cb 100644 --- a/nuttx/configs/qemu-i486/ostest/defconfig +++ b/nuttx/configs/qemu-i486/ostest/defconfig @@ -146,7 +146,7 @@ CONFIG_ARCH_DMA=n # task_create() when a new task is started. If set, all sockets will appear # to be closed in the new task. # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/sam3u-ek/nsh/appconfig b/nuttx/configs/sam3u-ek/nsh/appconfig index 68384b897d..67b7d9adf3 100644 --- a/nuttx/configs/sam3u-ek/nsh/appconfig +++ b/nuttx/configs/sam3u-ek/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# sam3u-ek/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/sam3u-ek/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/sam3u-ek/nsh/defconfig b/nuttx/configs/sam3u-ek/nsh/defconfig index 8b2cf20e30..65a56ff742 100755 --- a/nuttx/configs/sam3u-ek/nsh/defconfig +++ b/nuttx/configs/sam3u-ek/nsh/defconfig @@ -292,7 +292,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/sam3u-ek/nx/appconfig b/nuttx/configs/sam3u-ek/nx/appconfig new file mode 100644 index 0000000000..2f44523d02 --- /dev/null +++ b/nuttx/configs/sam3u-ek/nx/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/sam3u-ek/nx/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nx=.built_always + diff --git a/nuttx/configs/sam3u-ek/nx/defconfig b/nuttx/configs/sam3u-ek/nx/defconfig index 42d2dc9b23..fce97cd375 100755 --- a/nuttx/configs/sam3u-ek/nx/defconfig +++ b/nuttx/configs/sam3u-ek/nx/defconfig @@ -292,7 +292,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nx +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/sam3u-ek/ostest/appconfig b/nuttx/configs/sam3u-ek/ostest/appconfig new file mode 100644 index 0000000000..6ffa16baaf --- /dev/null +++ b/nuttx/configs/sam3u-ek/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/sam3u-ek/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/sam3u-ek/ostest/defconfig b/nuttx/configs/sam3u-ek/ostest/defconfig index 1d5456a9a7..9001608747 100755 --- a/nuttx/configs/sam3u-ek/ostest/defconfig +++ b/nuttx/configs/sam3u-ek/ostest/defconfig @@ -293,7 +293,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/sim/mount/appconfig b/nuttx/configs/sim/mount/appconfig new file mode 100644 index 0000000000..bec676b94e --- /dev/null +++ b/nuttx/configs/sim/mount/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/sim/mount/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/mount=.built_always + diff --git a/nuttx/configs/sim/mount/defconfig b/nuttx/configs/sim/mount/defconfig index d8c9870abc..6682c8a7f0 100644 --- a/nuttx/configs/sim/mount/defconfig +++ b/nuttx/configs/sim/mount/defconfig @@ -114,7 +114,7 @@ CONFIG_ARCH_BOARD_SIM=y # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/mount +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=y CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/sim/nettest/appconfig b/nuttx/configs/sim/nettest/appconfig index 599f57ad7a..59f0091e92 100644 --- a/nuttx/configs/sim/nettest/appconfig +++ b/nuttx/configs/sim/nettest/appconfig @@ -1,38 +1,43 @@ -############################################################################
-# sim/nettest/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Networking support
-
-CONFIGURED_APPS += netutils/uiplib=.built_always
+############################################################################ +# configs/sim/nettest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nettest=.built_always + + +# Networking support + +CONFIGURED_APPS += netutils/uiplib=.built_always diff --git a/nuttx/configs/sim/nettest/defconfig b/nuttx/configs/sim/nettest/defconfig index 9e19a3b878..d4354238fe 100644 --- a/nuttx/configs/sim/nettest/defconfig +++ b/nuttx/configs/sim/nettest/defconfig @@ -114,7 +114,7 @@ CONFIG_ARCH_BOARD_SIM=y # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/nettest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/sim/nsh/appconfig b/nuttx/configs/sim/nsh/appconfig index 01e99d2195..888943ed8c 100644 --- a/nuttx/configs/sim/nsh/appconfig +++ b/nuttx/configs/sim/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# sim/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/sim/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH Library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/sim/nsh/defconfig b/nuttx/configs/sim/nsh/defconfig index f7611123b9..4cdb88df91 100644 --- a/nuttx/configs/sim/nsh/defconfig +++ b/nuttx/configs/sim/nsh/defconfig @@ -114,7 +114,7 @@ CONFIG_ARCH_BOARD_SIM=y # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=y CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/sim/nx/appconfig b/nuttx/configs/sim/nx/appconfig new file mode 100644 index 0000000000..ee581c7b52 --- /dev/null +++ b/nuttx/configs/sim/nx/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/sim/nx/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nx=.built_always + diff --git a/nuttx/configs/sim/nx/defconfig b/nuttx/configs/sim/nx/defconfig index fa6557d747..23edd54ddb 100644 --- a/nuttx/configs/sim/nx/defconfig +++ b/nuttx/configs/sim/nx/defconfig @@ -121,7 +121,7 @@ CONFIG_SIM_FBBPP=8 # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/nx +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=y CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/sim/ostest/appconfig b/nuttx/configs/sim/ostest/appconfig new file mode 100644 index 0000000000..f622d89587 --- /dev/null +++ b/nuttx/configs/sim/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/sim/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/sim/ostest/defconfig b/nuttx/configs/sim/ostest/defconfig index 87f3c878b7..41da39ce79 100644 --- a/nuttx/configs/sim/ostest/defconfig +++ b/nuttx/configs/sim/ostest/defconfig @@ -114,7 +114,7 @@ CONFIG_ARCH_BOARD_SIM=y # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=y CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/sim/pashello/appconfig b/nuttx/configs/sim/pashello/appconfig new file mode 100644 index 0000000000..548c553dce --- /dev/null +++ b/nuttx/configs/sim/pashello/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/sim/pashello/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/pashello=.built_always + diff --git a/nuttx/configs/sim/pashello/defconfig b/nuttx/configs/sim/pashello/defconfig index 6fdb006ce8..2a31128feb 100644 --- a/nuttx/configs/sim/pashello/defconfig +++ b/nuttx/configs/sim/pashello/defconfig @@ -114,7 +114,7 @@ CONFIG_ARCH_BOARD_SIM=y # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/pashello +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/skp16c26/ostest/appconfig b/nuttx/configs/skp16c26/ostest/appconfig new file mode 100644 index 0000000000..eaaf4ad206 --- /dev/null +++ b/nuttx/configs/skp16c26/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/skp16c26/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/skp16c26/ostest/defconfig b/nuttx/configs/skp16c26/ostest/defconfig index 3eacda9ce9..d743397cd3 100644 --- a/nuttx/configs/skp16c26/ostest/defconfig +++ b/nuttx/configs/skp16c26/ostest/defconfig @@ -212,7 +212,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/stm3210e-eval/RIDE/appconfig b/nuttx/configs/stm3210e-eval/RIDE/appconfig new file mode 100644 index 0000000000..3aa7f108b6 --- /dev/null +++ b/nuttx/configs/stm3210e-eval/RIDE/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/stm3210e-eval/RIDE/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/null=.built_always + diff --git a/nuttx/configs/stm3210e-eval/RIDE/defconfig b/nuttx/configs/stm3210e-eval/RIDE/defconfig index ce1687172e..83ebe4fe2e 100755 --- a/nuttx/configs/stm3210e-eval/RIDE/defconfig +++ b/nuttx/configs/stm3210e-eval/RIDE/defconfig @@ -315,7 +315,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/null +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/stm3210e-eval/nsh/appconfig b/nuttx/configs/stm3210e-eval/nsh/appconfig index d26c51dc7b..18fbe696c8 100644 --- a/nuttx/configs/stm3210e-eval/nsh/appconfig +++ b/nuttx/configs/stm3210e-eval/nsh/appconfig @@ -1,36 +1,41 @@ -############################################################################
-# stm3210e-eval/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/stm3210e-eval/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/stm3210e-eval/nsh/defconfig b/nuttx/configs/stm3210e-eval/nsh/defconfig index 9f56ba0f8d..7a54c879b3 100755 --- a/nuttx/configs/stm3210e-eval/nsh/defconfig +++ b/nuttx/configs/stm3210e-eval/nsh/defconfig @@ -325,7 +325,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/stm3210e-eval/ostest/appconfig b/nuttx/configs/stm3210e-eval/ostest/appconfig new file mode 100644 index 0000000000..37459a0256 --- /dev/null +++ b/nuttx/configs/stm3210e-eval/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/stm3210e-eval/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/stm3210e-eval/ostest/defconfig b/nuttx/configs/stm3210e-eval/ostest/defconfig index 955a15e71d..075e3f213d 100755 --- a/nuttx/configs/stm3210e-eval/ostest/defconfig +++ b/nuttx/configs/stm3210e-eval/ostest/defconfig @@ -327,7 +327,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/stm3210e-eval/usbserial/appconfig b/nuttx/configs/stm3210e-eval/usbserial/appconfig new file mode 100644 index 0000000000..11fc30ea55 --- /dev/null +++ b/nuttx/configs/stm3210e-eval/usbserial/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/stm3210e-eval/usbserial/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/usbserial=.built_always + diff --git a/nuttx/configs/stm3210e-eval/usbserial/defconfig b/nuttx/configs/stm3210e-eval/usbserial/defconfig index 46646bc416..c469da139b 100755 --- a/nuttx/configs/stm3210e-eval/usbserial/defconfig +++ b/nuttx/configs/stm3210e-eval/usbserial/defconfig @@ -327,7 +327,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/usbserial +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_USB=n diff --git a/nuttx/configs/stm3210e-eval/usbstorage/appconfig b/nuttx/configs/stm3210e-eval/usbstorage/appconfig new file mode 100644 index 0000000000..675da6f076 --- /dev/null +++ b/nuttx/configs/stm3210e-eval/usbstorage/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/stm3210e-eval/usbstorage/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/usbstorage=.built_always + diff --git a/nuttx/configs/stm3210e-eval/usbstorage/defconfig b/nuttx/configs/stm3210e-eval/usbstorage/defconfig index 688e99f69e..ef37ef8d7f 100755 --- a/nuttx/configs/stm3210e-eval/usbstorage/defconfig +++ b/nuttx/configs/stm3210e-eval/usbstorage/defconfig @@ -325,7 +325,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/usbstorage +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_FS=n diff --git a/nuttx/configs/us7032evb1/nsh/appconfig b/nuttx/configs/us7032evb1/nsh/appconfig index ca3b043852..619c94d57e 100644 --- a/nuttx/configs/us7032evb1/nsh/appconfig +++ b/nuttx/configs/us7032evb1/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# us7032evb1/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/us7032evb1/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/us7032evb1/nsh/defconfig b/nuttx/configs/us7032evb1/nsh/defconfig index 9b41759044..e9ee5805de 100644 --- a/nuttx/configs/us7032evb1/nsh/defconfig +++ b/nuttx/configs/us7032evb1/nsh/defconfig @@ -216,7 +216,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/us7032evb1/ostest/appconfig b/nuttx/configs/us7032evb1/ostest/appconfig new file mode 100644 index 0000000000..426122f8ba --- /dev/null +++ b/nuttx/configs/us7032evb1/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/us7032evb1/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/us7032evb1/ostest/defconfig b/nuttx/configs/us7032evb1/ostest/defconfig index b93973eea0..c87235acc4 100644 --- a/nuttx/configs/us7032evb1/ostest/defconfig +++ b/nuttx/configs/us7032evb1/ostest/defconfig @@ -216,7 +216,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/vsn/nsh/appconfig b/nuttx/configs/vsn/nsh/appconfig index 3371dc21ac..42f4a9ec84 100755 --- a/nuttx/configs/vsn/nsh/appconfig +++ b/nuttx/configs/vsn/nsh/appconfig @@ -1,10 +1,8 @@ ############################################################################ -# configs/vsn/nsh/defconfig +# configs/vsn/nsh/appconfig # # Copyright (C) 2011 Gregory Nutt. All rights reserved. -# Copyright (c) 2011 Uros Platise. All rights reserved. # Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# Uros Platise <uros.platise@isotel.eu> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -45,6 +43,9 @@ # CONFIG_TASK_NAME_SIZE=16 # +# Path to example in apps/examples containing the user_start entry point +CONFIGURED_APPS += examples/nsh=.built_always + # Invoke the following application after NuttX starts #CONFIG_BUILTIN_APP_START="hello" @@ -57,16 +58,18 @@ CONFIGURED_APPS += nshlib=.built_always CONFIGURED_APPS += vsn/hello=.built_always # Provide poweroff command to switch off the board -CONFIGURED_APPS += vsn/poweroff=.built_always +CONFIGURED_APPS += vsn/poweroff=.built_always # Provide SDcard tool -CONFIGURED_APPS += vsn/sdcard=.built_always +CONFIGURED_APPS += vsn/sdcard=.built_always # Provide RAMTRON tool -CONFIGURED_APPS += vsn/ramtron=.built_always +CONFIGURED_APPS += vsn/ramtron=.built_always -# Provide UNIX style free -CONFIGURED_APPS += vsn/free=.built_always +# Provide UNIX style free +CONFIGURED_APPS += vsn/free=.built_always # Provide JAVA Virtual Machine (the Darjeeling JVM) -#CONFIGURED_APPS += vsn/jvm=.built_always +#CONFIGURED_APPS += vsn/jvm=.built_always + + diff --git a/nuttx/configs/vsn/nsh/defconfig b/nuttx/configs/vsn/nsh/defconfig index 1e5f34c2f9..52bea358ba 100755 --- a/nuttx/configs/vsn/nsh/defconfig +++ b/nuttx/configs/vsn/nsh/defconfig @@ -339,7 +339,7 @@ CONFIG_HAVE_LIBM=n # CONFIG_SIG_SIGWORK - The signal number that will be used to wake-up # the worker thread. Default: 4 # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=y CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/xtrs/nsh/appconfig b/nuttx/configs/xtrs/nsh/appconfig index 223d554231..cccf7511e5 100644 --- a/nuttx/configs/xtrs/nsh/appconfig +++ b/nuttx/configs/xtrs/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# xtrs/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/xtrs/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH Library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/xtrs/nsh/defconfig b/nuttx/configs/xtrs/nsh/defconfig index 83c6498aef..18286cefcf 100644 --- a/nuttx/configs/xtrs/nsh/defconfig +++ b/nuttx/configs/xtrs/nsh/defconfig @@ -160,7 +160,7 @@ CONFIG_LINKER_ROM_AT_0000=y # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/xtrs/ostest/appconfig b/nuttx/configs/xtrs/ostest/appconfig new file mode 100644 index 0000000000..8ec6d8f096 --- /dev/null +++ b/nuttx/configs/xtrs/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/xtrs/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/xtrs/ostest/defconfig b/nuttx/configs/xtrs/ostest/defconfig index aad132b8b4..f11088c30e 100644 --- a/nuttx/configs/xtrs/ostest/defconfig +++ b/nuttx/configs/xtrs/ostest/defconfig @@ -160,7 +160,7 @@ CONFIG_LINKER_ROM_AT_0000=y # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/xtrs/pashello/appconfig b/nuttx/configs/xtrs/pashello/appconfig new file mode 100644 index 0000000000..6a078b0ae3 --- /dev/null +++ b/nuttx/configs/xtrs/pashello/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/xtrs/pashello/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/pashello=.built_always + diff --git a/nuttx/configs/xtrs/pashello/defconfig b/nuttx/configs/xtrs/pashello/defconfig index 24607207ae..932fc2932f 100644 --- a/nuttx/configs/xtrs/pashello/defconfig +++ b/nuttx/configs/xtrs/pashello/defconfig @@ -160,7 +160,7 @@ CONFIG_LINKER_ROM_AT_0000=y # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/pashello +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/z16f2800100zcog/ostest/appconfig b/nuttx/configs/z16f2800100zcog/ostest/appconfig new file mode 100644 index 0000000000..50b3ace707 --- /dev/null +++ b/nuttx/configs/z16f2800100zcog/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/z16f2800100zcog/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/z16f2800100zcog/ostest/defconfig b/nuttx/configs/z16f2800100zcog/ostest/defconfig index 55617bd858..28dac2c9fe 100644 --- a/nuttx/configs/z16f2800100zcog/ostest/defconfig +++ b/nuttx/configs/z16f2800100zcog/ostest/defconfig @@ -189,7 +189,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/z16f2800100zcog/pashello/appconfig b/nuttx/configs/z16f2800100zcog/pashello/appconfig new file mode 100644 index 0000000000..63244367ed --- /dev/null +++ b/nuttx/configs/z16f2800100zcog/pashello/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/z16f2800100zcog/pashello/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/pashello=.built_always + diff --git a/nuttx/configs/z16f2800100zcog/pashello/defconfig b/nuttx/configs/z16f2800100zcog/pashello/defconfig index cbe0e1fbf0..5b9c820b21 100644 --- a/nuttx/configs/z16f2800100zcog/pashello/defconfig +++ b/nuttx/configs/z16f2800100zcog/pashello/defconfig @@ -189,7 +189,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/pashello +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/z80sim/nsh/appconfig b/nuttx/configs/z80sim/nsh/appconfig index 229d3a5485..304744fb23 100644 --- a/nuttx/configs/z80sim/nsh/appconfig +++ b/nuttx/configs/z80sim/nsh/appconfig @@ -1,36 +1,43 @@ -############################################################################
-# z80sim/nsh/appconfig
-#
-# Copyright (C) 2011 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-CONFIGURED_APPS += nshlib=.built_always
\ No newline at end of file +############################################################################ +# configs/z80sim/nsh/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/nsh=.built_always + +# The NSH Library + +CONFIGURED_APPS += nshlib=.built_always + diff --git a/nuttx/configs/z80sim/nsh/defconfig b/nuttx/configs/z80sim/nsh/defconfig index b6af3aa276..40b6ea423e 100644 --- a/nuttx/configs/z80sim/nsh/defconfig +++ b/nuttx/configs/z80sim/nsh/defconfig @@ -150,7 +150,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/nsh +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/z80sim/ostest/appconfig b/nuttx/configs/z80sim/ostest/appconfig new file mode 100644 index 0000000000..25fcf62d3d --- /dev/null +++ b/nuttx/configs/z80sim/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/z80sim/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/z80sim/ostest/defconfig b/nuttx/configs/z80sim/ostest/defconfig index 78a173af3b..660acbfc8f 100644 --- a/nuttx/configs/z80sim/ostest/defconfig +++ b/nuttx/configs/z80sim/ostest/defconfig @@ -150,7 +150,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/z80sim/pashello/appconfig b/nuttx/configs/z80sim/pashello/appconfig new file mode 100644 index 0000000000..b772867303 --- /dev/null +++ b/nuttx/configs/z80sim/pashello/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/z80sim/pashello/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/pashello=.built_always + diff --git a/nuttx/configs/z80sim/pashello/defconfig b/nuttx/configs/z80sim/pashello/defconfig index c8a99c9bfd..8e94f33c79 100644 --- a/nuttx/configs/z80sim/pashello/defconfig +++ b/nuttx/configs/z80sim/pashello/defconfig @@ -150,7 +150,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/pashello +#CONFIG_APP_DIR= CONFIG_DEBUG=n CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/z8encore000zco/ostest/appconfig b/nuttx/configs/z8encore000zco/ostest/appconfig new file mode 100644 index 0000000000..a8e0ac5893 --- /dev/null +++ b/nuttx/configs/z8encore000zco/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/z8encore000zco/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/z8encore000zco/ostest/defconfig b/nuttx/configs/z8encore000zco/ostest/defconfig index 54cc2a863d..6c06006e6f 100644 --- a/nuttx/configs/z8encore000zco/ostest/defconfig +++ b/nuttx/configs/z8encore000zco/ostest/defconfig @@ -184,7 +184,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/configs/z8f64200100kit/ostest/appconfig b/nuttx/configs/z8f64200100kit/ostest/appconfig new file mode 100644 index 0000000000..b039bee7cd --- /dev/null +++ b/nuttx/configs/z8f64200100kit/ostest/appconfig @@ -0,0 +1,39 @@ +############################################################################ +# configs/z8f64200100kit/ostest/appconfig +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt <spudmonkey@racsa.co.cr> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Path to example in apps/examples containing the user_start entry point + +CONFIGURED_APPS += examples/ostest=.built_always + diff --git a/nuttx/configs/z8f64200100kit/ostest/defconfig b/nuttx/configs/z8f64200100kit/ostest/defconfig index b37b81e34e..9a02ed8bfe 100644 --- a/nuttx/configs/z8f64200100kit/ostest/defconfig +++ b/nuttx/configs/z8f64200100kit/ostest/defconfig @@ -184,7 +184,7 @@ CONFIG_HAVE_LIBM=n # desciptors by task_create() when a new task is started. If # set, all sockets will appear to be closed in the new task. # -CONFIG_APP_DIR=examples/ostest +#CONFIG_APP_DIR= CONFIG_DEBUG=y CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_SYMBOLS=n diff --git a/nuttx/examples/README.txt b/nuttx/examples/README.txt deleted file mode 100644 index 9dc843f90d..0000000000 --- a/nuttx/examples/README.txt +++ /dev/null @@ -1,636 +0,0 @@ -examples -^^^^^^^^ - - The examples directory contains several sample applications that - can be linked with NuttX. The specific example is selected in the - configs/<board-name>/defconfig file via the CONFIG_APP_DIR setting. - This setting provides the path to the directory containing the - application Makefile (this path is a relative to the NuttX top- - level directory). For example, - - CONFIG_APP_DIR=examples/ostest - - Selects the examples/ostest example. - -examples/dhcpd -^^^^^^^^^^^^^^ - - This examples builds a tiny DCHP server for the target system. - - NOTE: For test purposes, this example can be built as a - host-based DHCPD server. This can be built as follows: - - cd examples/dhcpd - make -f Makefile.host - - NuttX configuration settings: - - CONFIG_NET=y - Of course - CONFIG_NSOCKET_DESCRIPTORS - And, of course, you must allocate some - socket descriptors. - CONFIG_NET_UDP=y - UDP support is required for DHCP - (as well as various other UDP-related - configuration settings) - CONFIG_NET_BROADCAST=y - UDP broadcast support is needed. - - CONFIG_EXAMPLE_DHCPD_NOMAC - (May be defined to use software assigned MAC) - CONFIG_EXAMPLE_DHCPD_IPADDR - Target IP address - CONFIG_EXAMPLE_DHCPD_DRIPADDR - Default router IP addess - CONFIG_EXAMPLE_DHCPD_NETMASK - Network mask - - See also CONFIG_NETUTILS_DHCPD_* settings described elsewhere - and used in netutils/dhcpd/dhcpd.c. These settings are required - to described the behavior of the daemon. - - Applications using this example will need to provide an appconfig - file in the configuration driver with instruction to build applications - like: - - CONFIGURED_APPS = uiplib=.built_always - -examples/hello -^^^^^^^^^^^^^^ - - This is the mandatory, "Hello, World!!" example. It is little more - than examples/null with a single printf statement. Again useful only - for bringing up new NuttX architectures. - - NuttX configuration settings: - - CONFIG_EXAMPLE_HELLOXX_NOSTATICCONST - Set if system does not support - static constructors. - CONFIG_EXAMPLE_HELLOXX_NOSTACKCONST - Set if the systgem does not - support constructionof objects on the stack. - -examples/helloxx -^^^^^^^^^^^^^^^^ - - This is C++ version of the "Hello, World!!" example. It is intended - only to verify that the C++ compiler is function, that basic C++ - library suupport is available, and that class are instantiated - correctly. - -examples/hidkbd -^^^^^^^^^^^^^^^^ - - This is a simple test to debug/verify the USB host HID keyboard class - driver. - - CONFIG_EXAMPLES_HIDKBD_DEFPRIO - Priority of "waiter" thread. - CONFIG_EXAMPLES_HIDKBD_STACKSIZE - Stacksize of "waiter" thread. - -examples/igmp -^^^^^^^^^^^^^ - - This is a trivial test of the NuttX IGMP capability. It present it - does not do much of value -- Much more is needed in order to verify - the IGMP features! - - * CONFIG_EXAMPLE_IGMP_NOMAC - Set if the hardware has no MAC address; one will be assigned - * CONFIG_EXAMPLE_IGMP_IPADDR - Target board IP address - * CONFIG_EXAMPLE_IGMP_DRIPADDR - Default router address - * CONFIG_EXAMPLE_IGMP_NETMASK - Network mask - * CONFIG_EXAMPLE_IGMP_GRPADDR - Multicast group address - - Applications using this example will need to provide an appconfig - file in the configuration driver with instruction to build applications - like: - - CONFIGURED_APPS = uiplib=.built_always - -examples/mm -^^^^^^^^^^^ - - This is a simplified version of the "built-in" memory manager test of - mm/mm_test.c. It is simplified because it does not have access to the - internals of the memory manager as does mm/mm_test.c, but it has the - advantage that it runs in the actual NuttX tasking environment (the - mm/mm_test.c only runs in a PC simulation environment). - -examples/mount -^^^^^^^^^^^^^^ - - This contains a simple test of filesystem mountpoints. - - * CONFIG_EXAMPLES_MOUNT_DEVNAME - The name of the user-provided block device to mount. - If CONFIG_EXAMPLES_MOUNT_DEVNAME is not provided, then - a RAM disk will be configured. - - * CONFIG_EXAMPLES_MOUNT_NSECTORS - The number of "sectors" in the RAM disk used when - CONFIG_EXAMPLES_MOUNT_DEVNAME is not defined. - - * CONFIG_EXAMPLES_MOUNT_SECTORSIZE - The size of each sectors in the RAM disk used when - CONFIG_EXAMPLES_MOUNT_DEVNAME is not defined. - - * CONFIG_EXAMPLES_MOUNT_RAMDEVNO - The RAM device minor number used to mount the RAM disk used - when CONFIG_EXAMPLES_MOUNT_DEVNAME is not defined. The - default is zero (meaning that "/dev/ram0" will be used). - -examples/netttest -^^^^^^^^^^^^^^^^^ - - This is a simple network test for verifying client- and server- - functionality in a TCP/IP connection. - - Applications using this example will need to provide an appconfig - file in the configuration driver with instruction to build applications - like: - - CONFIGURED_APPS = uiplib=.built_always - -examples/nsh -^^^^^^^^^^^^ - - This directory provides an example of how to configure and use - the NuttShell (NSH) application. NSH is a simple shell - application. NSH is described in its own README located at - apps/nshlib/README.txt - - Applications using this example will need to provide an appconfig - file in the configuration driver with instruction to build applications - like: - - CONFIGURED_APPS = nshlib=.built_always - - And if networking is included: - - CONFIGURED_APPS = uiplib=.built_always - CONFIGURED_APPS = dhcpc=.built_always - CONFIGURED_APPS = resolv=.built_always - CONFIGURED_APPS = tftp=.built_always - CONFIGURED_APPS = webclient=.built_always - -examples/nx -^^^^^^^^^^^ - - This directory contains a simple test of a subset of the NX APIs - defined in include/nuttx/nx.h. The following configuration options - can be selected: - - CONFIG_EXAMPLES_NX_VPLANE -- The plane to select from the frame- - buffer driver for use in the test. Default: 0 - CONFIG_EXAMPLES_NX_DEVNO - The LCD device to select from the LCD - driver for use in the test: Default: 0 - CONFIG_EXAMPLES_NX_BGCOLOR -- The color of the background. Default depends on - CONFIG_EXAMPLES_NX_BPP. - CONFIG_EXAMPLES_NX_COLOR1 -- The color of window 1. Default depends on - CONFIG_EXAMPLES_NX_BPP. - CONFIG_EXAMPLES_NX_COLOR2 -- The color of window 2. Default depends on - CONFIG_EXAMPLES_NX_BPP. - CONFIG_EXAMPLES_NX_TBCOLOR -- The color of the toolbar. Default depends on - CONFIG_EXAMPLES_NX_BPP. - CONFIG_EXAMPLES_NX_FONTCOLOR -- The color of the toolbar. Default depends on - CONFIG_EXAMPLES_NX_BPP. - CONFIG_EXAMPLES_NX_BPP -- Pixels per pixel to use. Valid options - include 2, 4, 8, 16, 24, and 32. Default is 32. - CONFIG_EXAMPLES_NX_RAWWINDOWS -- Use raw windows; Default is to - use pretty, framed NXTK windows with toolbars. - CONFIG_EXAMPLES_NX_EXTERNINIT - The driver for the graphics device on - this platform requires some unusual initialization. This is the - for, for example, SPI LCD/OLED devices. If this configuration is - selected, then the platform code must provide an LCD initialization - function with a prototype like: - - #ifdef CONFIG_NX_LCDDRIVER - FAR struct lcd_dev_s *up_nxdrvinit(unsigned int devno); - #else - FAR struct fb_vtable_s *up_nxdrvinit(unsigned int devno); - #endif - - This test can be performed with either the single-user version of - NX or with the multiple user version of NX selected with CONFIG_NX_MULTIUSER. - If CONFIG_NX_MULTIUSER is defined, then the following configuration - options also apply: - - CONFIG_EXAMPLES_NX_STACKSIZE -- The stacksize to use when creating - the NX server. Default 2048 - CONFIG_EXAMPLES_NX_CLIENTPRIO -- The client priority. Default: 100 - CONFIG_EXAMPLES_NX_SERVERPRIO -- The server priority. Default: 120 - CONFIG_EXAMPLES_NX_LISTENERPRIO -- The priority of the event listener - thread. Default 80. - CONFIG_EXAMPLES_NX_NOTIFYSIGNO -- The signal number to use with - nx_eventnotify(). Default: 4 - - If CONFIG_NX_MULTIUSER is defined, then the example also expects the - following settings and will generate an error if they are not as expected: - - CONFIG_DISABLE_MQUEUE=n - CONFIG_DISABLE_SIGNALS=n - CONFIG_DISABLE_PTHREAD=n - CONFIG_NX_BLOCKING=y - -examples/nxflat -^^^^^^^^^^^^^^^ - - This example builds a small NXFLAT test case. This includes several - test programs under examples/nxflat tests. These tests are build using - the NXFLAT format and installed in a ROMFS file system. At run time, - each program in the ROMFS file system is executed. Requires CONFIG_NXFLAT. - -examples/null -^^^^^^^^^^^^^ - - This is the do nothing application. It is only used for bringing - up new NuttX architectures in the most minimal of environments. - -examples/ostest -^^^^^^^^^^^^^^^ - - This is the NuttX 'qualification' suite. It attempts to exercise - a broad set of OS functionality. Its coverage is not very extensive - as of this writing, but it is used to qualify each NuttX release. - - The behavior of the ostest can be modified with the following - settings in the configs/<board-name>/defconfig file: - - * CONFIG_EXAMPLES_OSTEST_LOOPS - Used to control the number of executions of the test. If - undefined, the test executes one time. If defined to be - zero, the test runs forever. - * CONFIG_EXAMPLES_OSTEST_STACKSIZE - Used to create the ostest task. Default is 8192. - * CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS - Specifies the number of threads to create in the barrier - test. The default is 8 but a smaller number may be needed on - systems without sufficient memory to start so many threads. - -examples/pashello -^^^^^^^^^^^^^^^^^ - - This is "Hello, World" implemented via the Pascal P-Code interpreter - -examples/pipe -^^^^^^^^^^^^^ - - A test of the mkfifo() and pipe() APIs. - - * CONFIG_EXAMPLES_PIPE_STACKSIZE - Sets the size of the stack to use when creating the child tasks. - The default size is 1024. - -examples/poll -^^^^^^^^^^^^^ - - A test of the poll() and select() APIs using FIFOs and, if available, - stdin, and a TCP/IP socket. In order to build this test, you must the - following selected in your NuttX configuration file: - - CONFIG_NFILE_DESCRIPTORS - Defined to be greater than 0 - CONFIG_DISABLE_POLL - NOT defined - - In order to use the TCP/IP select test, you have also the following - additional things selected in your NuttX configuration file: - - CONFIG_NET - Defined for general network support - CONFIG_NET_TCP - Defined for TCP/IP support - CONFIG_NSOCKET_DESCRIPTORS - Defined to be greater than 0 - CONFIG_NET_NTCP_READAHEAD_BUFFERS - Defined to be greater than zero - - CONFIG_EXAMPLE_POLL_NOMAC - (May be defined to use software assigned MAC) - CONFIG_EXAMPLE_POLL_IPADDR - Target IP address - CONFIG_EXAMPLE_POLL_DRIPADDR - Default router IP addess - CONFIG_EXAMPLE_POLL_NETMASK - Network mask - - In order to for select to work with incoming connections, you - must also select: - - CONFIG_NET_TCPBACKLOG - Incoming connections pend in a backlog until accept() is called. - - In additional to the target device-side example, there is also - a host-side application in this directory. It can be compiled under - Linux or Cygwin as follows: - - cd examples/usbserial - make -f Makefile.host TOPDIR=../../. TARGETIP=<target-ip> - - Where <target-ip> is the IP address of your target board. - - This will generate a small program called 'host'. Usage: - - 1. Build the examples/poll target program with TCP/IP poll support - and start the target. - - 3. Then start the host application: - - ./host - - The host and target will exchange are variety of small messages. Each - message sent from the host should cause the select to return in target. - The target example should read the small message and send it back to - the host. The host should then receive the echo'ed message. - - If networking is enabled, applications using this example will need to - provide an appconfig file in the configuration driver with instruction - to build applications like: - - CONFIGURED_APPS = uiplib=.built_always - -examples/romfs -^^^^^^^^^^^^^^ - - This example exercises the romfs filesystem. Configuration options - include: - - * CONFIG_EXAMPLES_ROMFS_RAMDEVNO - The minor device number to use for the ROM disk. The default is - 1 (meaning /dev/ram1) - - * CONFIG_EXAMPLES_ROMFS_SECTORSIZE - The ROM disk sector size to use. Default is 64. - - * CONFIG_EXAMPLES_ROMFS_MOUNTPOINT - The location to mount the ROM disk. Deafault: "/usr/local/share" - -examples/sendmail -^^^^^^^^^^^^^^^^^ - - This examples exercises the uIP SMTP logic by sending a test message - to a selected recipient. This test can also be built to execute on - the Cygwin/Linux host environment: - - cd examples/sendmail - make -f Makefile.host - - Settings unique to this example include: - - CONFIG_EXAMPLE_SENDMAIL_NOMAC - May be defined to use software assigned MAC (optional) - CONFIG_EXAMPLE_SENDMAIL_IPADDR - Target IP address (required) - CONFIG_EXAMPLE_SENDMAIL_DRIPADDR - Default router IP addess (required) - CONFIG_EXAMPLE_SENDMAILT_NETMASK - Network mask (required) - CONFIG_EXAMPLE_SENDMAIL_RECIPIENT - The recipient of the email (required) - CONFIG_EXAMPLE_SENDMAIL_SENDER - Optional. Default: "nuttx-testing@example.com" - CONFIG_EXAMPLE_SENDMAIL_SUBJECT - Optional. Default: "Testing SMTP from NuttX" - CONFIG_EXAMPLE_SENDMAIL_BODY - Optional. Default: "Test message sent by NuttX" - - NOTE: This test has not been verified on the NuttX target environment. - As of this writing, unit-tested in the Cygwin/Linux host environment. - - NOTE 2: This sendmail example only works for the simplest of - environments. Virus protection software on your host may have - to be disabled to allow you to send messages. Only very open, - unprotected recipients can be used. Most will protect themselves - from this test email because it looks like SPAM. - - Applications using this example will need to provide an appconfig - file in the configuration driver with instruction to build applications - like: - - CONFIGURED_APPS = uiplib=.built_always - CONFIGURED_APPS = smtp=.built_always - -examples/serloop -^^^^^^^^^^^^^^^^ - - This is a mindlessly simple loopback test on the console. Useful - for testing new serial drivers. Configuration options include: - - * CONFIG_EXAMPLES_SERLOOP_BUFIO - Use C buffered I/O (getchar/putchar) vs. raw console I/O - (read/read). - -examples/thttpd -^^^^^^^^^^^^^^^ - - An example that builds netutils/thttpd with some simple NXFLAT - CGI programs. see configs/README.txt for most THTTPD settings. - In addition to those, this example accepts: - - CONFIG_EXAMPLE_THTTPD_NOMAC - (May be defined to use software assigned MAC) - CONFIG_EXAMPLE_THTTPD_DRIPADDR - Default router IP addess - CONFIG_EXAMPLE_THTTPD_NETMASK - Network mask - - Applications using this example will need to provide an appconfig - file in the configuration driver with instruction to build applications - like: - - CONFIGURED_APPS = uiplib=.built_always - CONFIGURED_APPS = thttpd=.built_always - -examples/udp -^^^^^^^^^^^^ - - This is a simple network test for verifying client- and server- - functionality over UDP. - - Applications using this example will need to provide an appconfig - file in the configuration driver with instruction to build applications - like: - - CONFIGURED_APPS = uiplib=.built_always - -examples/uip -^^^^^^^^^^^^ - - This is a port of uIP tiny webserver example application. Settings - specific to this example include: - - CONFIG_EXAMPLE_UIP_NOMAC - (May be defined to use software assigned MAC) - CONFIG_EXAMPLE_UIP_IPADDR - Target IP address - CONFIG_EXAMPLE_UIP_DRIPADDR - Default router IP addess - CONFIG_EXAMPLE_UIP_NETMASK - Network mask - CONFIG_EXAMPLE_UIP_DHCPC - Select to get IP address via DHCP - - If you use DHCPC, then some special configuration network options are - required. These include: - - CONFIG_NET=y - Of course - CONFIG_NSOCKET_DESCRIPTORS - And, of course, you must allocate some - socket descriptors. - CONFIG_NET_UDP=y - UDP support is required for DHCP - (as well as various other UDP-related - configuration settings). - CONFIG_NET_BROADCAST=y - UDP broadcast support is needed. - CONFIG_NET_BUFSIZE=650 - Per RFC2131 (p. 9), the DHCP client must be - (or larger) prepared to receive DHCP messages of up to - 576 bytes (excluding Ethernet, IP, or UDP - headers and FCS). - - Other configuration items apply also to the selected webserver net utility. - Additional relevant settings for the uIP webserver net utility are: - - CONFIG_NETUTILS_HTTPDSTACKSIZE - CONFIG_NETUTILS_HTTPDFILESTATS - CONFIG_NETUTILS_HTTPDNETSTATS - - Applications using this example will need to provide an appconfig - file in the configuration driver with instruction to build applications - like: - - CONFIGURED_APPS = uiplib=.built_always - CONFIGURED_APPS = dhcpc=.built_always - CONFIGURED_APPS = resolv=.built_always - CONFIGURED_APPS = webserver=.built_always - -examples/usbserial -^^^^^^^^^^^^^^^^^^ - - TARGET CONFIGURATION: - - This is another implementation of "Hello, World" but this one uses - a USB serial driver. Configuration options can be used to simply - the test. These options include: - - CONFIG_EXAMPLES_USBSERIAL_INONLY - Only verify IN (device-to-host) data transfers. Default: both - CONFIG_EXAMPLES_USBSERIAL_OUTONLY - Only verify OUT (host-to-device) data transfers. Default: both - CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL - Send only small, single packet messages. Default: Send large and small. - CONFIG_EXAMPLES_USBSERIAL_ONLYBIG - Send only large, multi-packet messages. Default: Send large and small. - - If CONFIG_USBDEV_TRACE is enabled (or CONFIG_DEBUG and CONFIG_DEBUG_USB), then - the example code will also manage the USB trace output. The amount of trace output - can be controlled using: - - CONFIG_EXAMPLES_USBSERIAL_TRACEINIT - Show initialization events - CONFIG_EXAMPLES_USBSERIAL_TRACECLASS - Show class driver events - CONFIG_EXAMPLES_USBSERIAL_TRACETRANSFERS - Show data transfer events - CONFIG_EXAMPLES_USBSERIAL_TRACECONTROLLER - Show controller events - CONFIG_EXAMPLES_USBSERIAL_TRACEINTERRUPTS - Show interrupt-related events. - - Error results are always shown in the trace output - - HOST-SIDE TEST PROGRAM - - In additional to the target device-side example, there is also a - host-side application in this directory. This host side application - must be executed on a Linux host in order to perform the USBSERIAL - test. The host application can be compiled under Linux (or Cygwin?) - as follows: - - cd examples/usbserial - make -f Makefile.host TOPDIR=../../. - - RUNNING THE TEST - - This will generate a small program called 'host'. Usage: - - 1. Build the examples/usbserial target program and start the target. - - 2. Wait a bit, then do enter: - - dmesg - - At the end of the dmesg output, you should see the serial - device was successfully idenfied and assigned to a tty device, - probably /dev/ttyUSB0. - - 3. Then start the host application: - - ./host [<tty-dev>] - - Where: - - <tty-dev> is the USB TTY device to use. The default is /dev/ttyUSB0. - - The host and target will exchange are variety of very small and very large - serial messages. - -examples/usbstorage -^^^^^^^^^^^^^^^^^^^ - - This example registers a block device driver, then exports the block - the device using the USB storage class driver. In order to use this - example, your board-specific logic must provide the function: - - void usbstrg_archinitialize(void); - - This function will be called by the example/usbstorage in order to - do the actual registration of the block device drivers. For examples - of the implementation of usbstrg_archinitialize() see - configs/mcu123-lpc124x/src/up_usbstrg.c or - configs/stm3210e-eval/src/usbstrg.c - - Configuration options: - - CONFIG_EXAMPLES_USBSTRG_NLUNS - Defines the number of logical units (LUNs) exported by the USB storage - driver. Each LUN corresponds to one exported block driver (or partition - of a block driver). May be 1, 2, or 3. Default is 1. - CONFIG_EXAMPLES_USBSTRG_DEVMINOR1 - The minor device number of the block driver for the first LUN. For - example, N in /dev/mmcsdN. Used for registering the block driver. Default - is zero. - CONFIG_EXAMPLES_USBSTRG_DEVPATH1 - The full path to the registered block driver. Default is "/dev/mmcsd0" - CONFIG_EXAMPLES_USBSTRG_DEVMINOR2 and CONFIG_EXAMPLES_USBSTRG_DEVPATH2 - Similar parameters that would have to be provided if CONFIG_EXAMPLES_USBSTRG_NLUNS - is 2 or 3. No defaults. - CONFIG_EXAMPLES_USBSTRG_DEVMINOR3 and CONFIG_EXAMPLES_USBSTRG_DEVPATH3 - Similar parameters that would have to be provided if CONFIG_EXAMPLES_USBSTRG_NLUNS - is 3. No defaults. - - If CONFIG_USBDEV_TRACE is enabled (or CONFIG_DEBUG and CONFIG_DEBUG_USB), then - the example code will also manage the USB trace output. The amount of trace output - can be controlled using: - - CONFIG_EXAMPLES_USBSTRG_TRACEINIT - Show initialization events - CONFIG_EXAMPLES_USBSTRG_TRACECLASS - Show class driver events - CONFIG_EXAMPLES_USBSTRG_TRACETRANSFERS - Show data transfer events - CONFIG_EXAMPLES_USBSTRG_TRACECONTROLLER - Show controller events - CONFIG_EXAMPLES_USBSTRG_TRACEINTERRUPTS - Show interrupt-related events. - - Error results are always shown in the trace output - -examples/wget -^^^^^^^^^^^^^ - - A simple web client example. It will obtain a file from a server using the HTTP - protocol. Settings unique to this example include: - - CONFIG_EXAMPLE_WGET_URL - The URL of the file to get - CONFIG_EXAMPLE_WGET_NOMAC - (May be defined to use software assigned MAC) - CONFIG_EXAMPLE_WGET_IPADDR - Target IP address - CONFIG_EXAMPLE_WGET_DRIPADDR - Default router IP addess - CONFIG_EXAMPLE_WGET_NETMASK - Network mask - - This example uses netutils/webclient. Additional configuration settings apply - to that code as follows (but built-in defaults are probably OK): - - CONFIG_WEBCLIENT_GETMIMETYPE, CONFIG_WEBCLIENT_MAXHTTPLINE, - CONFIG_WEBCLIENT_MAXMIMESIZE, CONFIG_WEBCLIENT_MAXHOSTNAME, - CONFIG_WEBCLIENT_MAXFILENAME - - Of course, the example also requires other settings including CONFIG_NET and - CONFIG_NET_TCP. The example also uses the uIP resolver which requires CONFIG_UDP. - - WARNNG: As of this writing, wget is untested on the target platform. At present - it has been tested only in the host-based configuration described in the following - note. The primary difference is that the target version will rely on the also - untested uIP name resolver. - - NOTE: For test purposes, this example can be built as a host-based wget function. - This can be built as follows: - - cd examples/wget - make -f Makefile.host - - Applications using this example will need to provide an appconfig - file in the configuration driver with instruction to build applications - like: - - CONFIGURED_APPS = uiplib=.built_always - CONFIGURED_APPS = resolv=.built_always - CONFIGURED_APPS = webclient=.built_always - - diff --git a/nuttx/examples/dhcpd/Makefile b/nuttx/examples/dhcpd/Makefile deleted file mode 100644 index 2a154136b2..0000000000 --- a/nuttx/examples/dhcpd/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -############################################################################ -# examples/dhcpd/Makefile -# -# Copyright (C) 2009-2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = target.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - @make -f Makefile.host clean - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/dhcpd/host.c b/nuttx/examples/dhcpd/host.c deleted file mode 100644 index 9e654819b0..0000000000 --- a/nuttx/examples/dhcpd/host.c +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** - * examples/dhcpd/host.c - * - * Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -extern int dhcpd_run(void); - -/**************************************************************************** - * main - ****************************************************************************/ - -int main(int argc, char **argv, char **envp) -{ - dhcpd_run(); - return 0; -} diff --git a/nuttx/examples/dhcpd/target.c b/nuttx/examples/dhcpd/target.c deleted file mode 100644 index 1878c2bc86..0000000000 --- a/nuttx/examples/dhcpd/target.c +++ /dev/null @@ -1,143 +0,0 @@ -/**************************************************************************** - * examples/dhcpd/target.c - * - * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <net/if.h> - -#include <apps/netutils/uiplib.h> -#include <apps/netutils/dhcpd.h> - -/**************************************************************************** - * Preprocessor Definitions - ****************************************************************************/ - -/* Configuation Checkes *****************************************************/ -/* BEWARE: - * There are other configuration settings needed in netutitls/dhcpd/dhcpdc.s, - * but there are default values for those so we cannot check them here. - */ - -#ifndef CONFIG_EXAMPLE_DHCPD_IPADDR -# error "You must define CONFIG_EXAMPLE_DHCPD_IPADDR" -#endif - -#ifndef CONFIG_EXAMPLE_DHCPD_DRIPADDR -# error "You must define " -#endif - -#ifndef CONFIG_EXAMPLE_DHCPD_NETMASK -# error "You must define CONFIG_EXAMPLE_DHCPD_NETMASK" -#endif - -#ifndef CONFIG_NET -# error "You must define CONFIG_NET" -#endif - -#ifndef CONFIG_NET_UDP -# error "You must define CONFIG_NET_UDP" -#endif - -#ifndef CONFIG_NET_BROADCAST -# error "You must define CONFIG_NET_BROADCAST" -#endif - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - /* Stub that must be provided only if the toolchain does not support weak - * functions. - */ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - struct in_addr addr; -#if defined(CONFIG_EXAMPLE_DHCPD_NOMAC) - uint8_t mac[IFHWADDRLEN]; -#endif - -/* Many embedded network interfaces must have a software assigned MAC */ - -#ifdef CONFIG_EXAMPLE_DHCPD_NOMAC - mac[0] = 0x00; - mac[1] = 0xe0; - mac[2] = 0xb0; - mac[3] = 0x0b; - mac[4] = 0xba; - mac[5] = 0xbe; - uip_setmacaddr("eth0", mac); -#endif - - /* Set up our host address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_DHCPD_IPADDR); - uip_sethostaddr("eth0", &addr); - - /* Set up the default router address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_DHCPD_DRIPADDR); - uip_setdraddr("eth0", &addr); - - /* Setup the subnet mask */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_DHCPD_NETMASK); - uip_setnetmask("eth0", &addr); - - /* Then start the server */ - - dhcpd_run(); - return 0; -} diff --git a/nuttx/examples/hello/Makefile b/nuttx/examples/hello/Makefile deleted file mode 100644 index 5fd80c3949..0000000000 --- a/nuttx/examples/hello/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -############################################################################ -# examples/hello/Makefile -# -# Copyright (C) 2008, 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = main.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/hello/main.c b/nuttx/examples/hello/main.c deleted file mode 100644 index 44c8384ebf..0000000000 --- a/nuttx/examples/hello/main.c +++ /dev/null @@ -1,77 +0,0 @@ -/**************************************************************************** - * examples/hello/main.c - * - * Copyright (C) 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> -#include <stdio.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - /* Stub that must be provided only if the toolchain does not support weak - * functions. - */ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - printf("Hello, World!!\n"); - return 0; -} - diff --git a/nuttx/examples/helloxx/Makefile b/nuttx/examples/helloxx/Makefile deleted file mode 100755 index 5a90b03c58..0000000000 --- a/nuttx/examples/helloxx/Makefile +++ /dev/null @@ -1,93 +0,0 @@ -############################################################################ -# examples/helloxx/Makefile -# -# Copyright (C) 2009-2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = -COBJS = $(CSRCS:.c=$(OBJEXT)) -CXXSRCS = main.cxx -CXXOBJS = $(CXXSRCS:.cxx=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) $(CXXSRCS) -OBJS = $(AOBJS) $(COBJS) $(CXXOBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) -.PHONY: clean depend chkcxx - -chkcxx: -ifneq ($(CONFIG_HAVE_CXX),y) - @echo "" - @echo "In order to use this example, you toolchain must support must" - @echo "" - @echo " (1) Explicitly seelct CONFIG_HAVE_CXX to build in C++ support" - @echo " (2) Define CXX, CXXFLAGS, and COMPILEXX in the Make.defs file" - @echo " of the configuration that you are using." - @echo "" - @exit 1 -endif - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(CXXOBJS): %$(OBJEXT): %.cxx - $(call COMPILEXX, $<, $@) - -$(BIN): chkcxx $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/helloxx/main.cxx b/nuttx/examples/helloxx/main.cxx deleted file mode 100755 index df84375a25..0000000000 --- a/nuttx/examples/helloxx/main.cxx +++ /dev/null @@ -1,128 +0,0 @@ -//*************************************************************************** -// examples/helloxx/main.c -// -// Copyright (C) 2009 Gregory Nutt. All rights reserved. -// Author: Gregory Nutt <spudmonkey@racsa.co.cr> -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in -// the documentation and/or other materials provided with the -// distribution. -// 3. Neither the name NuttX nor the names of its contributors may be -// used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -// AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// -//*************************************************************************** - -//*************************************************************************** -// Included Files -//*************************************************************************** - -#include <nuttx/config.h> -#include <nuttx/init.h> -#include <cstdio> -#include <debug.h> - -//*************************************************************************** -// Definitions -//*************************************************************************** - -//*************************************************************************** -// Private Classes -//*************************************************************************** - -class CHelloWorld -{ - public: - CHelloWorld(void) : mSecret(42) { lldbg("Constructor\n"); }; - ~CHelloWorld(void) { lldbg("Destructor\n"); }; - - bool HelloWorld(void) - { - if (mSecret != 42) - { - printf("CONSTRUCTION FAILED!\n"); - return false; - } - else - { - printf("Hello, World!!\n"); - return true; - } - }; - - private: - int mSecret; -}; - -//*************************************************************************** -// Private Data -//*************************************************************************** - -#ifndef CONFIG_EXAMPLE_HELLOXX_NOSTATICCONST -static CHelloWorld g_HelloWorld; -#endif - -//*************************************************************************** -// Public Functions -//*************************************************************************** - -//*************************************************************************** -// user_initialize -//*************************************************************************** - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - // Stub that must be provided only if the toolchain does not support weak - // functions. -} -#endif - -//*************************************************************************** -// user_start -//*************************************************************************** - -int user_start(int argc, char *argv[]) -{ -#ifndef CONFIG_EXAMPLE_HELLOXX_NOSTACKCONST - CHelloWorld HelloWorld; -#endif - CHelloWorld *pHelloWorld = new CHelloWorld; - - printf("Saying hello from the dynamically constructed instance\n"); - pHelloWorld->HelloWorld(); - -#ifndef CONFIG_EXAMPLE_HELLOXX_NOSTACKCONST - printf("Saying hello from the statically constructed instance\n"); - HelloWorld.HelloWorld(); -#endif - -#ifndef CONFIG_EXAMPLE_HELLOXX_NOSTATICCONST - printf("Saying hello from the statically constructed instance\n"); - g_HelloWorld.HelloWorld(); -#endif - - delete pHelloWorld; - return 0; -} - diff --git a/nuttx/examples/hidkbd/hidkbd_main.c b/nuttx/examples/hidkbd/hidkbd_main.c deleted file mode 100644 index 0a082f67cb..0000000000 --- a/nuttx/examples/hidkbd/hidkbd_main.c +++ /dev/null @@ -1,239 +0,0 @@ -/**************************************************************************** - * examples/hidkbd/null_main.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <sys/stat.h> - -#include <stdio.h> -#include <unistd.h> -#include <fcntl.h> -#include <sched.h> -#include <errno.h> - -#include <nuttx/usb/usbhost.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ -/* Configuration ************************************************************/ - -/* Sanity checking */ - -#ifndef CONFIG_USBHOST -# error "CONFIG_USBHOST is not defined" -#endif - -#ifdef CONFIG_USBHOST_INT_DISABLE -# error "Interrupt endpoints are disabled (CONFIG_USBHOST_INT_DISABLE)" -#endif - -#ifndef CONFIG_NFILE_DESCRIPTORS -# error "CONFIG_NFILE_DESCRIPTORS > 0 needed" -#endif - -/* Provide some default values for other configuration settings */ - -#ifndef CONFIG_EXAMPLES_HIDKBD_DEFPRIO -# define CONFIG_EXAMPLES_HIDKBD_DEFPRIO 50 -#endif - -#ifndef CONFIG_EXAMPLES_HIDKBD_STACKSIZE -# define CONFIG_EXAMPLES_HIDKBD_STACKSIZE 1024 -#endif - -#ifndef CONFIG_EXAMPLES_HIDKBD_DEVNAME -# define CONFIG_EXAMPLES_HIDKBD_DEVNAME "/dev/kbda" -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static struct usbhost_driver_s *g_drvr; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: hidkbd_waiter - * - * Description: - * Wait for USB devices to be connected. - * - ****************************************************************************/ - -static int hidkbd_waiter(int argc, char *argv[]) -{ - bool connected = false; - int ret; - - printf("hidkbd_waiter: Running\n"); - for (;;) - { - /* Wait for the device to change state */ - - ret = DRVR_WAIT(g_drvr, connected); - DEBUGASSERT(ret == OK); - - connected = !connected; - printf("hidkbd_waiter: %s\n", connected ? "connected" : "disconnected"); - - /* Did we just become connected? */ - - if (connected) - { - /* Yes.. enumerate the newly connected device */ - - (void)DRVR_ENUMERATE(g_drvr); - } - } - - /* Keep the compiler from complaining */ - - return 0; -} - -/**************************************************************************** - * Name: user_initialize - ****************************************************************************/ - -void user_initialize(void) -{ -} - -/**************************************************************************** - * Name: user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - char buffer[256]; - pid_t pid; - ssize_t nbytes; - int fd; - int ret; - - /* First, register all of the USB host HID keyboard class driver */ - - printf("user_start: Register class drivers\n"); - ret = usbhost_kbdinit(); - if (ret != OK) - { - printf("user_start: Failed to register the KBD class\n"); - } - - /* Then get an instance of the USB host interface */ - - printf("user_start: Initialize USB host keyboard driver\n"); - g_drvr = usbhost_initialize(0); - if (g_drvr) - { - /* Start a thread to handle device connection. */ - - printf("user_start: Start hidkbd_waiter\n"); - -#ifndef CONFIG_CUSTOM_STACK - pid = task_create("usbhost", CONFIG_EXAMPLES_HIDKBD_DEFPRIO, - CONFIG_EXAMPLES_HIDKBD_STACKSIZE, - (main_t)hidkbd_waiter, (const char **)NULL); -#else - pid = task_create("usbhost", CONFIG_EXAMPLES_HIDKBD_DEFPRIO, - (main_t)hidkbd_waiter, (const char **)NULL); -#endif - - /* Now just sleep. Eventually logic here will open the kbd device and - * perform the HID keyboard test. - */ - - for (;;) - { - /* Open the keyboard device. Loop until the device is successfully - * opened. - */ - - do - { - printf("Opening device %s\n", CONFIG_EXAMPLES_HIDKBD_DEVNAME); - fd = open(CONFIG_EXAMPLES_HIDKBD_DEVNAME, O_RDONLY); - if (fd < 0) - { - printf("Failed: %d\n", errno); - fflush(stdout); - sleep(3); - } - } - while (fd < 0); - - printf("Device %s opened\n", CONFIG_EXAMPLES_HIDKBD_DEVNAME); - fflush(stdout); - - /* Loop until there is a read failure */ - - do - { - /* Read a buffer of data */ - - nbytes = read(fd, buffer, 256); - if (nbytes > 0) - { - /* On success, echo the buffer to stdout */ - - (void)write(1, buffer, nbytes); - } - } - while (nbytes >= 0); - - printf("Closing device %s: %d\n", CONFIG_EXAMPLES_HIDKBD_DEVNAME, (int)nbytes); - fflush(stdout); - close(fd); - } - } - return 0; -} diff --git a/nuttx/examples/igmp/Makefile b/nuttx/examples/igmp/Makefile deleted file mode 100755 index b1e92b942d..0000000000 --- a/nuttx/examples/igmp/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -############################################################################ -# examples/igmp/Makefile -# -# Copyright (C) 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) - -CSRCS = igmp.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) $(HOST_BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/igmp/igmp.c b/nuttx/examples/igmp/igmp.c deleted file mode 100755 index 734a7e599a..0000000000 --- a/nuttx/examples/igmp/igmp.c +++ /dev/null @@ -1,155 +0,0 @@ -/**************************************************************************** - * examples/igmp/igmp.c - * - * Copyright (C) 2010-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdio.h> -#include <unistd.h> -#include <debug.h> - -#include <net/if.h> -#include <net/uip/uip.h> -#include <apps/netutils/uiplib.h> -#include <apps/netutils/ipmsfilter.h> - -#include "igmp.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/* Check if the destination address is a multicast address - * - * - IPv4: multicast addresses lie in the class D group -- The address range - * 224.0.0.0 to 239.255.255.255 (224.0.0.0/4) - * - * - IPv6 multicast addresses are have the high-order octet of the - * addresses=0xff (ff00::/8.) - */ - -#if ((CONFIG_EXAMPLE_IGMP_GRPADDR & 0xffff0000) < 0xe0000000ul) || \ - ((CONFIG_EXAMPLE_IGMP_GRPADDR & 0xffff0000) > 0xeffffffful) -# error "Bad range for IGMP group address" -#endif - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - /* Stub that must be provided only if the toolchain does - * not support weak functions. - */ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - struct in_addr addr; -#if defined(CONFIG_EXAMPLE_IGMP_NOMAC) - uint8_t mac[IFHWADDRLEN]; -#endif - - message("Configuring Ethernet...\n"); - - /* Many embedded network interfaces must have a software assigned MAC */ - -#ifdef CONFIG_EXAMPLE_IGMP_NOMAC - mac[0] = 0x00; - mac[1] = 0xe0; - mac[2] = 0xb0; - mac[3] = 0x0b; - mac[4] = 0xba; - mac[5] = 0xbe; - uip_setmacaddr("eth0", mac); -#endif - - /* Set up our host address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_IGMP_IPADDR); - uip_sethostaddr("eth0", &addr); - - /* Set up the default router address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_IGMP_DRIPADDR); - uip_setdraddr("eth0", &addr); - - /* Setup the subnet mask */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_IGMP_NETMASK); - uip_setnetmask("eth0", &addr); - - /* Not much of a test for now */ - /* Join the group */ - - message("Join group...\n"); - addr.s_addr = HTONL(CONFIG_EXAMPLE_IGMP_GRPADDR); - ipmsfilter("eth0", &addr, MCAST_INCLUDE); - - /* Wait a while */ - - message("Wait for timeout...\n"); - sleep(5); - - /* Leave the group */ - - message("Leave group...\n"); - ipmsfilter("eth0", &addr, MCAST_EXCLUDE); - - /* Wait a while */ - - sleep(5); - message("Exiting...\n"); - return 0; -} diff --git a/nuttx/examples/igmp/igmp.h b/nuttx/examples/igmp/igmp.h deleted file mode 100755 index e241467c6f..0000000000 --- a/nuttx/examples/igmp/igmp.h +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** - * examples/igmp/igmp.h - * - * Copyright (C) 2010 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __EXAMPLES_IGMP_H -#define __EXAMPLES_IGMP_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <debug.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/* Used lib_rawprintf() so that there is no confusion from buffered IO */ - -#ifdef CONFIG_CPP_HAVE_VARARGS -# define message(...) lib_rawprintf(__VA_ARGS__) -#else -# define message lib_rawprintf -#endif - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -#endif /* __EXAMPLES_IGMP_H */ diff --git a/nuttx/examples/mm/mm_main.c b/nuttx/examples/mm/mm_main.c deleted file mode 100644 index 0e23e0cfb4..0000000000 --- a/nuttx/examples/mm/mm_main.c +++ /dev/null @@ -1,308 +0,0 @@ -/**************************************************************************** - * examples/mm/mm_main.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -#define NTEST_ALLOCS 32 - -/* #define STOP_ON_ERRORS do{}while(0) */ -#define STOP_ON_ERRORS exit(1) - -/* All other definitions derive from these two */ - -#define MM_MIN_SHIFT 4 /* 16 bytes */ -#define MM_MIN_CHUNK (1 << MM_MIN_SHIFT) -#define MM_GRAN_MASK (MM_MIN_CHUNK-1) -#define MM_ALIGN_UP(a) (((a) + MM_GRAN_MASK) & ~MM_GRAN_MASK) -#define MM_ALIGN_DOWN(a) ((a) & ~MM_GRAN_MASK) - -#ifdef CONFIG_SMALL_MEMORY -# define SIZEOF_MM_ALLOCNODE 4 -#else -# define SIZEOF_MM_ALLOCNODE 8 -#endif - -/**************************************************************************** - * Private Data - ****************************************************************************/ -/* Test allocations */ - -static const int alloc_sizes[NTEST_ALLOCS] = -{ - 1024, 12, 962, 5692, 10254, 111, 9932, 601, - 222, 2746, 3, 124321, 68, 776, 6750, 852, - 4732, 28, 901, 480, 5011, 1536, 2011, 81647, - 646, 1646, 69179, 194, 2590, 7, 969, 70 -}; - -static const int realloc_sizes[NTEST_ALLOCS] = -{ - 18, 3088, 963, 123, 511, 11666, 3723, 42, - 9374, 1990, 1412, 6, 592, 4088, 11, 5040, - 8663, 91255, 28, 4346, 9172, 168, 229, 4734, - 59139, 221, 7830, 30421, 1666, 4, 812, 416 -}; - -static const int random1[NTEST_ALLOCS] = -{ - 20, 11, 3, 31, 9, 29, 7, 17, - 21, 2, 26, 18, 14, 25, 0, 10, - 27, 19, 22, 28, 8, 30, 12, 15, - 4, 1, 24, 6, 16, 13, 5, 23 -}; - -static const int random2[NTEST_ALLOCS] = -{ - 2, 19, 12, 23, 30, 11, 27, 4, - 20, 7, 0, 16, 28, 15, 5, 24, - 10, 17, 25, 31, 8, 29, 3, 26, - 9, 18, 22, 13, 1, 21, 14, 6 -}; - -static const int random3[NTEST_ALLOCS] = -{ - 8, 17, 3, 18, 26, 23, 30, 11, - 12, 22, 4, 20, 25, 10, 27, 1, - 29, 14, 19, 21, 0, 31, 7, 24, - 9, 15, 2, 28, 16, 6, 13, 5 -}; - -static const int alignment[NTEST_ALLOCS/2] = -{ - 128, 2048, 131072, 8192, 32, 32768, 16384 , 262144, - 512, 4096, 65536, 8, 64, 1024, 16, 4 -}; - -static void *allocs[NTEST_ALLOCS]; -static struct mallinfo alloc_info; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -static void mm_showmallinfo(void) -{ - alloc_info = mallinfo(); - printf(" mallinfo:\n"); - printf(" Total space allocated from system = %ld\n", - alloc_info.arena); - printf(" Number of non-inuse chunks = %ld\n", - alloc_info.ordblks); - printf(" Largest non-inuse chunk = %ld\n", - alloc_info.mxordblk); - printf(" Total allocated space = %ld\n", - alloc_info.uordblks); - printf(" Total non-inuse space = %ld\n", - alloc_info.fordblks); -} - -static void do_mallocs(void **mem, const int *size, const int *seq, int n) -{ - int i; - int j; - - for (i = 0; i < n; i++) - { - j = seq[i]; - if (!mem[j]) - { - printf("(%d)Allocating %d bytes\n", i, size[j]); - mem[j] = malloc(size[j]); - printf("(%d)Memory allocated at %p\n", i, mem[j]); - if (mem[j] == NULL) - { - int allocsize = MM_ALIGN_UP(size[j] + SIZEOF_MM_ALLOCNODE); - fprintf(stderr, "(%d)malloc failed for allocsize=%d\n", i, allocsize); - if (allocsize > alloc_info.mxordblk) - { - fprintf(stderr, " Normal, largest free block is only %ld\n", alloc_info.mxordblk); - } - else - { - fprintf(stderr, " ERROR largest free block is %ld\n", alloc_info.mxordblk); - exit(1); - } - } - else - { - memset(mem[j], 0xAA, size[j]); - } - - mm_showmallinfo(); - } - } -} - -static void do_reallocs(void **mem, const int *oldsize, const int *newsize, const int *seq, int n) -{ - int i; - int j; - - for (i = 0; i < n; i++) - { - j = seq[i]; - printf("(%d)Re-allocating at %p from %d to %d bytes\n", - i, mem[j], oldsize[j], newsize[j]); - mem[j] = realloc(mem[j], newsize[j]); - printf("(%d)Memory re-allocated at %p\n", i, mem[j]); - if (mem[j] == NULL) - { - int allocsize = MM_ALIGN_UP(newsize[j] + SIZEOF_MM_ALLOCNODE); - fprintf(stderr, "(%d)realloc failed for allocsize=%d\n", i, allocsize); - if (allocsize > alloc_info.mxordblk) - { - fprintf(stderr, " Normal, largest free block is only %ld\n", alloc_info.mxordblk); - } - else - { - fprintf(stderr, " ERROR largest free block is %ld\n", alloc_info.mxordblk); - exit(1); - } - } - else - { - memset(mem[j], 0x55, newsize[j]); - } - - mm_showmallinfo(); - } -} - -static void do_memaligns(void **mem, const int *size, const int *align, const int *seq, int n) -{ - int i; - int j; - - for (i = 0; i < n; i++) - { - j = seq[i]; - printf("(%d)Allocating %d bytes aligned to 0x%08x\n", - i, size[j], align[i]); - mem[j] = memalign(align[i], size[j]); - printf("(%d)Memory allocated at %p\n", i, mem[j]); - if (mem[j] == NULL) - { - int allocsize = MM_ALIGN_UP(size[j] + SIZEOF_MM_ALLOCNODE) + 2*align[i]; - fprintf(stderr, "(%d)memalign failed for allocsize=%d\n", i, allocsize); - if (allocsize > alloc_info.mxordblk) - { - fprintf(stderr, " Normal, largest free block is only %ld\n", alloc_info.mxordblk); - } - else - { - fprintf(stderr, " ERROR largest free block is %ld\n", alloc_info.mxordblk); - exit(1); - } - } - else - { - memset(mem[j], 0x33, size[j]); - } - - mm_showmallinfo(); - } -} - -static void do_frees(void **mem, const int *size, const int *seq, int n) -{ - int i; - int j; - - for (i = 0; i < n; i++) - { - j = seq[i]; - printf("(%d)Releasing memory at %p (size=%d bytes)\n", - i, mem[j], size[j]); - free(mem[j]); - mem[j] = NULL; - - mm_showmallinfo(); - } -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: user_initialize - ****************************************************************************/ - -void user_initialize(void) -{ -} - -/**************************************************************************** - * Name: user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - mm_showmallinfo(); - - /* Allocate some memory */ - - do_mallocs(allocs, alloc_sizes, random1, NTEST_ALLOCS); - - /* Re-allocate the memory */ - - do_reallocs(allocs, alloc_sizes, realloc_sizes, random2, NTEST_ALLOCS); - - /* Release the memory */ - - do_frees(allocs, realloc_sizes, random3, NTEST_ALLOCS); - - /* Allocate aligned memory */ - - do_memaligns(allocs, alloc_sizes, alignment, random2, NTEST_ALLOCS/2); - do_memaligns(allocs, alloc_sizes, alignment, &random2[NTEST_ALLOCS/2], NTEST_ALLOCS/2); - - /* Release aligned memory */ - - do_frees(allocs, alloc_sizes, random1, NTEST_ALLOCS); - - printf("TEST COMPLETE\n"); - return 0; -} diff --git a/nuttx/examples/mount/Makefile b/nuttx/examples/mount/Makefile deleted file mode 100644 index 31067966e8..0000000000 --- a/nuttx/examples/mount/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -############################################################################ -# Makefile -# -# Copyright (C) 2007-2008, 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = mount_main.c ramdisk.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/mount/mount.h b/nuttx/examples/mount/mount.h deleted file mode 100644 index 68a03674da..0000000000 --- a/nuttx/examples/mount/mount.h +++ /dev/null @@ -1,96 +0,0 @@ -/**************************************************************************** - * examples/mount/mount.h - * - * Copyright (C) 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __EXAMPLES_MOUNT_MOUNT_H -#define __EXAMPLES_MOUNT_MOUNT_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/* Configure the test */ - -#if defined(CONFIG_EXAMPLES_MOUNT_DEVNAME) -# if !defined(CONFIG_FS_WRITABLE) -# error "Writable filesystem required in this configuration" -# endif -# undef CONFIG_EXAMPLES_MOUNT_NSECTORS -# undef CONFIG_EXAMPLES_MOUNT_SECTORSIZE -# undef CONFIG_EXAMPLES_MOUNT_RAMDEVNO -# define MOUNT_DEVNAME CONFIG_EXAMPLES_MOUNT_DEVNAME -#else -# if !defined(CONFIG_FS_FAT) -# error "CONFIG_FS_FAT required in this configuration" -# endif -# if !defined(CONFIG_EXAMPLES_MOUNT_SECTORSIZE) -# define CONFIG_EXAMPLES_MOUNT_SECTORSIZE 512 -# endif -# if !defined(CONFIG_EXAMPLES_MOUNT_NSECTORS) -# define CONFIG_EXAMPLES_MOUNT_NSECTORS 2048 -# endif -# if !defined(CONFIG_EXAMPLES_MOUNT_RAMDEVNO) -# define CONFIG_EXAMPLES_MOUNT_RAMDEVNO 0 -# endif -# define STR_RAMDEVNO(m) #m -# define MKMOUNT_DEVNAME(m) "/dev/ram" STR_RAMDEVNO(m) -# define MOUNT_DEVNAME MKMOUNT_DEVNAME(CONFIG_EXAMPLES_MOUNT_RAMDEVNO) -#endif - - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Variables - ****************************************************************************/ - -extern const char g_source[]; /* Mount 'source' path */ - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -#ifndef CONFIG_EXAMPLES_MOUNT_DEVNAME -extern int create_ramdisk(void); -#endif - -#endif /* __EXAMPLES_MOUNT_MOUNT_H */ diff --git a/nuttx/examples/mount/mount_main.c b/nuttx/examples/mount/mount_main.c deleted file mode 100644 index 05bda81509..0000000000 --- a/nuttx/examples/mount/mount_main.c +++ /dev/null @@ -1,762 +0,0 @@ -/**************************************************************************** - * mount_main.c - * - * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <sys/mount.h> -#include <sys/stat.h> -#include <sys/statfs.h> - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <fcntl.h> -#include <dirent.h> -#include <errno.h> - -#include "mount.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#define TEST_USE_STAT 1 -#define TEST_SHOW_DIRECTORIES 1 -#define TEST_USE_STATFS 1 - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const char g_mntdir[] = "/mnt"; -static const char g_target[] = "/mnt/fs"; -static const char g_filesystemtype[] = "vfat"; - -static const char g_testdir1[] = "/mnt/fs/TestDir"; -static const char g_testdir2[] = "/mnt/fs/NewDir1"; -static const char g_testdir3[] = "/mnt/fs/NewDir2"; -static const char g_testdir4[] = "/mnt/fs/NewDir3"; -#ifdef CONFIG_EXAMPLES_MOUNT_DEVNAME -static const char g_testfile1[] = "/mnt/fs/TestDir/TestFile.txt"; -#endif -static const char g_testfile2[] = "/mnt/fs/TestDir/WrTest1.txt"; -static const char g_testfile3[] = "/mnt/fs/NewDir1/WrTest2.txt"; -static const char g_testfile4[] = "/mnt/fs/NewDir3/Renamed.txt"; -static const char g_testmsg[] = "This is a write test"; - -static int g_nerrors = 0; - -static char g_namebuffer[256]; - -/**************************************************************************** - * Public Data - ****************************************************************************/ - - const char g_source[] = MOUNT_DEVNAME; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -#ifdef TEST_USE_STAT -static void show_stat(const char *path, struct stat *ps) -{ - printf("%s stat:\n", path); - printf("\tmode : %08x\n", ps->st_mode); - if (S_ISREG(ps->st_mode)) - { - printf("\ttype : File\n"); - } - else if (S_ISDIR(ps->st_mode)) - { - printf("\ttype : Directory\n"); - } - else if (S_ISCHR(ps->st_mode)) - { - printf("\ttype : Character driver\n"); - } - else if (S_ISBLK(ps->st_mode)) - { - printf("\ttype : Block driver\n"); - } - else - { - printf("\ttype : Unknown\n"); - } - - printf("\tsize : %d (bytes)\n", ps->st_size); - printf("\tblock size : %d (bytes)\n", ps->st_blksize); - printf("\tsize : %d (blocks)\n", ps->st_blocks); - printf("\taccess time : %d\n", ps->st_atime); - printf("\tmodify time : %d\n", ps->st_mtime); - printf("\tchange time : %d\n", ps->st_ctime); -} -#endif - -/**************************************************************************** - * Name: show_statfs - ****************************************************************************/ - -#ifdef TEST_USE_STATFS -static void show_statfs(const char *path) -{ - struct statfs buf; - int ret; - - /* Try stat() against a file or directory. It should fail with expectederror */ - - printf("show_statfs: Try statfs(%s)\n", path); - ret = statfs(path, &buf); - if (ret == 0) - { - printf("show_statfs: statfs(%s) succeeded\n", path); - printf("\tFS Type : %0x\n", buf.f_type); - printf("\tBlock size : %d\n", buf.f_bsize); - printf("\tNumber of blocks : %d\n", buf.f_blocks); - printf("\tFree blocks : %d\n", buf.f_bfree); - printf("\tFree user blocks : %d\n", buf.f_bavail); - printf("\tNumber file nodes : %d\n", buf.f_files); - printf("\tFree file nodes : %d\n", buf.f_ffree); - printf("\tFile name length : %d\n", buf.f_namelen); - } - else - { - printf("show_statfs: ERROR statfs(%s) failed with errno=%d\n", - path, errno); - g_nerrors++; - } -} -#else -# define show_statfs(p) -#endif - -/**************************************************************************** - * Name: show_directories - ****************************************************************************/ - -#ifdef TEST_SHOW_DIRECTORIES -static void show_directories(const char *path, int indent) -{ - DIR *dirp; - struct dirent *direntry; - int i; - - dirp = opendir(path); - if ( !dirp ) - { - printf("show_directories: ERROR opendir(\"%s\") failed with errno=%d\n", - path, errno); - g_nerrors++; - return; - } - - for (direntry = readdir(dirp); direntry; direntry = readdir(dirp)) - { - for (i = 0; i < 2*indent; i++) - { - putchar(' '); - } - if (DIRENT_ISDIRECTORY(direntry->d_type)) - { - char *subdir; - printf("%s/\n", direntry->d_name); - sprintf(g_namebuffer, "%s/%s", path, direntry->d_name); - subdir = strdup(g_namebuffer); - show_directories( subdir, indent + 1); - free(subdir); - } - else - { - printf("%s\n", direntry->d_name); - } - } - - closedir(dirp); -} -#else -# define show_directories(p,i) -#endif - -/**************************************************************************** - * Name: fail_read_open - ****************************************************************************/ -#ifdef CONFIG_EXAMPLES_MOUNT_DEVNAME -static void fail_read_open(const char *path, int expectederror) -{ - int fd; - - printf("fail_read_open: Try open(%s) for reading\n", path); - - fd = open(path, O_RDONLY); - if (fd >= 0) - { - printf("fail_read_open: ERROR open(%s) succeeded\n", path); - g_nerrors++; - close(fd); - } - else if (errno != expectederror) - { - printf("fail_read_open: ERROR open(%s) failed with errno=%d (expected %d)\n", - path, errno, expectederror); - g_nerrors++; - } -} -#endif - -/**************************************************************************** - * Name: read_test_file - ****************************************************************************/ - -static void read_test_file(const char *path) -{ - char buffer[128]; - int nbytes; - int fd; - - /* Read a test file that is already on the test file system image */ - - printf("read_test_file: opening %s for reading\n", path); - - fd = open(path, O_RDONLY); - if (fd < 0) - { - printf("read_test_file: ERROR failed to open %s, errno=%d\n", - path, errno); - g_nerrors++; - } - else - { - memset(buffer, 0, 128); - nbytes = read(fd, buffer, 128); - if (nbytes < 0) - { - printf("read_test_file: ERROR failed to read from %s, errno=%d\n", - path, errno); - g_nerrors++; - } - else - { - buffer[127]='\0'; - printf("read_test_file: Read \"%s\" from %s\n", buffer, path); - } - close(fd); - } -} - -/**************************************************************************** - * Name: write_test_file - ****************************************************************************/ - -static void write_test_file(const char *path) -{ - int fd; - - /* Write a test file into a pre-existing file on the test file system */ - - printf("write_test_file: opening %s for writing\n", path); - - fd = open(path, O_WRONLY|O_CREAT|O_TRUNC, 0644); - if (fd < 0) - { - printf("write_test_file: ERROR failed to open %s for writing, errno=%d\n", - path, errno); - g_nerrors++; - } - else - { - int nbytes = write(fd, g_testmsg, strlen(g_testmsg)); - if (nbytes < 0) - { - printf("write_test_file: ERROR failed to write to %s, errno=%d\n", - path, errno); - g_nerrors++; - } - else - { - printf("write_test_file: wrote %d bytes to %s\n", nbytes, path); - } - close(fd); - } -} - -/**************************************************************************** - * Name: fail_mkdir - ****************************************************************************/ - -static void fail_mkdir(const char *path, int expectederror) -{ - int ret; - - /* Try mkdir() against a file or directory. It should fail with expectederror */ - - printf("fail_mkdir: Try mkdir(%s)\n", path); - - ret = mkdir(path, 0666); - if (ret == 0) - { - printf("fail_mkdir: ERROR mkdir(%s) succeeded\n", path); - g_nerrors++; - } - else if (errno != expectederror) - { - printf("fail_mkdir: ERROR mkdir(%s) failed with errno=%d (expected %d)\n", - path, errno, expectederror); - g_nerrors++; - } -} - -/**************************************************************************** - * Name: succeed_mkdir - ****************************************************************************/ - -static void succeed_mkdir(const char *path) -{ - int ret; - - printf("succeed_mkdir: Try mkdir(%s)\n", path); - - ret = mkdir(path, 0666); - if (ret != 0) - { - printf("succeed_mkdir: ERROR mkdir(%s) failed with errno=%d\n", - path, errno); - g_nerrors++; - } -} - -/**************************************************************************** - * Name: fail_rmdir - ****************************************************************************/ - -static void fail_rmdir(const char *path, int expectederror) -{ - int ret; - - /* Try rmdir() against a file or directory. It should fail with expectederror */ - - printf("fail_rmdir: Try rmdir(%s)\n", path); - - ret = rmdir(path); - if (ret == 0) - { - printf("fail_rmdir: ERROR rmdir(%s) succeeded\n", path); - g_nerrors++; - } - else if (errno != expectederror) - { - printf("fail_rmdir: ERROR rmdir(%s) failed with errno=%d (expected %d)\n", - path, errno, expectederror); - g_nerrors++; - } -} - -/**************************************************************************** - * Name: succeed_rmdir - ****************************************************************************/ - -static void succeed_rmdir(const char *path) -{ - int ret; - - printf("succeed_rmdir: Try rmdir(%s)\n", path); - - ret = rmdir(path); - if (ret != 0) - { - printf("succeed_rmdir: ERROR rmdir(%s) failed with errno=%d\n", - path, errno); - g_nerrors++; - } -} - -/**************************************************************************** - * Name: fail_unlink - ****************************************************************************/ - -static void fail_unlink(const char *path, int expectederror) -{ - int ret; - - /* Try unlink() against a file or directory. It should fail with expectederror */ - - printf("fail_unlink: Try unlink(%s)\n", path); - - ret = unlink(path); - if (ret == 0) - { - printf("fail_unlink: ERROR unlink(%s) succeeded\n", path); - g_nerrors++; - } - else if (errno != expectederror) - { - printf("fail_unlink: ERROR unlink(%s) failed with errno=%d (expected %d)\n", - path, errno, expectederror); - g_nerrors++; - } -} - -/**************************************************************************** - * Name: succeed_unlink - ****************************************************************************/ - -static void succeed_unlink(const char *path) -{ - int ret; - - /* Try unlink() against the test file. It should succeed. */ - - printf("succeed_unlink: Try unlink(%s)\n", path); - - ret = unlink(path); - if (ret != 0) - { - printf("succeed_unlink: ERROR unlink(%s) failed with errno=%d\n", - path, errno); - g_nerrors++; - } -} - -/**************************************************************************** - * Name: fail_rename - ****************************************************************************/ - -static void fail_rename(const char *oldpath, const char *newpath, int expectederror) -{ - int ret; - - /* Try rename() against a file or directory. It should fail with expectederror */ - - printf("fail_rename: Try rename(%s->%s)\n", oldpath, newpath); - - ret = rename(oldpath, newpath); - if (ret == 0) - { - printf("fail_rename: ERROR rename(%s->%s) succeeded\n", - oldpath, newpath); - g_nerrors++; - } - else if (errno != expectederror) - { - printf("fail_rename: ERROR rename(%s->%s) failed with errno=%d (expected %d)\n", - oldpath, newpath, errno, expectederror); - g_nerrors++; - } -} - -/**************************************************************************** - * Name: succeed_rename - ****************************************************************************/ - -static void succeed_rename(const char *oldpath, const char *newpath) -{ - int ret; - - printf("succeed_rename: Try rename(%s->%s)\n", oldpath, newpath); - - ret = rename(oldpath, newpath); - if (ret != 0) - { - printf("succeed_rename: ERROR rename(%s->%s) failed with errno=%d\n", - oldpath, newpath, errno); - g_nerrors++; - } -} - -/**************************************************************************** - * Name: fail_stat - ****************************************************************************/ - -#ifdef TEST_USE_STAT -static void fail_stat(const char *path, int expectederror) -{ - struct stat buf; - int ret; - - /* Try stat() against a file or directory. It should fail with expectederror */ - - printf("fail_stat: Try stat(%s)\n", path); - - ret = stat(path, &buf); - if (ret == 0) - { - printf("fail_stat: ERROR stat(%s) succeeded\n", path); - show_stat(path, &buf); - g_nerrors++; - } - else if (errno != expectederror) - { - printf("fail_stat: ERROR stat(%s) failed with errno=%d (expected %d)\n", - path, errno, expectederror); - g_nerrors++; - } -} -#else -# define fail_stat(p,e); -#endif - -/**************************************************************************** - * Name: succeed_stat - ****************************************************************************/ - -#ifdef TEST_USE_STAT -static void succeed_stat(const char *path) -{ - struct stat buf; - int ret; - - printf("succeed_stat: Try stat(%s)\n", path); - - ret = stat(path, &buf); - if (ret != 0) - { - printf("succeed_stat: ERROR stat(%s) failed with errno=%d\n", - path, errno); - g_nerrors++; - } - else - { - printf("succeed_stat: stat(%s) succeeded\n", path); - show_stat(path, &buf); - } -} -#else -#define succeed_stat(p) -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: user_initialize - ****************************************************************************/ - -void user_initialize(void) -{ -} - -/**************************************************************************** - * Name: user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - int ret; - -#ifndef CONFIG_EXAMPLES_MOUNT_DEVNAME - /* Create a RAM disk for the test */ - - ret = create_ramdisk(); - if (ret < 0) - { - printf("user_start: ERROR failed to create RAM disk\n"); - return 1; - } -#endif - - /* Mount the test file system (see arch/sim/src/up_deviceimage.c */ - - printf("user_start: mounting %s filesystem at target=%s with source=%s\n", - g_filesystemtype, g_target, g_source); - - ret = mount(g_source, g_target, g_filesystemtype, 0, NULL); - printf("user_start: mount() returned %d\n", ret); - - if (ret == 0) - { - show_statfs(g_mntdir); - show_statfs(g_target); - -#ifdef CONFIG_EXAMPLES_MOUNT_DEVNAME - /* Read a test file that is already on the test file system image */ - - show_directories("", 0); - succeed_stat(g_testfile1); - show_statfs(g_testfile1); - read_test_file(g_testfile1); -#else - /* Create the test directory that would have been on the canned filesystem */ - - succeed_mkdir(g_testdir1); - show_directories("", 0); - succeed_stat(g_testdir1); - show_statfs(g_testdir1); -#endif - - /* Write a test file into a pre-existing directory on the test file system */ - - fail_stat(g_testfile2, ENOENT); - write_test_file(g_testfile2); - show_directories("", 0); - succeed_stat(g_testfile2); - show_statfs(g_testfile2); - - /* Read the file that we just wrote */ - - read_test_file(g_testfile2); - - /* Try rmdir() against a file on the directory. It should fail with ENOTDIR */ -#ifdef CONFIG_EXAMPLES_MOUNT_DEVNAME - fail_rmdir(g_testfile1, ENOTDIR); -#endif - - /* Try rmdir() against the test directory. It should fail with ENOTEMPTY */ - - fail_rmdir(g_testdir1, ENOTEMPTY); - - /* Try unlink() against the test directory. It should fail with EISDIR */ - - fail_unlink(g_testdir1, EISDIR); - - /* Try unlink() against the test file1. It should succeed. */ -#ifdef CONFIG_EXAMPLES_MOUNT_DEVNAME - succeed_unlink(g_testfile1); - fail_stat(g_testfile1, ENOENT); - show_directories("", 0); -#endif - - /* Attempt to open testfile1 should fail with ENOENT */ -#ifdef CONFIG_EXAMPLES_MOUNT_DEVNAME - fail_read_open(g_testfile1, ENOENT); -#endif - /* Try rmdir() against the test directory. It should still fail with ENOTEMPTY */ - - fail_rmdir(g_testdir1, ENOTEMPTY); - - /* Try mkdir() against the test file2. It should fail with EEXIST. */ - - fail_mkdir(g_testfile2, EEXIST); - - /* Try unlink() against the test file2. It should succeed. */ - - succeed_unlink(g_testfile2); - show_directories("", 0); - fail_stat(g_testfile2, ENOENT); - - /* Try mkdir() against the test dir1. It should fail with EEXIST. */ - - fail_mkdir(g_testdir1, EEXIST); - - /* Try rmdir() against the test directory. mkdir should now succeed. */ - - succeed_rmdir(g_testdir1); - show_directories("", 0); - fail_stat(g_testdir1, ENOENT); - - /* Try mkdir() against the test dir2. It should succeed */ - - succeed_mkdir(g_testdir2); - show_directories("", 0); - succeed_stat(g_testdir2); - show_statfs(g_testdir2); - - /* Try mkdir() against the test dir2. It should fail with EXIST */ - - fail_mkdir(g_testdir2, EEXIST); - - /* Write a test file into a new directory on the test file system */ - - fail_stat(g_testfile3, ENOENT); - write_test_file(g_testfile3); - show_directories("", 0); - succeed_stat(g_testfile3); - show_statfs(g_testfile3); - - /* Read the file that we just wrote */ - - read_test_file(g_testfile3); - - /* Use mkdir() to create test dir3. It should succeed */ - - fail_stat(g_testdir3, ENOENT); - succeed_mkdir(g_testdir3); - show_directories("", 0); - succeed_stat(g_testdir3); - show_statfs(g_testdir3); - - /* Try rename() on the root directory. Should fail with EXDEV*/ - - fail_rename(g_target, g_testdir4, EXDEV); - - /* Try rename() to an existing directory. Should fail with EEXIST */ - - fail_rename(g_testdir2, g_testdir3, EEXIST); - - /* Try rename() to a non-existing directory. Should succeed */ - - fail_stat(g_testdir4, ENOENT); - succeed_rename(g_testdir3, g_testdir4); - show_directories("", 0); - fail_stat(g_testdir3, ENOENT); - succeed_stat(g_testdir4); - show_statfs(g_testdir4); - - /* Try rename() of file. Should work. */ - - fail_stat(g_testfile4, ENOENT); - succeed_rename(g_testfile3, g_testfile4); - show_directories("", 0); - fail_stat(g_testfile3, ENOENT); - succeed_stat(g_testfile4); - show_statfs(g_testfile4); - - /* Make sure that we can still read the renamed file */ - - read_test_file(g_testfile4); - - /* Unmount the file system */ - - printf("user_start: Try unmount(%s)\n", g_target); - - ret = umount(g_target); - if (ret != 0) - { - printf("user_start: ERROR umount() failed, errno %d\n", errno); - g_nerrors++; - } - - printf("user_start: %d errors reported\n", g_nerrors); - } - - fflush(stdout); - return 0; -} diff --git a/nuttx/examples/mount/ramdisk.c b/nuttx/examples/mount/ramdisk.c deleted file mode 100644 index f596dae525..0000000000 --- a/nuttx/examples/mount/ramdisk.c +++ /dev/null @@ -1,141 +0,0 @@ -/**************************************************************************** - * examples/mount/ramdisk.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdbool.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> - -#include <nuttx/ramdisk.h> -#include <nuttx/mkfatfs.h> - -#include "mount.h" - -#ifndef CONFIG_EXAMPLES_MOUNT_DEVNAME - -/**************************************************************************** - * Private Definitions - ****************************************************************************/ - -#define BUFFER_SIZE (CONFIG_EXAMPLES_MOUNT_NSECTORS*CONFIG_EXAMPLES_MOUNT_SECTORSIZE) - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static struct fat_format_s g_fmt = FAT_FORMAT_INITIALIZER; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: create_ramdisk - * - * Description: - * Create a RAM disk of the specified size formatting with a FAT file - * system - * - * Input Parameters: - * None - * - * Return: - * Zero on success, a negated errno on failure. - * - ****************************************************************************/ - -int create_ramdisk(void) -{ - char *pbuffer; - int ret; - - /* Allocate a buffer to hold the file system image. */ - - pbuffer = (char*)malloc(BUFFER_SIZE); - if (!pbuffer) - { - printf("create_ramdisk: Failed to allocate ramdisk of size %d\n", - BUFFER_SIZE); - return -ENOMEM; - } - - /* Register a RAMDISK device to manage this RAM image */ - - ret = ramdisk_register(CONFIG_EXAMPLES_MOUNT_RAMDEVNO, - pbuffer, - CONFIG_EXAMPLES_MOUNT_NSECTORS, - CONFIG_EXAMPLES_MOUNT_SECTORSIZE, - true); - if (ret < 0) - { - printf("create_ramdisk: Failed to register ramdisk at %s: %d\n", - g_source, -ret); - free(pbuffer); - return ret; - } - - /* Create a FAT filesystem on the ramdisk */ - - ret = mkfatfs(g_source, &g_fmt); - if (ret < 0) - { - printf("create_ramdisk: Failed to create FAT filesystem on ramdisk at %s\n", - g_source); - /* free(pbuffer); -- RAM disk is registered */ - return ret; - } - - return 0; -} -#endif /* !CONFIG_EXAMPLES_MOUNT_DEVNAME */ diff --git a/nuttx/examples/nettest/Makefile b/nuttx/examples/nettest/Makefile deleted file mode 100644 index 5fda016fbd..0000000000 --- a/nuttx/examples/nettest/Makefile +++ /dev/null @@ -1,106 +0,0 @@ -############################################################################ -# examples/nettest/Makefile -# -# Copyright (C) 2007-2008, 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -TARG_ASRCS = -TARG_AOBJS = $(TARG_ASRCS:.S=$(OBJEXT)) - -TARG_CSRCS = nettest.c -ifeq ($(CONFIG_EXAMPLE_NETTEST_SERVER),y) -TARG_CSRCS += nettest_server.c -else -TARG_CSRCS += nettest_client.c -endif - -TARG_COBJS = $(TARG_CSRCS:.c=$(OBJEXT)) - -TARG_SRCS = $(TARG_ASRCS) $(TARG_CSRCS) -TARG_OBJS = $(TARG_AOBJS) $(TARG_COBJS) - -TARG_BIN = libapp$(LIBEXT) - -HOSTCFLAGS += -DCONFIG_EXAMPLE_NETTEST_HOST=1 -ifeq ($(CONFIG_EXAMPLE_NETTEST_SERVER),y) -HOSTCFLAGS += -DCONFIG_EXAMPLE_NETTEST_SERVER=1 \ - -DCONFIG_EXAMPLE_NETTEST_CLIENTIP="$(CONFIG_EXAMPLE_NETTEST_CLIENTIP)" -endif - -HOST_SRCS = host.c -ifeq ($(CONFIG_EXAMPLE_NETTEST_SERVER),y) -HOST_SRCS += nettest_client.c -else -HOST_SRCS += nettest_server.c -endif - -HOST_OBJS = $(HOST_SRCS:.c=.o) -HOST_BIN = host - -all: $(TARG_BIN) - -$(TARG_AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(TARG_COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(TARG_BIN): $(TARG_OBJS) $(HOST_BIN) - @( for obj in $(TARG_OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -$(HOST_OBJS): %.o: %.c - @echo "CC: $<" - @$(HOSTCC) -c $(HOSTCFLAGS) $< -o $@ - -$(HOST_BIN): $(HOST_OBJS) - @echo "LD: $@" - @$(HOSTCC) $(HOSTLDFLAGS) $(HOST_OBJS) -o $@ - -.depend: Makefile $(TARG_SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(TARG_SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(TARG_BIN) $(HOST_BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/nettest/host.c b/nuttx/examples/nettest/host.c deleted file mode 100644 index 8b0bffd7dd..0000000000 --- a/nuttx/examples/nettest/host.c +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** - * examples/nettest/host.c - * - * Copyright (C) 2007 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include "nettest.h" - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * main - ****************************************************************************/ - -int main(int argc, char **argv, char **envp) -{ -#ifdef CONFIG_EXAMPLE_NETTEST_SERVER - send_client(); -#else - recv_server(); -#endif - - return 0; -} diff --git a/nuttx/examples/nettest/nettest.c b/nuttx/examples/nettest/nettest.c deleted file mode 100644 index c7492fff6c..0000000000 --- a/nuttx/examples/nettest/nettest.c +++ /dev/null @@ -1,122 +0,0 @@ -/**************************************************************************** - * examples/nettest/nettest.c - * - * Copyright (C) 2007, 2009-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdio.h> -#include <debug.h> - -#include <net/if.h> -#include <net/uip/uip.h> -#include <apps/netutils/uiplib.h> - -#include "nettest.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - /* Stub that must be provided only if the toolchain does - * not support weak functions. - */ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - struct in_addr addr; -#ifdef CONFIG_EXAMPLE_NETTEST_NOMAC - uint8_t mac[IFHWADDRLEN]; -#endif - -/* Many embedded network interfaces must have a software assigned MAC */ - -#ifdef CONFIG_EXAMPLE_NETTEST_NOMAC - mac[0] = 0x00; - mac[1] = 0xe0; - mac[2] = 0xb0; - mac[3] = 0x0b; - mac[4] = 0xba; - mac[5] = 0xbe; - uip_setmacaddr("eth0", mac); -#endif - - /* Set up our host address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_NETTEST_IPADDR); - uip_sethostaddr("eth0", &addr); - - /* Set up the default router address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_NETTEST_DRIPADDR); - uip_setdraddr("eth0", &addr); - - /* Setup the subnet mask */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_NETTEST_NETMASK); - uip_setnetmask("eth0", &addr); - -#ifdef CONFIG_EXAMPLE_NETTEST_SERVER - recv_server(); -#else - send_client(); -#endif - - return 0; -} diff --git a/nuttx/examples/nettest/nettest.h b/nuttx/examples/nettest/nettest.h deleted file mode 100644 index b5b6191758..0000000000 --- a/nuttx/examples/nettest/nettest.h +++ /dev/null @@ -1,95 +0,0 @@ -/**************************************************************************** - * examples/nettest/nettest.h - * - * Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __EXAMPLES_NETTEST_H -#define __EXAMPLES_NETTEST_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLE_NETTEST_HOST -#else -# include <debug.h> -#endif - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLE_NETTEST_HOST - /* HTONS/L macros are unique to uIP */ - -# define HTONS(a) htons(a) -# define HTONL(a) htonl(a) - - /* Used printf for debug output */ - -# ifdef CONFIG_CPP_HAVE_VARARGS -# define message(...) printf(__VA_ARGS__) -# else -# define message printf -# endif - - /* Have SO_LINGER */ - -# define NETTEST_HAVE_SOLINGER 1 - -#else - - /* Used lib_rawprintf() so that there is not confusion from buffered IO */ - -# ifdef CONFIG_CPP_HAVE_VARARGS -# define message(...) lib_rawprintf(__VA_ARGS__) -# else -# define message lib_rawprintf -# endif - - /* At present, uIP does only abortive disconnects */ - -# undef NETTEST_HAVE_SOLINGER -#endif - -#define PORTNO 5471 -#define SENDSIZE 4096 - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -extern void send_client(void); -extern void recv_server(void); - -#endif /* __EXAMPLES_NETTEST_H */ diff --git a/nuttx/examples/nettest/nettest_client.c b/nuttx/examples/nettest/nettest_client.c deleted file mode 100644 index b879f84381..0000000000 --- a/nuttx/examples/nettest/nettest_client.c +++ /dev/null @@ -1,204 +0,0 @@ -/**************************************************************************** - * examples/nettest/nettest-client.c - * - * Copyright (C) 2007 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <sys/socket.h> -#include <netinet/in.h> - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <errno.h> - -#include "nettest.h" - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -void send_client(void) -{ - struct sockaddr_in myaddr; - char *outbuf; -#ifndef CONFIG_EXAMPLE_NETTEST_PERFORMANCE - char *inbuf; -#endif - int sockfd; - int nbytessent; -#ifndef CONFIG_EXAMPLE_NETTEST_PERFORMANCE - int nbytesrecvd; - int totalbytesrecvd; -#endif - int ch; - int i; - - /* Allocate buffers */ - - outbuf = (char*)malloc(SENDSIZE); -#ifndef CONFIG_EXAMPLE_NETTEST_PERFORMANCE - inbuf = (char*)malloc(SENDSIZE); - if (!outbuf || !inbuf) -#else - if (!outbuf) -#endif - { - message("client: failed to allocate buffers\n"); - exit(1); - } - - - /* Create a new TCP socket */ - - sockfd = socket(PF_INET, SOCK_STREAM, 0); - if (sockfd < 0) - { - message("client socket failure %d\n", errno); - goto errout_with_buffers; - } - - /* Connect the socket to the server */ - - myaddr.sin_family = AF_INET; - myaddr.sin_port = HTONS(PORTNO); -#if 0 - myaddr.sin_addr.s_addr = HTONL(INADDR_LOOPBACK); -#else - myaddr.sin_addr.s_addr = HTONL(CONFIG_EXAMPLE_NETTEST_CLIENTIP); -#endif - - message("client: Connecting...\n"); - if (connect( sockfd, (struct sockaddr*)&myaddr, sizeof(struct sockaddr_in)) < 0) - { - message("client: connect failure: %d\n", errno); - goto errout_with_socket; - } - message("client: Connected\n"); - - /* Initialize the buffer */ - - ch = 0x20; - for (i = 0; i < SENDSIZE; i++ ) - { - outbuf[i] = ch; - if (++ch > 0x7e) - { - ch = 0x20; - } - } - -#ifdef CONFIG_EXAMPLE_NETTEST_PERFORMANCE - /* Then receive messages forever */ - - for (;;) - { - nbytessent = send(sockfd, outbuf, 512, 0); - if (nbytessent < 0) - { - message("client: send failed: %d\n", errno); - goto errout_with_socket; - } - else if (nbytessent != 512) - { - message("client: Bad send length=%d: %d\n", nbytessent); - goto errout_with_socket; - } - } -#else - /* Then send and receive one message */ - - message("client: Sending %d bytes\n", SENDSIZE); - nbytessent = send(sockfd, outbuf, SENDSIZE, 0); - message("client: Sent %d bytes\n", nbytessent); - - if (nbytessent < 0) - { - message("client: send failed: %d\n", errno); - goto errout_with_socket; - } - else if (nbytessent != SENDSIZE) - { - message("client: Bad send length: %d Expected: %d\n", nbytessent, SENDSIZE); - goto errout_with_socket; - } - - totalbytesrecvd = 0; - do - { - message("client: Receiving...\n"); - nbytesrecvd = recv(sockfd, &inbuf[totalbytesrecvd], SENDSIZE - totalbytesrecvd, 0); - - if (nbytesrecvd < 0) - { - message("client: recv failed: %d\n", errno); - goto errout_with_socket; - } - totalbytesrecvd += nbytesrecvd; - message("client: Received %d of %d bytes\n", totalbytesrecvd, SENDSIZE); - } - while (totalbytesrecvd < SENDSIZE); - - if (totalbytesrecvd != SENDSIZE) - { - message("client: Bad recv length: %d Expected: %d\n", totalbytesrecvd, SENDSIZE); - goto errout_with_socket; - } - else if (memcmp(inbuf, outbuf, SENDSIZE) != 0) - { - message("client: Received buffer does not match sent buffer\n"); - goto errout_with_socket; - } - - close(sockfd); - free(outbuf); -#ifndef CONFIG_EXAMPLE_NETTEST_PERFORMANCE - free(inbuf); -#endif - return; -#endif - -errout_with_socket: - close(sockfd); - -errout_with_buffers: - free(outbuf); -#ifndef CONFIG_EXAMPLE_NETTEST_PERFORMANCE - free(inbuf); -#endif - exit(1); -} diff --git a/nuttx/examples/nettest/nettest_server.c b/nuttx/examples/nettest/nettest_server.c deleted file mode 100644 index 6d9ccaeba7..0000000000 --- a/nuttx/examples/nettest/nettest_server.c +++ /dev/null @@ -1,234 +0,0 @@ -/**************************************************************************** - * examples/nettest/nettest-server.c - * - * Copyright (C) 2007 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <errno.h> - -#include "nettest.h" - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -void recv_server(void) -{ - struct sockaddr_in myaddr; -#ifdef NETTEST_HAVE_SOLINGER - struct linger ling; -#endif - char *buffer; - int listensd; - int acceptsd; - socklen_t addrlen; - int nbytesread; -#ifndef CONFIG_EXAMPLE_NETTEST_PERFORMANCE - int totalbytesread; - int nbytessent; - int ch; - int i; -#endif - int optval; - - /* Allocate a BIG buffer */ - - buffer = (char*)malloc(2*SENDSIZE); - if (!buffer) - { - message("server: failed to allocate buffer\n"); - exit(1); - } - - - /* Create a new TCP socket */ - - listensd = socket(PF_INET, SOCK_STREAM, 0); - if (listensd < 0) - { - message("server: socket failure: %d\n", errno); - goto errout_with_buffer; - } - - /* Set socket to reuse address */ - - optval = 1; - if (setsockopt(listensd, SOL_SOCKET, SO_REUSEADDR, (void*)&optval, sizeof(int)) < 0) - { - message("server: setsockopt SO_REUSEADDR failure: %d\n", errno); - goto errout_with_listensd; - } - - /* Bind the socket to a local address */ - - myaddr.sin_family = AF_INET; - myaddr.sin_port = HTONS(PORTNO); - myaddr.sin_addr.s_addr = INADDR_ANY; - - if (bind(listensd, (struct sockaddr*)&myaddr, sizeof(struct sockaddr_in)) < 0) - { - message("server: bind failure: %d\n", errno); - goto errout_with_listensd; - } - - /* Listen for connections on the bound TCP socket */ - - if (listen(listensd, 5) < 0) - { - message("server: listen failure %d\n", errno); - goto errout_with_listensd; - } - - /* Accept only one connection */ - - message("server: Accepting connections on port %d\n", PORTNO); - addrlen = sizeof(struct sockaddr_in); - acceptsd = accept(listensd, (struct sockaddr*)&myaddr, &addrlen); - if (acceptsd < 0) - { - message("server: accept failure: %d\n", errno); - goto errout_with_listensd; - } - message("server: Connection accepted -- receiving\n"); - - /* Configure to "linger" until all data is sent when the socket is closed */ - -#ifdef NETTEST_HAVE_SOLINGER - ling.l_onoff = 1; - ling.l_linger = 30; /* timeout is seconds */ - if (setsockopt(acceptsd, SOL_SOCKET, SO_LINGER, &ling, sizeof(struct linger)) < 0) - { - message("server: setsockopt SO_LINGER failure: %d\n", errno); - goto errout_with_acceptsd; - } -#endif - -#ifdef CONFIG_EXAMPLE_NETTEST_PERFORMANCE - /* Then receive data forever */ - - for (;;) - { - nbytesread = recv(acceptsd, buffer, 2*SENDSIZE, 0); - if (nbytesread <= 0) - { - message("server: recv failed: %d\n", errno); - goto errout_with_acceptsd; - } - } -#else - /* Receive canned message */ - - totalbytesread = 0; - while (totalbytesread < SENDSIZE) - { - message("server: Reading...\n"); - nbytesread = recv(acceptsd, &buffer[totalbytesread], 2*SENDSIZE - totalbytesread, 0); - if (nbytesread <= 0) - { - message("server: recv failed: %d\n", errno); - goto errout_with_acceptsd; - } - - totalbytesread += nbytesread; - message("server: Received %d of %d bytes\n", totalbytesread, SENDSIZE); - } - - /* Verify the message */ - - if (totalbytesread != SENDSIZE) - { - message("server: Received %d / Expected %d bytes\n", totalbytesread, SENDSIZE); - goto errout_with_acceptsd; - } - - ch = 0x20; - for (i = 0; i < SENDSIZE; i++ ) - { - if (buffer[i] != ch) - { - message("server: Byte %d is %02x / Expected %02x\n", i, buffer[i], ch); - goto errout_with_acceptsd; - } - - if (++ch > 0x7e) - { - ch = 0x20; - } - } - - /* Then send the same data back to the client */ - - message("server: Sending %d bytes\n", totalbytesread); - nbytessent = send(acceptsd, buffer, totalbytesread, 0); - if (nbytessent <= 0) - { - message("server: send failed: %d\n", errno); - goto errout_with_acceptsd; - } - message("server: Sent %d bytes\n", nbytessent); - - /* If this platform only does abortive disconnects, then wait a bit to get the - * client side a change to receive the data. - */ - -#if 1 /* Do it for all platforms */ - message("server: Wait before closing\n"); - sleep(60); -#endif - - close(listensd); - close(acceptsd); - free(buffer); - return; -#endif - -errout_with_acceptsd: - close(acceptsd); - -errout_with_listensd: - close(listensd); - -errout_with_buffer: - free(buffer); - exit(1); -} diff --git a/nuttx/examples/nsh/Makefile b/nuttx/examples/nsh/Makefile deleted file mode 100644 index 3ef915cb78..0000000000 --- a/nuttx/examples/nsh/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -############################################################################ -# examples/nsh/Makefile -# -# Copyright (C) 2007-2008, 2010-2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -CSRCS = nsh_main.c - -AOBJS = $(ASRCS:.S=$(OBJEXT)) -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/nsh/nsh_main.c b/nuttx/examples/nsh/nsh_main.c deleted file mode 100644 index 6f63308b46..0000000000 --- a/nuttx/examples/nsh/nsh_main.c +++ /dev/null @@ -1,157 +0,0 @@ -/**************************************************************************** - * examples/nsh/nsh_main.c - * - * Copyright (C) 2007-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/stat.h> -#include <stdint.h> -#include <stdio.h> -#include <sched.h> -#include <errno.h> - -#include <apps/nsh.h> - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -#ifndef CONFIG_BUILTIN_APPS -# warning "This example requires CONFIG_BUILTIN_APPS..." -# warning " You must have an appconfig file in your config directory to use this example" -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: user_initialize - ****************************************************************************/ - -/* In order to support user_initialize if CONFIG_PAGING is defined, this - * function (and only this function) would need to get moved to the locked - * text region. - */ - -#ifndef CONFIG_PAGING -void user_initialize(void) -{ - /* stub */ -} -#endif - -/**************************************************************************** - * Name: user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - int mid_priority; -#if defined(CONFIG_NSH_CONSOLE) && defined(CONFIG_NSH_TELNET) - int ret; -#endif - - /* Initialize the NSH library */ - - nsh_initialize(); - - /* Set the priority of this task to something in the middle so that 'nice' - * can both raise and lower the priority. - */ - - mid_priority = (sched_get_priority_max(SCHED_NSH) + sched_get_priority_min(SCHED_NSH)) >> 1; - { - struct sched_param param; - - param.sched_priority = mid_priority; - (void)sched_setscheduler(0, SCHED_NSH, ¶m); - } - - /* If both the console and telnet are selected as front-ends, then run - * the telnet front end on another thread. - */ - -#if defined(CONFIG_NSH_CONSOLE) && defined(CONFIG_NSH_TELNET) -# ifndef CONFIG_CUSTOM_STACK - ret = task_create("nsh_telnetmain", mid_priority, CONFIG_NSH_STACKSIZE, - nsh_telnetmain, NULL); -# else - ret = task_create("nsh_telnetmain", mid_priority, nsh_telnetmain, NULL); -# endif - if (ret < 0) - { - /* The daemon is NOT running. Report the the error then fail... - * either with the serial console up or just exiting. - */ - - fprintf(stderr, "ERROR: Failed to start TELNET daemon: %d\n", errno); - } - - /* If only the telnet front-end is selected, run it on this thread */ - -#elif defined(CONFIG_NSH_TELNET) - return nsh_telnetmain(0, NULL); -#endif - -/* If the serial console front end is selected, then run it on this thread */ - -#ifdef CONFIG_NSH_CONSOLE - return nsh_consolemain(0, NULL); -#endif -} diff --git a/nuttx/examples/null/Makefile b/nuttx/examples/null/Makefile deleted file mode 100644 index 53efcbe392..0000000000 --- a/nuttx/examples/null/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -############################################################################ -# examples/null/Makefile -# -# Copyright (C) 2007-2008, 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = null_main.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/null/null_main.c b/nuttx/examples/null/null_main.c deleted file mode 100644 index fa0a1473d8..0000000000 --- a/nuttx/examples/null/null_main.c +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** - * examples/null/null_main.c - * - * Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: user_initialize - ****************************************************************************/ - -void user_initialize(void) -{ -} - -/**************************************************************************** - * Name: user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - return 0; -} diff --git a/nuttx/examples/nx/Makefile b/nuttx/examples/nx/Makefile deleted file mode 100644 index ea19ebcc5b..0000000000 --- a/nuttx/examples/nx/Makefile +++ /dev/null @@ -1,82 +0,0 @@ -############################################################################ -# examples/nxflat/Makefile -# -# Copyright (C) 2009-2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) - -CSRCS = nx_main.c nx_events.c nx_kbdin.c -ifeq ($(CONFIG_NX_MULTIUSER),y) -CSRCS += nx_server.c -endif - -COBJS = $(CSRCS:.c=$(OBJEXT)) - - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep - diff --git a/nuttx/examples/nx/nx_events.c b/nuttx/examples/nx/nx_events.c deleted file mode 100644 index d1074b4195..0000000000 --- a/nuttx/examples/nx/nx_events.c +++ /dev/null @@ -1,337 +0,0 @@ -/**************************************************************************** - * examples/nx/nx_events.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdbool.h> -#include <stdio.h> -#include <stdlib.h> -#include <semaphore.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx.h> -#include <nuttx/nxtk.h> -#include "nx_internal.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -static void nxeg_redraw(NXEGWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - bool morem, FAR void *arg); -static void nxeg_position(NXEGWINDOW hwnd, FAR const struct nxgl_size_s *size, - FAR const struct nxgl_point_s *pos, - FAR const struct nxgl_rect_s *bounds, - FAR void *arg); -#ifdef CONFIG_NX_MOUSE -static void nxeg_mousein(NXEGWINDOW hwnd, FAR const struct nxgl_point_s *pos, - uint8_t buttons, FAR void *arg); -#endif - -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS -static void nxeg_tbredraw(NXEGWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - bool morem, FAR void *arg); -static void nxeg_tbposition(NXEGWINDOW hwnd, FAR const struct nxgl_size_s *size, - FAR const struct nxgl_point_s *pos, - FAR const struct nxgl_rect_s *bounds, - FAR void *arg); -#ifdef CONFIG_NX_MOUSE -static void nxeg_tbmousein(NXEGWINDOW hwnd, FAR const struct nxgl_point_s *pos, - uint8_t buttons, FAR void *arg); -#endif -#endif - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -const struct nx_callback_s g_nxcb = -{ - nxeg_redraw, /* redraw */ - nxeg_position /* position */ -#ifdef CONFIG_NX_MOUSE - , nxeg_mousein /* mousein */ -#endif -#ifdef CONFIG_NX_KBD - , nxeg_kbdin /* my kbdin */ -#endif -}; - -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS -const struct nx_callback_s g_tbcb = -{ - nxeg_tbredraw, /* redraw */ - nxeg_tbposition /* position */ -#ifdef CONFIG_NX_MOUSE - , nxeg_tbmousein /* mousein */ -#endif -#ifdef CONFIG_NX_KBD - , nxeg_tbkbdin /* my kbdin */ -#endif -}; -#endif - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxeg_fillwindow - ****************************************************************************/ - -static inline void nxeg_fillwindow(NXEGWINDOW hwnd, - FAR const struct nxgl_rect_s *rect, - FAR struct nxeg_state_s *st) -{ - int ret; - -#ifdef CONFIG_EXAMPLES_NX_RAWWINDOWS - ret = nx_fill(hwnd, rect, st->color); - if (ret < 0) - { - message("nxeg_fillwindow: nx_fill failed: %d\n", errno); - } -#else - ret = nxtk_fillwindow(hwnd, rect, st->color); - if (ret < 0) - { - message("nxeg_fillwindow: nxtk_fillwindow failed: %d\n", errno); - } -#endif -#ifdef CONFIG_NX_KBD - nxeg_filltext(hwnd, rect, st); -#endif -} - -/**************************************************************************** - * Name: nxeg_fillwindow - ****************************************************************************/ - -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS -static inline void nxeg_filltoolbar(NXTKWINDOW htb, - FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - int ret; - - ret = nxtk_filltoolbar(htb, rect, color); - if (ret < 0) - { - message("nxeg_filltoolbar: nxtk_filltoolbar failed: %d\n", errno); - } -} -#endif - -/**************************************************************************** - * Name: nxeg_redraw - ****************************************************************************/ - -static void nxeg_redraw(NXEGWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - bool more, FAR void *arg) -{ - FAR struct nxeg_state_s *st = (FAR struct nxeg_state_s *)arg; - message("nxeg_redraw%d: hwnd=%p rect={(%d,%d),(%d,%d)} more=%s\n", - st->wnum, hwnd, - rect->pt1.x, rect->pt1.y, rect->pt2.x, rect->pt2.y, - more ? "true" : "false"); - - nxeg_fillwindow(hwnd, rect, st); -} - -/**************************************************************************** - * Name: nxeg_position - ****************************************************************************/ - -static void nxeg_position(NXEGWINDOW hwnd, FAR const struct nxgl_size_s *size, - FAR const struct nxgl_point_s *pos, - FAR const struct nxgl_rect_s *bounds, - FAR void *arg) -{ - FAR struct nxeg_state_s *st = (FAR struct nxeg_state_s *)arg; - - /* Report the position */ - - message("nxeg_position%d: hwnd=%p size=(%d,%d) pos=(%d,%d) bounds={(%d,%d),(%d,%d)}\n", - st->wnum, hwnd, size->w, size->h, pos->x, pos->y, - bounds->pt1.x, bounds->pt1.y, bounds->pt2.x, bounds->pt2.y); - - /* Have we picked off the window bounds yet? */ - - if (!b_haveresolution) - { - /* Save the window limits (these should be the same for all places and all windows */ - - g_xres = bounds->pt2.x; - g_yres = bounds->pt2.y; - - b_haveresolution = true; - sem_post(&g_semevent); - message("nxeg_position2: Have xres=%d yres=%d\n", g_xres, g_yres); - } -} - -/**************************************************************************** - * Name: nxeg_mousein - ****************************************************************************/ - -#ifdef CONFIG_NX_MOUSE -static void nxeg_mousein(NXEGWINDOW hwnd, FAR const struct nxgl_point_s *pos, - uint8_t buttons, FAR void *arg) -{ - FAR struct nxeg_state_s *st = (FAR struct nxeg_state_s *)arg; - message("nxeg_mousein%d: hwnd=%p pos=(%d,%d) button=%02x\n", - st->wnum, hwnd, pos->x, pos->y, buttons); -} -#endif - -/**************************************************************************** - * Name: nxeg_tbredraw - ****************************************************************************/ - -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS -static void nxeg_tbredraw(NXEGWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - bool more, FAR void *arg) -{ - FAR struct nxeg_state_s *st = (FAR struct nxeg_state_s *)arg; - message("nxeg_tbredraw%d: hwnd=%p rect={(%d,%d),(%d,%d)} more=%s\n", - st->wnum, hwnd, - rect->pt1.x, rect->pt1.y, rect->pt2.x, rect->pt2.y, - more ? "true" : "false"); - nxeg_filltoolbar(hwnd, rect, g_tbcolor); -} -#endif - -/**************************************************************************** - * Name: nxeg_position - ****************************************************************************/ - -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS -static void nxeg_tbposition(NXEGWINDOW hwnd, FAR const struct nxgl_size_s *size, - FAR const struct nxgl_point_s *pos, - FAR const struct nxgl_rect_s *bounds, - FAR void *arg) -{ - FAR struct nxeg_state_s *st = (FAR struct nxeg_state_s *)arg; - - /* Report the position */ - - message("nxeg_ptbosition%d: hwnd=%p size=(%d,%d) pos=(%d,%d) bounds={(%d,%d),(%d,%d)}\n", - st->wnum, hwnd, size->w, size->h, pos->x, pos->y, - bounds->pt1.x, bounds->pt1.y, bounds->pt2.x, bounds->pt2.y); -} -#endif - -/**************************************************************************** - * Name: nxeg_tbmousein - ****************************************************************************/ - -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS -#ifdef CONFIG_NX_MOUSE -static void nxeg_tbmousein(NXEGWINDOW hwnd, FAR const struct nxgl_point_s *pos, - uint8_t buttons, FAR void *arg) -{ - FAR struct nxeg_state_s *st = (FAR struct nxeg_state_s *)arg; - - message("nxeg_tbmousein%d: hwnd=%p pos=(%d,%d) button=%02x\n", - st->wnum, hwnd, pos->x, pos->y, buttons); -} -#endif -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_listenerthread - ****************************************************************************/ - -#ifdef CONFIG_NX_MULTIUSER -FAR void *nx_listenerthread(FAR void *arg) -{ - int ret; - - /* Process events forever */ - - for (;;) - { - /* Handle the next event. If we were configured blocking, then - * we will stay right here until the next event is received. Since - * we have dedicated a while thread to servicing events, it would - * be most natural to also select CONFIG_NX_BLOCKING -- if not, the - * following would be a tight infinite loop (unless we added addition - * logic with nx_eventnotify and sigwait to pace it). - */ - - ret = nx_eventhandler(g_hnx); - if (ret < 0) - { - /* An error occurred... assume that we have lost connection with - * the server. - */ - - message("nx_listenerthread: Lost server connection: %d\n", errno); - exit(NXEXIT_LOSTSERVERCONN); - } - - /* If we received a message, we must be connected */ - - if (!g_connected) - { - g_connected = true; - sem_post(&g_semevent); - message("nx_listenerthread: Connected\n"); - } - } -} -#endif diff --git a/nuttx/examples/nx/nx_internal.h b/nuttx/examples/nx/nx_internal.h deleted file mode 100644 index 3af7329a4c..0000000000 --- a/nuttx/examples/nx/nx_internal.h +++ /dev/null @@ -1,306 +0,0 @@ -/**************************************************************************** - * examples/nx/nx_internal.h - * - * Copyright (C) 2008-2010 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __EXAMPLES_NX_NX_INTERNAL_H -#define __EXAMPLES_NX_NX_INTERNAL_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdbool.h> -#include <semaphore.h> -#include <nuttx/nx.h> -#include <nuttx/nxtk.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/* Configuration ************************************************************/ - -#ifndef CONFIG_NX -# error "NX is not enabled (CONFIG_NX)" -#endif - -#ifndef CONFIG_EXAMPLES_NX_VPLANE -# define CONFIG_EXAMPLES_NX_VPLANE 0 -#endif - -#ifndef CONFIG_EXAMPLES_NX_BPP -# define CONFIG_EXAMPLES_NX_BPP 32 -#endif - -#ifndef CONFIG_EXAMPLES_NX_BGCOLOR -# if CONFIG_EXAMPLES_NX_BPP == 24 || CONFIG_EXAMPLES_NX_BPP == 32 -# define CONFIG_EXAMPLES_NX_BGCOLOR 0x007b68ee -# elif CONFIG_EXAMPLES_NX_BPP == 16 -# define CONFIG_EXAMPLES_NX_BGCOLOR 0x7b5d -# else -# define CONFIG_EXAMPLES_NX_BGCOLOR ' ' -# endif -#endif - -#ifndef CONFIG_EXAMPLES_NX_COLOR1 -# if CONFIG_EXAMPLES_NX_BPP == 24 || CONFIG_EXAMPLES_NX_BPP == 32 -# define CONFIG_EXAMPLES_NX_COLOR1 0x00e6e6fa -# elif CONFIG_EXAMPLES_NX_BPP == 16 -# define CONFIG_EXAMPLES_NX_COLOR1 0xe73f -# else -# define CONFIG_EXAMPLES_NX_COLOR1 '1' -# endif -#endif - -#ifndef CONFIG_EXAMPLES_NX_COLOR2 -# if CONFIG_EXAMPLES_NX_BPP == 24 || CONFIG_EXAMPLES_NX_BPP == 32 -# define CONFIG_EXAMPLES_NX_COLOR2 0x00dcdcdc -# elif CONFIG_EXAMPLES_NX_BPP == 16 -# define CONFIG_EXAMPLES_NX_COLOR2 0xdefb -# else -# define CONFIG_EXAMPLES_NX_COLOR2 '2' -# endif -#endif - -#ifndef CONFIG_EXAMPLES_NX_TBCOLOR -# if CONFIG_EXAMPLES_NX_BPP == 24 || CONFIG_EXAMPLES_NX_BPP == 32 -# define CONFIG_EXAMPLES_NX_TBCOLOR 0x00a9a9a9 -# elif CONFIG_EXAMPLES_NX_BPP == 16 -# define CONFIG_EXAMPLES_NX_TBCOLOR 0xad55 -# else -# define CONFIG_EXAMPLES_NX_TBCOLOR 'T' -# endif -#endif - -#ifndef CONFIG_EXAMPLES_NX_FONTCOLOR -# if CONFIG_EXAMPLES_NX_BPP == 24 || CONFIG_EXAMPLES_NX_BPP == 32 -# define CONFIG_EXAMPLES_NX_FONTCOLOR 0x00000000 -# elif CONFIG_EXAMPLES_NX_BPP == 16 -# define CONFIG_EXAMPLES_NX_FONTCOLOR 0x0000 -# else -# define CONFIG_EXAMPLES_NX_FONTCOLOR 'F' -# endif -#endif - -#ifndef CONFIG_TOOLBAR_HEIGHT -# define CONFIG_TOOLBAR_HEIGHT 16 -#endif - -#ifdef CONFIG_NX_MULTIUSER -# ifdef CONFIG_DISABLE_MQUEUE -# error "The multi-threaded example requires MQ support (CONFIG_DISABLE_MQUEUE=n)" -# endif -# ifdef CONFIG_DISABLE_SIGNALS -# error "This example requires signal support (CONFIG_DISABLE_SIGNALS=n)" -# endif -# ifdef CONFIG_DISABLE_PTHREAD -# error "This example requires pthread support (CONFIG_DISABLE_PTHREAD=n)" -# endif -# ifndef CONFIG_NX_BLOCKING -# error "This example depends on CONFIG_NX_BLOCKING" -# endif -# ifndef CONFIG_EXAMPLES_NX_STACKSIZE -# define CONFIG_EXAMPLES_NX_STACKSIZE 2048 -# endif -# ifndef CONFIG_EXAMPLES_NX_LISTENERPRIO -# define CONFIG_EXAMPLES_NX_LISTENERPRIO 100 -# endif -# ifndef CONFIG_EXAMPLES_NX_CLIENTPRIO -# define CONFIG_EXAMPLES_NX_CLIENTPRIO 100 -# endif -# ifndef CONFIG_EXAMPLES_NX_SERVERPRIO -# define CONFIG_EXAMPLES_NX_SERVERPRIO 120 -# endif -# ifndef CONFIG_EXAMPLES_NX_NOTIFYSIGNO -# define CONFIG_EXAMPLES_NX_NOTIFYSIGNO 4 -# endif -#endif - -#ifdef CONFIG_EXAMPLES_NX_RAWWINDOWS -# define NXEGWINDOW NXWINDOW -#else -# define NXEGWINDOW NXTKWINDOW -#endif - -#define NXTK_MAXKBDCHARS 16 - -/* Debug ********************************************************************/ - -#ifdef CONFIG_CPP_HAVE_VARARGS -# ifdef CONFIG_DEBUG -# define message(...) lib_lowprintf(__VA_ARGS__) -# define msgflush() -# else -# define message(...) printf(__VA_ARGS__) -# define msgflush() fflush(stdout) -# endif -#else -# ifdef CONFIG_DEBUG -# define message lib_lowprintf -# define msgflush() -# else -# define message printf -# define msgflush() fflush(stdout) -# endif -#endif - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -enum exitcode_e -{ - NXEXIT_SUCCESS = 0, - NXEXIT_SIGPROCMASK, - NXEXIT_SCHEDSETPARAM, - NXEXIT_EVENTNOTIFY, - NXEXIT_TASKCREATE, - NXEXIT_PTHREADCREATE, - NXEXIT_EXTINITIALIZE, - NXEXIT_FBINITIALIZE, - NXEXIT_FBGETVPLANE, - NXEXIT_LCDINITIALIZE, - NXEXIT_LCDGETDEV, - NXEXIT_NXOPEN, - NXEXIT_NXOPENTOOLBAR, - NXEXIT_NXCONNECT, - NXEXIT_NXSETBGCOLOR, - NXEXIT_NXOPENWINDOW, - NXEXIT_NXSETSIZE, - NXEXIT_NXSETPOSITION, - NXEXIT_NXLOWER, - NXEXIT_NXRAISE, - NXEXIT_NXCLOSEWINDOW, - NXEXIT_LOSTSERVERCONN -}; - -/* Describes one cached glyph bitmap */ - -struct nxeg_glyph_s -{ - uint8_t code; /* Character code */ - uint8_t height; /* Height of this glyph (in rows) */ - uint8_t width; /* Width of this glyph (in pixels) */ - uint8_t stride; /* Width of the glyph row (in bytes) */ - FAR uint8_t *bitmap; /* Allocated bitmap memory */ -}; - -/* Describes on character on the display */ - -struct nxeg_bitmap_s -{ - struct nxgl_rect_s bounds; /* Size/position of bitmap */ - FAR const struct nxeg_glyph_s *glyph; /* The cached glyph */ -}; - -/* Describes the overall state of on one window */ - -struct nxeg_state_s -{ - uint8_t wnum; /* Window number */ - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]; /* Window color */ - -#ifdef CONFIG_NX_KBD - uint8_t height; /* Max height of a font in pixels */ - uint8_t width; /* Max width of a font in pixels */ - uint8_t spwidth; /* The width of a space */ - - uint8_t nchars; /* Number of KBD chars received */ - uint8_t nglyphs; /* Number of glyphs cached */ - - struct nxeg_bitmap_s bm[NXTK_MAXKBDCHARS]; - struct nxeg_glyph_s glyph[NXTK_MAXKBDCHARS]; -#endif -}; - -/**************************************************************************** - * Public Variables - ****************************************************************************/ - -/* The connecton handler */ - -extern NXHANDLE g_hnx; - -/* NX callback vtables */ - -extern const struct nx_callback_s g_nxcb; -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS -extern const struct nx_callback_s g_tbcb; -#endif - -/* The screen resolution */ - -nxgl_coord_t g_xres; -nxgl_coord_t g_yres; - -extern bool b_haveresolution; -#ifdef CONFIG_NX_MULTIUSER -extern bool g_connected; -#endif -extern sem_t g_semevent; - -/* Colors used to fill window 1 & 2 */ - -extern nxgl_mxpixel_t g_color1[CONFIG_NX_NPLANES]; -extern nxgl_mxpixel_t g_color2[CONFIG_NX_NPLANES]; -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS -extern nxgl_mxpixel_t g_tbcolor[CONFIG_NX_NPLANES]; -#endif - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLES_NX_EXTERNINIT -extern FAR NX_DRIVERTYPE *up_nxdrvinit(unsigned int devno); -#endif - -#if defined(CONFIG_NX) && defined(CONFIG_NX_MULTIUSER) -extern int nx_servertask(int argc, char *argv[]); -extern FAR void *nx_listenerthread(FAR void *arg); -#endif - -#ifdef CONFIG_NX_KBD -extern void nxeg_kbdin(NXWINDOW hwnd, uint8_t nch, const uint8_t *ch, FAR void *arg); -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS -extern void nxeg_tbkbdin(NXWINDOW hwnd, uint8_t nch, const uint8_t *ch, FAR void *arg); -#endif -extern void nxeg_filltext(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - FAR struct nxeg_state_s *st); -#endif - -#endif /* __EXAMPLES_NX_NX_INTERNAL_H */ diff --git a/nuttx/examples/nx/nx_kbdin.c b/nuttx/examples/nx/nx_kbdin.c deleted file mode 100644 index 3626eded96..0000000000 --- a/nuttx/examples/nx/nx_kbdin.c +++ /dev/null @@ -1,467 +0,0 @@ -/**************************************************************************** - * examples/nx/nx_kbdin.c - * - * Copyright (C) 2008, 2010 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdlib.h> -#include <stdio.h> -#include <string.h> -#include <ctype.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx.h> -#include <nuttx/nxtk.h> -#include <nuttx/nxfonts.h> - -#include "nx_internal.h" - -#ifdef CONFIG_NX_KBD - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/* Select renderer -- Some additional logic would be required to support - * pixel depths that are not directly addressable (1,2,4, and 24). - */ - -#if CONFIG_EXAMPLES_NX_BPP == 1 -# define RENDERER nxf_convert_1bpp -#elif CONFIG_EXAMPLES_NX_BPP == 2 -# define RENDERER nxf_convert_2bpp -#elif CONFIG_EXAMPLES_NX_BPP == 4 -# define RENDERER nxf_convert_4bpp -#elif CONFIG_EXAMPLES_NX_BPP == 8 -# define RENDERER nxf_convert_8bpp -#elif CONFIG_EXAMPLES_NX_BPP == 16 -# define RENDERER nxf_convert_16bpp -#elif CONFIG_EXAMPLES_NX_BPP == 24 -# define RENDERER nxf_convert_24bpp -#elif CONFIG_EXAMPLES_NX_BPP == 32 -# define RENDERER nxf_convert_32bpp -#else -# error "Unsupported CONFIG_EXAMPLES_NX_BPP" -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxeg_fillchar - ****************************************************************************/ - -static void nxeg_fillchar(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - FAR const struct nxeg_bitmap_s *bm) -{ - FAR void *src = (FAR void *)bm->glyph->bitmap; - struct nxgl_rect_s intersection; - int ret; - - /* Handle the special case of spaces which have no glyph bitmap */ - - if (src) - { - /* Get the intersection of the redraw region and the characer bitmap */ - - nxgl_rectintersect(&intersection, rect, &bm->bounds); - if (!nxgl_nullrect(&intersection)) - { -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS - ret = nxtk_bitmapwindow((NXTKWINDOW)hwnd, &intersection, &src, - &bm->bounds.pt1, - (unsigned int)bm->glyph->stride); - if (ret < 0) - { - message("nxeg_fillchar: nxtk_bitmapwindow failed: %d\n", errno); - } -#else - ret = nx_bitmap((NXWINDOW)hwnd, &intersection, &src, - &bm->bounds.pt1, - (unsigned int)bm->glyph->stride); - if (ret < 0) - { - message("nxeg_fillchar: nx_bitmapwindow failed: %d\n", errno); - } -#endif - } - } -} - -/**************************************************************************** - * Name: nxeg_renderglyph - ****************************************************************************/ - -static inline FAR const struct nxeg_glyph_s * -nxeg_renderglyph(FAR struct nxeg_state_s *st, - FAR const struct nx_fontbitmap_s *bm, uint8_t ch) -{ - FAR struct nxeg_glyph_s *glyph = NULL; - FAR nxgl_mxpixel_t *ptr; -#if CONFIG_EXAMPLES_NX_BPP < 8 - nxgl_mxpixel_t pixel; -#endif - int bmsize; - int row; - int col; - int ret; - - /* Make sure that there is room for another glyph */ - - message("nxeg_renderglyph: ch=%02x\n", ch); - if (st->nglyphs < NXTK_MAXKBDCHARS) - { - /* Allocate the glyph */ - - glyph = &st->glyph[st->nglyphs]; - glyph->code = ch; - - /* Get the dimensions of the glyph */ - - glyph->width = bm->metric.width + bm->metric.xoffset; - glyph->height = bm->metric.height + bm->metric.yoffset; - - /* Allocate memory to hold the glyph with its offsets */ - - glyph->stride = (glyph->width * CONFIG_EXAMPLES_NX_BPP + 7) / 8; - bmsize = glyph->stride * glyph->height; - glyph->bitmap = (FAR uint8_t *)malloc(bmsize); - - if (glyph->bitmap) - { - /* Initialize the glyph memory to the background color */ - -#if CONFIG_EXAMPLES_NX_BPP < 8 - pixel = st->color[0]; -# if CONFIG_EXAMPLES_NX_BPP == 1 - /* Pack 1-bit pixels into a 2-bits */ - - pixel &= 0x01; - pixel = (pixel) << 1 |pixel; -# endif -# if CONFIG_EXAMPLES_NX_BPP < 4 - /* Pack 2-bit pixels into a nibble */ - - pixel &= 0x03; - pixel = (pixel) << 2 |pixel; -# endif - - /* Pack 4-bit nibbles into a byte */ - - pixel &= 0x0f; - pixel = (pixel) << 4 | pixel; - - ptr = (FAR nxgl_mxpixel_t *)glyph->bitmap; - for (row = 0; row < glyph->height; row++) - { - for (col = 0; col < glyph->stride; col++) - { - /* Transfer the packed bytes into the buffer */ - - *ptr++ = pixel; - } - } - -#elif CONFIG_EXAMPLES_NX_BPP == 24 -# error "Additional logic is needed here for 24bpp support" - -#else /* CONFIG_EXAMPLES_NX_BPP = {8,16,32} */ - - ptr = (FAR nxgl_mxpixel_t *)glyph->bitmap; - for (row = 0; row < glyph->height; row++) - { - /* Just copy the color value into the glyph memory */ - - for (col = 0; col < glyph->width; col++) - { - *ptr++ = st->color[0]; - } - } -#endif - - /* Then render the glyph into the allocated memory */ - - ret = RENDERER((FAR nxgl_mxpixel_t*)glyph->bitmap, - glyph->height, glyph->width, glyph->stride, - bm, CONFIG_EXAMPLES_NX_FONTCOLOR); - if (ret < 0) - { - /* Actually, the RENDERER never returns a failure */ - - message("nxeg_renderglyph: RENDERER failed\n"); - free(glyph->bitmap); - glyph->bitmap = NULL; - glyph = NULL; - } - else - { - /* Make it permanent */ - - st->nglyphs++; - } - } - } - - return glyph; -} - -/**************************************************************************** - * Name: nxeg_addspace - ****************************************************************************/ - -static inline FAR const struct nxeg_glyph_s * -nxeg_addspace(FAR struct nxeg_state_s *st, uint8_t ch) -{ - FAR struct nxeg_glyph_s *glyph = NULL; - - /* Make sure that there is room for another glyph */ - - if (st->nglyphs < NXTK_MAXKBDCHARS) - { - /* Allocate the NULL glyph */ - - glyph = &st->glyph[st->nglyphs]; - memset(glyph, 0, sizeof(struct nxeg_glyph_s)); - - glyph->code = ' '; - glyph->width = st->spwidth; - - st->nglyphs++; - } - return glyph; -} - -/**************************************************************************** - * Name: nxeg_findglyph - ****************************************************************************/ - -static FAR const struct nxeg_glyph_s * -nxeg_findglyph(FAR struct nxeg_state_s *st, uint8_t ch) -{ - int i; - - /* First, try to find the glyph in the cache of pre-rendered glyphs */ - - for (i = 0; i < st->nglyphs; i++) - { - if (st->glyph[i].code == ch) - { - return &st->glyph[i]; - } - } - return NULL; -} - -/**************************************************************************** - * Name: nxeg_getglyph - ****************************************************************************/ - -static FAR const struct nxeg_glyph_s * -nxeg_getglyph(FAR struct nxeg_state_s *st, uint8_t ch) -{ - FAR const struct nxeg_glyph_s *glyph; - FAR const struct nx_fontbitmap_s *bm; - - /* First, try to find the glyph in the cache of pre-rendered glyphs */ - - glyph = nxeg_findglyph(st, ch); - if (!glyph) - { - /* No, it is not cached... Does the code map to a glyph? */ - - bm = nxf_getbitmap(ch); - if (!bm) - { - /* No, there is no glyph for this code. Use space */ - - glyph = nxeg_findglyph(st, ' '); - if (!glyph) - { - /* There isn't fake glyph for ' ' yet... create one */ - - glyph = nxeg_addspace(st, ' '); - } - } - else - { - glyph = nxeg_renderglyph(st, bm, ch); - } - } - return glyph; -} - -/**************************************************************************** - * Name: nxeg_addchar - ****************************************************************************/ - -static FAR const struct nxeg_bitmap_s * -nxeg_addchar(FAR struct nxeg_state_s *st, uint8_t ch) -{ - FAR struct nxeg_bitmap_s *bm = NULL; - FAR struct nxeg_bitmap_s *bmleft; - nxgl_coord_t leftx; - - /* Is there space for another character on the display? */ - - if (st->nchars < NXTK_MAXKBDCHARS) - { - /* Yes, setup the bitmap */ - - bm = &st->bm[st->nchars]; - - /* Find the matching glyph */ - - bm->glyph = nxeg_getglyph(st, ch); - if (!bm->glyph) - { - return NULL; - } - - /* Set up the bounds for the bitmap */ - - if (st->nchars <= 0) - { - /* The first character is one space from the left */ - - leftx = st->spwidth; - } - else - { - /* Otherwise, it is to the left of the preceding char */ - - bmleft = &st->bm[st->nchars-1]; - leftx = bmleft->bounds.pt2.x + 1; - } - - bm->bounds.pt1.x = leftx; - bm->bounds.pt1.y = 2; - bm->bounds.pt2.x = leftx + bm->glyph->width - 1; - bm->bounds.pt2.y = 2 + bm->glyph->height - 1; - - st->nchars++; - } - return bm; -} - -/**************************************************************************** - * Name: nxeg_addchars - ****************************************************************************/ - -static inline void nxeg_addchars(NXWINDOW hwnd, FAR struct nxeg_state_s *st, - uint8_t nch, FAR const uint8_t *ch) -{ - FAR const struct nxeg_bitmap_s *bm; - - while (nch--) - { - bm = nxeg_addchar(st, *ch++); - if (bm) - { - nxeg_fillchar(hwnd, &bm->bounds, bm); - } - } -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxeg_kbdin - ****************************************************************************/ - -void nxeg_kbdin(NXWINDOW hwnd, uint8_t nch, FAR const uint8_t *ch, - FAR void *arg) -{ - FAR struct nxeg_state_s *st = (FAR struct nxeg_state_s *)arg; - message("nxeg_kbdin%d: hwnd=%p nch=%d\n", st->wnum, hwnd, nch); - nxeg_addchars(hwnd, st, nch, ch); -} - -/**************************************************************************** - * Name: nxeg_tbkbdin - ****************************************************************************/ - -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS -void nxeg_tbkbdin(NXWINDOW hwnd, uint8_t nch, const uint8_t *ch, FAR void *arg) -{ - FAR struct nxeg_state_s *st = (FAR struct nxeg_state_s *)arg; - message("nxeg_tbkbdin: ERROR -- toolbar should not received keyboard input\n"); - message("nxeg_tbkbdin%d: hwnd=%p nch=%d\n", st->wnum, hwnd, nch); -} -#endif - -/**************************************************************************** - * Name: nxeg_tbkbdin - ****************************************************************************/ - -void nxeg_filltext(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - FAR struct nxeg_state_s *st) -{ - int i; - - /* Fill each character on the display (Only the characters within rect - * will actually be redrawn). - */ - - for (i = 0; i < st->nchars; i++) - { - nxeg_fillchar(hwnd, rect, &st->bm[i]); - } -} - -#endif /* CONFIG_NX_KBD */ diff --git a/nuttx/examples/nx/nx_main.c b/nuttx/examples/nx/nx_main.c deleted file mode 100644 index d35ea4ff05..0000000000 --- a/nuttx/examples/nx/nx_main.c +++ /dev/null @@ -1,894 +0,0 @@ -/**************************************************************************** - * examples/nx/nx_main.c - * - * Copyright (C) 2008-2010 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <stdint.h> -#include <stdbool.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <sched.h> -#include <pthread.h> -#include <errno.h> -#include <debug.h> - -#ifdef CONFIG_NX_LCDDRIVER -# include <nuttx/lcd/lcd.h> -#else -# include <nuttx/fb.h> -#endif - -#include <nuttx/arch.h> -#include <nuttx/nx.h> -#include <nuttx/nxtk.h> -#include <nuttx/nxfonts.h> - -#include "nx_internal.h" - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/* Configuration ************************************************************/ -/* If not specified, assume that the hardware supports one video plane */ - -#ifndef CONFIG_EXAMPLES_NX_VPLANE -# define CONFIG_EXAMPLES_NX_VPLANE 0 -#endif - -/* If not specified, assume that the hardware supports one LCD device */ - -#ifndef CONFIG_EXAMPLES_NX_DEVNO -# define CONFIG_EXAMPLES_NX_DEVNO 0 -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static int g_exitcode = NXEXIT_SUCCESS; - -static struct nxeg_state_s g_wstate[2]; - -#ifdef CONFIG_NX_KBD -static const uint8_t g_kbdmsg1[] = "NuttX is cool!"; -static const uint8_t g_kbdmsg2[] = "NuttX is fun!"; -#endif - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/* The connecton handler */ - -NXHANDLE g_hnx = NULL; - -/* The screen resolution */ - -nxgl_coord_t g_xres; -nxgl_coord_t g_yres; - -bool b_haveresolution = false; -#ifdef CONFIG_NX_MULTIUSER -bool g_connected = false; -#endif -sem_t g_semevent = {0}; - -/* Colors used to fill window 1 & 2 */ - -nxgl_mxpixel_t g_color1[CONFIG_NX_NPLANES]; -nxgl_mxpixel_t g_color2[CONFIG_NX_NPLANES]; -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS -nxgl_mxpixel_t g_tbcolor[CONFIG_NX_NPLANES]; -#endif - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxeg_drivemouse - ****************************************************************************/ - -#ifdef CONFIG_NX_MOUSE -static void nxeg_drivemouse(void) -{ - nxgl_coord_t x; - nxgl_coord_t y; - nxgl_coord_t xstep = g_xres / 8; - nxgl_coord_t ystep = g_yres / 8; - - for (x = 0; x < g_xres; x += xstep) - { - for (y = 0; y < g_yres; y += ystep) - { - message("nxeg_drivemouse: Mouse left button at (%d,%d)\n", x, y); - (void)nx_mousein(g_hnx, x, y, NX_MOUSE_LEFTBUTTON); - } - } -} -#endif - -/**************************************************************************** - * Name: nxeg_initstate - ****************************************************************************/ - -static void nxeg_initstate(FAR struct nxeg_state_s *st, int wnum, - nxgl_mxpixel_t color) -{ -#ifdef CONFIG_NX_KBD - FAR const struct nx_font_s *fontset; -#endif - - /* Initialize the window number (used for debug output only) and color - * (used for redrawing the window) - */ - - st->wnum = wnum; - st->color[0] = color; - - /* Get information about the font set being used and save this in the - * state structure - */ - -#ifdef CONFIG_NX_KBD - fontset = nxf_getfontset(); - st->nchars = 0; - st->nglyphs = 0; - st->height = fontset->mxheight; - st->width = fontset->mxwidth; - st->spwidth = fontset->spwidth; -#endif -} - -/**************************************************************************** - * Name: nxeg_freestate - ****************************************************************************/ - -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS -static void nxeg_freestate(FAR struct nxeg_state_s *st) -{ -#ifdef CONFIG_NX_KBD - int i; - - if (st) - { - for (i = 0; i < st->nglyphs; i++) - { - if (st->glyph[i].bitmap) - { - free(st->glyph[i].bitmap); - } - st->glyph[i].bitmap = NULL; - } - st->nchars = 0; - } -#endif -} -#endif - -/**************************************************************************** - * Name: nxeg_openwindow - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLES_NX_RAWWINDOWS -static inline NXEGWINDOW nxeg_openwindow(FAR const struct nx_callback_s *cb, - FAR struct nxeg_state_s *state) -{ - NXEGWINDOW hwnd; - - hwnd = nx_openwindow(g_hnx, cb, (FAR void *)state); - if (!hwnd) - { - message("user_start: nx_openwindow failed: %d\n", errno); - g_exitcode = NXEXIT_NXOPENWINDOW; - } - return hwnd; -} -#else -static inline NXEGWINDOW nxeg_openwindow(FAR const struct nx_callback_s *cb, - FAR struct nxeg_state_s *state) -{ - NXEGWINDOW hwnd; - - hwnd = nxtk_openwindow(g_hnx, cb, (FAR void *)state); - if (!hwnd) - { - message("user_start: nxtk_openwindow failed: %d\n", errno); - g_exitcode = NXEXIT_NXOPENWINDOW; - } - return hwnd; -} -#endif - -/**************************************************************************** - * Name: nxeg_closewindow - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLES_NX_RAWWINDOWS -static inline int nxeg_closewindow(NXEGWINDOW hwnd, FAR struct nxeg_state_s *state) -{ - int ret = nx_closewindow(hwnd); - if (ret < 0) - { - message("user_start: nx_closewindow failed: %d\n", errno); - g_exitcode = NXEXIT_NXCLOSEWINDOW; - } - return ret; -} -#else -static inline int nxeg_closewindow(NXEGWINDOW hwnd, FAR struct nxeg_state_s *state) -{ - int ret = nxtk_closewindow(hwnd); - if (ret < 0) - { - message("user_start: nxtk_closewindow failed: %d\n", errno); - g_exitcode = NXEXIT_NXCLOSEWINDOW; - } - nxeg_freestate(state); - return ret; -} -#endif - -/**************************************************************************** - * Name: nxeg_setsize - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLES_NX_RAWWINDOWS -static inline int nxeg_setsize(NXEGWINDOW hwnd, FAR struct nxgl_size_s *size) -{ - int ret = nx_setsize(hwnd, size); - if (ret < 0) - { - message("user_start: nx_setsize failed: %d\n", errno); - g_exitcode = NXEXIT_NXSETSIZE; - } - return ret; -} -#else -static inline int nxeg_setsize(NXEGWINDOW hwnd, FAR struct nxgl_size_s *size) -{ - int ret = nxtk_setsize(hwnd, size); - if (ret < 0) - { - message("user_start: nxtk_setsize failed: %d\n", errno); - g_exitcode = NXEXIT_NXSETSIZE; - } - return ret; -} -#endif - -/**************************************************************************** - * Name: nxeg_setposition - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLES_NX_RAWWINDOWS -static inline int nxeg_setposition(NXEGWINDOW hwnd, FAR struct nxgl_point_s *pos) -{ - int ret = nx_setposition(hwnd, pos); - if (ret < 0) - { - message("user_start: nx_setposition failed: %d\n", errno); - g_exitcode = NXEXIT_NXSETPOSITION; - } - return ret; -} -#else -static inline int nxeg_setposition(NXEGWINDOW hwnd, FAR struct nxgl_point_s *pos) -{ - int ret = nxtk_setposition(hwnd, pos); - if (ret < 0) - { - message("user_start: nxtk_setposition failed: %d\n", errno); - g_exitcode = NXEXIT_NXSETPOSITION; - } - return ret; -} -#endif - -/**************************************************************************** - * Name: nxeq_opentoolbar - ****************************************************************************/ - -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS -static inline int nxeq_opentoolbar(NXEGWINDOW hwnd, nxgl_coord_t height, - FAR const struct nx_callback_s *cb, - FAR struct nxeg_state_s *state) -{ - int ret; - ret = nxtk_opentoolbar(hwnd, height, cb, (FAR void *)state); - if (ret < 0) - { - message("user_start: nxtk_opentoolbar failed: %d\n", errno); - g_exitcode = NXEXIT_NXOPENTOOLBAR; - } - return ret; -} -#endif - -/**************************************************************************** - * Name: nxeg_lower - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLES_NX_RAWWINDOWS -static inline int nxeg_lower(NXEGWINDOW hwnd) -{ - int ret = nx_lower(hwnd); - if (ret < 0) - { - message("user_start: nx_lower failed: %d\n", errno); - g_exitcode = NXEXIT_NXLOWER; - } - return ret; -} -#else -static inline int nxeg_lower(NXEGWINDOW hwnd) -{ - int ret = nxtk_lower(hwnd); - if (ret < 0) - { - message("user_start: nxtk_lower failed: %d\n", errno); - g_exitcode = NXEXIT_NXLOWER; - } - return ret; -} -#endif - -/**************************************************************************** - * Name: nxeg_raise - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLES_NX_RAWWINDOWS -static inline int nxeg_raise(NXEGWINDOW hwnd) -{ - int ret = nx_raise(hwnd); - if (ret < 0) - { - message("user_start: nx_raise failed: %d\n", errno); - g_exitcode = NXEXIT_NXRAISE; - } - return ret; -} -#else -static inline int nxeg_raise(NXEGWINDOW hwnd) -{ - int ret = nxtk_raise(hwnd); - if (ret < 0) - { - message("user_start: nxtk_raise failed: %d\n", errno); - g_exitcode = NXEXIT_NXRAISE; - } - return ret; -} -#endif - -/**************************************************************************** - * Name: nxeg_suinitialize - ****************************************************************************/ - -#ifndef CONFIG_NX_MULTIUSER -static inline int nxeg_suinitialize(void) -{ - FAR NX_DRIVERTYPE *dev; - -#if defined(CONFIG_EXAMPLES_NX_EXTERNINIT) - /* Use external graphics driver initialization */ - - message("nxeg_initialize: Initializing external graphics device\n"); - dev = up_nxdrvinit(CONFIG_EXAMPLES_NX_DEVNO); - if (!dev) - { - message("nxeg_initialize: up_nxdrvinit failed, devno=%d\n", CONFIG_EXAMPLES_NX_DEVNO); - g_exitcode = NXEXIT_EXTINITIALIZE; - return ERROR; - } - -#elif defined(CONFIG_NX_LCDDRIVER) - int ret; - - /* Initialize the LCD device */ - - message("nxeg_initialize: Initializing LCD\n"); - ret = up_lcdinitialize(); - if (ret < 0) - { - message("nxeg_initialize: up_lcdinitialize failed: %d\n", -ret); - g_exitcode = NXEXIT_LCDINITIALIZE; - return ERROR; - } - - /* Get the device instance */ - - dev = up_lcdgetdev(CONFIG_EXAMPLES_NX_DEVNO); - if (!dev) - { - message("nxeg_initialize: up_lcdgetdev failed, devno=%d\n", CONFIG_EXAMPLES_NX_DEVNO); - g_exitcode = NXEXIT_LCDGETDEV; - return ERROR; - } - - /* Turn the LCD on at 75% power */ - - (void)dev->setpower(dev, ((3*CONFIG_LCD_MAXPOWER + 3)/4)); -#else - int ret; - - /* Initialize the frame buffer device */ - - message("nxeg_initialize: Initializing framebuffer\n"); - ret = up_fbinitialize(); - if (ret < 0) - { - message("nxeg_initialize: up_fbinitialize failed: %d\n", -ret); - g_exitcode = NXEXIT_FBINITIALIZE; - return ERROR; - } - - dev = up_fbgetvplane(CONFIG_EXAMPLES_NX_VPLANE); - if (!dev) - { - message("nxeg_initialize: up_fbgetvplane failed, vplane=%d\n", CONFIG_EXAMPLES_NX_VPLANE); - g_exitcode = NXEXIT_FBGETVPLANE; - return ERROR; - } -#endif - - /* Then open NX */ - - message("nxeg_initialize: Open NX\n"); - g_hnx = nx_open(dev); - if (!g_hnx) - { - message("user_start: nx_open failed: %d\n", errno); - g_exitcode = NXEXIT_NXOPEN; - return ERROR; - } - return OK; -} -#endif - -/**************************************************************************** - * Name: nxeg_initialize - ****************************************************************************/ - -#ifdef CONFIG_NX_MULTIUSER -static inline int nxeg_muinitialize(void) -{ - struct sched_param param; - pthread_t thread; - pid_t servrid; - int ret; - - /* Set the client task priority */ - - param.sched_priority = CONFIG_EXAMPLES_NX_CLIENTPRIO; - ret = sched_setparam(0, ¶m); - if (ret < 0) - { - message("nxeg_initialize: sched_setparam failed: %d\n" , ret); - g_exitcode = NXEXIT_SCHEDSETPARAM; - return ERROR; - } - - /* Start the server task */ - - message("nxeg_initialize: Starting nx_servertask task\n"); - servrid = task_create("NX Server", CONFIG_EXAMPLES_NX_SERVERPRIO, - CONFIG_EXAMPLES_NX_STACKSIZE, nx_servertask, NULL); - if (servrid < 0) - { - message("nxeg_initialize: Failed to create nx_servertask task: %d\n", errno); - g_exitcode = NXEXIT_TASKCREATE; - return ERROR; - } - - /* Wait a bit to let the server get started */ - - sleep(1); - - /* Connect to the server */ - - g_hnx = nx_connect(); - if (g_hnx) - { - pthread_attr_t attr; - - /* Start a separate thread to listen for server events. This is probably - * the least efficient way to do this, but it makes this example flow more - * smoothly. - */ - - (void)pthread_attr_init(&attr); - param.sched_priority = CONFIG_EXAMPLES_NX_LISTENERPRIO; - (void)pthread_attr_setschedparam(&attr, ¶m); - (void)pthread_attr_setstacksize(&attr, CONFIG_EXAMPLES_NX_STACKSIZE); - - ret = pthread_create(&thread, &attr, nx_listenerthread, NULL); - if (ret != 0) - { - printf("nxeg_initialize: pthread_create failed: %d\n", ret); - g_exitcode = NXEXIT_PTHREADCREATE; - return ERROR; - } - - /* Don't return until we are connected to the server */ - - while (!g_connected) - { - /* Wait for the listener thread to wake us up when we really - * are connected. - */ - - (void)sem_wait(&g_semevent); - } - } - else - { - message("nxeg_initialize: nx_connect failed: %d\n", errno); - g_exitcode = NXEXIT_NXCONNECT; - return ERROR; - } - return OK; -} -#endif - -/**************************************************************************** - * Name: nxeg_initialize - ****************************************************************************/ - -static int nxeg_initialize(void) -{ - int i; - - /* Initialize window colors */ - - for (i = 0; i < CONFIG_NX_NPLANES; i++) - { - g_color1[i] = CONFIG_EXAMPLES_NX_COLOR1; - g_color2[i] = CONFIG_EXAMPLES_NX_COLOR2; -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS - g_tbcolor[i] = CONFIG_EXAMPLES_NX_TBCOLOR; -#endif - } - -#ifdef CONFIG_NX_MULTIUSER - return nxeg_muinitialize(); -#else - return nxeg_suinitialize(); -#endif -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: user_initialize - ****************************************************************************/ - -void user_initialize(void) -{ -} - -/**************************************************************************** - * Name: user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - NXEGWINDOW hwnd1; - NXEGWINDOW hwnd2; - struct nxgl_size_s size; - struct nxgl_point_s pt; - nxgl_mxpixel_t color; - int ret; - - /* Initialize */ - - ret = nxeg_initialize(); - message("user_start: NX handle=%p\n", g_hnx); - if (!g_hnx || ret < 0) - { - message("user_start: Failed to get NX handle: %d\n", errno); - g_exitcode = NXEXIT_NXOPEN; - goto errout; - } - - /* Set the background to the configured background color */ - - message("user_start: Set background color=%d\n", CONFIG_EXAMPLES_NX_BGCOLOR); - color = CONFIG_EXAMPLES_NX_BGCOLOR; - ret = nx_setbgcolor(g_hnx, &color); - if (ret < 0) - { - message("user_start: nx_setbgcolor failed: %d\n", errno); - g_exitcode = NXEXIT_NXSETBGCOLOR; - goto errout_with_nx; - } - - /* Create window #1 */ - - message("user_start: Create window #1\n"); - nxeg_initstate(&g_wstate[0], 1, CONFIG_EXAMPLES_NX_COLOR1); - hwnd1 = nxeg_openwindow(&g_nxcb, &g_wstate[0]); - message("user_start: hwnd1=%p\n", hwnd1); - if (!hwnd1) - { - goto errout_with_nx; - } - - /* Wait until we have the screen resolution */ - - while (!b_haveresolution) - { - (void)sem_wait(&g_semevent); - } - message("user_start: Screen resolution (%d,%d)\n", g_xres, g_yres); - - /* Set the size of the window 1 */ - - size.w = g_xres / 2; - size.h = g_yres / 2; - - message("user_start: Set window #1 size to (%d,%d)\n", size.w, size.h); - ret = nxeg_setsize(hwnd1, &size); - if (ret < 0) - { - goto errout_with_hwnd1; - } - - /* Sleep a bit -- both so that we can see the result of the above operations - * but also, in the multi-user case, so that the server can get a chance to - * actually do them! - */ - - message("user_start: Sleeping\n\n"); - sleep(1); - - /* Set the position of window #1 */ - - pt.x = g_xres / 8; - pt.y = g_yres / 8; - - message("user_start: Set window #1 postion to (%d,%d)\n", pt.x, pt.y); - ret = nxeg_setposition(hwnd1, &pt); - if (ret < 0) - { - goto errout_with_hwnd1; - } - - /* Sleep a bit */ - - message("user_start: Sleeping\n\n"); - sleep(1); - - /* Open the toolbar */ - -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS - message("user_start: Add toolbar to window #1\n"); - ret = nxeq_opentoolbar(hwnd1, CONFIG_TOOLBAR_HEIGHT, &g_tbcb, &g_wstate[0]); - if (ret < 0) - { - goto errout_with_hwnd1; - } - - /* Sleep a bit */ - - message("user_start: Sleeping\n\n"); - sleep(1); -#endif - - /* Create window #2 */ - - message("user_start: Create window #2\n"); - nxeg_initstate(&g_wstate[1], 2, CONFIG_EXAMPLES_NX_COLOR2); - hwnd2 = nxeg_openwindow(&g_nxcb, &g_wstate[1]); - message("user_start: hwnd2=%p\n", hwnd2); - if (!hwnd2) - { - goto errout_with_hwnd1; - } - - /* Sleep a bit */ - - message("user_start: Sleeping\n\n"); - sleep(1); - - /* Set the size of the window 2 == size of window 1*/ - - message("user_start: Set hwnd2 size to (%d,%d)\n", size.w, size.h); - ret = nxeg_setsize(hwnd2, &size); - if (ret < 0) - { - goto errout_with_hwnd2; - } - - /* Sleep a bit */ - - message("user_start: Sleeping\n\n"); - sleep(1); - - /* Set the position of window #2 */ - - pt.x = g_xres - size.w - pt.x; - pt.y = g_yres - size.h - pt.y; - - message("user_start: Set hwnd2 postion to (%d,%d)\n", pt.x, pt.y); - ret = nxeg_setposition(hwnd2, &pt); - if (ret < 0) - { - goto errout_with_hwnd2; - } - - /* Sleep a bit */ - - message("user_start: Sleeping\n\n"); - sleep(1); - -#ifndef CONFIG_EXAMPLES_NX_RAWWINDOWS - message("user_start: Add toolbar to window #2\n"); - ret = nxeq_opentoolbar(hwnd2, CONFIG_TOOLBAR_HEIGHT, &g_tbcb, &g_wstate[1]); - if (ret < 0) - { - goto errout_with_hwnd2; - } - - /* Sleep a bit */ - - message("user_start: Sleeping\n\n"); - sleep(1); -#endif - - /* Give keyboard input to the top window -- should be window #2 */ - -#ifdef CONFIG_NX_KBD - message("user_start: Send keyboard input: %s\n", g_kbdmsg1); - ret = nx_kbdin(g_hnx, strlen((FAR const char *)g_kbdmsg1), g_kbdmsg1); - if (ret < 0) - { - message("user_start: nx_kbdin failed: %d\n", errno); - goto errout_with_hwnd2; - } - - /* Sleep a bit */ - - message("user_start: Sleeping\n\n"); - sleep(1); -#endif - - /* Lower window 2 */ - - message("user_start: Lower window #2\n"); - ret = nxeg_lower(hwnd2); - if (ret < 0) - { - goto errout_with_hwnd2; - } - - /* Sleep a bit */ - - message("user_start: Sleeping\n\n"); - sleep(1); - - /* Put mouse left-button clicks all over the screen and see who responds */ - -#ifdef CONFIG_NX_MOUSE - nxeg_drivemouse(); - - /* Sleep a bit */ - - message("user_start: Sleeping\n\n"); - sleep(1); -#endif - - /* Give keyboard input to the top window -- should be window #1 */ - -#ifdef CONFIG_NX_KBD - message("user_start: Send keyboard input: %s\n", g_kbdmsg2); - ret = nx_kbdin(g_hnx, strlen((FAR const char *)g_kbdmsg2), g_kbdmsg2); - if (ret < 0) - { - message("user_start: nx_kbdin failed: %d\n", errno); - goto errout_with_hwnd2; - } - - /* Sleep a bit */ - - message("user_start: Sleeping\n\n"); - sleep(1); -#endif - - /* Raise window 2 */ - - message("user_start: Raise window #2\n"); - ret = nxeg_raise(hwnd2); - if (ret < 0) - { - goto errout_with_hwnd2; - } - - /* Put mouse left-button clicks all over the screen and see who responds */ - -#ifdef CONFIG_NX_MOUSE - nxeg_drivemouse(); -#endif - - /* Sleep a bit */ - - message("user_start: Sleeping\n\n"); - sleep(2); - - /* Close the window 2 */ - -errout_with_hwnd2: - message("user_start: Close window #2\n"); - (void)nxeg_closewindow(hwnd2, &g_wstate[1]); - - /* Close the window1 */ - -errout_with_hwnd1: - message("user_start: Close window #1\n"); - (void)nxeg_closewindow(hwnd1, &g_wstate[0]); - -errout_with_nx: -#ifdef CONFIG_NX_MULTIUSER - /* Disconnect from the server */ - - message("user_start: Disconnect from the server\n"); - nx_disconnect(g_hnx); -#else - /* Close the server */ - - message("user_start: Close NX\n"); - nx_close(g_hnx); -#endif -errout: - return g_exitcode; -} diff --git a/nuttx/examples/nx/nx_server.c b/nuttx/examples/nx/nx_server.c deleted file mode 100644 index 8677c00087..0000000000 --- a/nuttx/examples/nx/nx_server.c +++ /dev/null @@ -1,152 +0,0 @@ -/**************************************************************************** - * examples/nx/nx_server.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <sched.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/arch.h> -#include <nuttx/nx.h> - -#ifdef CONFIG_NX_LCDDRIVER -# include <nuttx/lcd/lcd.h> -#else -# include <nuttx/fb.h> -#endif - -#include "nx_internal.h" - -#ifdef CONFIG_NX_MULTIUSER - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_servertask - ****************************************************************************/ - -int nx_servertask(int argc, char *argv[]) -{ - FAR NX_DRIVERTYPE *dev; - int ret; - -#if defined(CONFIG_EXAMPLES_NX_EXTERNINIT) - /* Use external graphics driver initialization */ - - message("nxeg_initialize: Initializing external graphics device\n"); - dev = up_nxdrvinit(CONFIG_EXAMPLES_NX_DEVNO); - if (!dev) - { - message("nxeg_initialize: up_nxdrvinit failed, devno=%d\n", CONFIG_EXAMPLES_NX_DEVNO); - g_exitcode = NXEXIT_EXTINITIALIZE; - return ERROR; - } - -#elif defined(CONFIG_NX_LCDDRIVER) - /* Initialize the LCD device */ - - message("nx_servertask: Initializing LCD\n"); - ret = up_lcdinitialize(); - if (ret < 0) - { - message("nx_servertask: up_lcdinitialize failed: %d\n", -ret); - return 1; - } - - /* Get the device instance */ - - dev = up_lcdgetdev(CONFIG_EXAMPLES_NX_DEVNO); - if (!dev) - { - message("nx_servertask: up_lcdgetdev failed, devno=%d\n", CONFIG_EXAMPLES_NX_DEVNO); - return 2; - } - - /* Turn the LCD on at 75% power */ - - (void)dev->setpower(dev, ((3*CONFIG_LCD_MAXPOWER + 3)/4)); -#else - /* Initialize the frame buffer device */ - - message("nx_servertask: Initializing framebuffer\n"); - ret = up_fbinitialize(); - if (ret < 0) - { - message("nx_servertask: up_fbinitialize failed: %d\n", -ret); - return 1; - } - - dev = up_fbgetvplane(CONFIG_EXAMPLES_NX_VPLANE); - if (!dev) - { - message("nx_servertask: up_fbgetvplane failed, vplane=%d\n", CONFIG_EXAMPLES_NX_VPLANE); - return 2; - } -#endif - - /* Then start the server */ - - ret = nx_run(dev); - message("nx_servertask: nx_run returned: %d\n", errno); - return 3; -} - -#endif /* CONFIG_NX_MULTIUSER */ diff --git a/nuttx/examples/nxflat/Makefile b/nuttx/examples/nxflat/Makefile deleted file mode 100644 index dae8a4ea7d..0000000000 --- a/nuttx/examples/nxflat/Makefile +++ /dev/null @@ -1,77 +0,0 @@ -############################################################################ -# examples/nxflat/Makefile -# -# Copyright (C) 2008, 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = nxflat_main.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) -.PHONY: headers clean distclean - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -headers: - @$(MAKE) -C tests TOPDIR=$(TOPDIR) CROSSDEV=$(CROSSDEV) - -$(BIN): headers $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -# We can't make dependencies in this directory because the required -# header files may not yet exist. - -depend: - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - --include Make.dep diff --git a/nuttx/examples/nxflat/nxflat_main.c b/nuttx/examples/nxflat/nxflat_main.c deleted file mode 100644 index a710112c3a..0000000000 --- a/nuttx/examples/nxflat/nxflat_main.c +++ /dev/null @@ -1,232 +0,0 @@ -/**************************************************************************** - * examples/nxflat/nxflat_main.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> -#include <nuttx/compiler.h> - -#include <sys/mount.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <pthread.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/ramdisk.h> -#include <nuttx/binfmt.h> -#include <nuttx/nxflat.h> - -#include "tests/romfs.h" -#include "tests/dirlist.h" -#include "tests/symtab.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/* Check configuration. This is not all of the configuration settings that - * are required -- only the more obvious. - */ - -#if CONFIG_NFILE_DESCRIPTORS < 1 -# error "You must provide file descriptors via CONFIG_NFILE_DESCRIPTORS in your configuration file" -#endif - -#ifndef CONFIG_NXFLAT -# error "You must select CONFIG_NXFLAT in your configuration file" -#endif - -#ifndef CONFIG_FS_ROMFS -# error "You must select CONFIG_FS_ROMFS in your configuration file" -#endif - -#ifdef CONFIG_DISABLE_MOUNTPOINT -# error "You must not disable mountpoints via CONFIG_DISABLE_MOUNTPOINT in your configuration file" -#endif - -#ifdef CONFIG_BINFMT_DISABLE -# error "You must not disable loadable modules via CONFIG_BINFMT_DISABLE in your configuration file" -#endif - -/* Describe the ROMFS file system */ - -#define SECTORSIZE 512 -#define NSECTORS(b) (((b)+SECTORSIZE-1)/SECTORSIZE) -#define ROMFSDEV "/dev/ram0" -#define MOUNTPT "/mnt/romfs" - -/* If CONFIG_DEBUG is enabled, use dbg instead of printf so that the - * output will be synchronous with the debug output. - */ - -#ifdef CONFIG_CPP_HAVE_VARARGS -# ifdef CONFIG_DEBUG -# define message(format, arg...) dbg(format, ##arg) -# define err(format, arg...) dbg(format, ##arg) -# else -# define message(format, arg...) printf(format, ##arg) -# define err(format, arg...) fprintf(stderr, format, ##arg) -# endif -#else -# ifdef CONFIG_DEBUG -# define message dbg -# define err dbg -# else -# define message printf -# define err printf -# endif -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const char delimiter[] = - "****************************************************************************"; - -static char path[128]; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: testheader - ****************************************************************************/ - -static inline void testheader(FAR const char *progname) -{ - message("\n%s\n* Executing %s\n%s\n\n", delimiter, progname, delimiter); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: user_initialize - ****************************************************************************/ - -void user_initialize(void) -{ -} - -/**************************************************************************** - * Name: user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - struct binary_s bin; - int ret; - int i; - - /* Initialize the NXFLAT binary loader */ - - message("Initializing the NXFLAT binary loader\n"); - ret = nxflat_initialize(); - if (ret < 0) - { - err("ERROR: Initialization of the NXFLAT loader failed: %d\n", ret); - exit(1); - } - - /* Create a ROM disk for the ROMFS filesystem */ - - message("Registering romdisk\n"); - ret = romdisk_register(0, romfs_img, NSECTORS(romfs_img_len), SECTORSIZE); - if (ret < 0) - { - err("ERROR: romdisk_register failed: %d\n", ret); - nxflat_uninitialize(); - exit(1); - } - - /* Mount the file system */ - - message("Mounting ROMFS filesystem at target=%s with source=%s\n", - MOUNTPT, ROMFSDEV); - - ret = mount(ROMFSDEV, MOUNTPT, "romfs", MS_RDONLY, NULL); - if (ret < 0) - { - err("ERROR: mount(%s,%s,romfs) failed: %s\n", - ROMFSDEV, MOUNTPT, errno); - nxflat_uninitialize(); - } - - /* Now excercise every progrm in the ROMFS file system */ - - for (i = 0; dirlist[i]; i++) - { - testheader(dirlist[i]); - - memset(&bin, 0, sizeof(struct binary_s)); - snprintf(path, 128, "%s/%s", MOUNTPT, dirlist[i]); - - bin.filename = path; - bin.exports = exports; - bin.nexports = NEXPORTS; - - ret = load_module(&bin); - if (ret < 0) - { - err("ERROR: Failed to load program '%s'\n", dirlist[i]); - exit(1); - } - - ret = exec_module(&bin, 50); - if (ret < 0) - { - err("ERROR: Failed to execute program '%s'\n", dirlist[i]); - unload_module(&bin); - } - - message("Wait a bit for test completion\n"); - sleep(4); - } - - message("End-of-Test.. Exit-ing\n"); - return 0; -} diff --git a/nuttx/examples/nxflat/tests/Makefile b/nuttx/examples/nxflat/tests/Makefile deleted file mode 100644 index 638b2548ce..0000000000 --- a/nuttx/examples/nxflat/tests/Makefile +++ /dev/null @@ -1,103 +0,0 @@ -############################################################################ -# examples/nxflat/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -# Most of these do no build yet -#SUBDIRS = errno hello hello++ longjmp mutex pthread signal task struct -SUBDIRS = errno hello mutex pthread task struct - -NXFLAT_DIR = $(TOPDIR)/examples/nxflat -TESTS_DIR = $(NXFLAT_DIR)/tests -ROMFS_DIR = $(TESTS_DIR)/romfs -ROMFS_IMG = $(TESTS_DIR)/romfs.img -ROMFS_HDR = $(TESTS_DIR)/romfs.h -ROMFS_DIRLIST = $(TESTS_DIR)/dirlist.h -SYMTAB = $(TESTS_DIR)/symtab.h - -define DIR_template -$(1)_$(2): - @$(MAKE) -C $(1) $(3) TOPDIR=$(TOPDIR) ROMFS_DIR=$(ROMFS_DIR) CROSSDEV=$(CROSSDEV) -endef - -all: $(ROMFS_HDR) $(ROMFS_DIRLIST) $(SYMTAB) -.PHONY: all build clean install populate - -$(foreach DIR, $(SUBDIRS), $(eval $(call DIR_template,$(DIR),build, all))) -$(foreach DIR, $(SUBDIRS), $(eval $(call DIR_template,$(DIR),clean,clean))) -$(foreach DIR, $(SUBDIRS), $(eval $(call DIR_template,$(DIR),install,install))) - -# Build program(s) in each sud-directory - -build: $(foreach DIR, $(SUBDIRS), $(DIR)_build) - -# Install each program in the romfs directory - -install: $(foreach DIR, $(SUBDIRS), $(DIR)_install) - -# Create the romfs directory - -$(ROMFS_DIR): - @mkdir $(ROMFS_DIR) - -# Populate the romfs directory - -populate: $(ROMFS_DIR) build install - -# Create the romfs.img file from the populated romfs directory - -$(ROMFS_IMG): populate - @genromfs -f $@ -d $(ROMFS_DIR) -V "NXFLATTEST" - -# Create the romfs.h header file from the romfs.img file - -$(ROMFS_HDR) : $(ROMFS_IMG) - @(cd $(TESTS_DIR); xxd -i romfs.img | sed -e "s/^unsigned/static const unsigned/g" >$@) - -# Create the dirlist.h header file from the romfs directory - -$(ROMFS_DIRLIST) : populate - @$(TESTS_DIR)/mkdirlist.sh $(ROMFS_DIR) >$@ - -# Create the exported symbol table list from the derived *-thunk.S files - -$(SYMTAB): build - @$(TESTS_DIR)/mksymtab.sh $(TESTS_DIR) >$@ - -# Clean each subdirectory - -clean: $(foreach DIR, $(SUBDIRS), $(DIR)_clean) - @rm -f $(ROMFS_HDR) $(ROMFS_IMG) $(SYMTAB) - @rm -rf $(ROMFS_DIR) - - diff --git a/nuttx/examples/nxflat/tests/errno/Makefile b/nuttx/examples/nxflat/tests/errno/Makefile deleted file mode 100644 index 158768b852..0000000000 --- a/nuttx/examples/nxflat/tests/errno/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################ -# examples/nxflat/tests/hello/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN = errno - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -D $(BIN) $(ROMFS_DIR)/$(BIN) - diff --git a/nuttx/examples/nxflat/tests/errno/errno.c b/nuttx/examples/nxflat/tests/errno/errno.c deleted file mode 100644 index b066791650..0000000000 --- a/nuttx/examples/nxflat/tests/errno/errno.c +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************** - * examples/nxflat/tests/errno/errno.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <errno.h> - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -static const char g_nonexistent[] = "aflav-sautga-ay"; - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int main(int argc, char **argv) -{ - FILE *test_stream; - - /* Try using stdout and stderr explicitly. These are global variables - * exported from the base code. - */ - - fprintf(stdout, "Hello, World on stdout\n"); - fprintf(stderr, "Hello, World on stderr\n"); - - /* Try opening a non-existent file using buffered IO. */ - - test_stream = fopen(g_nonexistent, "r"); - if (test_stream) - { - fprintf(stderr, "Hmm... Delete \"%s\" and try this again\n", - g_nonexistent); - exit(1); - } - - /* Now print the errno on stderr. Errno is also a global - * variable exported by the base code. - */ - - fprintf(stderr, "We failed to open \"%s!\" errno is %d\n", - g_nonexistent, errno); - - return 0; -} diff --git a/nuttx/examples/nxflat/tests/hello++/Makefile b/nuttx/examples/nxflat/tests/hello++/Makefile deleted file mode 100644 index 113520da5d..0000000000 --- a/nuttx/examples/nxflat/tests/hello++/Makefile +++ /dev/null @@ -1,180 +0,0 @@ -############################################################################ -# examples/nxflat/tests/hello/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN1 = hello++1 -BIN2 = hello++2 -BIN3 = hello++3 -#BIN4 = hello++4 -ALL_BIN = $(BIN1) $(BIN2) $(BIN3) $(BIN4) - -R1SRCS1 = $(BIN1).c -R1OBJS1 = $(R1SRCS1:.c=.o) -R2SRC1 = $(BIN1)-thunk.S -R2OBJ1 = $(R2SRC1:.S=.o) - -R1SRCS2 = $(BIN2).c -R1OBJS2 = $(R1SRCS2:.c=.o) -R2SRC2 = $(BIN2)-thunk.S -R2OBJ2 = $(R2SRC2:.S=.o) - -R1SRCS3 = $(BIN3).c -R1OBJS3 = $(R1SRCS3:.c=.o) -R2SRC3 = $(BIN3)-thunk.S -R2OBJ3 = $(R2SRC3:.S=.o) - -#R1SRCS4 = $(BIN4).c -#R1OBJS4 = $(R1SRCS4:.c=.o) -#R2SRC4 = $(BIN4)-thunk.S -#R2OBJ4 = $(R2SRC4:.S=.o) - -DERIVED = $(R2SRC1) $(R2SRC2) $(R2SRC3) $(R2SRC4) - -R1CXXOBJS = $(R1OBJS1) $(R1OBJS2) $(R1OBJS3) # $(R1OBJS4) -R2AOBJS = $(R2OBJ1) $(R2OBJ2) $(R2OBJ3) # $(R2OBJ4) - -LIBSTDC_STUBS_DIR = $(TOPDIR)/libxx -LIBSTDC_STUBS_LIB = $(LIBSTDC_STUBS_DIR)/liblibxx.a - -all: $(BIN1) $(BIN2) $(BIN3) # $(BIN4) - -$(R1CXXOBJS): %.o: %.cpp - @echo "CC: $<" - @$(CXX) -c $(CXXPICFLAGS) $< -o $@ - -$(R2AOBJS): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -# This contains libstdc++ stubs to that you can build C++ code -# without actually having libstdc++ - -$(LIBSTDC_STUBS_LIB): - @$(MAKE) -C $(LIBSTDC_STUBS_DIR) TOPDIR=$(TOPDIR) - -# BIN1 and BIN2 link just like C code because they contain no -# static constructors. BIN1 is equivalent to a C hello world; -# BIN2 contains a class that implements hello world, but it is -# not statically initialized. - -$(BIN1).r1: $(R1OBJS1) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC1): $(BIN1).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN1).r2: $(R2OBJ1) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS1) $(R2OBJ1) - -$(BIN1): $(BIN1).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -$(BIN2).r1: $(R1OBJS2) $(LIBSTDC_STUBS_LIB) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC2): $(BIN2).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN2).r2: $(R2OBJ2) - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS2) $(R2OBJ2) - -$(BIN2): $(BIN2).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -# BIN3 and BIN4 require that we include --cxx in the xflat-ld command. -# This will instruct xflat-ld that we want it to put together the correct -# startup files to handle the C++ static initializers. -# -# BIN3 is equivalent to BIN2 except that is uses static initializers - -$(BIN3).r1: $(R1OBJS3) $(LIBSTDC_STUBS_LIB) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC3): $(BIN3).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN3).r2: $(R2OBJ3) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS3) $(R2OBJ3) - -$(BIN3): $(BIN3).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -# BIN4 is similar to BIN3 except that it uses the streams code from libstdc++ -# -# NOTE: libstdc++ is not available for XFLAT as of this writing -# -#$(BIN4).r1: $(R1OBJS4) $(LIBSTDC_STUBS_LIB) -# @echo "LD: $<" -# $(LD) $(NXFLATLDFLAGS1) -o $@ $^ -# -#$(R2SRC4): $(BIN4).r1 -# @echo "MK: $<" -# $(MKNXFLAT) -o $@ $^ -# -#$(BIN4).r2: $(R2OBJ4)# @echo "LD: $<" -# $(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS4) $(R2OBJ4) -# -#$(BIN4): $(BIN4).r2 -# @echo "LD: $<" -# $(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(ALL_BIN) $(DERIVED) *.o *.r1 *.r2 *~ .*.swp core - -install: $(ALL_BIN) - @install -D $(BIN1) $(ROMFS_DIR)/$(BIN1) - @install -D $(BIN2) $(ROMFS_DIR)/$(BIN2) - @install -D $(BIN3) $(ROMFS_DIR)/$(BIN3) -# @install -D $(BIN4) $(ROMFS_DIR)/$(BIN4) - - - - - - - diff --git a/nuttx/examples/nxflat/tests/hello++/hello++1.cpp b/nuttx/examples/nxflat/tests/hello++/hello++1.cpp deleted file mode 100644 index 779f3307a7..0000000000 --- a/nuttx/examples/nxflat/tests/hello++/hello++1.cpp +++ /dev/null @@ -1,60 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// examples/nxflat/tests/hello++/hello++1.c -// -// Copyright (C) 2009 Gregory Nutt. All rights reserved. -// Author: Gregory Nutt <spudmonkey@racsa.co.cr> -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in -// the documentation and/or other materials provided with the -// distribution. -// 3. Neither the name NuttX nor the names of its contributors may be -// used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -// AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// -///////////////////////////////////////////////////////////////////////////// -// -// This is an trivial version of "Hello, World" program. It illustrates -// that we can build C programs using the C++ compiler. -// -// - Building a C++ program to use the C library -// - No class creation -// - NO Streams -// - NO Static constructor and destructors -// -///////////////////////////////////////////////////////////////////////////// - -///////////////////////////////////////////////////////////////////////////// -// Included Files -///////////////////////////////////////////////////////////////////////////// - -#include <cstdio> - -///////////////////////////////////////////////////////////////////////////// -// Public Functions -///////////////////////////////////////////////////////////////////////////// - -int main(int argc, char **argv) -{ - printf("Hello, World!\n"); - return 0; -} diff --git a/nuttx/examples/nxflat/tests/hello++/hello++2.cpp b/nuttx/examples/nxflat/tests/hello++/hello++2.cpp deleted file mode 100644 index 87166f3ab2..0000000000 --- a/nuttx/examples/nxflat/tests/hello++/hello++2.cpp +++ /dev/null @@ -1,123 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// examples/nxflat/tests/hello++/hello++2.c -// -// Copyright (C) 2009 Gregory Nutt. All rights reserved. -// Author: Gregory Nutt <spudmonkey@racsa.co.cr> -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in -// the documentation and/or other materials provided with the -// distribution. -// 3. Neither the name NuttX nor the names of its contributors may be -// used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -// AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// -///////////////////////////////////////////////////////////////////////////// -// -// This is an another trivial version of "Hello, World" design. It illustrates -// -// - Building a C++ program to use the C library -// - Basic class creation -// - NO Streams -// - NO Static constructor and destructors -// -///////////////////////////////////////////////////////////////////////////// - -///////////////////////////////////////////////////////////////////////////// -// Included Files -///////////////////////////////////////////////////////////////////////////// - -#include <cstdio> - -///////////////////////////////////////////////////////////////////////////// -// Classes -///////////////////////////////////////////////////////////////////////////// - -class CThingSayer -{ - const char *szWhatToSay; -public: - CThingSayer(void) - { - printf("CThingSayer::CThingSayer: I am!\n"); - szWhatToSay = (const char*)NULL; - } - - ~CThingSayer(void) - { - printf("CThingSayer::~CThingSayer: I cease to be\n"); - if (szWhatToSay) - { - printf("CThingSayer::~CThingSayer: I will never say '%s' again\n", - szWhatToSay); - } - szWhatToSay = (const char*)NULL; - } - - void Initialize(const char *czSayThis) - { - printf("CThingSayer::Initialize: When told, I will say '%s'\n", - czSayThis); - szWhatToSay = czSayThis; - } - - void SayThing(void) - { - printf("CThingSayer::SayThing: I am now saying '%s'\n", szWhatToSay); - } -}; - -///////////////////////////////////////////////////////////////////////////// -// Public Functions -///////////////////////////////////////////////////////////////////////////// - -int main(int argc, char **argv) -{ - CThingSayer *MyThingSayer; - - printf("main: Started. Creating MyThingSayer\n"); - - // Create an instance of the CThingSayer class - // We should see the message from constructor, CThingSayer::CThingSayer(), - - MyThingSayer = new CThingSayer; - printf("main: Created MyThingSayer=0x%08lx\n", (long)MyThingSayer); - - // Tell MyThingSayer that "Hello, World!" is the string to be said - - printf("main: Calling MyThingSayer->Initialize\n");; - MyThingSayer->Initialize("Hello, World!"); - - // Tell MyThingSayer to say the thing we told it to say - - printf("main: Calling MyThingSayer->SayThing\n");; - MyThingSayer->SayThing(); - - // We should see the message from the destructor, - // CThingSayer::~CThingSayer(), AFTER we see the following - - printf("main: Destroying MyThingSayer\n"); - delete MyThingSayer; - - printf("main: Returning\n");; - return 0; -} diff --git a/nuttx/examples/nxflat/tests/hello++/hello++3.cpp b/nuttx/examples/nxflat/tests/hello++/hello++3.cpp deleted file mode 100644 index ed7302fa65..0000000000 --- a/nuttx/examples/nxflat/tests/hello++/hello++3.cpp +++ /dev/null @@ -1,132 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// examples/nxflat/tests/hello++/hello++3.c -// -// Copyright (C) 2009 Gregory Nutt. All rights reserved. -// Author: Gregory Nutt <spudmonkey@racsa.co.cr> -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in -// the documentation and/or other materials provided with the -// distribution. -// 3. Neither the name NuttX nor the names of its contributors may be -// used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -// AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// -///////////////////////////////////////////////////////////////////////////// -// -// This is an another trivial version of "Hello, World" design. It illustrates -// -// - Building a C++ program to use the C library and stdio -// - Basic class creation with virtual methods. -// - Static constructor and destructors (in main program only) -// - NO Streams -// -///////////////////////////////////////////////////////////////////////////// - -///////////////////////////////////////////////////////////////////////////// -// Included Files -///////////////////////////////////////////////////////////////////////////// - -#include <cstdio> - -///////////////////////////////////////////////////////////////////////////// -// Classes -///////////////////////////////////////////////////////////////////////////// - -class CThingSayer -{ - const char *szWhatToSay; -public: - CThingSayer(void); - virtual ~CThingSayer(void); - virtual void Initialize(const char *czSayThis); - virtual void SayThing(void); -}; - -// A static instance of the CThingSayer class. This instance MUST -// be constructed by the system BEFORE the program is started at -// main() and must be destructed by the system AFTER the main() -// returns to the system - -static CThingSayer MyThingSayer; - -// These are implementations of the methods of the CThingSayer class - -CThingSayer::CThingSayer(void) -{ - printf("CThingSayer::CThingSayer: I am!\n"); - szWhatToSay = (const char*)NULL; -} - -CThingSayer::~CThingSayer(void) -{ - printf("CThingSayer::~CThingSayer: I cease to be\n"); - if (szWhatToSay) - { - printf("CThingSayer::~CThingSayer: I will never say '%s' again\n", - szWhatToSay); - } - szWhatToSay = (const char*)NULL; -} - -void CThingSayer::Initialize(const char *czSayThis) -{ - printf("CThingSayer::Initialize: When told, I will say '%s'\n", - czSayThis); - szWhatToSay = czSayThis; -} - -void CThingSayer::SayThing(void) -{ - printf("CThingSayer::SayThing: I am now saying '%s'\n", szWhatToSay); -} - -///////////////////////////////////////////////////////////////////////////// -// Public Functions -///////////////////////////////////////////////////////////////////////////// - -int main(int argc, char **argv) -{ - // We should see the message from constructor, CThingSayer::CThingSayer(), - // BEFORE we see the following messages. That is proof that the - // C++ static initializer is working - - printf("main: Started. MyThingSayer should already exist\n"); - - // Tell MyThingSayer that "Hello, World!" is the string to be said - - printf("main: Calling MyThingSayer.Initialize\n");; - MyThingSayer.Initialize("Hello, World!"); - - // Tell MyThingSayer to say the thing we told it to say - - printf("main: Calling MyThingSayer.SayThing\n");; - MyThingSayer.SayThing(); - - // We are finished, return. We should see the message from the - // destructor, CThingSayer::~CThingSayer(), AFTER we see the following - // message. That is proof that the C++ static destructor logic - // is working - - printf("main: Returning. MyThingSayer should be destroyed\n");; - return 0; -} diff --git a/nuttx/examples/nxflat/tests/hello++/hello++4.cpp b/nuttx/examples/nxflat/tests/hello++/hello++4.cpp deleted file mode 100644 index 97d0260937..0000000000 --- a/nuttx/examples/nxflat/tests/hello++/hello++4.cpp +++ /dev/null @@ -1,150 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// examples/nxflat/tests/hello++/hello++4.c -// -// Copyright (C) 2009 Gregory Nutt. All rights reserved. -// Author: Gregory Nutt <spudmonkey@racsa.co.cr> -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in -// the documentation and/or other materials provided with the -// distribution. -// 3. Neither the name NuttX nor the names of its contributors may be -// used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -// AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// -///////////////////////////////////////////////////////////////////////////// -// -// This is an excessively complex version of "Hello, World" design to -// illustrate some basic properties of C++: -// -// - Building a C++ program -// - Streams / statically linked libstdc++ -// - Static constructor and destructors (in main program only) -// -///////////////////////////////////////////////////////////////////////////// - -///////////////////////////////////////////////////////////////////////////// -// Included Files -///////////////////////////////////////////////////////////////////////////// - -#include <cstdio> -#include <iostream> - -#ifndef NULL -# define NULL ((void*)0L) -#endif - -///////////////////////////////////////////////////////////////////////////// -// Classes -///////////////////////////////////////////////////////////////////////////// - -using namespace std; - -// A hello world sayer class - -class CThingSayer -{ - const char *szWhatToSay; -public: - CThingSayer(void); - virtual ~CThingSayer(void); - virtual void Initialize(const char *czSayThis); - virtual void SayThing(void); -}; - -///////////////////////////////////////////////////////////////////////////// -// Private Data -///////////////////////////////////////////////////////////////////////////// - -// A static instance of the CThingSayer class. This instance MUST -// be constructed by the system BEFORE the program is started at -// main() and must be destructed by the system AFTER the main() -// returns to the system - -static CThingSayer MyThingSayer; - -///////////////////////////////////////////////////////////////////////////// -// Method Implementations -///////////////////////////////////////////////////////////////////////////// - -// These are implementations of the methods of the CThingSayer class - -CThingSayer::CThingSayer(void) -{ - cout << "CThingSayer::CThingSayer: I am!" << endl; - szWhatToSay = (const char*)NULL; -} - -CThingSayer::~CThingSayer(void) -{ - cout << "CThingSayer::~CThingSayer: I cease to be" << endl; - if (szWhatToSay) - { - cout << "CThingSayer::~CThingSayer: I will never say '" - << szWhatToSay << "' again" << endl; - } - szWhatToSay = (const char*)NULL; -} - -void CThingSayer::Initialize(const char *czSayThis) -{ - cout << "CThingSayer::Initialize: When told, I will say '" - << czSayThis << "'" << endl; - szWhatToSay = czSayThis; -} - -void CThingSayer::SayThing(void) -{ - cout << "CThingSayer::SayThing: I am now saying '" - << szWhatToSay << "'" << endl; -} - -///////////////////////////////////////////////////////////////////////////// -// Public Functions -///////////////////////////////////////////////////////////////////////////// - -int main(int argc, char **argv) -{ - // We should see the message from constructor, CThingSayer::CThingSayer(), - // BEFORE we see the following messages. That is proof that the - // C++ static initializer is working - - cout << "main: Started" << endl; - - // Tell MyThingSayer that "Hello, World!" is the string to be said - - cout << "main: Calling MyThingSayer.Initialize" << endl; - MyThingSayer.Initialize("Hello, World!"); - - // Tell MyThingSayer to say the thing we told it to say - - cout << "main: Calling MyThingSayer.SayThing" << endl; - MyThingSayer.SayThing(); - - // We are finished, return. We should see the message from the - // destructor, CThingSayer::~CThingSayer(), AFTER we see the following - // message. That is proof that the C++ static destructor logic - // is working - - cout << "main: Returning" << endl; - return 0; -} diff --git a/nuttx/examples/nxflat/tests/hello/Makefile b/nuttx/examples/nxflat/tests/hello/Makefile deleted file mode 100644 index ccde7a98f2..0000000000 --- a/nuttx/examples/nxflat/tests/hello/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################ -# examples/nxflat/tests/hello/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN = hello - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -D $(BIN) $(ROMFS_DIR)/$(BIN) - diff --git a/nuttx/examples/nxflat/tests/hello/hello.c b/nuttx/examples/nxflat/tests/hello/hello.c deleted file mode 100644 index 028bdfe007..0000000000 --- a/nuttx/examples/nxflat/tests/hello/hello.c +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** - * examples/nxflat/tests/hello/hello.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int main(int argc, char **argv) -{ - int i; - - /* Mandatory "Hello, world!" */ - - puts("Getting ready to say \"Hello, world\"\n"); - printf("Hello, world!\n"); - puts("It has been said.\n"); - - /* Print arguments */ - - printf("argc\t= %d\n", argc); - printf("argv\t= 0x%p\n", argv); - - for (i = 0; i < argc; i++) - { - printf("argv[%d]\t= ", i); - if (argv[i]) - { - printf("(0x%p) \"%s\"\n", argv[i], argv[i]); - } - else - { - printf("NULL?\n"); - } - } - - printf("argv[%d]\t= 0x%p\n", argc, argv[argc]); - printf("Goodbye, world!\n"); - return 0; -} diff --git a/nuttx/examples/nxflat/tests/longjmp/Makefile b/nuttx/examples/nxflat/tests/longjmp/Makefile deleted file mode 100644 index d0c93ebbda..0000000000 --- a/nuttx/examples/nxflat/tests/longjmp/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################ -# examples/nxflat/tests/longjmp/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN = longjmp - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -D $(BIN) $(ROMFS_DIR)/$(BIN) - diff --git a/nuttx/examples/nxflat/tests/longjmp/longjmp.c b/nuttx/examples/nxflat/tests/longjmp/longjmp.c deleted file mode 100644 index b5b317d996..0000000000 --- a/nuttx/examples/nxflat/tests/longjmp/longjmp.c +++ /dev/null @@ -1,128 +0,0 @@ -/**************************************************************************** - * examples/nxflat/tests/longjmp/longjmp.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdio.h> -#include <setjmp.h> - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -#define MAIN_VAL 47 -#define FUNC_VAL 92 -#define LEAF_VAL 163 - -#define FUNCTION_ARG MAIN_VAL -#define LEAF_ARG (FUNCTION_ARG + FUNC_VAL) -#define SETJMP_RETURN (LEAF_ARG + LEAF_VAL) - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static jmp_buf env; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -static int leaf(int *some_arg) -{ - int some_local_variable = *some_arg + LEAF_VAL; - - printf("leaf: received %d\n", *some_arg); - - if (*some_arg != LEAF_ARG) - printf("leaf: ERROR: expected %d\n", LEAF_ARG); - - printf("leaf: Calling longjmp() with %d\n", some_local_variable); - - longjmp(env, some_local_variable); -} - -static int function(int some_arg) -{ - int some_local_variable = some_arg + FUNC_VAL; - int retval; - - printf("function: received %d\n", some_arg); - - if (some_arg != FUNCTION_ARG) - printf("function: ERROR: expected %d\n", FUNCTION_ARG); - - printf("function: Calling leaf() with %d\n", some_local_variable); - - retval = leaf(&some_local_variable); - - printf("function: ERROR -- leaf returned!\n"); - return retval; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int main(int argc, char **argv) -{ - int value; - - printf("main: Calling setjmp\n"); - value = setjmp(env); - printf("main: setjmp returned %d\n", value); - - if (value == 0) - { - printf("main: Normal setjmp return\n"); - printf("main: Calling function with %d\n", MAIN_VAL); - function(MAIN_VAL); - printf("main: ERROR -- function returned!\n"); - return 1; - } - else if (value != SETJMP_RETURN) - { - printf("main: ERROR: Expected %d\n", SETJMP_RETURN); - return 1; - } - else - { - printf("main: SUCCESS: setjmp return from longjmp call\n"); - return 0; - } -} - diff --git a/nuttx/examples/nxflat/tests/mkdirlist.sh b/nuttx/examples/nxflat/tests/mkdirlist.sh deleted file mode 100755 index cc55ac0b56..0000000000 --- a/nuttx/examples/nxflat/tests/mkdirlist.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -usage="Usage: %0 <romfs-dir-path>" - -dir=$1 -if [ -z "$dir" ]; then - echo "ERROR: Missing <romfs-dir-path>" - echo "" - echo $usage - exit 1 -fi - -if [ ! -d "$dir" ]; then - echo "ERROR: Directory $dir does not exist" - echo "" - echo $usage - exit 1 -fi - -echo "#ifndef __EXAMPLES_NXFLAT_TESTS_DIRLIST_H" -echo "#define __EXAMPLES_NXFLAT_TESTS_DIRLIST_H" -echo "" -echo "static const char *dirlist[] =" -echo "{" - -for file in `ls $dir`; do - echo " \"$file\"," -done - -echo " NULL" -echo "};" -echo "" -echo "#endif /* __EXAMPLES_NXFLAT_TESTS_DIRLIST_H */" - - diff --git a/nuttx/examples/nxflat/tests/mksymtab.sh b/nuttx/examples/nxflat/tests/mksymtab.sh deleted file mode 100755 index 611d3a87a0..0000000000 --- a/nuttx/examples/nxflat/tests/mksymtab.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -usage="Usage: %0 <test-dir-path>" - -dir=$1 -if [ -z "$dir" ]; then - echo "ERROR: Missing <test-dir-path>" - echo "" - echo $usage - exit 1 -fi - -if [ ! -d "$dir" ]; then - echo "ERROR: Directory $dir does not exist" - echo "" - echo $usage - exit 1 -fi - -varlist=`find $dir -name "*-thunk.S"| xargs grep -h asciz | cut -f3 | sort | uniq` - -echo "#ifndef __EXAMPLES_NXFLAT_TESTS_SYMTAB_H" -echo "#define __EXAMPLES_NXFLAT_TESTS_SYMTAB_H" -echo "" -echo "#include <nuttx/symtab.h>" -echo "" -echo "static const struct symtab_s exports[] = " -echo "{" - -for string in $varlist; do - var=`echo $string | sed -e "s/\"//g"` - echo " {$string, $var}," -done - -echo "};" -echo "#define NEXPORTS (sizeof(exports)/sizeof(struct symtab_s))" -echo "" -echo "#endif /* __EXAMPLES_NXFLAT_TESTS_SYMTAB_H */" - diff --git a/nuttx/examples/nxflat/tests/mutex/Makefile b/nuttx/examples/nxflat/tests/mutex/Makefile deleted file mode 100644 index 8c9fbb4a31..0000000000 --- a/nuttx/examples/nxflat/tests/mutex/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################ -# examples/nxflat/tests/mutex/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN = mutex - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -D $(BIN) $(ROMFS_DIR)/$(BIN) - diff --git a/nuttx/examples/nxflat/tests/mutex/mutex.c b/nuttx/examples/nxflat/tests/mutex/mutex.c deleted file mode 100644 index 78a63306db..0000000000 --- a/nuttx/examples/nxflat/tests/mutex/mutex.c +++ /dev/null @@ -1,149 +0,0 @@ -/**************************************************************************** - * examples/nxflat/tests/mutex/mutex.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdbool.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <pthread.h> - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static pthread_mutex_t mut; -static volatile int my_mutex = 0; -static unsigned long nloops[2] = {0, 0}; -static unsigned long nerrors[2] = {0, 0}; -static volatile bool bendoftest; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/* NOTE: it is necessary for functions that are referred to by function pointers - * pointer to be declared with global scope (at least for ARM). Otherwise, - * a relocation type that is not supported by NXFLAT is generated by GCC. - */ - -void thread_func(void *parameter) -{ - int my_id = (int)parameter; - int my_ndx = my_id - 1; - int i; - - /* Loop 20 times. There is a 100 MS delay in the loop so this should - * take about 2 seconds. The main thread will stop this thread after - * 2 seconds by setting bendoftest in any event. - */ - - for (i = 0; i < 20 && !bendoftest; i++); - { - if ((pthread_mutex_lock(&mut)) != 0) - { - printf("ERROR thread %d: pthread_mutex_lock failed\n", my_id); - } - - if (my_mutex == 1) - { - printf("ERROR thread=%d: " - "my_mutex should be zero, instead my_mutex=%d\n", - my_id, my_mutex); - nerrors[my_ndx]++; - } - - my_mutex = 1; - usleep(100000); - my_mutex = 0; - - if ((pthread_mutex_unlock(&mut)) != 0) - { - printf("ERROR thread %d: pthread_mutex_unlock failed\n", my_id); - } - - nloops[my_ndx]++; - } -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int main(int argc, char **argv) -{ - pthread_t thread1; - pthread_t thread2; - - /* Initialize the mutex */ - - pthread_mutex_init(&mut, NULL); - - /* Start two thread instances */ - - printf("Starting thread 1\n"); - bendoftest = false; - if ((pthread_create(&thread1, NULL, (void*)thread_func, (void*)1)) != 0) - { - fprintf(stderr, "Error in thread#1 creation\n"); - } - - printf("Starting thread 2\n"); - if ((pthread_create(&thread2, NULL, (void*)thread_func, (void*)2)) != 0) - { - fprintf(stderr, "Error in thread#2 creation\n"); - } - - /* Wait a bit for the threads to do their thing. */ - - sleep(2); - - /* Then ask them politely to stop running */ - - printf("Stopping threads\n"); - bendoftest = true; - pthread_join(thread1, NULL); - pthread_join(thread2, NULL); - - printf("\tThread1\tThread2\n"); - printf("Loops\t%ld\t%ld\n", nloops[0], nloops[1]); - printf("Errors\t%ld\t%ld\n", nerrors[0], nerrors[1]); - - return 0; -} - diff --git a/nuttx/examples/nxflat/tests/pthread/Makefile b/nuttx/examples/nxflat/tests/pthread/Makefile deleted file mode 100644 index 27da42e7cd..0000000000 --- a/nuttx/examples/nxflat/tests/pthread/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################ -# examples/nxflat/tests/pthread/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN = pthread - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -D $(BIN) $(ROMFS_DIR)/$(BIN) - diff --git a/nuttx/examples/nxflat/tests/pthread/pthread.c b/nuttx/examples/nxflat/tests/pthread/pthread.c deleted file mode 100644 index 019ec453e1..0000000000 --- a/nuttx/examples/nxflat/tests/pthread/pthread.c +++ /dev/null @@ -1,143 +0,0 @@ -/**************************************************************************** - * examples/nxflat/tests/pthread/pthread.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <pthread.h> - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -#define CHILD_ARG ((void*)0x12345678) -#define CHILD_RET ((void*)0x87654321) - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -enum exit_values_e -{ - TESTRESULT_SUCCESS = 0, - TESTRESULT_PTHREAD_ATTR_INIT_FAIL, - TESTRESULT_PTHREAD_CREATE_FAIL, - TESTRESULT_PTHREAD_JOIN_FAIL, - TESTRESULT_CHILD_ARG_FAIL, - TESTRESULT_CHILD_RETVAL_FAIL, -}; - -/**************************************************************************** - * External Functions - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/* NOTE: it is necessary for functions that are referred to by function pointers - * pointer to be declared with global scope (at least for ARM). Otherwise, - * a relocation type that is not supported by NXFLAT is generated by GCC. - */ - -void *child_start_routine(void *arg) -{ - printf("CHILD: started with arg=%d\n", (int)arg); - - if (arg != CHILD_ARG) - { - printf("CHILD: expected arg=%d\n", (int)CHILD_ARG); - return (void*)TESTRESULT_CHILD_ARG_FAIL; - } - sleep(2); - - printf("CHILD: returning %d\n", (int)CHILD_RET); - pthread_exit(CHILD_RET); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int main(int argc, char **argv) -{ - pthread_attr_t attr; - pthread_t thread; - void *retval; - int status; - - puts("PARENT: started\n"); - - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("PARENT: pthread_attr_init() returned %d\n", status); - exit(TESTRESULT_PTHREAD_ATTR_INIT_FAIL); - } - - printf("PARENT: calling pthread_start with arg=%d\n", (int)CHILD_ARG); - status = pthread_create(&thread, &attr, child_start_routine, CHILD_ARG); - if (status != 0) - { - printf("PARENT: pthread_create() returned %d\n", status); - exit(TESTRESULT_PTHREAD_CREATE_FAIL); - } - - status = pthread_join(thread, &retval); - if (status != 0) - { - printf("PARENT pthread_join() returned %d\n", status); - - exit(TESTRESULT_PTHREAD_JOIN_FAIL); - } - - printf("PARENT child exitted with %d\n", (int)retval); - if (retval != CHILD_RET) - { - printf("PARENT child thread did not exit with %d\n", (int)CHILD_RET); - exit(TESTRESULT_CHILD_RETVAL_FAIL); - } - - puts("PARENT returning success\n"); - return TESTRESULT_SUCCESS; -} diff --git a/nuttx/examples/nxflat/tests/signal/Makefile b/nuttx/examples/nxflat/tests/signal/Makefile deleted file mode 100644 index d967fbf09a..0000000000 --- a/nuttx/examples/nxflat/tests/signal/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################ -# examples/nxflat/tests/signal/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN = signal - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -D $(BIN) $(ROMFS_DIR)/$(BIN) - diff --git a/nuttx/examples/nxflat/tests/signal/signal.c b/nuttx/examples/nxflat/tests/signal/signal.c deleted file mode 100644 index ff1c58305e..0000000000 --- a/nuttx/examples/nxflat/tests/signal/signal.c +++ /dev/null @@ -1,308 +0,0 @@ -/**************************************************************************** - * examples/nxflat/tests/signal/signal.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <sys/types.h> -#include <stdio.h> -#include <stdlib.h> -#include <signal.h> -#include <unistd.h> -#include <string.h> -#include <errno.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#define USEC_PER_MSEC 1000 -#define MSEC_PER_SEC 1000 -#define USEC_PER_SEC (USEC_PER_MSEC * MSEC_PER_SEC) -#define SHORT_DELAY (USEC_PER_SEC / 3) - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static int sigusr1_rcvd = 0; -static int sigusr2_rcvd = 0; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: sigusr1_sighandler - ****************************************************************************/ - -/* NOTE: it is necessary for functions that are referred to by function pointers - * pointer to be declared with global scope (at least for ARM). Otherwise, - * a relocation type that is not supported by NXFLAT is generated by GCC. - */ - -void sigusr1_sighandler(int signo) -{ - printf("sigusr1_sighandler: Received SIGUSR1, signo=%d\n", signo); - sigusr1_rcvd = 1; -} - -/**************************************************************************** - * Name: sigusr2_sigaction - ***************************************************************************/ - -/* NOTE: it is necessary for functions that are referred to by function pointers - * pointer to be declared with global scope (at least for ARM). Otherwise, - * a relocation type that is not supported by NXFLAT is generated by GCC. - */ - -#ifdef __USE_POSIX199309 -void sigusr2_sigaction(int signo, siginfo_t *siginfo, void *arg) -{ - printf("sigusr2_sigaction: Received SIGUSR2, signo=%d siginfo=%p arg=%p\n", - signo, siginfo, arg); - -#ifdef HAVE_SIGQUEUE - if (siginfo) - { - printf(" si_signo = %d\n", siginfo->si_signo); - printf(" si_errno = %d\n", siginfo->si_errno); - printf(" si_code = %d\n", siginfo->si_code); - printf(" si_pid = %d\n", siginfo->si_pid); - printf(" si_uid = %d\n", siginfo->si_uid); - printf(" si_status = %d\n", siginfo->si_status); - printf(" si_utime = %ld\n", (long)siginfo->si_utime); - printf(" si_stime = %ld\n", (long)siginfo->si_stime); - printf(" si_value = %d\n", siginfo->si_value.sival_int); - printf(" si_int = %d\n", siginfo->si_int); - printf(" si_ptr = %p\n", siginfo->si_ptr); - printf(" si_addr = %p\n", siginfo->si_addr); - printf(" si_band = %ld\n", siginfo->si_band); - printf(" si_fd = %d\n", siginfo->si_fd); - } -#endif - sigusr2_rcvd = 1; -} -#else -void sigusr2_sigaction(int signo) -{ - printf("sigusr2_sigaction: Received SIGUSR2, signo=%d\n", signo); - sigusr2_rcvd = 1; -} - -#endif - -/**************************************************************************** - * Name: sigusr2_sighandler - ****************************************************************************/ - -static void sigusr2_sighandler(int signo) -{ - printf("sigusr2_sighandler: Received SIGUSR2, signo=%d\n", signo); - sigusr2_rcvd = 1; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: main - ****************************************************************************/ - -int main(int argc, char **argv) -{ - struct sigaction act; - struct sigaction oact; - void (*old_sigusr1_sighandler)(int signo); - void (*old_sigusr2_sighandler)(int signo); - pid_t mypid = getpid(); -#if defined(__USE_POSIX199309) && defined(HAVE_SIGQUEUE) - sigval_t sigval; -#endif - int status; - - printf("Setting up signal handlers from pid=%d\n", mypid); - - /* Set up so that sigusr1_sighandler will respond to SIGUSR1 */ - - old_sigusr1_sighandler = signal(SIGUSR1, sigusr1_sighandler); - if (old_sigusr1_sighandler == SIG_ERR) - { - fprintf(stderr, "Failed to install SIGUSR1 handler, errno=%d\n", - errno); - exit(1); - } - - printf("Old SIGUSR1 sighandler at %p\n", old_sigusr1_sighandler); - printf("New SIGUSR1 sighandler at %p\n", sigusr1_sighandler); - - /* Set up so that sigusr2_sigaction will respond to SIGUSR2 */ - - memset(&act, 0, sizeof(struct sigaction)); - act.sa_sigaction = sigusr2_sigaction; - act.sa_flags = SA_SIGINFO; - - (void)sigemptyset(&act.sa_mask); - - status = sigaction(SIGUSR2, &act, &oact); - if (status != 0) - { - fprintf(stderr, "Failed to install SIGUSR2 handler, errno=%d\n", - errno); - exit(2); - } - - printf("Old SIGUSR2 sighandler at %p\n", oact.sa_handler); - printf("New SIGUSR2 sighandler at %p\n", sigusr2_sigaction); - printf("Raising SIGUSR1 from pid=%d\n", mypid); - - fflush(stdout); usleep(SHORT_DELAY); - - /* Send SIGUSR1 to ourselves via raise() */ - - status = raise(SIGUSR1); - if (status != 0) - { - fprintf(stderr, "Failed to raise SIGUSR1, errno=%d\n", errno); - exit(3); - } - - usleep(SHORT_DELAY); - printf("SIGUSR1 raised from pid=%d\n", mypid); - - /* Verify that we received SIGUSR1 */ - - if (sigusr1_rcvd == 0) - { - fprintf(stderr, "SIGUSR1 not received\n"); - exit(4); - } - sigusr1_rcvd = 0; - - /* Send SIGUSR2 to ourselves */ - - printf("Killing SIGUSR2 from pid=%d\n", mypid); - fflush(stdout); usleep(SHORT_DELAY); - -#if defined(__USE_POSIX199309) && defined(HAVE_SIGQUEUE) - /* Send SIGUSR2 to ourselves via sigqueue() */ - - sigval.sival_int = 87; - status = sigqueue(mypid, SIGUSR2, sigval); - if (status != 0) - { - fprintf(stderr, "Failed to queue SIGUSR2, errno=%d\n", errno); - exit(5); - } - - usleep(SHORT_DELAY); - printf("SIGUSR2 queued from pid=%d, sigval=97\n", mypid); -#else - /* Send SIGUSR2 to ourselves via kill() */ - - status = kill(mypid, SIGUSR2); - if (status != 0) - { - fprintf(stderr, "Failed to kill SIGUSR2, errno=%d\n", errno); - exit(5); - } - - usleep(SHORT_DELAY); - printf("SIGUSR2 killed from pid=%d\n", mypid); -#endif - /* Verify that SIGUSR2 was received */ - - if (sigusr2_rcvd == 0) - { - fprintf(stderr, "SIGUSR2 not received\n"); - exit(6); - } - sigusr2_rcvd = 0; - - /* Remove the sigusr2_sigaction handler and replace the SIGUSR2 - * handler with sigusr2_sighandler. - */ - - printf("Resetting SIGUSR2 signal handler from pid=%d\n", mypid); - - old_sigusr2_sighandler = signal(SIGUSR2, sigusr2_sighandler); - if (old_sigusr2_sighandler == SIG_ERR) - { - fprintf(stderr, "Failed to install SIGUSR2 handler, errno=%d\n", - errno); - exit(7); - } - - printf("Old SIGUSR2 sighandler at %p\n", old_sigusr2_sighandler); - printf("New SIGUSR2 sighandler at %p\n", sigusr2_sighandler); - - /* Verify that the handler that was removed was sigusr2_sigaction */ - - if ((void*)old_sigusr2_sighandler != (void*)sigusr2_sigaction) - { - fprintf(stderr, - "Old SIGUSR2 signhanlder (%p) is not sigusr2_sigation (%p)\n", - old_sigusr2_sighandler, sigusr2_sigaction); - exit(8); - } - - /* Send SIGUSR2 to ourselves via kill() */ - - printf("Killing SIGUSR2 from pid=%d\n", mypid); - fflush(stdout); usleep(SHORT_DELAY); - - status = kill(mypid, SIGUSR2); - if (status != 0) - { - fprintf(stderr, "Failed to kill SIGUSR2, errno=%d\n", errno); - exit(9); - } - - usleep(SHORT_DELAY); - printf("SIGUSR2 killed from pid=%d\n", mypid); - - /* Verify that SIGUSR2 was received */ - - if (sigusr2_rcvd == 0) - { - fprintf(stderr, "SIGUSR2 not received\n"); - exit(10); - } - sigusr2_rcvd = 0; - - return 0; -} diff --git a/nuttx/examples/nxflat/tests/struct/Makefile b/nuttx/examples/nxflat/tests/struct/Makefile deleted file mode 100644 index 7a5f3fb821..0000000000 --- a/nuttx/examples/nxflat/tests/struct/Makefile +++ /dev/null @@ -1,80 +0,0 @@ -############################################################################ -# examples/nxflat/tests/hello/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -CFLAGS += -I. - -BIN = struct - -R1SRCS = struct_main.c struct_dummy.c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -D $(BIN) $(ROMFS_DIR)/$(BIN) - diff --git a/nuttx/examples/nxflat/tests/struct/struct.h b/nuttx/examples/nxflat/tests/struct/struct.h deleted file mode 100644 index 0b1747d8c3..0000000000 --- a/nuttx/examples/nxflat/tests/struct/struct.h +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** - * examples/nxflat/tests/struct/struct.h - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __EXAMPLES_NXFLAT_TESTS_STRUCT_STRUCT_H -#define __EXAMPLES_NXFLAT_TESTS_STRUCT_STRUCT_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -#define DUMMY_SCALAR_VALUE1 42 -#define DUMMY_SCALAR_VALUE2 87 -#define DUMMY_SCALAR_VALUE3 117 - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -typedef void (*dummy_t)(void); - -struct struct_dummy_s -{ - int n; /* This is a simple scalar value (DUMMY_SCALAR_VALUE3) */ -}; - -struct struct_s -{ - int n; /* This is a simple scalar value (DUMMY_SCALAR_VALUE1) */ - const int *pn; /* This is a pointer to a simple scalar value */ - const struct struct_dummy_s *ps; /* This is a pointer to a structure */ - dummy_t pf; /* This is a pointer to a function */ -}; - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -extern int dummy_scalar; /* (DUMMY_SCALAR_VALUE2) */ -extern const struct struct_dummy_s dummy_struct; - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -extern void dummyfunc(void); -extern const struct struct_s *getstruct(void); - -#endif /* __EXAMPLES_NXFLAT_TESTS_STRUCT_STRUCT_H */ - - diff --git a/nuttx/examples/nxflat/tests/struct/struct_dummy.c b/nuttx/examples/nxflat/tests/struct/struct_dummy.c deleted file mode 100644 index 7f0be6a1f2..0000000000 --- a/nuttx/examples/nxflat/tests/struct/struct_dummy.c +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** - * examples/nxflat/tests/struct/struct_dummy.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> - -#include "struct.h" - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -const struct struct_s dummy = -{ - DUMMY_SCALAR_VALUE1, - &dummy_scalar, - &dummy_struct, - (dummy_t)dummyfunc -}; - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -const struct struct_s *getstruct(void) -{ - return &dummy; -} - diff --git a/nuttx/examples/nxflat/tests/struct/struct_main.c b/nuttx/examples/nxflat/tests/struct/struct_main.c deleted file mode 100644 index d82cdd7069..0000000000 --- a/nuttx/examples/nxflat/tests/struct/struct_main.c +++ /dev/null @@ -1,109 +0,0 @@ -/**************************************************************************** - * examples/nxflat/tests/struct/struct_main.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> - -#include "struct.h" - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -const struct struct_dummy_s dummy_struct = -{ - DUMMY_SCALAR_VALUE3 -}; - -int dummy_scalar = DUMMY_SCALAR_VALUE2; - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int main(int argc, char **argv) -{ - const struct struct_s *mystruct = getstruct(); - - printf("Calling getstruct()\n"); - mystruct = getstruct(); - printf("getstruct returned %p\n", mystruct); - printf(" n = %d (vs %d) %s\n", - mystruct->n, DUMMY_SCALAR_VALUE1, - mystruct->n == DUMMY_SCALAR_VALUE1 ? "PASS" : "FAIL"); - - printf(" pn = %p (vs %p) %s\n", - mystruct->pn, &dummy_scalar, - mystruct->pn == &dummy_scalar ? "PASS" : "FAIL"); - if (mystruct->pn == &dummy_scalar) - { - printf(" *pn = %d (vs %d) %s\n", - *mystruct->pn, DUMMY_SCALAR_VALUE2, - *mystruct->pn == DUMMY_SCALAR_VALUE2 ? "PASS" : "FAIL"); - } - - printf(" ps = %p (vs %p) %s\n", - mystruct->ps, &dummy_struct, - mystruct->ps == &dummy_struct ? "PASS" : "FAIL"); - if (mystruct->ps == &dummy_struct) - { - printf(" ps->n = %d (vs %d) %s\n", - mystruct->ps->n, DUMMY_SCALAR_VALUE3, - mystruct->ps->n == DUMMY_SCALAR_VALUE3 ? "PASS" : "FAIL"); - } - - printf(" pf = %p (vs %p) %s\n", - mystruct->pf, dummyfunc, - mystruct->pf == dummyfunc ? "PASS" : "FAIL"); - if (mystruct->pf == dummyfunc) - { - printf("Calling mystruct->pf()\n"); - mystruct->pf(); - } - - printf("Exit-ing\n"); - return 0; -} - -void dummyfunc(void) -{ - printf("In dummyfunc() -- PASS\n"); -} - - diff --git a/nuttx/examples/nxflat/tests/task/Makefile b/nuttx/examples/nxflat/tests/task/Makefile deleted file mode 100644 index 0881d4717a..0000000000 --- a/nuttx/examples/nxflat/tests/task/Makefile +++ /dev/null @@ -1,79 +0,0 @@ -############################################################################ -# examples/nxflat/tests/task/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN = task - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -D $(BIN) $(ROMFS_DIR)/$(BIN) - - diff --git a/nuttx/examples/nxflat/tests/task/task.c b/nuttx/examples/nxflat/tests/task/task.c deleted file mode 100644 index 63e8188ed5..0000000000 --- a/nuttx/examples/nxflat/tests/task/task.c +++ /dev/null @@ -1,143 +0,0 @@ -/**************************************************************************** - * examples/nxflat/tests/task/parent.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <sys/types.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <sched.h> -#include <semaphore.h> -#include <errno.h> - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static char child_name[] = "child"; -static char child_arg[] = "Hello from your parent!"; -static sem_t g_sem; - -#if CONFIG_TASK_NAME_SIZE == 0 -static char no_name[] = "<noname>"; -#endif - -/**************************************************************************** - * Privite Functions - ****************************************************************************/ - -/* NOTE: it is necessary for functions that are referred to by function pointers - * pointer to be declared with global scope (at least for ARM). Otherwise, - * a relocation type that is not supported by NXFLAT is generated by GCC. - */ - - int child_task(int argc, char **argv) -{ - printf("Child: execv was successful!\n"); - printf("Child: argc=%d\n", argc); - - if (argc != 2) - { - printf("Child: expected argc to be 2\n"); - printf("Child: Exit-ting with status=2\n"); - exit(2); - } - printf("Child: argv[0]=\"%s\"\n", argv[0]); - -#if CONFIG_TASK_NAME_SIZE == 0 - if (strcmp(argv[0], no_name) != 0) - { - printf("Child: expected argv[0] to be \"%s\"\n", no_name); - printf("Child: Exit-ting with status=3\n"); - exit(3); - } -#else - if (strncmp(argv[0], child_name, CONFIG_TASK_NAME_SIZE) != 0) - { - printf("Child: expected argv[0] to be \"%s\"\n", child_name); - printf("Child: Exit-ting with status=3\n"); - exit(3); - } -#endif - - printf("Child: argv[1]=\"%s\"\n", argv[1]); - - if (strcmp(argv[1], child_arg) != 0) - { - printf("Child: expected argv[1] to be \"%s\"\n", child_arg); - printf("Child: Exit-ting with status=4\n"); - exit(4); - } - - printf("Child: Exit-ting with status=0\n"); - sem_post(&g_sem); - return 0; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int main(int argc, char **argv) -{ - pid_t parent_pid = getpid(); - char *child_argv[2]; - pid_t child_pid; - - printf("Parent: Started, pid=%d\n", parent_pid); - - sem_init(&g_sem, 0, 0); - - printf("Parent: Calling task_create()\n"); - - child_argv[0] = child_arg; - child_argv[1] = 0; - child_pid = task_create(child_name, 50, 512, child_task, (const char**)child_argv); - if (child_pid < 0) - { - printf("Parent: task_create failed: %d\n", errno); - } - - printf("Parent: Waiting for child (pid=%d)\n", child_pid); - sem_wait(&g_sem); - printf("Parent: Exit-ing\n"); - sem_destroy(&g_sem); - return 0; -} - diff --git a/nuttx/examples/ostest/Makefile b/nuttx/examples/ostest/Makefile deleted file mode 100644 index 5fc3cfad9e..0000000000 --- a/nuttx/examples/ostest/Makefile +++ /dev/null @@ -1,116 +0,0 @@ -############################################################################ -# examples/ostest/Makefile -# -# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = main.c dev_null.c - -ifneq ($(CONFIG_DISABLE_PTHREAD),y) -CSRCS += cancel.c cond.c mutex.c sem.c barrier.c -ifneq ($(CONFIG_RR_INTERVAL),0) -CSRCS += roundrobin.c -endif # CONFIG_RR_INTERVAL -ifeq ($(CONFIG_MUTEX_TYPES),y) -CSRCS += rmutex.c -endif # CONFIG_MUTEX_TYPES -endif # CONFIG_DISABLE_PTHREAD - -ifneq ($(CONFIG_DISABLE_SIGNALS),y) -CSRCS += sighand.c -ifneq ($(CONFIG_DISABLE_PTHREAD),y) -ifneq ($(CONFIG_DISABLE_CLOCK),y) -CSRCS += timedwait.c -endif # CONFIG_DISABLE_CLOCK -endif # CONFIG_DISABLE_PTHREAD -endif # CONFIG_DISABLE_SIGNALS - -ifneq ($(CONFIG_DISABLE_MQUEUE),y) -ifneq ($(CONFIG_DISABLE_PTHREAD),y) -CSRCS += mqueue.c -ifneq ($(CONFIG_DISABLE_CLOCK),y) -CSRCS += timedmqueue.c -endif # CONFIG_DISABLE_CLOCK -endif # CONFIG_DISABLE_PTHREAD -endif # CONFIG_DISABLE_MQUEUE - -ifneq ($(CONFIG_DISABLE_POSIX_TIMERS),y) -CSRCS += posixtimer.c -endif - -ifneq ($(CONFIG_DISABLE_SIGNALS),y) -ifneq ($(CONFIG_DISABLE_PTHREAD),y) -ifeq ($(CONFIG_PRIORITY_INHERITANCE),y) -CSRCS += prioinherit.c -endif # CONFIG_PRIORITY_INHERITANCE -endif # CONFIG_DISABLE_PTHREAD -endif # CONFIG_DISABLE_SIGNALS - -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/ostest/barrier.c b/nuttx/examples/ostest/barrier.c deleted file mode 100644 index c88e1bed15..0000000000 --- a/nuttx/examples/ostest/barrier.c +++ /dev/null @@ -1,200 +0,0 @@ -/**************************************************************************** - * examples/ostest/barrier.c - * - * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdio.h> -#include <unistd.h> -#include <pthread.h> - -#include "ostest.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#define HALF_SECOND 500000L - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static pthread_barrier_t barrier; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: barrier_func - ****************************************************************************/ - -static void *barrier_func(void *parameter) -{ - int id = (int)parameter; - int status; - - printf("barrier_func: Thread %d started\n", id); -#ifndef CONFIG_DISABLE_SIGNALS - usleep(HALF_SECOND); -#endif - - /* Wait at the barrier until all threads are synchronized. */ - - printf("barrier_func: Thread %d calling pthread_barrier_wait()\n", - id); - status = pthread_barrier_wait(&barrier); - if (status == 0) - { - printf("barrier_func: Thread %d, back with " - "status=0 (I am not special)\n", - id, status); - } - else if (status == PTHREAD_BARRIER_SERIAL_THREAD) - { - printf("barrier_func: Thread %d, back with " - "status=PTHREAD_BARRIER_SERIAL_THREAD (I AM SPECIAL)\n", - id, status); - } - else - { - printf("barrier_func: ERROR thread %d could not get semaphore value\n", - id); - } - -#ifndef CONFIG_DISABLE_SIGNALS - usleep(HALF_SECOND); -#endif - printf("barrier_func: Thread %d done\n", id); - return NULL; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: barrier_test - ****************************************************************************/ - -void barrier_test(void) -{ - pthread_t barrier_thread[CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS]; - pthread_addr_t result; - pthread_attr_t attr; - pthread_barrierattr_t barrierattr; - int status; - int i; - - printf("barrier_test: Initializing barrier\n"); - - status = pthread_barrierattr_init(&barrierattr); - if (status != OK) - { - printf("barrier_test: pthread_barrierattr_init failed, status=%d\n", - status); - } - - status = pthread_barrier_init(&barrier, &barrierattr, - CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS); - if (status != OK) - { - printf("barrier_test: pthread_barrierattr_init failed, status=%d\n", - status); - } - - /* Create the barrier */ - - status = pthread_barrierattr_init(&barrierattr); - - /* Start CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS thread instances */ - - status = pthread_attr_init(&attr); - if (status != OK) - { - printf("barrier_test: pthread_attr_init failed, status=%d\n", - status); - } - - for (i = 0; i < CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS; i++) - { - status = pthread_create(&barrier_thread[i], &attr, barrier_func, - (pthread_addr_t)i); - if (status != 0) - { - printf("barrier_test: Error in thread %d create, status=%d\n", - i, status); - } - else - { - printf("barrier_test: Thread %d created\n", i); - } - } - - /* Wait for all thread instances to complete */ - - for (i = 0; i < CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS; i++) - { - status = pthread_join(barrier_thread[i], &result); - if (status != 0) - { - printf("barrier_test: Error in thread %d join, status=%d\n", - i, status); - } - else - { - printf("barrier_test: Thread %d completed with result=%p\n", - i, result); - } - } - - /* Destroy the barrier */ - - status = pthread_barrier_destroy(&barrier); - if (status != OK) - { - printf("barrier_test: pthread_barrier_destroy failed, status=%d\n", - status); - } - - status = pthread_barrierattr_destroy(&barrierattr); - if (status != OK) - { - printf("barrier_test: pthread_barrierattr_destroy failed, status=%d\n", - status); - } -} diff --git a/nuttx/examples/ostest/cancel.c b/nuttx/examples/ostest/cancel.c deleted file mode 100644 index bf2d03615f..0000000000 --- a/nuttx/examples/ostest/cancel.c +++ /dev/null @@ -1,333 +0,0 @@ -/*********************************************************************** - * examples/ostest/cancel.c - * - * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ***********************************************************************/ - -#include <stdio.h> -#include <time.h> -#include <pthread.h> -#include <errno.h> -#include "ostest.h" - -static pthread_mutex_t mutex; -static pthread_cond_t cond; - -static void *thread_waiter(void *parameter) -{ - int status; - - /* Take the mutex */ - - printf("thread_waiter: Taking mutex\n"); - status = pthread_mutex_lock(&mutex); - if (status != 0) - { - printf("thread_waiter: ERROR pthread_mutex_lock failed, status=%d\n", status); - } - - printf("thread_waiter: Starting wait for condition\n"); - - /* Are we a non-cancelable thread? Yes, set the non-cancelable state */ - - if (!parameter) - { - printf("thread_waiter: Setting non-cancelable\n"); - status = pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); - if (status != 0) - { - printf("thread_waiter: ERROR pthread_setcancelstate failed, status=%d\n", status); - } - } - - /* The wait -- we will never awaken from this. */ - - status = pthread_cond_wait(&cond, &mutex); - if (status != 0) - { - printf("thread_waiter: ERROR pthread_cond_wait failed, status=%d\n", status); - } - - /* Release the mutex */ - - printf("thread_waiter: Releasing mutex\n"); - status = pthread_mutex_unlock(&mutex); - if (status != 0) - { - printf("thread_waiter: ERROR pthread_mutex_unlock failed, status=%d\n", status); - } - - /* Set the cancelable state */ - - printf("thread_waiter: Setting cancelable\n"); - status = pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL); - if (status != 0) - { - printf("thread_waiter: ERROR pthread_setcancelstate failed, status=%d\n", status); - } - - printf("thread_waiter: Exit with status 0x12345678\n"); - pthread_exit((pthread_addr_t)0x12345678); - return NULL; -} - -static void start_thread(pthread_t *waiter, int cancelable) -{ - pthread_attr_t attr; - int status; - - /* Initialize the mutex */ - - printf("start_thread: Initializing mutex\n"); - status = pthread_mutex_init(&mutex, NULL); - if (status != 0) - { - printf("start_thread: ERROR pthread_mutex_init failed, status=%d\n", status); - } - - /* Initialize the condition variable */ - - printf("start_thread: Initializing cond\n"); - status = pthread_cond_init(&cond, NULL); - if (status != 0) - { - printf("start_thread: ERROR pthread_cond_init failed, status=%d\n", status); - } - - /* Set up attributes */ - - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("start_thread: pthread_attr_init failed, status=%d\n", status); - } - - status = pthread_attr_setstacksize(&attr, STACKSIZE); - if (status != 0) - { - printf("start_thread: pthread_attr_setstacksize failed, status=%d\n", status); - } - - /* Start the waiter thread */ - - printf("start_thread: Starting thread\n"); - status = pthread_create(waiter, &attr, thread_waiter, (pthread_addr_t)cancelable); - if (status != 0) - { - printf("start_thread: ERROR pthread_create failed, status=%d\n", status); - } - - /* Make sure that the waiter thread gets a chance to run */ - - printf("start_thread: Yielding\n"); - pthread_yield(); -} - -static void restart_thread(pthread_t *waiter, int cancelable) -{ - int status; - - /* Destroy the condition variable */ - - printf("restart_thread: Destroying cond\n"); - status = pthread_cond_destroy(&cond); - if (status != 0) - { - printf("restart_thread: ERROR pthread_cond_destroy failed, status=%d\n", status); - } - - /* Destroy the mutex */ - - printf("restart_thread: Destroying mutex\n"); - status = pthread_cond_destroy(&cond); - if (status != 0) - { - printf("restart_thread: ERROR pthread_mutex_destroy failed, status=%d\n", status); - } - - /* Then restart the thread */ - - printf("restart_thread: Re-starting thread\n"); - start_thread(waiter, cancelable); -} - -void cancel_test(void) -{ - pthread_t waiter; - void *result; - int status; - - /* Test 1: Normal Cancel *********************************************/ - /* Start the waiter thread */ - - printf("cancel_test: Test 1: Normal Cancelation\n"); - printf("cancel_test: Starting thread\n"); - start_thread(&waiter, 1); - - /* Then cancel it. It should be in the pthread_cond_wait now */ - - printf("cancel_test: Canceling thread\n"); - status = pthread_cancel(waiter); - if (status != 0) - { - printf("cancel_test: ERROR pthread_cancel failed, status=%d\n", status); - } - - /* Then join to the thread to pick up the result (if we don't do - * we will have a memory leak!) - */ - - printf("cancel_test: Joining\n"); - status = pthread_join(waiter, &result); - if (status != 0) - { - printf("cancel_test: ERROR pthread_join failed, status=%d\n", status); - } - else - { - printf("cancel_test: waiter exited with result=%p\n", result); - if (result != PTHREAD_CANCELED) - { - printf("cancel_test: ERROR expected result=%p\n", PTHREAD_CANCELED); - } - else - { - printf("cancel_test: PASS thread terminated with PTHREAD_CANCELED\n"); - } - } - - /* Test 2: Cancel Detached Thread ************************************/ - - printf("cancel_test: Test 2: Cancelation of detached thread\n"); - printf("cancel_test: Re-starting thread\n"); - restart_thread(&waiter, 1); - - /* Detach the thread */ - - status = pthread_detach(waiter); - if (status != 0) - { - printf("cancel_test: ERROR pthread_detach, status=%d\n", status); - } - - /* Then cancel it. It should be in the pthread_cond_wait now */ - - printf("cancel_test: Canceling thread\n"); - status = pthread_cancel(waiter); - if (status != 0) - { - printf("cancel_test: ERROR pthread_cancel failed, status=%d\n", status); - } - - /* Join should now fail */ - - printf("cancel_test: Joining\n"); - status = pthread_join(waiter, &result); - if (status == 0) - { - printf("cancel_test: ERROR pthread_join succeeded\n"); - } - else if (status != ESRCH) - { - printf("cancel_test: ERROR pthread_join failed but with wrong status=%d\n", status); - } - else - { - printf("cancel_test: PASS pthread_join failed with status=ESRCH\n"); - } - - /* Test 3: Non-cancelable threads ************************************/ - - printf("cancel_test: Test 3: Non-cancelable threads\n"); - printf("cancel_test: Re-starting thread (non-cancelable)\n"); - restart_thread(&waiter, 0); - - /* Then cancel it. It should be in the pthread_cond_wait now. The - * behavior here is non-standard: when the thread is at a cancelation - * point, it should be cancelable, even when cancelation is disable. - * - * The cancelation should succeed, because the cancelation is pending. - */ - - printf("cancel_test: Canceling thread\n"); - status = pthread_cancel(waiter); - if (status != 0) - { - printf("cancel_test: ERROR pthread_cancel failed, status=%d\n", status); - } - - /* Signal the thread. It should wake up and restore the cancelable state. - * When the cancelable state is re-enabled, the thread should be canceled. - */ - - status = pthread_mutex_lock(&mutex); - if (status != 0) - { - printf("cancel_test: ERROR pthread_mutex_lock failed, status=%d\n", status); - } - - status = pthread_cond_signal(&cond); - if (status != 0) - { - printf("cancel_test: ERROR pthread_cond_signal failed, status=%d\n", status); - } - - status = pthread_mutex_unlock(&mutex); - if (status != 0) - { - printf("cancel_test: ERROR pthread_mutex_unlock failed, status=%d\n", status); - } - - /* Then join to the thread to pick up the result (if we don't do - * we will have a memory leak!) - */ - - printf("cancel_test: Joining\n"); - status = pthread_join(waiter, &result); - if (status != 0) - { - printf("cancel_test: ERROR pthread_join failed, status=%d\n", status); - } - else - { - printf("cancel_test: waiter exited with result=%p\n", result); - if (result != PTHREAD_CANCELED) - { - printf("cancel_test: ERROR expected result=%p\n", PTHREAD_CANCELED); - } - else - { - printf("cancel_test: PASS thread terminated with PTHREAD_CANCELED\n"); - } - } - -} diff --git a/nuttx/examples/ostest/cond.c b/nuttx/examples/ostest/cond.c deleted file mode 100644 index 11191b7d52..0000000000 --- a/nuttx/examples/ostest/cond.c +++ /dev/null @@ -1,294 +0,0 @@ -/*********************************************************************** - * cond.c - * - * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ***********************************************************************/ - -#include <stdio.h> -#include <pthread.h> -#include <unistd.h> -#include "ostest.h" - -#ifndef NULL -# define NULL (void*)0 -#endif - -static volatile enum { RUNNING, MUTEX_WAIT, COND_WAIT} waiter_state; - -static pthread_mutex_t mutex; -static pthread_cond_t cond; -static volatile int data_available = 0; -static int waiter_nloops = 0; -static int waiter_waits = 0; -static int waiter_nerrors = 0; -static int signaler_nloops = 0; -static int signaler_already = 0; -static int signaler_state = 0; -static int signaler_nerrors = 0; - -static void *thread_waiter(void *parameter) -{ - int status; - - printf("waiter_thread: Started\n"); - - for(;;) - { - /* Take the mutex */ - - waiter_state = MUTEX_WAIT; - status = pthread_mutex_lock(&mutex); - waiter_state = RUNNING; - - if (status != 0) - { - printf("waiter_thread: ERROR pthread_mutex_lock failed, status=%d\n", status); - waiter_nerrors++; - } - - /* Check if data is available -- if data is not available then - * wait for it - */ - - if (!data_available) - { - /* We are higher priority than the signaler thread so the - * only time that the signaler thread will have a chance to run is when - * we are waiting for the condition variable. In this case, pthread_cond_wait - * will automatically release the mutex for the signaler (then re-acquire - * the mutex before returning. - */ - - waiter_state = COND_WAIT; - status = pthread_cond_wait(&cond, &mutex); - waiter_state = RUNNING; - - if (status != 0) - { - printf("waiter_thread: ERROR pthread_cond_wait failed, status=%d\n", status); - waiter_nerrors++; - } - waiter_waits++; - } - - /* Now data should be available */ - - if (!data_available) - { - printf("waiter_thread: ERROR data not available after wait\n"); - waiter_nerrors++; - } - - /* Clear data available */ - - data_available = 0; - - /* Release the mutex */ - - status = pthread_mutex_unlock(&mutex); - if (status != 0) - { - printf("waiter_thread: ERROR waiter: pthread_mutex_unlock failed, status=%d\n", status); - waiter_nerrors++; - } - - waiter_nloops++; - } - return NULL; -} - -static void *thread_signaler(void *parameter) -{ - int status; - int i; - - printf("thread_signaler: Started\n"); - for (i = 0; i < 32; i++) - { - /* Take the mutex. The waiter is higher priority and should - * run until it waits for the condition. So, at this point - * signaler should be waiting for the condition. - */ - - status = pthread_mutex_lock(&mutex); - if (status != 0) - { - printf("thread_signaler: ERROR pthread_mutex_lock failed, status=%d\n", status); - signaler_nerrors++; - } - - /* Verify the state */ - - if (waiter_state != COND_WAIT) - { - printf("thread_signaler: ERROR waiter state = %d != COND_WAITING\n", waiter_state); - signaler_state++; - } - - if (data_available) - { - printf("thread_signaler: ERROR data already available, waiter_state=%d\n", waiter_state); - signaler_already++; - } - - /* Set data available and signal the waiter */ - - data_available = 1; - status = pthread_cond_signal(&cond); - if (status != 0) - { - printf("thread_signaler: ERROR pthread_cond_signal failed, status=%d\n", status); - signaler_nerrors++; - } - - /* Release the mutex */ - - status = pthread_mutex_unlock(&mutex); - if (status != 0) - { - printf("thread_signaler: ERROR pthread_mutex_unlock failed, status=%d\n", status); - signaler_nerrors++; - } - - signaler_nloops++; - } - - printf("thread_signaler: Terminating\n"); - pthread_exit(NULL); - return NULL; /* Non-reachable -- needed for some compilers */ -} - -void cond_test(void) -{ - pthread_t waiter; - pthread_t signaler; - pthread_attr_t attr; -#ifdef SDCC - pthread_addr_t result; -#endif - struct sched_param sparam; - int prio_min; - int prio_max; - int prio_mid; - int status; - - /* Initialize the mutex */ - - printf("cond_test: Initializing mutex\n"); - status = pthread_mutex_init(&mutex, NULL); - if (status != 0) - { - printf("cond_test: ERROR pthread_mutex_init failed, status=%d\n", status); - } - - /* Initialize the condition variable */ - - printf("cond_test: Initializing cond\n"); - status = pthread_cond_init(&cond, NULL); - if (status != 0) - { - printf("cond_test: ERROR pthread_condinit failed, status=%d\n", status); - } - - /* Start the waiter thread at higher priority */ - - printf("cond_test: Starting waiter\n"); - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("cond_test: pthread_attr_init failed, status=%d\n", status); - } - - prio_min = sched_get_priority_min(SCHED_FIFO); - prio_max = sched_get_priority_max(SCHED_FIFO); - prio_mid = (prio_min + prio_max) / 2; - - sparam.sched_priority = prio_mid; - status = pthread_attr_setschedparam(&attr,&sparam); - if (status != OK) - { - printf("cond_test: pthread_attr_setschedparam failed, status=%d\n", status); - } - else - { - printf("cond_test: Set thread 1 priority to %d\n", sparam.sched_priority); - } - - status = pthread_create(&waiter, &attr, thread_waiter, NULL); - if (status != 0) - { - printf("cond_test: pthread_create failed, status=%d\n", status); - } - - printf("cond_test: Starting signaler\n"); - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("cond_test: pthread_attr_init failed, status=%d\n", status); - } - - sparam.sched_priority = (prio_min + prio_mid) / 2; - status = pthread_attr_setschedparam(&attr,&sparam); - if (status != OK) - { - printf("cond_test: pthread_attr_setschedparam failed, status=%d\n", status); - } - else - { - printf("cond_test: Set thread 2 priority to %d\n", sparam.sched_priority); - } - - status = pthread_create(&signaler, &attr, thread_signaler, NULL); - if (status != 0) - { - printf("cond_test: pthread_create failed, status=%d\n", status); - } - - /* Wait for the threads to stop */ - -#ifdef SDCC - pthread_join(signaler, &result); -#else - pthread_join(signaler, NULL); -#endif - printf("cond_test: signaler terminated, now cancel the waiter\n"); - pthread_detach(waiter); - pthread_cancel(waiter); - - printf("cond_test: \tWaiter\tSignaler\n"); - printf("cond_test: Loops\t%d\t%d\n", waiter_nloops, signaler_nloops); - printf("cond_test: Errors\t%d\t%d\n", waiter_nerrors, signaler_nerrors); - printf("cond_test:\n"); - printf("cond_test: %d times, waiter did not have to wait for data\n", waiter_nloops - waiter_waits); - printf("cond_test: %d times, data was already available when the signaler run\n", signaler_already); - printf("cond_test: %d times, the waiter was in an unexpected state when the signaler ran\n", signaler_state); -} diff --git a/nuttx/examples/ostest/dev_null.c b/nuttx/examples/ostest/dev_null.c deleted file mode 100644 index e8fc6cf3f9..0000000000 --- a/nuttx/examples/ostest/dev_null.c +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** - * examples/ostest/dev_null.c - * - * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> -#include <stdio.h> -#include <unistd.h> -#include <fcntl.h> -#include "ostest.h" - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -#if CONFIG_NFILE_DESCRIPTORS > 0 - -static FAR char buffer[1024]; - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int dev_null(void) -{ - int nbytes; - int fd; - - fd = open("/dev/null", O_RDWR); - if (fd < 0) - { - printf("dev_null: ERROR Failed to open /dev/null\n"); - return -1; - } - - nbytes = read(fd, buffer, 1024); - if (nbytes < 0) - { - printf("dev_null: ERROR Failed to read from /dev/null\n"); - close(fd); - return -1; - } - printf("dev_null: Read %d bytes from /dev/null\n", nbytes); - - nbytes = write(fd, buffer, 1024); - if (nbytes < 0) - { - printf("dev_null: ERROR Failed to write to /dev/null\n"); - close(fd); - return -1; - } - printf("dev_null: Wrote %d bytes to /dev/null\n", nbytes); - - close(fd); - return 0; -} - -#endif /*CONFIG_NFILE_DESCRIPTORS */ diff --git a/nuttx/examples/ostest/main.c b/nuttx/examples/ostest/main.c deleted file mode 100644 index 53be10764b..0000000000 --- a/nuttx/examples/ostest/main.c +++ /dev/null @@ -1,523 +0,0 @@ -/**************************************************************************** - * examples/ostest/main.c - * - * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdbool.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <sched.h> -#include <nuttx/init.h> - -#include "ostest.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#define PRIORITY 100 -#define NARGS 4 -#define HALF_SECOND_USEC 500000L - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const char arg1[] = "Arg1"; -static const char arg2[] = "Arg2"; -static const char arg3[] = "Arg3"; -static const char arg4[] = "Arg4"; - -#if CONFIG_NFILE_DESCRIPTORS > 0 -static const char write_data1[] = "stdio_test: write fd=1\n"; -static const char write_data2[] = "stdio_test: write fd=2\n"; -#endif - -#ifdef SDCC -/* I am not yet certain why SDCC does not like the following - * initializer. It involves some issues with 2- vs 3-byte - * pointer types. - */ - -static const char *g_argv[NARGS+1]; -#else -static const char *g_argv[NARGS+1] = { arg1, arg2, arg3, arg4, NULL }; -#endif - -#ifndef CONFIG_DISABLE_SIGNALS -static struct mallinfo g_mmbefore; -static struct mallinfo g_mmprevious; -static struct mallinfo g_mmafter; -#endif - -#ifndef CONFIG_DISABLE_ENVIRON -const char g_var1_name[] = "Variable1"; -const char g_var1_value[] = "GoodValue1"; -const char g_var2_name[] = "Variable2"; -const char g_var2_value[] = "GoodValue2"; -const char g_var3_name[] = "Variable3"; -const char g_var3_value[] = "GoodValue3"; - -const char g_bad_value1[] = "BadValue1"; -const char g_bad_value2[] = "BadValue2"; - -const char g_putenv_value[] = "Variable1=BadValue3"; - -#endif - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: show_memory_usage - ****************************************************************************/ - -#ifndef CONFIG_DISABLE_SIGNALS -static void show_memory_usage(struct mallinfo *mmbefore, - struct mallinfo *mmafter) -{ - printf("VARIABLE BEFORE AFTER\n"); - printf("======== ======== ========\n"); - printf("arena %8x %8x\n", mmbefore->arena, mmafter->arena); - printf("ordblks %8d %8d\n", mmbefore->ordblks, mmafter->ordblks); - printf("mxordblk %8x %8x\n", mmbefore->mxordblk, mmafter->mxordblk); - printf("uordblks %8x %8x\n", mmbefore->uordblks, mmafter->uordblks); - printf("fordblks %8x %8x\n", mmbefore->fordblks, mmafter->fordblks); -} -#else -# define show_memory_usage(mm1, mm2) -#endif - -/**************************************************************************** - * Name: check_test_memory_usage - ****************************************************************************/ - -#ifndef CONFIG_DISABLE_SIGNALS -static void check_test_memory_usage(void) -{ - /* Wait a little bit to let any threads terminate */ - - usleep(HALF_SECOND_USEC); - - /* Get the current memory usage */ - -#ifdef CONFIG_CAN_PASS_STRUCTS - g_mmafter = mallinfo(); -#else - (void)mallinfo(&g_mmafter); -#endif - - /* Show the change from the previous time */ - - printf("\nEnd of test memory usage:\n"); - show_memory_usage(&g_mmprevious, &g_mmafter); - - /* Set up for the next test */ - -#ifdef CONFIG_CAN_PASS_STRUCTS - g_mmprevious = g_mmafter; -#else - memcpy(&g_mmprevious, &g_mmafter, sizeof(struct mallinfo)); -#endif - - /* If so enabled, show the use of priority inheritance resources */ - - dump_nfreeholders("user_main:"); -} -#else -# define check_test_memory_usage() -#endif - -/**************************************************************************** - * Name: show_variable - ****************************************************************************/ - -#ifndef CONFIG_DISABLE_ENVIRON -static void show_variable(const char *var_name, const char *exptd_value, bool var_valid) -{ - char *actual_value = getenv(var_name); - if (actual_value) - { - if (var_valid) - { - if (strcmp(actual_value, exptd_value) == 0) - { - printf("show_variable: Variable=%s has value=%s\n", var_name, exptd_value); - } - else - { - printf("show_variable: ERROR Variable=%s has the wrong value\n", var_name); - printf("show_variable: found=%s expected=%s\n", actual_value, exptd_value); - } - } - else - { - printf("show_variable: ERROR Variable=%s has a value when it should not\n", var_name); - printf("show_variable: value=%s\n", actual_value); - } - } - else if (var_valid) - { - printf("show_variable: ERROR Variable=%s has no value\n", var_name); - printf("show_variable: Should have had value=%s\n", exptd_value); - } - else - { - printf("show_variable: Variable=%s has no value\n", var_name); - } -} - -static void show_environment(bool var1_valid, bool var2_valid, bool var3_valid) -{ - show_variable(g_var1_name, g_var1_value, var1_valid); - show_variable(g_var2_name, g_var2_value, var2_valid); - show_variable(g_var3_name, g_var3_value, var3_valid); -} -#else -# define show_environment() -#endif - -/**************************************************************************** - * Name: user_main - ****************************************************************************/ - -static int user_main(int argc, char *argv[]) -{ - int i; - - /* Sample the memory usage now */ - -#ifndef CONFIG_DISABLE_SIGNALS - usleep(HALF_SECOND_USEC); - -#ifdef CONFIG_CAN_PASS_STRUCTS - g_mmbefore = mallinfo(); - g_mmprevious = g_mmbefore; -#else - (void)mallinfo(&g_mmbefore); - memcpy(&g_mmprevious, &g_mmbefore, sizeof(struct mallinfo)); -#endif -#endif - - printf("\nuser_main: Begin argument test\n"); - printf("user_main: Started with argc=%d\n", argc); - - /* Verify passed arguments */ - - if (argc != NARGS + 1) - { - printf("user_main: Error expected argc=%d got argc=%d\n", - NARGS+1, argc); - } - - for (i = 0; i <= NARGS; i++) - { - printf("user_main: argv[%d]=\"%s\"\n", i, argv[i]); - } - - for (i = 1; i <= NARGS; i++) - { - if (strcmp(argv[i], g_argv[i-1]) != 0) - { - printf("user_main: ERROR argv[%d]: Expected \"%s\" found \"%s\"\n", - i, g_argv[i-1], argv[i]); - } - } - check_test_memory_usage(); - - /* Check environment variables */ -#ifndef CONFIG_DISABLE_ENVIRON - show_environment(true, true, true); - - unsetenv(g_var1_name); - show_environment(false, true, true); - check_test_memory_usage(); - - clearenv(); - show_environment(false, false, false); - check_test_memory_usage(); -#endif - - /* Top of test loop */ - -#if CONFIG_EXAMPLES_OSTEST_LOOPS > 1 - for (i = 0; i < CONFIG_EXAMPLES_OSTEST_LOOPS; i++) -#elif CONFIG_EXAMPLES_OSTEST_LOOPS == 0 - for (;;) -#endif - { -#if CONFIG_NFILE_DESCRIPTORS > 0 - /* Checkout /dev/null */ - - printf("\nuser_main: /dev/null test\n"); - dev_null(); - check_test_memory_usage(); -#endif - -#ifndef CONFIG_DISABLE_PTHREAD - /* Verify pthreads and pthread mutex */ - - printf("\nuser_main: mutex test\n"); - mutex_test(); - check_test_memory_usage(); -#endif - -#if !defined(CONFIG_DISABLE_PTHREAD) && defined(CONFIG_MUTEX_TYPES) - /* Verify recursive mutexes */ - - printf("\nuser_main: recursive mutex test\n"); - recursive_mutex_test(); - check_test_memory_usage(); -#endif - -#ifndef CONFIG_DISABLE_PTHREAD - /* Verify pthread cancellation */ - - printf("\nuser_main: cancel test\n"); - cancel_test(); - check_test_memory_usage(); -#endif - -#ifndef CONFIG_DISABLE_PTHREAD - /* Verify pthreads and semaphores */ - - printf("\nuser_main: semaphore test\n"); - sem_test(); - check_test_memory_usage(); -#endif - -#ifndef CONFIG_DISABLE_PTHREAD - /* Verify pthreads and condition variables */ - - printf("\nuser_main: condition variable test\n"); -#ifdef CONFIG_PRIORITY_INHERITANCE - printf("\n Skipping, Test logic incompatible with priority inheritance\n"); -#else - cond_test(); - check_test_memory_usage(); -#endif -#endif - -#if !defined(CONFIG_DISABLE_SIGNALS) && !defined(CONFIG_DISABLE_PTHREAD) && !defined(CONFIG_DISABLE_CLOCK) - /* Verify pthreads and condition variable timed waits */ - - printf("\nuser_main: timed wait test\n"); - timedwait_test(); - check_test_memory_usage(); -#endif - -#if !defined(CONFIG_DISABLE_MQUEUE) && !defined(CONFIG_DISABLE_PTHREAD) - /* Verify pthreads and message queues */ - - printf("\nuser_main: message queue test\n"); - mqueue_test(); - check_test_memory_usage(); -#endif - -#if !defined(CONFIG_DISABLE_MQUEUE) && !defined(CONFIG_DISABLE_PTHREAD) && !defined(CONFIG_DISABLE_CLOCK) - /* Verify pthreads and message queues */ - - printf("\nuser_main: timed message queue test\n"); - timedmqueue_test(); - check_test_memory_usage(); -#endif - -#ifndef CONFIG_DISABLE_SIGNALS - /* Verify signal handlers */ - - printf("\nuser_main: signal handler test\n"); - sighand_test(); - check_test_memory_usage(); -#endif - -#if !defined(CONFIG_DISABLE_POSIX_TIMERS) && !defined(CONFIG_DISABLE_SIGNALS) - /* Verify posix timers */ - - printf("\nuser_main: POSIX timer test\n"); - timer_test(); - check_test_memory_usage(); -#endif - -#if !defined(CONFIG_DISABLE_PTHREAD) && CONFIG_RR_INTERVAL > 0 - /* Verify round robin scheduling */ - - printf("\nuser_main: round-robin scheduler test\n"); - rr_test(); - check_test_memory_usage(); -#endif - -#ifndef CONFIG_DISABLE_PTHREAD - /* Verify pthread barriers */ - - printf("\nuser_main: barrier test\n"); - barrier_test(); - check_test_memory_usage(); -#endif - -#if defined(CONFIG_PRIORITY_INHERITANCE) && !defined(CONFIG_DISABLE_SIGNALS) && !defined(CONFIG_DISABLE_PTHREAD) - /* Verify priority inheritance */ - - printf("\nuser_main: priority inheritance test\n"); - priority_inheritance(); - check_test_memory_usage(); -#endif /* CONFIG_PRIORITY_INHERITANCE && !CONFIG_DISABLE_SIGNALS && !CONFIG_DISABLE_PTHREAD */ - - /* Compare memory usage at time user_start started until - * user_main exits. These should not be identical, but should - * be similar enough that we can detect any serious OS memory - * leaks. - */ - -#ifndef CONFIG_DISABLE_SIGNALS - usleep(HALF_SECOND_USEC); - -#ifdef CONFIG_CAN_PASS_STRUCTS - g_mmafter = mallinfo(); -#else - (void)mallinfo(&g_mmafter); -#endif - - printf("\nFinal memory usage:\n"); - show_memory_usage(&g_mmbefore, &g_mmafter); -#endif - } - printf("user_main: Exitting\n"); - return 0; -} - -/**************************************************************************** - * Name: stdio_test - ****************************************************************************/ - -static void stdio_test(void) -{ - /* Verify that we can communicate */ - -#if CONFIG_NFILE_DESCRIPTORS > 0 - write(1, write_data1, sizeof(write_data1)-1); -#endif - printf("stdio_test: Standard I/O Check: printf\n"); - -#if CONFIG_NFILE_DESCRIPTORS > 1 - write(2, write_data2, sizeof(write_data2)-1); -#endif -#if CONFIG_NFILE_STREAMS > 0 - fprintf(stderr, "stdio_test: Standard I/O Check: fprintf to stderr\n"); -#endif -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -void user_initialize(void) -{ - /* stub */ -} - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - int result; - - /* Verify that stdio works first */ - - stdio_test(); - -#ifdef SDCC - /* I am not yet certain why SDCC does not like the following initilizers. - * It involves some issues with 2- vs 3-byte pointer types. - */ - - g_argv[0] = arg1; - g_argv[1] = arg2; - g_argv[2] = arg3; - g_argv[3] = arg4; - g_argv[4] = NULL; -#endif - - /* Set up some environment variables */ - -#ifndef CONFIG_DISABLE_ENVIRON - printf("user_start: putenv(%s)\n", g_putenv_value); - putenv(g_putenv_value); /* Varaible1=BadValue3 */ - printf("user_start: setenv(%s, %s, TRUE)\n", g_var1_name, g_var1_value); - setenv(g_var1_name, g_var1_value, TRUE); /* Variable1=GoodValue1 */ - - printf("user_start: setenv(%s, %s, FALSE)\n", g_var2_name, g_bad_value1); - setenv(g_var2_name, g_bad_value1, FALSE); /* Variable2=BadValue1 */ - printf("user_start: setenv(%s, %s, TRUE)\n", g_var2_name, g_var2_value); - setenv(g_var2_name, g_var2_value, TRUE); /* Variable2=GoodValue2 */ - - printf("user_start: setenv(%s, %s, FALSE)\n", g_var3_name, g_var3_name); - setenv(g_var3_name, g_var3_value, FALSE); /* Variable3=GoodValue3 */ - printf("user_start: setenv(%s, %s, FALSE)\n", g_var3_name, g_var3_name); - setenv(g_var3_name, g_bad_value2, FALSE); /* Variable3=GoodValue3 */ - show_environment(true, true, true); -#endif - - /* Verify that we can spawn a new task */ - -#ifndef CONFIG_CUSTOM_STACK - result = task_create("ostest", PRIORITY, STACKSIZE, user_main, g_argv); -#else - result = task_create("ostest", PRIORITY, user_main, g_argv); -#endif - if (result == ERROR) - { - printf("user_start: ERROR Failed to start user_main\n"); - } - else - { - printf("user_start: Started user_main at PID=%d\n", result); - } - - printf("user_start: Exitting\n"); - return 0; -} diff --git a/nuttx/examples/ostest/mqueue.c b/nuttx/examples/ostest/mqueue.c deleted file mode 100644 index e68cfc012f..0000000000 --- a/nuttx/examples/ostest/mqueue.c +++ /dev/null @@ -1,394 +0,0 @@ -/************************************************************************** - * mqueue.c - * - * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - **************************************************************************/ - -/************************************************************************** - * Included Files - **************************************************************************/ - -#include <nuttx/config.h> - -#include <stdio.h> -#include <unistd.h> -#include <string.h> -#include <ctype.h> -#include <fcntl.h> -#include <pthread.h> -#include <mqueue.h> -#include <sched.h> -#include <errno.h> - -#include "ostest.h" - -/************************************************************************** - * Private Definitions - **************************************************************************/ - -#define TEST_MESSAGE "This is a test and only a test" -#if defined(SDCC) || defined(__ZILOG__) - /* Cannot use strlen in array size */ - -# define TEST_MSGLEN (31) -#else - /* Message lenght is the size of the message plus the null terminator */ - -# define TEST_MSGLEN (strlen(TEST_MESSAGE)+1) -#endif - -#define TEST_SEND_NMSGS (10) -#ifndef CONFIG_DISABLE_SIGNALS -# define TEST_RECEIVE_NMSGS (11) -#else -# define TEST_RECEIVE_NMSGS (10) -#endif - -#define HALF_SECOND_USEC_USEC 500000L - -/************************************************************************** - * Private Types - **************************************************************************/ - -/************************************************************************** - * Private Function Prototypes - **************************************************************************/ - -/************************************************************************** - * Global Variables - **************************************************************************/ - -/************************************************************************** - * Private Variables - **************************************************************************/ - -/************************************************************************** - * Private Functions - **************************************************************************/ - -/************************************************************************** - * Public Functions - **************************************************************************/ - -static void *sender_thread(void *arg) -{ - mqd_t mqfd; - char msg_buffer[TEST_MSGLEN]; - struct mq_attr attr; - int status = 0; - int nerrors = 0; - int i; - - printf("sender_thread: Starting\n"); - - /* Fill in attributes for message queue */ - - attr.mq_maxmsg = 20; - attr.mq_msgsize = TEST_MSGLEN; - attr.mq_flags = 0; - - /* Set the flags for the open of the queue. - * Make it a blocking open on the queue, meaning it will block if - * this process tries to send to the queue and the queue is full. - * - * O_CREAT - the queue will get created if it does not already exist. - * O_WRONLY - we are only planning to write to the queue. - * - * Open the queue, and create it if the receiving process hasn't - * already created it. - */ - - mqfd = mq_open("testmq", O_WRONLY|O_CREAT, 0666, &attr); - if (mqfd < 0) - { - printf("sender_thread: ERROR mq_open failed\n"); - pthread_exit((pthread_addr_t)1); - } - - /* Fill in a test message buffer to send */ - - memcpy(msg_buffer, TEST_MESSAGE, TEST_MSGLEN); - - /* Perform the send TEST_SEND_NMSGS times */ - - for (i = 0; i < TEST_SEND_NMSGS; i++) - { - status = mq_send(mqfd, msg_buffer, TEST_MSGLEN, 42); - if (status < 0) - { - printf("sender_thread: ERROR mq_send failure=%d on msg %d\n", status, i); - nerrors++; - } - else - { - printf("sender_thread: mq_send succeeded on msg %d\n", i); - } - } - - /* Close the queue and return success */ - - if (mq_close(mqfd) < 0) - { - printf("sender_thread: ERROR mq_close failed\n"); - } - - printf("sender_thread: returning nerrors=%d\n", nerrors); - return (pthread_addr_t)nerrors; -} - -static void *receiver_thread(void *arg) -{ - mqd_t mqfd; - char msg_buffer[TEST_MSGLEN]; - struct mq_attr attr; - int nbytes; - int nerrors = 0; - int i; - - printf("receiver_thread: Starting\n"); - - /* Fill in attributes for message queue */ - - attr.mq_maxmsg = 20; - attr.mq_msgsize = TEST_MSGLEN; - attr.mq_flags = 0; - - /* Set the flags for the open of the queue. - * Make it a blocking open on the queue, meaning it will block if - * this task tries to read from the queue when the queue is empty - * - * O_CREAT - the queue will get created if it does not already exist. - * O_RDONLY - we are only planning to read from the queue. - * - * Open the queue, and create it if the sending process hasn't - * already created it. - */ - - mqfd = mq_open("testmq", O_RDONLY|O_CREAT, 0666, &attr); - if (mqfd < 0) - { - printf("receiver_thread: ERROR mq_open failed\n"); - pthread_exit((pthread_addr_t)1); - } - - /* Perform the receive TEST_RECEIVE_NMSGS times */ - - for (i = 0; i < TEST_RECEIVE_NMSGS; i++) - { - memset(msg_buffer, 0xaa, TEST_MSGLEN); - nbytes = mq_receive(mqfd, msg_buffer, TEST_MSGLEN, 0); - if (nbytes < 0) - { - /* mq_receive failed. If the error is because of EINTR then - * it is not a failure. - */ - - if (*get_errno_ptr() != EINTR) - { - printf("receiver_thread: ERROR mq_receive failure on msg %d, errno=%d\n", i, *get_errno_ptr()); - nerrors++; - } - else - { - printf("receiver_thread: mq_receive interrupted!\n", i); - } - } - else if (nbytes != TEST_MSGLEN) - { - printf("receiver_thread: mq_receive return bad size %d on msg %d\n", nbytes, i); - nerrors++; - } - else if (memcmp(TEST_MESSAGE, msg_buffer, nbytes) != 0) - { - int j; - - printf("receiver_thread: mq_receive returned corrupt message on msg %d\n", i); - printf("receiver_thread: i Expected Received\n"); - - for (j = 0; j < TEST_MSGLEN-1; j++) - { - if (isprint(msg_buffer[j])) - { - printf("receiver_thread: %2d %02x (%c) %02x (%c)\n", - j, TEST_MESSAGE[j], TEST_MESSAGE[j], msg_buffer[j], msg_buffer[j]); - } - else - { - printf("receiver_thread: %2d %02x (%c) %02x\n", - j, TEST_MESSAGE[j], TEST_MESSAGE[j], msg_buffer[j]); - } - } - printf("receiver_thread: %2d 00 %02x\n", - j, msg_buffer[j]); - } - else - { - printf("receiver_thread: mq_receive succeeded on msg %d\n", i); - } - } - - /* Close the queue and return success */ - - if (mq_close(mqfd) < 0) - { - printf("receiver_thread: ERROR mq_close failed\n"); - nerrors++; - } - - /* Destroy the queue */ - - if (mq_unlink("testmq") < 0) - { - printf("receiver_thread: ERROR mq_close failed\n"); - nerrors++; - } - - printf("receiver_thread: returning nerrors=%d\n", nerrors); - pthread_exit((pthread_addr_t)nerrors); - return (pthread_addr_t)nerrors; -} - -void mqueue_test(void) -{ - pthread_t sender; - pthread_t receiver; - void *result; - pthread_attr_t attr; - struct sched_param sparam; - int prio_min; - int prio_max; - int prio_mid; - int status; - - /* Start the sending thread at higher priority */ - - printf("mqueue_test: Starting receiver\n"); - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("mqueue_test: pthread_attr_init failed, status=%d\n", status); - } - - status = pthread_attr_setstacksize(&attr, STACKSIZE); - if (status != 0) - { - printf("mqueue_test: pthread_attr_setstacksize failed, status=%d\n", status); - } - - prio_min = sched_get_priority_min(SCHED_FIFO); - prio_max = sched_get_priority_max(SCHED_FIFO); - prio_mid = (prio_min + prio_max) / 2; - - sparam.sched_priority = prio_mid; - status = pthread_attr_setschedparam(&attr,&sparam); - if (status != OK) - { - printf("mqueue_test: pthread_attr_setschedparam failed, status=%d\n", status); - } - else - { - printf("mqueue_test: Set receiver priority to %d\n", sparam.sched_priority); - } - - status = pthread_create(&receiver, &attr, receiver_thread, NULL); - if (status != 0) - { - printf("mqueue_test: pthread_create failed, status=%d\n", status); - } - - /* Start the sending thread at lower priority */ - - printf("mqueue_test: Starting sender\n"); - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("mqueue_test: pthread_attr_init failed, status=%d\n", status); - } - - status = pthread_attr_setstacksize(&attr, STACKSIZE); - if (status != 0) - { - printf("mqueue_test: pthread_attr_setstacksize failed, status=%d\n", status); - } - - sparam.sched_priority = (prio_min + prio_mid) / 2; - status = pthread_attr_setschedparam(&attr,&sparam); - if (status != OK) - { - printf("mqueue_test: pthread_attr_setschedparam failed, status=%d\n", status); - } - else - { - printf("mqueue_test: Set sender thread priority to %d\n", sparam.sched_priority); - } - - status = pthread_create(&sender, &attr, sender_thread, NULL); - if (status != 0) - { - printf("mqueue_test: pthread_create failed, status=%d\n", status); - } - - printf("mqueue_test: Waiting for sender to complete\n"); - pthread_join(sender, &result); - if (result != (void*)0) - { - printf("mqueue_test: ERROR sender thread exited with %d errors\n", (int)result); - } - -#ifndef CONFIG_DISABLE_SIGNALS - /* Wake up the receiver thread with a signal */ - - printf("mqueue_test: Killing receiver\n"); - pthread_kill(receiver, 9); - - /* Wait a bit to see if the thread exits on its own */ - - usleep(HALF_SECOND_USEC_USEC); -#endif - - /* Then cancel the thread and see if it did */ - - printf("mqueue_test: Canceling receiver\n"); - status = pthread_cancel(receiver); - if (status == ESRCH) - { - printf("mqueue_test: receiver has already terminated\n"); - } - - pthread_join(receiver, &result); - if (result != (void*)0) - { - printf("mqueue_test: ERROR receiver thread exited with %d errors\n", (int)result); - } -} - - diff --git a/nuttx/examples/ostest/mutex.c b/nuttx/examples/ostest/mutex.c deleted file mode 100644 index 752f833f25..0000000000 --- a/nuttx/examples/ostest/mutex.c +++ /dev/null @@ -1,142 +0,0 @@ -/*********************************************************************** - * mutex.c - * - * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ***********************************************************************/ - -#include <stdio.h> -#include <pthread.h> -#include "ostest.h" - -#ifndef NULL -# define NULL (void*)0 -#endif - -#define NLOOPS 32 - -static pthread_mutex_t mut; -static volatile int my_mutex = 0; -static unsigned long nloops[2] = {0, 0}; -static unsigned long nerrors[2] = {0, 0}; - -static void *thread_func(void *parameter) -{ - int id = (int)parameter; - int ndx = id - 1; - int i; - - for (nloops[ndx] = 0; nloops[ndx] < NLOOPS; nloops[ndx]++) - { - int status = pthread_mutex_lock(&mut); - if (status != 0) - { - printf("ERROR thread %d: pthread_mutex_lock failed, status=%d\n", - id, status); - } - - if (my_mutex == 1) - { - printf("ERROR thread=%d: " - "my_mutex should be zero, instead my_mutex=%d\n", - id, my_mutex); - nerrors[ndx]++; - } - - my_mutex = 1; - for (i = 0; i < 10; i++) - { - pthread_yield(); - } - my_mutex = 0; - - status = pthread_mutex_unlock(&mut); - if (status != 0) - { - printf("ERROR thread %d: pthread_mutex_unlock failed, status=%d\n", - id, status); - } - } - pthread_exit(NULL); - return NULL; /* Non-reachable -- needed for some compilers */ -} - -void mutex_test(void) -{ - pthread_t thread1, thread2; -#ifdef SDCC - pthread_addr_t result1, result2; - pthread_attr_t attr; -#endif - int status; - - /* Initialize the mutex */ - - printf("Initializing mutex\n"); - pthread_mutex_init(&mut, NULL); - - /* Start two thread instances */ - - printf("Starting thread 1\n"); -#ifdef SDCC - (void)pthread_attr_init(&attr); - status = pthread_create(&thread1, &attr, thread_func, (pthread_addr_t)1); -#else - status = pthread_create(&thread1, NULL, thread_func, (pthread_addr_t)1); -#endif - if (status != 0) - { - printf("Error in thread#1 creation\n"); - } - - printf("Starting thread 2\n"); -#ifdef SDCC - status = pthread_create(&thread2, &attr, thread_func, (pthread_addr_t)2); -#else - status = pthread_create(&thread2, NULL, thread_func, (pthread_addr_t)2); -#endif - if (status != 0) - { - printf("Error in thread#2 creation\n"); - } - -#ifdef SDCC - pthread_join(thread1, &result1); - pthread_join(thread2, &result2); -#else - pthread_join(thread1, NULL); - pthread_join(thread2, NULL); -#endif - - printf("\t\tThread1\tThread2\n"); - printf("\tLoops\t%ld\t%ld\n", nloops[0], nloops[1]); - printf("\tErrors\t%ld\t%ld\n", nerrors[0], nerrors[1]); -} diff --git a/nuttx/examples/ostest/ostest.h b/nuttx/examples/ostest/ostest.h deleted file mode 100644 index 1cd7058983..0000000000 --- a/nuttx/examples/ostest/ostest.h +++ /dev/null @@ -1,162 +0,0 @@ -/**************************************************************************** - * examples/ostest/ostest.h - * - * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __OSTEST_H -#define __OSTEST_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/* The task_create task size can be specified in the defconfig file */ - -#ifdef CONFIG_EXAMPLES_OSTEST_STACKSIZE -# define STACKSIZE CONFIG_EXAMPLES_OSTEST_STACKSIZE -#else -# define STACKSIZE 8192 -#endif - -/* The number of times to execute the test can be specified in the defconfig - * file. - */ - -#ifndef CONFIG_EXAMPLES_OSTEST_LOOPS -# define CONFIG_EXAMPLES_OSTEST_LOOPS 1 -#endif - -/* This is the number of threads that are created in the barrier test. - * A smaller number should be selected on systems without sufficient memory - * to start so many threads. - */ - -#ifndef CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS -# define CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS 8 -#endif - -/* Priority inheritance */ - -#if defined(CONFIG_DEBUG) && defined(CONFIG_PRIORITY_INHERITANCE) && defined(CONFIG_SEM_PHDEBUG) -# define dump_nfreeholders(s) printf(s " nfreeholders: %d\n", sem_nfreeholders()) -#else -# define dump_nfreeholders(s) -#endif - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Variables - ****************************************************************************/ - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -/* dev_null.c ***************************************************************/ - -extern int dev_null(void); - -/* mutex.c ******************************************************************/ - -extern void mutex_test(void); - -/* rmutex.c ******************************************************************/ - -extern void recursive_mutex_test(void); - -/* sem.c ********************************************************************/ - -extern void sem_test(void); - -/* cond.c *******************************************************************/ - -extern void cond_test(void); - -/* mqueue.c *****************************************************************/ - -extern void mqueue_test(void); - -/* timedmqueue.c ************************************************************/ - -extern void timedmqueue_test(void); - -/* cancel.c *****************************************************************/ - -extern void cancel_test(void); - -/* timedwait.c **************************************************************/ - -extern void timedwait_test(void); - -/* sighand.c ****************************************************************/ - -extern void sighand_test(void); - -/* posixtimers.c ************************************************************/ - -extern void timer_test(void); - -/* roundrobin.c *************************************************************/ - -extern void rr_test(void); - -/* barrier.c ****************************************************************/ - -extern void barrier_test(void); - -/* prioinherit.c ************************************************************/ - -extern void priority_inheritance(void); - -/* APIs exported (conditionally) by the OS specifically for testing of - * priority inheritance - */ - -#if defined(CONFIG_DEBUG) && defined(CONFIG_PRIORITY_INHERITANCE) && defined(CONFIG_SEM_PHDEBUG) -extern void sem_enumholders(FAR sem_t *sem); -extern int sem_nfreeholders(void); -#else -# define sem_enumholders(sem) -# define sem_nfreeholders() -#endif - -#endif /* __OSTEST_H */ diff --git a/nuttx/examples/ostest/posixtimer.c b/nuttx/examples/ostest/posixtimer.c deleted file mode 100644 index 457b4c1a22..0000000000 --- a/nuttx/examples/ostest/posixtimer.c +++ /dev/null @@ -1,268 +0,0 @@ -/*********************************************************************** - * examples/ostest/posixtimer.c - * - * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ***********************************************************************/ - -/************************************************************************** - * Included Files - **************************************************************************/ - -#include <stdio.h> -#include <unistd.h> -#include <semaphore.h> -#include <signal.h> -#include <sched.h> -#include <errno.h> -#include "ostest.h" - -/************************************************************************** - * Private Definitions - **************************************************************************/ - -#ifndef NULL -# define NULL (void*)0 -#endif - -#define MY_TIMER_SIGNAL 17 -#define SIGVALUE_INT 42 - -#if CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0 -# define FFLUSH() fflush(stdout) -#else -# define FFLUSH() -#endif - -/************************************************************************** - * Private Data - **************************************************************************/ - -static sem_t sem; -static int g_nsigreceived = 0; - -/************************************************************************** - * Private Functions - **************************************************************************/ - -static void timer_expiration(int signo, siginfo_t *info, void *ucontext) -{ - sigset_t oldset; - sigset_t allsigs; - int status; - - printf("timer_expiration: Received signal %d\n" , signo); - - g_nsigreceived++; - - /* Check signo */ - - if (signo != MY_TIMER_SIGNAL) - { - printf("timer_expiration: ERROR expected signo=%d\n" , MY_TIMER_SIGNAL); - } - - /* Check siginfo */ - - if (info->si_value.sival_int != SIGVALUE_INT) - { - printf("timer_expiration: ERROR sival_int=%d expected %d\n", - info->si_value.sival_int, SIGVALUE_INT); - } - else - { - printf("timer_expiration: sival_int=%d\n" , info->si_value.sival_int); - } - - if (info->si_signo != MY_TIMER_SIGNAL) - { - printf("timer_expiration: ERROR expected si_signo=%d, got=%d\n", - MY_TIMER_SIGNAL, info->si_signo); - } - - if (info->si_code == SI_TIMER) - { - printf("timer_expiration: si_code=%d (SI_TIMER)\n" , info->si_code); - } - else - { - printf("timer_expiration: ERROR si_code=%d, expected SI_TIMER=%d\n", - info->si_code, SI_TIMER); - } - - /* Check ucontext_t */ - - printf("timer_expiration: ucontext=%p\n" , ucontext); - - /* Check sigprocmask */ - - (void)sigfillset(&allsigs); - status = sigprocmask(SIG_SETMASK, NULL, &oldset); - if (status != OK) - { - printf("timer_expiration: ERROR sigprocmask failed, status=%d\n", - status); - } - - if (oldset != allsigs) - { - printf("timer_expiration: ERROR sigprocmask=%x expected=%x\n", - oldset, allsigs); - } - -} - -/************************************************************************** - * Public Functions - **************************************************************************/ - -void timer_test(void) -{ - sigset_t sigset; - struct sigaction act; - struct sigaction oact; - struct sigevent notify; - struct itimerspec timer; - timer_t timerid; - int status; - int i; - - printf("timer_test: Initializing semaphore to 0\n" ); - sem_init(&sem, 0, 0); - - /* Start waiter thread */ - - printf("timer_test: Unmasking signal %d\n" , MY_TIMER_SIGNAL); - - (void)sigemptyset(&sigset); - (void)sigaddset(&sigset, MY_TIMER_SIGNAL); - status = sigprocmask(SIG_UNBLOCK, &sigset, NULL); - if (status != OK) - { - printf("timer_test: ERROR sigprocmask failed, status=%d\n", - status); - } - - printf("timer_test: Registering signal handler\n" ); - act.sa_sigaction = timer_expiration; - act.sa_flags = SA_SIGINFO; - - (void)sigfillset(&act.sa_mask); - (void)sigdelset(&act.sa_mask, MY_TIMER_SIGNAL); - - status = sigaction(MY_TIMER_SIGNAL, &act, &oact); - if (status != OK) - { - printf("timer_test: ERROR sigaction failed, status=%d\n" , status); - } - -#ifndef SDCC - printf("timer_test: oact.sigaction=%p oact.sa_flags=%x oact.sa_mask=%x\n", - oact.sa_sigaction, oact.sa_flags, oact.sa_mask); -#endif - - /* Create the POSIX timer */ - - printf("timer_test: Creating timer\n" ); - - notify.sigev_notify = SIGEV_SIGNAL; - notify.sigev_signo = MY_TIMER_SIGNAL; - notify.sigev_value.sival_int = SIGVALUE_INT; - - status = timer_create(CLOCK_REALTIME, ¬ify, &timerid); - if (status != OK) - { - printf("timer_test: timer_create failed, errno=%d\n", errno); - goto errorout; - } - - /* Start the POSIX timer */ - - printf("timer_test: Starting timer\n" ); - - timer.it_value.tv_sec = 2; - timer.it_value.tv_nsec = 0; - timer.it_interval.tv_sec = 2; - timer.it_interval.tv_nsec = 0; - - status = timer_settime(timerid, 0, &timer, NULL); - if (status != OK) - { - printf("timer_test: timer_settime failed, errno=%d\n", errno); - goto errorout; - } - - /* Take the semaphore */ - - for (i = 0; i < 5; i++) - { - printf("timer_test: Waiting on semaphore\n" ); - FFLUSH(); - status = sem_wait(&sem); - if (status != 0) - { - int error = errno; - if (error == EINTR) - { - printf("timer_test: sem_wait() successfully interrupted by signal\n" ); - } - else - { - printf("timer_test: ERROR sem_wait failed, errno=%d\n" , error); - } - } - else - { - printf("timer_test: ERROR awakened with no error!\n" ); - } - printf("timer_test: g_nsigreceived=%d\n", g_nsigreceived); - } - -errorout: - sem_destroy(&sem); - - /* Then delete the timer */ - - printf("timer_test: Deleting timer\n" ); - status = timer_delete(timerid); - if (status != OK) - { - printf("timer_test: timer_create failed, errno=%d\n", errno); - } - - /* Detach the signal handler */ - - act.sa_sigaction = SIG_DFL; - status = sigaction(MY_TIMER_SIGNAL, &act, &oact); - - printf("timer_test: done\n" ); - FFLUSH(); -} diff --git a/nuttx/examples/ostest/prioinherit.c b/nuttx/examples/ostest/prioinherit.c deleted file mode 100644 index 5d59c1297f..0000000000 --- a/nuttx/examples/ostest/prioinherit.c +++ /dev/null @@ -1,541 +0,0 @@ -/**************************************************************************** - * examples/ostest/prioinherit.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdio.h> -#include <unistd.h> -#include <semaphore.h> -#include <pthread.h> -#include <errno.h> - -#ifdef CONFIG_ARCH_SIM -# include <nuttx/arch.h> -#endif - -#include "ostest.h" - -#if defined(CONFIG_PRIORITY_INHERITANCE) && !defined(CONFIG_DISABLE_SIGNALS) && !defined(CONFIG_DISABLE_PTHREAD) - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#ifndef CONFIG_SEM_PREALLOCHOLDERS -# define CONFIG_SEM_PREALLOCHOLDERS 0 -#endif -#define NLOWPRI_THREADS (CONFIG_SEM_PREALLOCHOLDERS+1) - -#ifndef CONFIG_SEM_NNESTPRIO -# define CONFIG_SEM_NNESTPRIO 0 -#endif -#define NHIGHPRI_THREADS (CONFIG_SEM_NNESTPRIO+1) - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -enum thstate_e -{ - NOTSTARTED = 0, - RUNNING, - WAITING, - DONE -}; - -static sem_t g_sem; -static volatile enum thstate_e g_middlestate; -static volatile enum thstate_e g_highstate[NHIGHPRI_THREADS]; -static volatile enum thstate_e g_lowstate[NLOWPRI_THREADS]; -static int g_highpri; -static int g_medpri; -static int g_lowpri; - -/**************************************************************************** - * Name: nhighpri_waiting - ****************************************************************************/ - -static int nhighpri_waiting(void) -{ - int n = 0; - int i; - - for (i = 0; i < NHIGHPRI_THREADS; i++) - { - if (g_highstate[i] == WAITING) - { - n++; - } - } - return n; -} - -/**************************************************************************** - * Name: nhighpri_running - ****************************************************************************/ - -static int nhighpri_running(void) -{ - int n = 0; - int i; - - for (i = 0; i < NHIGHPRI_THREADS; i++) - { - if (g_highstate[i] != DONE) - { - n++; - } - } - return n; -} - -/**************************************************************************** - * Name: highpri_thread - ****************************************************************************/ - -static void *highpri_thread(void *parameter) -{ - int threadno = (int)parameter; - int ret; - - g_highstate[threadno-1] = RUNNING; - - printf("highpri_thread-%d: Started\n", threadno); - fflush(stdout); - sleep(1); - - printf("highpri_thread-%d: Calling sem_wait()\n", threadno); - g_highstate[threadno-1] = WAITING; - ret = sem_wait(&g_sem); - g_highstate[threadno-1] = DONE; - - if (ret != 0) - { - printf("highpri_thread-%d: sem_take failed: %d\n", threadno, ret); - } - else if (g_middlestate == RUNNING) - { - printf("highpri_thread-%d: SUCCESS midpri_thread is still running!\n", threadno); - } - else - { - printf("highpri_thread-%d: ERROR -- midpri_thread has already exited!\n", threadno); - } - - sem_post(&g_sem); - printf("highpri_thread-%d: Okay... I'm done!\n", threadno); - fflush(stdout); - return NULL; -} - -/**************************************************************************** - * Name: hog_cpu - ****************************************************************************/ - -static inline void hog_cpu(void) -{ -#ifdef CONFIG_ARCH_SIM - /* The simulator doesn't have any mechanism to do asynchronous pre-emption - * (basically because it doesn't have any interupts/asynchronous events). - * The simulator does "fake" a timer interrupt in up_idle() -- the idle - * thread that only executes when nothing else is running. In the simulator, - * we cannot suspend the middle priority task, or we wouldn't have the - * test that we want. So, we have no option but to pump the fake clock - * here by calling up_idle(). Sigh! - */ - - up_idle(); -#else - /* On real platforms with a real timer interrupt, we really can hog the - * CPU. When the sleep() goes off in priority_inheritance(), it will - * wake up and start the high priority thread. - */ - - volatile int i; - for (i = 0; i < INT_MAX; i++); -#endif -} - -/**************************************************************************** - * Name: medpri_thread - ****************************************************************************/ - -static void *medpri_thread(void *parameter) -{ - printf("medpri_thread: Started ... I won't let go of the CPU!\n"); - g_middlestate = RUNNING; - fflush(stdout); - - /* The following loop will completely block lowpri_thread from running. - * UNLESS priority inheritance is working. In that case, its priority - * will be boosted. - */ - - while (nhighpri_running() > 0) - { - hog_cpu(); - } - - printf("medpri_thread: Okay... I'm done!\n"); - fflush(stdout); - g_middlestate = DONE; - return NULL; -} - -/**************************************************************************** - * Name: lowpri_thread - ****************************************************************************/ - -static void *lowpri_thread(void *parameter) -{ - void *retval = (void*)-1; - struct sched_param sparam; - int threadno = (int)parameter; - int expected; - int count; - int policy; - int ret; - int nwaiting; - int i; - - g_lowstate[threadno-1] = RUNNING; - printf("lowpri_thread-%d: Started\n", threadno); - - ret = pthread_getschedparam(pthread_self(), &policy, &sparam); - if (ret != 0) - { - printf("lowpri_thread-%d: ERROR pthread_getschedparam failed: %d\n", threadno, ret); - } - else - { - printf("lowpri_thread-%d: initial priority: %d\n", threadno, sparam.sched_priority); - if (sparam.sched_priority != g_lowpri) - { - printf(" ERROR should have been %d\n", g_lowpri); - } - } - - g_lowstate[threadno-1] = WAITING; - ret = sem_wait(&g_sem); - if (ret != 0) - { - printf("lowpri_thread-%d: sem_take failed: %d\n", threadno, ret); - } - else - { - /* Hang on to the thread until the middle priority thread runs */ - - while (g_middlestate == NOTSTARTED && nhighpri_waiting() < NHIGHPRI_THREADS) - { - printf("lowpri_thread-%d: Waiting for the midle pri task to run\n", threadno); - printf(" g_middlestate: %d\n", (int)g_middlestate); - for (i = 0; i < NHIGHPRI_THREADS; i++) - { - printf(" g_highstate[%d]: %d\n", i, (int)g_highstate[i]); - } - printf(" I still have a count on the semaphore\n"); - sem_enumholders(&g_sem); - fflush(stdout); - sleep(1); - } - - /* Account for all of the semaphore counts. At any given time if there are 'n' - * running hight prioity tasks, then the semaphore count should be '-n' - */ - - sched_lock(); /* Needs to be atomic */ - ret = sem_getvalue(&g_sem, &count); - nwaiting = nhighpri_waiting(); - sched_unlock(); - - if (ret < 0) - { - printf("lowpri_thread-%d: ERROR sem_getvalue failed: %d\n", threadno, errno); - } - printf("lowpri_thread-%d: Sem count: %d, No. highpri thread: %d\n", threadno, count, nwaiting); - - /* The middle priority task is running, let go of the semaphore */ - - if (g_middlestate == RUNNING && nwaiting == -count) - { - /* Good.. the middle priority task is still running and the counts are okay. */ - - retval = NULL; - } - else - { - /* If the sem count is positive, then there all of the higher priority threads - * should have already completed. - */ - - printf("lowpri_thread-%d: %s the middle priority task has already exitted!\n", - threadno, count >= 0 ? "SUCCESS" : "ERROR" ); - printf(" g_middlestate: %d sem count=%d\n", (int)g_middlestate, count); - for (i = 0; i < NHIGHPRI_THREADS; i++) - { - printf(" g_highstate[%d]: %d\n", i, (int)g_highstate[i]); - } - } - } - - ret = pthread_getschedparam(pthread_self(), &policy, &sparam); - sem_enumholders(&g_sem); - sem_post(&g_sem); - if (ret != 0) - { - printf("lowpri_thread-%d: ERROR pthread_getschedparam failed: %d\n", threadno, ret); - } - else - { - if (nwaiting > 0) - { - expected = g_highpri; - } - else - { - expected = g_lowpri; - } - - printf("lowpri_thread-%d: %s priority before sem_post: %d\n", - threadno, - sparam.sched_priority != expected ? "ERROR" : "SUCCESS", - sparam.sched_priority); - - if (sparam.sched_priority != expected) - { - printf(" ERROR should have been %d\n", expected); - } - } - - ret = pthread_getschedparam(pthread_self(), &policy, &sparam); - if (ret != 0) - { - printf("lowpri_thread-%d: ERROR pthread_getschedparam failed: %d\n", threadno, ret); - } - else - { - printf("lowpri_thread-%d: %s final priority: %d\n", - threadno, - sparam.sched_priority != g_lowpri ? "ERROR" : "SUCCESS", - sparam.sched_priority); - - if (sparam.sched_priority != g_lowpri) - { - printf(" ERROR should have been %d\n", g_lowpri); - } - } - sem_enumholders(&g_sem); - - printf("lowpri_thread-%d: Okay... I'm done!\n", threadno); - fflush(stdout); - g_lowstate[threadno-1] = DONE; - return retval; -} -#endif /* CONFIG_PRIORITY_INHERITANCE && !CONFIG_DISABLE_SIGNALS && !CONFIG_DISABLE_PTHREAD */ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: priority_inheritance - ****************************************************************************/ - -void priority_inheritance(void) -{ -#if defined(CONFIG_PRIORITY_INHERITANCE) && !defined(CONFIG_DISABLE_SIGNALS) && !defined(CONFIG_DISABLE_PTHREAD) - pthread_t lowpri[NLOWPRI_THREADS]; - pthread_t medpri; - pthread_t highpri[NHIGHPRI_THREADS]; - pthread_addr_t result; - pthread_attr_t attr; - struct sched_param sparam; - int my_pri; - int status; - int i; - - printf("priority_inheritance: Started\n"); - - g_middlestate = NOTSTARTED; - for (i = 0; i < NHIGHPRI_THREADS; i++) g_highstate[i] = NOTSTARTED; - for (i = 0; i < NLOWPRI_THREADS; i++) g_lowstate[i] = NOTSTARTED; - - status = sched_getparam (getpid(), &sparam); - if (status != 0) - { - printf("priority_inheritance: sched_getparam failed\n"); - sparam.sched_priority = PTHREAD_DEFAULT_PRIORITY; - } - my_pri = sparam.sched_priority; - - g_highpri = sched_get_priority_max(SCHED_FIFO); - g_lowpri = sched_get_priority_min(SCHED_FIFO); - g_medpri = my_pri - 1; - - sem_init(&g_sem, 0, NLOWPRI_THREADS); - dump_nfreeholders("priority_inheritance:"); - - /* Start the low priority threads */ - - for (i = 0; i < NLOWPRI_THREADS; i++) - { - int threadno = i+1; - printf("priority_inheritance: Starting lowpri_thread-%d (of %d) at %d\n", - threadno, NLOWPRI_THREADS, g_lowpri); - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("priority_inheritance: pthread_attr_init failed, status=%d\n", status); - } - sparam.sched_priority = g_lowpri; - status = pthread_attr_setschedparam(&attr,& sparam); - if (status != OK) - { - printf("priority_inheritance: pthread_attr_setschedparam failed, status=%d\n", status); - } - else - { - printf("priority_inheritance: Set lowpri_thread-%d priority to %d\n", - threadno, sparam.sched_priority); - } - - status = pthread_create(&lowpri[i], &attr, lowpri_thread, (void*)threadno); - if (status != 0) - { - printf("priority_inheritance: pthread_create failed, status=%d\n", status); - } - } - printf("priority_inheritance: Waiting...\n"); - sleep(2); - dump_nfreeholders("priority_inheritance:"); - - /* Start the medium priority thread */ - - printf("priority_inheritance: Starting medpri_thread at %d\n", g_medpri); - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("priority_inheritance: pthread_attr_init failed, status=%d\n", status); - } - - sparam.sched_priority = g_medpri; - status = pthread_attr_setschedparam(&attr,& sparam); - if (status != OK) - { - printf("priority_inheritance: pthread_attr_setschedparam failed, status=%d\n", status); - } - else - { - printf("priority_inheritance: Set medpri_thread priority to %d\n", sparam.sched_priority); - } - fflush(stdout); - - status = pthread_create(&medpri, &attr, medpri_thread, NULL); - if (status != 0) - { - printf("priority_inheritance: pthread_create failed, status=%d\n", status); - } - printf("priority_inheritance: Waiting...\n"); - sleep(1); - dump_nfreeholders("priority_inheritance:"); - - /* Start the high priority threads */ - - for (i = 0; i < NHIGHPRI_THREADS; i++) - { - int threadno = i+1; - printf("priority_inheritance: Starting highpri_thread-%d (of %d) at %d\n", - threadno, NHIGHPRI_THREADS, g_highpri); - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("priority_inheritance: pthread_attr_init failed, status=%d\n", status); - } - - sparam.sched_priority = g_highpri - i; - status = pthread_attr_setschedparam(&attr,& sparam); - if (status != OK) - { - printf("priority_inheritance: pthread_attr_setschedparam failed, status=%d\n", status); - } - else - { - printf("priority_inheritance: Set highpri_thread-%d priority to %d\n", - threadno, sparam.sched_priority); - } - fflush(stdout); - - status = pthread_create(&highpri[i], &attr, highpri_thread, (void*)threadno); - if (status != 0) - { - printf("priority_inheritance: pthread_create failed, status=%d\n", status); - } - } - dump_nfreeholders("priority_inheritance:"); - fflush(stdout); - - /* Wait for all thread instances to complete */ - - for (i = 0; i < NHIGHPRI_THREADS; i++) - { - printf("priority_inheritance: Waiting for highpri_thread-%d to complete\n", i+1); - fflush(stdout); - (void)pthread_join(highpri[i], &result); - dump_nfreeholders("priority_inheritance:"); - } - printf("priority_inheritance: Waiting for medpri_thread to complete\n"); - fflush(stdout); - (void)pthread_join(medpri, &result); - dump_nfreeholders("priority_inheritance:"); - for (i = 0; i < NLOWPRI_THREADS; i++) - { - printf("priority_inheritance: Waiting for lowpri_thread-%d to complete\n", i+1); - fflush(stdout); - (void)pthread_join(lowpri[i], &result); - dump_nfreeholders("priority_inheritance:"); - } - - printf("priority_inheritance: Finished\n"); - sem_destroy(&g_sem); - dump_nfreeholders("priority_inheritance:"); - fflush(stdout); -#endif /* CONFIG_PRIORITY_INHERITANCE && !CONFIG_DISABLE_SIGNALS && !CONFIG_DISABLE_PTHREAD */ -} diff --git a/nuttx/examples/ostest/rmutex.c b/nuttx/examples/ostest/rmutex.c deleted file mode 100644 index 44eb4bb3b5..0000000000 --- a/nuttx/examples/ostest/rmutex.c +++ /dev/null @@ -1,166 +0,0 @@ -/*********************************************************************** - * rmutex.c - * - * Copyright (C) 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ***********************************************************************/ - -#include <stdio.h> -#include <pthread.h> -#include "ostest.h" - -#ifndef NULL -# define NULL (void*)0 -#endif - -#define NTHREADS 3 -#define NLOOPS 3 -#define NRECURSIONS 3 - -static pthread_mutex_t mut; - -static void thread_inner(int id, int level) -{ - int status; - if (level < NRECURSIONS) - { - /* Take the mutex */ - - printf("thread_inner[%d, %d]: Locking\n", id, level); - status = pthread_mutex_lock(&mut); - if (status != 0) - { - printf("thread_inner[%d, %d]: ERROR pthread_mutex_lock failed: %d\n", - id, level, status); - } - printf("thread_inner[%d, %d]: Locked\n", id, level); - - /* Give the other threads a chance */ - - pthread_yield(); - thread_inner(id, level+1); - pthread_yield(); - - /* Unlock the mutex */ - - printf("thread_inner[%d, %d]: Unlocking\n", id, level); - status = pthread_mutex_unlock(&mut); - if (status != 0) - { - printf("thread_inner[%d, %d]: ERROR pthread_mutex_unlock failed: %d\n", - id, level, status); - } - printf("thread_inner[%d, %d]: Unlocked\n", id, level); - pthread_yield(); - } -} - -static void *thread_outer(void *parameter) -{ - int i; - printf("thread_outer[%d]: Started\n", (int)parameter); - for (i = 0; i < NLOOPS; i++) - { - printf("thread_outer[%d]: Loop %d\n", (int)parameter, i); - thread_inner((int)parameter, 0); - } - printf("thread_outer[%d]: Exitting\n", (int)parameter); - pthread_exit(NULL); - return NULL; /* Non-reachable -- needed for some compilers */ -} - -void recursive_mutex_test(void) -{ - pthread_t thread[NTHREADS]; -#ifdef SDCC - pthread_addr_t result[NTHREADS]; - pthread_attr_t attr; -#endif - pthread_mutexattr_t mattr; - int type; - int status; - int i; - - /* Initialize the mutex attributes */ - - pthread_mutexattr_init(&mattr); - status = pthread_mutexattr_settype(&mattr, PTHREAD_MUTEX_RECURSIVE); - if (status != 0) - { - printf("recursive_mutex_test: ERROR pthread_mutexattr_settype failed, status=%d\n", status); - } - - status = pthread_mutexattr_gettype(&mattr, &type); - if (status != 0) - { - printf("recursive_mutex_test: ERROR pthread_mutexattr_gettype failed, status=%d\n", status); - } - if (type != PTHREAD_MUTEX_RECURSIVE) - { - printf("recursive_mutex_test: ERROR pthread_mutexattr_gettype return type=%d\n", type); - } - - /* Initialize the mutex */ - - printf("recursive_mutex_test: Initializing mutex\n"); - pthread_mutex_init(&mut, &mattr); - - /* Start the threads -- all at the same, default priority */ - - for (i = 0; i < NTHREADS; i++) - { - printf("recursive_mutex_test: Starting thread %d\n", i+1); -#ifdef SDCC - (void)pthread_attr_init(&attr); - status = pthread_create(&thread[i], &attr, thread_outer, (pthread_addr_t)i+1); -#else - status = pthread_create(&thread[i], NULL, thread_outer, (pthread_addr_t)i+1); -#endif - if (status != 0) - { - printf("recursive_mutex_test: ERRROR thread#%d creation: %d\n", i+1, status); - } - } - - /* Wait for all; of the threads to complete */ - - for (i = 0; i < NTHREADS; i++) - { - printf("recursive_mutex_test: Waiting for thread %d\n", i+1); -#ifdef SDCC - pthread_join(thread[i], &result1); -#else - pthread_join(thread[i], NULL); -#endif - } - - printf("recursive_mutex_test: Complete\n"); -} diff --git a/nuttx/examples/ostest/roundrobin.c b/nuttx/examples/ostest/roundrobin.c deleted file mode 100644 index 061d51f3da..0000000000 --- a/nuttx/examples/ostest/roundrobin.c +++ /dev/null @@ -1,232 +0,0 @@ -/******************************************************************************** - * examples/ostest/roundrobin.c - * - * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ********************************************************************************/ - -/******************************************************************************** - * Included Files - ********************************************************************************/ - -#include <nuttx/config.h> -#include <stdio.h> -#include "ostest.h" - -#if CONFIG_RR_INTERVAL > 0 - -/******************************************************************************** - * Definitions - ********************************************************************************/ - -/* This number may need to be tuned for different processor speeds. Since these - * arrays must be large to very correct SCHED_RR behavior, this test may require - * too much memory on many targets. - */ - -/* #define CONFIG_NINTEGERS 32768 Takes forever on 60Mhz ARM7 */ - -#define CONFIG_NINTEGERS 2048 - -/******************************************************************************** - * Private Data - ********************************************************************************/ - -static int prime1[CONFIG_NINTEGERS]; -static int prime2[CONFIG_NINTEGERS]; - -/******************************************************************************** - * Private Functions - ********************************************************************************/ - -/******************************************************************************** - * Name: dosieve - * - * Description - * This implements a "sieve of aristophanes" algorithm for finding prime number. - * Credit for this belongs to someone, but I am not sure who anymore. Anyway, - * the only purpose here is that we need some algorithm that takes a long period - * of time to execute. - * - ********************************************************************************/ - -static void dosieve(int *prime) -{ - int a,d; - int i; - int j; - - a = 2; - d = a; - - for (i = 0; i < CONFIG_NINTEGERS; i++) - { - prime[i] = i+2; - } - - for (i = 1; i < 10; i++) - { - for (j = 0; j < CONFIG_NINTEGERS; j++) - { - d = a + d; - if (d < CONFIG_NINTEGERS) - { - prime[d]=0; - } - } - a++; - d = a; - i++; - } - -#if 0 /* We don't really care what the numbers are */ - for (i = 0, j= 0; i < CONFIG_NINTEGERS; i++) - { - if (prime[i] != 0) - { - printf(" Prime %d: %d\n", j, prime[i]); - j++; - } - } -#endif -} - -/******************************************************************************** - * Name: sieve1 - ********************************************************************************/ - -static void *sieve1(void *parameter) -{ - int i; - - printf("sieve1 started\n"); - - for (i = 0; i < 1000; i++) - { - dosieve(prime1); - } - - printf("sieve1 finished\n"); - - pthread_exit(NULL); - return NULL; /* To keep some compilers happy */ -} - -/******************************************************************************** - * Name: sieve2 - ********************************************************************************/ - -static void *sieve2(void *parameter) -{ - int i; - - printf("sieve2 started\n"); - - for (i = 0; i < 1000; i++) - { - dosieve(prime2); - } - - printf("sieve2 finished\n"); - - pthread_exit(NULL); - return NULL; /* To keep some compilers happy */ -} - -/******************************************************************************** - * Public Functions - ********************************************************************************/ - -/******************************************************************************** - * Name: rr_test - ********************************************************************************/ - -void rr_test(void) -{ - pthread_t sieve1_thread; - pthread_t sieve2_thread; - struct sched_param sparam; - pthread_attr_t attr; - pthread_addr_t result; - int status; - - printf("rr_test: Starting sieve1 thread \n"); - status = pthread_attr_init(&attr); - if (status != OK) - { - printf("rr_test: pthread_attr_init failed, status=%d\n", status); - } - - sparam.sched_priority = sched_get_priority_min(SCHED_FIFO); - status = pthread_attr_setschedparam(&attr, &sparam); - if (status != OK) - { - printf("rr_test: pthread_attr_setschedparam failed, status=%d\n", status); - } - else - { - printf("rr_test: Set thread priority to %d\n", sparam.sched_priority); - } - - status = pthread_attr_setschedpolicy(&attr, SCHED_RR); - if (status != OK) - { - printf("rr_test: pthread_attr_setschedpolicy failed, status=%d\n", status); - } - else - { - printf("rr_test: Set thread policty to SCHED_RR\n"); - } - - status = pthread_create(&sieve1_thread, &attr, sieve1, NULL); - if (status != 0) - { - printf("rr_test: Error in thread 1 creation, status=%d\n", status); - } - - printf("rr_test: Starting sieve1 thread \n"); - - status = pthread_create(&sieve2_thread, &attr, sieve2, NULL); - if (status != 0) - { - printf("rr_test: Error in thread 2 creation, status=%d\n", status); - } - - printf("rr_test: Waiting for sieves to complete -- this should take awhile\n"); - printf("rr_test: If RR scheduling is working, they should start and complete at\n"); - printf("rr_test: about the same time\n"); - - pthread_join(sieve2_thread, &result); - pthread_join(sieve1_thread, &result); - printf("rr_test: Done\n"); -} - -#endif /* CONFIG_RR_INTERVAL */ diff --git a/nuttx/examples/ostest/sem.c b/nuttx/examples/ostest/sem.c deleted file mode 100644 index 850cf8040b..0000000000 --- a/nuttx/examples/ostest/sem.c +++ /dev/null @@ -1,246 +0,0 @@ -/*********************************************************************** - * sem.c - * - * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ***********************************************************************/ - -#include <stdio.h> -#include <pthread.h> -#include <semaphore.h> -#include <sched.h> -#include "ostest.h" - -#ifndef NULL -# define NULL (void*)0 -#endif - -static sem_t sem; - -static void *waiter_func(void *parameter) -{ - int id = (int)parameter; - int status; - int value; - - printf("waiter_func: Thread %d Started\n", id); - - /* Take the semaphore */ - - status = sem_getvalue(&sem, &value); - if (status < 0) - { - printf("waiter_func: ERROR thread %d could not get semaphore value\n", id); - } - else - { - printf("waiter_func: Thread %d initial semaphore value = %d\n", id, value); - } - - printf("waiter_func: Thread %d waiting on semaphore\n", id); - status = sem_wait(&sem); - if (status != 0) - { - printf("waiter_func: ERROR thread %d sem_wait failed\n", id); - } - printf("waiter_func: Thread %d awakened\n", id); - - status = sem_getvalue(&sem, &value); - if (status < 0) - { - printf("waiter_func: ERROR thread %d could not get semaphore value\n", id); - } - else - { - printf("waiter_func: Thread %d new semaphore value = %d\n", id, value); - } - - printf("waiter_func: Thread %d done\n", id); - return NULL; -} - -static void *poster_func(void *parameter) -{ - int id = (int)parameter; - int status; - int value; - - printf("poster_func: Thread %d started\n", id); - - /* Take the semaphore */ - - do - { - status = sem_getvalue(&sem, &value); - if (status < 0) - { - printf("poster_func: ERROR thread %d could not get semaphore value\n", id); - } - else - { - printf("poster_func: Thread %d semaphore value = %d\n", id, value); - } - - if (value < 0) - { - printf("poster_func: Thread %d posting semaphore\n", id); - status = sem_post(&sem); - if (status != 0) - { - printf("poster_func: ERROR thread %d sem_wait failed\n", id); - } - - pthread_yield(); - - status = sem_getvalue(&sem, &value); - if (status < 0) - { - printf("poster_func: ERROR thread %d could not get semaphore value\n", id); - } - else - { - printf("poster_func: Thread %d new semaphore value = %d\n", id, value); - } - } - } - while (value < 0); - - printf("poster_func: Thread %d done\n", id); - return NULL; - -} - -void sem_test(void) -{ - pthread_t waiter_thread1; - pthread_t waiter_thread2; - pthread_t poster_thread; -#ifdef SDCC - pthread_addr_t result; -#endif - struct sched_param sparam; - int prio_min; - int prio_max; - int prio_mid; - pthread_attr_t attr; - int status; - - printf("sem_test: Initializing semaphore to 0\n"); - sem_init(&sem, 0, 0); - - /* Start two waiter thread instances */ - - printf("sem_test: Starting waiter thread 1\n"); - status = pthread_attr_init(&attr); - if (status != OK) - { - printf("sem_test: pthread_attr_init failed, status=%d\n", status); - } - - prio_min = sched_get_priority_min(SCHED_FIFO); - prio_max = sched_get_priority_max(SCHED_FIFO); - prio_mid = (prio_min + prio_max) / 2; - - sparam.sched_priority = (prio_mid + prio_max) / 2; - status = pthread_attr_setschedparam(&attr,&sparam); - if (status != OK) - { - printf("sem_test: pthread_attr_setschedparam failed, status=%d\n", status); - } - else - { - printf("sem_test: Set thread 1 priority to %d\n", sparam.sched_priority); - } - - status = pthread_create(&waiter_thread1, &attr, waiter_func, (pthread_addr_t)1); - if (status != 0) - { - printf("sem_test: Error in thread 1 creation, status=%d\n", status); - } - - printf("sem_test: Starting waiter thread 2\n"); - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("sem_test: pthread_attr_init failed, status=%d\n", status); - } - - sparam.sched_priority = prio_mid; - status = pthread_attr_setschedparam(&attr,&sparam); - if (status != OK) - { - printf("sem_test: pthread_attr_setschedparam failed, status=%d\n", status); - } - else - { - printf("sem_test: Set thread 2 priority to %d\n", sparam.sched_priority); - } - - status = pthread_create(&waiter_thread2, &attr, waiter_func, (pthread_addr_t)2); - if (status != 0) - { - printf("sem_test: Error in thread 2 creation, status=%d\n", status); - } - - printf("sem_test: Starting poster thread 3\n"); - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("sem_test: pthread_attr_init failed, status=%d\n", status); - } - - sparam.sched_priority = (prio_min + prio_mid) / 2; - status = pthread_attr_setschedparam(&attr,&sparam); - if (status != OK) - { - printf("sem_test: pthread_attr_setschedparam failed, status=%d\n", status); - } - else - { - printf("sem_test: Set thread 3 priority to %d\n", sparam.sched_priority); - } - - status = pthread_create(&poster_thread, &attr, poster_func, (pthread_addr_t)3); - if (status != 0) - { - printf("sem_test: Error in thread 3 creation, status=%d\n", status); - } - -#ifdef SDCC - pthread_join(waiter_thread1, &result); - pthread_join(waiter_thread2, &result); - pthread_join(poster_thread, &result); -#else - pthread_join(waiter_thread1, NULL); - pthread_join(waiter_thread2, NULL); - pthread_join(poster_thread, NULL); -#endif -} diff --git a/nuttx/examples/ostest/sighand.c b/nuttx/examples/ostest/sighand.c deleted file mode 100644 index 46650be1c0..0000000000 --- a/nuttx/examples/ostest/sighand.c +++ /dev/null @@ -1,279 +0,0 @@ -/*********************************************************************** - * examples/ostest/sighand.c - * - * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ***********************************************************************/ - -#include <sys/types.h> -#include <stdbool.h> -#include <stdio.h> -#include <unistd.h> -#include <semaphore.h> -#include <signal.h> -#include <sched.h> -#include <errno.h> -#include "ostest.h" - -#ifndef NULL -# define NULL (void*)0 -#endif - -#define WAKEUP_SIGNAL 17 -#define SIGVALUE_INT 42 - -static sem_t sem; -static bool sigreceived = false; -static bool threadexited = false; - -static void wakeup_action(int signo, siginfo_t *info, void *ucontext) -{ - sigset_t oldset; - sigset_t allsigs; - int status; - - printf("wakeup_action: Received signal %d\n" , signo); - - sigreceived = true; - - /* Check signo */ - - if (signo != WAKEUP_SIGNAL) - { - printf("wakeup_action: ERROR expected signo=%d\n" , WAKEUP_SIGNAL); - } - - /* Check siginfo */ - - if (info->si_value.sival_int != SIGVALUE_INT) - { - printf("wakeup_action: ERROR sival_int=%d expected %d\n", - info->si_value.sival_int, SIGVALUE_INT); - } - else - { - printf("wakeup_action: sival_int=%d\n" , info->si_value.sival_int); - } - - if (info->si_signo != WAKEUP_SIGNAL) - { - printf("wakeup_action: ERROR expected si_signo=%d, got=%d\n", - WAKEUP_SIGNAL, info->si_signo); - } - - printf("wakeup_action: si_code=%d\n" , info->si_code); - - /* Check ucontext_t */ - - printf("wakeup_action: ucontext=%p\n" , ucontext); - - /* Check sigprocmask */ - - (void)sigfillset(&allsigs); - status = sigprocmask(SIG_SETMASK, NULL, &oldset); - if (status != OK) - { - printf("wakeup_action: ERROR sigprocmask failed, status=%d\n", - status); - } - - if (oldset != allsigs) - { - printf("wakeup_action: ERROR sigprocmask=%x expected=%x\n", - oldset, allsigs); - } -} - -static int waiter_main(int argc, char *argv[]) -{ - sigset_t sigset; - struct sigaction act; - struct sigaction oact; - int status; - - printf("waiter_main: Waiter started\n" ); - - printf("waiter_main: Unmasking signal %d\n" , WAKEUP_SIGNAL); - (void)sigemptyset(&sigset); - (void)sigaddset(&sigset, WAKEUP_SIGNAL); - status = sigprocmask(SIG_UNBLOCK, &sigset, NULL); - if (status != OK) - { - printf("waiter_main: ERROR sigprocmask failed, status=%d\n", - status); - } - - printf("waiter_main: Registering signal handler\n" ); - act.sa_sigaction = wakeup_action; - act.sa_flags = SA_SIGINFO; - - (void)sigfillset(&act.sa_mask); - (void)sigdelset(&act.sa_mask, WAKEUP_SIGNAL); - - status = sigaction(WAKEUP_SIGNAL, &act, &oact); - if (status != OK) - { - printf("waiter_main: ERROR sigaction failed, status=%d\n" , status); - } - -#ifndef SDCC - printf("waiter_main: oact.sigaction=%p oact.sa_flags=%x oact.sa_mask=%x\n", - oact.sa_sigaction, oact.sa_flags, oact.sa_mask); -#endif - - /* Take the semaphore */ - - printf("waiter_main: Waiting on semaphore\n" ); - -#if CONFIG_NFILE_STREAMS > 0 - fflush(stdout); -#endif - - status = sem_wait(&sem); - if (status != 0) - { - int error = *get_errno_ptr(); - if (error == EINTR) - { - printf("waiter_main: sem_wait() successfully interrupted by signal\n" ); - } - else - { - printf("waiter_main: ERROR sem_wait failed, errno=%d\n" , error); - } - } - else - { - printf("waiter_main: ERROR awakened with no error!\n" ); - } - - /* Detach the signal handler */ - - act.sa_sigaction = SIG_DFL; - status = sigaction(WAKEUP_SIGNAL, &act, &oact); - - printf("waiter_main: done\n" ); - -#if CONFIG_NFILE_STREAMS > 0 - fflush(stdout); -#endif - - threadexited = true; - return 0; -} - -void sighand_test(void) -{ - struct sched_param param; - union sigval sigvalue; - pid_t waiterpid; - int policy; - int status; - - printf("sighand_test: Initializing semaphore to 0\n" ); - sem_init(&sem, 0, 0); - - /* Start waiter thread */ - - printf("sighand_test: Starting waiter task\n" ); - status = sched_getparam (0, ¶m); - if (status != OK) - { - printf("sighand_test: ERROR sched_getparam() failed\n" ); - param.sched_priority = PTHREAD_DEFAULT_PRIORITY; - } - - policy = sched_getscheduler(0); - if (policy == ERROR) - { - printf("sighand_test: ERROR sched_getscheduler() failed\n" ); - policy = SCHED_FIFO; - } - - waiterpid = task_create("waiter", param.sched_priority, - PTHREAD_STACK_DEFAULT, waiter_main, NULL); - if (waiterpid == ERROR) - { - printf("sighand_test: ERROR failed to start waiter_main\n" ); - } - else - { - printf("sighand_test: Started waiter_main pid=%d\n", waiterpid); - } - - /* Wait a bit */ - -#if CONFIG_NFILE_STREAMS > 0 - fflush(stdout); -#endif - sleep(2); - - /* Then signal the waiter thread. */ - - printf("sighand_test: Signaling pid=%d with signo=%d sigvalue=%d\n", - waiterpid, WAKEUP_SIGNAL, SIGVALUE_INT); - - sigvalue.sival_int = SIGVALUE_INT; -#ifdef CONFIG_CAN_PASS_STRUCTS - status = sigqueue(waiterpid, WAKEUP_SIGNAL, sigvalue); -#else - status = sigqueue(waiterpid, WAKEUP_SIGNAL, sigvalue.sival_ptr); -#endif - if (status != OK) - { - printf("sighand_test: ERROR sigqueue failed\n" ); - task_delete(waiterpid); - } - - /* Wait a bit */ - -#if CONFIG_NFILE_STREAMS > 0 - fflush(stdout); -#endif - sleep(2); - - /* Then check the result */ - - if (!threadexited) - { - printf("sighand_test: ERROR waiter task did not exit\n" ); - } - - if (!sigreceived) - { - printf("sighand_test: ERROR signal handler did not run\n" ); - } - - printf("sighand_test: done\n" ); -#if CONFIG_NFILE_STREAMS > 0 - fflush(stdout); -#endif -} diff --git a/nuttx/examples/ostest/timedmqueue.c b/nuttx/examples/ostest/timedmqueue.c deleted file mode 100644 index 9c14ec4149..0000000000 --- a/nuttx/examples/ostest/timedmqueue.c +++ /dev/null @@ -1,393 +0,0 @@ -/************************************************************************** - * examples/ostest/mqueue.c - * - * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - **************************************************************************/ - -/************************************************************************** - * Included Files - **************************************************************************/ - -#include <nuttx/config.h> - -#include <stdio.h> -#include <unistd.h> -#include <string.h> -#include <ctype.h> -#include <fcntl.h> -#include <pthread.h> -#include <mqueue.h> -#include <sched.h> -#include <errno.h> - -#include "ostest.h" - -/************************************************************************** - * Private Definitions - **************************************************************************/ - -#define TEST_MESSAGE "This is a test and only a test" -#if defined(SDCC) || defined(__ZILOG__) - /* Cannot use strlen in array size */ - -# define TEST_MSGLEN (31) -#else - /* Message lenght is the size of the message plus the null terminator */ - -# define TEST_MSGLEN (strlen(TEST_MESSAGE)+1) -#endif - -#define TEST_SEND_NMSGS (10) -#define TEST_RECEIVE_NMSGS (10) - -#if CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0 -# define FFLUSH() fflush(stdout) -#else -# define FFLUSH() -#endif - -/************************************************************************** - * Private Types - **************************************************************************/ - -/************************************************************************** - * Private Function Prototypes - **************************************************************************/ - -/************************************************************************** - * Global Variables - **************************************************************************/ - -/************************************************************************** - * Private Variables - **************************************************************************/ - -/************************************************************************** - * Private Functions - **************************************************************************/ - -/************************************************************************** - * Public Functions - **************************************************************************/ - -static void *sender_thread(void *arg) -{ - mqd_t mqfd; - char msg_buffer[TEST_MSGLEN]; - struct mq_attr attr; - int status = 0; - int nerrors = 0; - int i; - - printf("sender_thread: Starting\n"); - - /* Fill in attributes for message queue */ - - attr.mq_maxmsg = TEST_SEND_NMSGS-1; - attr.mq_msgsize = TEST_MSGLEN; - attr.mq_flags = 0; - - /* Set the flags for the open of the queue. - * Make it a blocking open on the queue, meaning it will block if - * this process tries to send to the queue and the queue is full. - * - * O_CREAT - the queue will get created if it does not already exist. - * O_WRONLY - we are only planning to write to the queue. - * - * Open the queue, and create it if the receiving process hasn't - * already created it. - */ - - mqfd = mq_open("testmq", O_WRONLY|O_CREAT, 0666, &attr); - if (mqfd < 0) - { - printf("sender_thread: ERROR mq_open failed\n"); - pthread_exit((pthread_addr_t)1); - } - - /* Fill in a test message buffer to send */ - - memcpy(msg_buffer, TEST_MESSAGE, TEST_MSGLEN); - - /* Perform the send TEST_SEND_NMSGS times */ - - for (i = 0; i < TEST_SEND_NMSGS; i++) - { - struct timespec time; - status = clock_gettime(CLOCK_REALTIME, &time); - if (status != 0) - { - printf("sender_thread: ERROR clock_gettime failed\n"); - } - time.tv_sec += 5; - - /* The first TEST_SEND_NMSGS-1 send should succeed. The last - * one should fail with errno == ETIMEDOUT - */ - - status = mq_timedsend(mqfd, msg_buffer, TEST_MSGLEN, 42, &time); - if (status < 0) - { - if (i == TEST_SEND_NMSGS-1 && *get_errno_ptr() == ETIMEDOUT) - { - printf("sender_thread: mq_timedsend %d timed out as expected\n", i); - } - else - { - printf("sender_thread: ERROR mq_timedsend failure=%d on msg %d\n", *get_errno_ptr(), i); - nerrors++; - } - } - else - { - if (i == TEST_SEND_NMSGS-1) - { - printf("sender_thread: ERROR mq_timedsend of msg %d succeeded\n", i); - nerrors++; - } - else - { - printf("sender_thread: mq_timedsend succeeded on msg %d\n", i); - } - } - } - - /* Close the queue and return success */ - - if (mq_close(mqfd) < 0) - { - printf("sender_thread: ERROR mq_close failed\n"); - } - - printf("sender_thread: returning nerrors=%d\n", nerrors); - FFLUSH(); - return (pthread_addr_t)nerrors; -} - -static void *receiver_thread(void *arg) -{ - mqd_t mqfd; - char msg_buffer[TEST_MSGLEN]; - struct mq_attr attr; - int nbytes; - int nerrors = 0; - int i; - - printf("receiver_thread: Starting\n"); - - /* Fill in attributes for message queue */ - - attr.mq_maxmsg = TEST_SEND_NMSGS-1; - attr.mq_msgsize = TEST_MSGLEN; - attr.mq_flags = 0; - - /* Set the flags for the open of the queue. - * Make it a blocking open on the queue, meaning it will block if - * this process tries to* send to the queue and the queue is full. - * - * O_CREAT - the queue will get created if it does not already exist. - * O_RDONLY - we are only planning to write to the queue. - * - * Open the queue, and create it if the sending process hasn't - * already created it. - */ - - mqfd = mq_open("testmq", O_RDONLY|O_CREAT, 0666, &attr); - if (mqfd < 0) - { - printf("receiver_thread: ERROR mq_open failed\n"); - pthread_exit((pthread_addr_t)1); - } - - /* Perform the receive TEST_RECEIVE_NMSGS times */ - - for (i = 0; i < TEST_RECEIVE_NMSGS; i++) - { - struct timespec time; - int status = clock_gettime(CLOCK_REALTIME, &time); - if (status != 0) - { - printf("sender_thread: ERROR clock_gettime failed\n"); - } - time.tv_sec += 5; - - /* The first TEST_SEND_NMSGS-1 send should succeed. The last - * one should fail with errno == ETIMEDOUT - */ - - memset(msg_buffer, 0xaa, TEST_MSGLEN); - nbytes = mq_timedreceive(mqfd, msg_buffer, TEST_MSGLEN, 0, &time); - if (nbytes < 0) - { - if (i == TEST_SEND_NMSGS-1 && *get_errno_ptr() == ETIMEDOUT) - { - printf("receiver_thread: Receive %d timed out as expected\n", i); - } - else - { - printf("receiver_thread: ERROR mq_timedreceive failure=%d on msg %d\n", *get_errno_ptr(), i); - nerrors++; - } - } - else if (nbytes != TEST_MSGLEN) - { - printf("receiver_thread: mq_timedreceive return bad size %d on msg %d\n", nbytes, i); - nerrors++; - } - else if (memcmp(TEST_MESSAGE, msg_buffer, nbytes) != 0) - { - int j; - - printf("receiver_thread: mq_timedreceive returned corrupt message on msg %d\n", i); - printf("receiver_thread: i Expected Received\n"); - - for (j = 0; j < TEST_MSGLEN-1; j++) - { - if (isprint(msg_buffer[j])) - { - printf("receiver_thread: %2d %02x (%c) %02x (%c)\n", - j, TEST_MESSAGE[j], TEST_MESSAGE[j], msg_buffer[j], msg_buffer[j]); - } - else - { - printf("receiver_thread: %2d %02x (%c) %02x\n", - j, TEST_MESSAGE[j], TEST_MESSAGE[j], msg_buffer[j]); - } - } - printf("receiver_thread: %2d 00 %02x\n", - j, msg_buffer[j]); - } - else if (i == TEST_SEND_NMSGS-1) - { - printf("receiver_thread: ERROR mq_timedreceive of msg %d succeeded\n", i); - nerrors++; - } - else - { - printf("receiver_thread: mq_timedreceive succeeded on msg %d\n", i); - } - } - - /* Close the queue and return success */ - - if (mq_close(mqfd) < 0) - { - printf("receiver_thread: ERROR mq_close failed\n"); - nerrors++; - } - - /* Destroy the queue */ - - if (mq_unlink("testmq") < 0) - { - printf("receiver_thread: ERROR mq_close failed\n"); - nerrors++; - } - - printf("receiver_thread: returning nerrors=%d\n", nerrors); - FFLUSH(); - pthread_exit((pthread_addr_t)nerrors); - return (pthread_addr_t)nerrors; -} - -void timedmqueue_test(void) -{ - pthread_t sender; - pthread_t receiver; - void *result; - pthread_attr_t attr; - int status; - - /* Start the sending thread at the default priority */ - - printf("timedmqueue_test: Starting sender\n"); - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("timedmqueue_test: pthread_attr_init failed, status=%d\n", status); - } - - status = pthread_attr_setstacksize(&attr, STACKSIZE); - if (status != 0) - { - printf("timedmqueue_test: pthread_attr_setstacksize failed, status=%d\n", status); - } - - status = pthread_create(&sender, &attr, sender_thread, NULL); - if (status != 0) - { - printf("timedmqueue_test: pthread_create failed, status=%d\n", status); - } - - /* Wait for the sending thread to complete */ - - printf("timedmqueue_test: Waiting for sender to complete\n"); - pthread_join(sender, &result); - if (result != (void*)0) - { - printf("timedmqueue_test: ERROR sender thread exited with %d errors\n", (int)result); - } - - /* Start the receiving thread at the default priority */ - - printf("timedmqueue_test: Starting receiver\n"); - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("timedmqueue_test: pthread_attr_init failed, status=%d\n", status); - } - - status = pthread_attr_setstacksize(&attr, STACKSIZE); - if (status != 0) - { - printf("timedmqueue_test: pthread_attr_setstacksize failed, status=%d\n", status); - } - - status = pthread_create(&receiver, &attr, receiver_thread, NULL); - if (status != 0) - { - printf("timedmqueue_test: pthread_create failed, status=%d\n", status); - } - - /* Wait for the receiving thread to complete */ - - printf("timedmqueue_test: Waiting for receiver to complete\n"); - pthread_join(receiver, &result); - if (result != (void*)0) - { - printf("timedmqueue_test: ERROR receiver thread exited with %d errors\n", (int)result); - } - - printf("timedmqueue_test: Test complete\n"); -} - - diff --git a/nuttx/examples/ostest/timedwait.c b/nuttx/examples/ostest/timedwait.c deleted file mode 100644 index 51622bad81..0000000000 --- a/nuttx/examples/ostest/timedwait.c +++ /dev/null @@ -1,201 +0,0 @@ -/*********************************************************************** - * examples/ostest/timedwait.c - * - * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ***********************************************************************/ - -/************************************************************************** - * Included Files - **************************************************************************/ - -#include <stdio.h> -#include <time.h> -#include <pthread.h> -#include <unistd.h> -#include <errno.h> - -#include "ostest.h" - -/************************************************************************** - * Private Definitions - **************************************************************************/ - -#if CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0 -# define FFLUSH() fflush(stdout) -#else -# define FFLUSH() -#endif - -/************************************************************************** - * Private Data - **************************************************************************/ - -static pthread_mutex_t mutex; -static pthread_cond_t cond; - -/************************************************************************** - * Private Functions - **************************************************************************/ - -static void *thread_waiter(void *parameter) -{ - struct timespec time; - int status; - - /* Take the mutex */ - - printf("thread_waiter: Taking mutex\n"); - status = pthread_mutex_lock(&mutex); - if (status != 0) - { - printf("thread_waiter: ERROR pthread_mutex_lock failed, status=%d\n", status); - } - - printf("thread_waiter: Starting 5 second wait for condition\n"); - - status = clock_gettime(CLOCK_REALTIME, &time); - if (status != 0) - { - printf("thread_waiter: ERROR clock_gettime failed\n"); - } - time.tv_sec += 5; - - /* The wait -- no-one is ever going to awaken us */ - - status = pthread_cond_timedwait(&cond, &mutex, &time); - if (status != 0) - { - if (status == ETIMEDOUT) - { - printf("thread_waiter: pthread_cond_timedwait timed out\n"); - } - else - { - printf("thread_waiter: ERROR pthread_cond_timedwait failed, status=%d\n", status); - } - } - else - { - printf("thread_waiter: ERROR pthread_cond_timedwait returned without timeout, status=%d\n", status); - } - - /* Release the mutex */ - - printf("thread_waiter: Releasing mutex\n"); - status = pthread_mutex_unlock(&mutex); - if (status != 0) - { - printf("thread_waiter: ERROR pthread_mutex_unlock failed, status=%d\n", status); - } - - printf("thread_waiter: Exit with status 0x12345678\n"); - pthread_exit((pthread_addr_t)0x12345678); - return NULL; -} - -/************************************************************************** - * Public Definitions - **************************************************************************/ - -void timedwait_test(void) -{ - pthread_t waiter; - pthread_attr_t attr; - struct sched_param sparam; - void *result; - int prio_max; - int status; - - /* Initialize the mutex */ - - printf("thread_waiter: Initializing mutex\n"); - status = pthread_mutex_init(&mutex, NULL); - if (status != 0) - { - printf("timedwait_test: ERROR pthread_mutex_init failed, status=%d\n", status); - } - - /* Initialize the condition variable */ - - printf("timedwait_test: Initializing cond\n"); - status = pthread_cond_init(&cond, NULL); - if (status != 0) - { - printf("timedwait_test: ERROR pthread_condinit failed, status=%d\n", status); - } - - /* Start the waiter thread at higher priority */ - - printf("timedwait_test: Starting waiter\n"); - status = pthread_attr_init(&attr); - if (status != 0) - { - printf("timedwait_test: pthread_attr_init failed, status=%d\n", status); - } - - prio_max = sched_get_priority_max(SCHED_FIFO); - status = sched_getparam (getpid(), &sparam); - if (status != 0) - { - printf("timedwait_test: sched_getparam failed\n"); - sparam.sched_priority = PTHREAD_DEFAULT_PRIORITY; - } - - sparam.sched_priority = (prio_max + sparam.sched_priority) / 2; - status = pthread_attr_setschedparam(&attr,&sparam); - if (status != OK) - { - printf("timedwait_test: pthread_attr_setschedparam failed, status=%d\n", status); - } - else - { - printf("timedwait_test: Set thread 2 priority to %d\n", sparam.sched_priority); - } - - status = pthread_create(&waiter, &attr, thread_waiter, NULL); - if (status != 0) - { - printf("timedwait_test: pthread_create failed, status=%d\n", status); - } - - printf("timedwait_test: Joining\n"); - FFLUSH(); - status = pthread_join(waiter, &result); - if (status != 0) - { - printf("timedwait_test: ERROR pthread_join failed, status=%d\n", status); - } - else - { - printf("timedwait_test: waiter exited with result=%p\n", result); - } -} diff --git a/nuttx/examples/pashello/Makefile b/nuttx/examples/pashello/Makefile deleted file mode 100644 index fd91e11245..0000000000 --- a/nuttx/examples/pashello/Makefile +++ /dev/null @@ -1,82 +0,0 @@ -############################################################################ -# examples/pashello/Makefile -# -# Copyright (C) 2008-2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ifeq ($(WINTOOL),y) -INCDIROPT = -w -endif - -CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/pcode/include } -CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/pcode/insn/include} - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = pashello.c device.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/pashello/README.txt b/nuttx/examples/pashello/README.txt deleted file mode 100644 index b976f18cf3..0000000000 --- a/nuttx/examples/pashello/README.txt +++ /dev/null @@ -1,34 +0,0 @@ -README -^^^^^^ - -hello.pas - - This is a sample "Hello, World!" Pascal Program - -hello.pex - - This is the compiled, linked P-Code executable that results - when hello.pas is compiled. - -hello.h - - This file defines an initialized C array holds a copy of - hello.pex. This file as created by: - - xxd -i hello.pex >hello.h - -mkhello.sh - - This is a scripts that can be used to rebuild both hello.pex - and hello.h. - -device.c - - The hello.pex file must be provided to the interpreter as a file - in the file system. Normally this would be done using real storage - medium. In this example, we will use device.c: - - device.c implements a simple device driver. Reads from this device - will access the in-memory copy of hello.pex This device driver is - registered as /dev/pashello in the psuedo filesystem. - diff --git a/nuttx/examples/pashello/device.c b/nuttx/examples/pashello/device.c deleted file mode 100644 index 5f0038ad71..0000000000 --- a/nuttx/examples/pashello/device.c +++ /dev/null @@ -1,110 +0,0 @@ -/**************************************************************************** - * examples/pashello/device.c - * - * Copyright (C) 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Compilation Switches - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <string.h> -#include <errno.h> -#include <nuttx/fs.h> - -#include "hello.h" -#include "pashello.h" - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -static ssize_t hello_read(struct file *, char *, size_t); - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const struct file_operations hello_fops = -{ - 0, /* open */ - 0, /* close */ - hello_read, /* read */ - 0, /* write */ - 0, /* seek */ - 0, /* ioctl */ -#ifndef CONFIG_DISABLE_POLL - 0 /* poll */ -#endif -}; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -static ssize_t hello_read(struct file *filep, char *buffer, size_t len) -{ - off_t offset = filep->f_pos; /* Start read position */ - ssize_t nread = 0; /* Bytes read -- assume EOF */ - - /* Make sure that the offset is within the .pex file */ - - if (offset < hello_pex_len) - { - /* Make sure the read does not extend beyond the .pex file */ - - nread = len; - if (nread + offset > hello_pex_len) - { - nread = hello_pex_len - offset; - } - memcpy(buffer, &hello_pex[offset], nread); - filep->f_pos += nread; - } - return nread; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -void hello_register(void) -{ - (void)register_driver("/dev/hello", &hello_fops, 0444, NULL); -} diff --git a/nuttx/examples/pashello/hello.h b/nuttx/examples/pashello/hello.h deleted file mode 100644 index 818e5e4a54..0000000000 --- a/nuttx/examples/pashello/hello.h +++ /dev/null @@ -1,23 +0,0 @@ -unsigned char hello_pex[] = { - 0x50, 0x4f, 0x46, 0x46, 0x01, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x05, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, - 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x11, 0x01, 0x03, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8d, - 0x00, 0x00, 0x00, 0x0f, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x04, - 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x10, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, - 0x00, 0x00, 0x00, 0x38, 0xb1, 0x00, 0x00, 0x74, 0x0e, 0xf9, 0x00, 0x00, - 0x25, 0xb5, 0xff, 0xfc, 0xf9, 0x00, 0x00, 0x20, 0x3f, 0x48, 0x65, 0x6c, - 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x21, 0x21, 0x21, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x48, 0x45, 0x4c, - 0x4c, 0x4f, 0x00, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x2e, 0x70, 0x61, 0x73, - 0x00, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x00, 0x2e, 0x72, 0x6f, 0x64, 0x61, - 0x74, 0x61, 0x00, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x74, 0x61, 0x62, 0x00, - 0x2e, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x6f, 0x00, 0x2e, 0x73, 0x74, 0x72, - 0x74, 0x61, 0x62, 0x00 -}; -unsigned int hello_pex_len = 232; diff --git a/nuttx/examples/pashello/hello.pas b/nuttx/examples/pashello/hello.pas deleted file mode 100644 index fe137f1b67..0000000000 --- a/nuttx/examples/pashello/hello.pas +++ /dev/null @@ -1,5 +0,0 @@ -program hello(output); -begin - writeln('Hello world!!!'); -end. - diff --git a/nuttx/examples/pashello/hello.pex b/nuttx/examples/pashello/hello.pex Binary files differdeleted file mode 100644 index c236105984..0000000000 --- a/nuttx/examples/pashello/hello.pex +++ /dev/null diff --git a/nuttx/examples/pashello/mkhello.sh b/nuttx/examples/pashello/mkhello.sh deleted file mode 100755 index 716a7e96df..0000000000 --- a/nuttx/examples/pashello/mkhello.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/bin/bash -############################################################################ -# examples/pashello/mkhello.sh -# -# Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ -#set -x - -BINDIR=$1 -WD=`pwd` - -PASCAL=${BINDIR}/pascal -POPT=${BINDIR}/popt -PLINK=${BINDIR}/plink -PRUN=${BINDIR}/prun - -PASFILENAME=hello.pas -OUFILE=hello.h -STRSTKSZ=1024 - -function sanity_check () -{ - if [ ! -f "${WD}/${PASFILENAME}" ]; then - echo "ERROR: Source ${PASFILENAME} does not exist in this directory" - exit 1 - fi - if [ -z "${BINDIR}" ]; then - echo "ERROR: Path to the pascal bin/ directory not provided" - exit 1 - fi - if [ ! -d "${BINDIR}" ]; then - echo "ERROR: Tool ${BINDIR} does not exist" - exit 1 - fi - if [ ! -x "${PASCAL}" ]; then - echo "ERROR: Executable ${PASCAL} does not exist" - exit 1 - fi - if [ ! -x "${POPT}" ]; then - echo "ERROR: Executable ${POPT} does not exist" - exit 1 - fi - if [ ! -x "${PLINK}" ]; then - echo "ERROR: Executable ${PLINK} does not exist" - exit 1 - fi - if [ ! -x "${PRUN}" ]; then - echo "ERROR: Executable ${PRUN} does not exist" - exit 1 - fi -} - -function compile_hello () -{ - PASOPTS= - ${PASCAL} ${PASOPTS} ${PASFILENAME} 2>&1 || rm -f hello.o1 - if [ -f hello.err ] ; then - cat hello.err | grep Line - fi - if [ ! -f hello.o1 ] ; then - echo "Compilation failed" - else - POPTOPTS= - ${POPT} ${POPTOPTS} hello.o1 2>&1 - ${PLINK} hello.o hello.pex 2>&1 - fi -} - -function test_program () -{ - if [ "${CONFIG_REGM}" == "y" ]; then - echo "Don't know how to run REGM programs yet" - else - echo "Using string stack size = ${STRSTKSZ}" - PRUNOPTS="-t ${STRSTKSZ}" - - if [ ! -f hello.pex ]; then - echo "No p-code executable" - else - if [ -f hello.inp ] ; then - ${PRUN} ${PRUNOPTS} hello.pex 2>&1 <hello.inp - else - ${PRUN} ${PRUNOPTS} hello.pex 2>&1 - fi - fi - fi -} - -function test_hello () -{ - echo "Using string stack size = ${STRSTKSZ}" - PRUNOPTS="-t ${STRSTKSZ}" - - if [ ! -f hello.pex ]; then - echo "No p-code executable" - exit 1 - else - ${PRUN} ${PRUNOPTS} hello.pex - fi -} - -function make_include () -{ - xxd -i hello.pex >hello.h -} - -sanity_check -compile_hello -rm *.o *.o1 *.lst *.err -test_hello -make_include - diff --git a/nuttx/examples/pashello/pashello.c b/nuttx/examples/pashello/pashello.c deleted file mode 100644 index 8bdefe702d..0000000000 --- a/nuttx/examples/pashello/pashello.c +++ /dev/null @@ -1,143 +0,0 @@ -/**************************************************************************** - * examples/pashello/pashello.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdio.h> -#include <stdlib.h> -#include <debug.h> - -#include "pexec.h" -#include "pedefs.h" -#include "pashello.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#ifndef CONFIG_PASHELLO_VARSTACKSIZE -# define CONFIG_PASHELLO_VARSTACKSIZE 1024 -#endif - -#ifndef CONFIG_PASHELLO_STRSTACKSIZE -# define CONFIG_PASHELLO_STRSTACKSIZE 128 -#endif - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: prun - * - * Description: - * This function executes the P-Code program until a stopping condition - * is encountered. - * - ****************************************************************************/ - -static void prun(FAR struct pexec_s *st) -{ - int errcode; - - for (;;) - { - /* Execute the instruction; Check for exceptional conditions */ - - errcode = pexec(st); - if (errcode != eNOERROR) break; - } - - if (errcode != eEXIT) - { - printf("Runtime error 0x%02x -- Execution Stopped\n", errcode); - } -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, FAR char *argv[]) -{ - FAR struct pexec_s *st; - - /* Register the /dev/hello driver */ - - hello_register(); - - /* Load the POFF file */ - - st = pload("/dev/hello", CONFIG_PASHELLO_VARSTACKSIZE, CONFIG_PASHELLO_STRSTACKSIZE); - if (!st) - { - fprintf(stderr, "user_start: ERROR: Could not load /dev/hello\n"); - exit(1); - } - printf("user_start: /dev/hello Loaded\n"); - printf("user_start: Interpreter started:\n"); - - /* And start program execution */ - - prun(st); - - /* Clean up resources used by the interpreter */ - - printf("user_start: Interpreter terminated"); - pexec_release(st); - return 0; -} diff --git a/nuttx/examples/pashello/pashello.h b/nuttx/examples/pashello/pashello.h deleted file mode 100644 index ad206261e2..0000000000 --- a/nuttx/examples/pashello/pashello.h +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** - * examples/pashello/pashello.h - * - * Copyright (C) 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __EXAMPLES_PASHELLO_H -#define __EXAMPLES_PASHELLO_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -/* Defined in device.c */ - -extern void hello_register(void); - -#endif /* __EXAMPLES_PASHELLO_H */ diff --git a/nuttx/examples/pipe/Makefile b/nuttx/examples/pipe/Makefile deleted file mode 100644 index 72cd67ee70..0000000000 --- a/nuttx/examples/pipe/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -############################################################################ -# Makefile -# -# Copyright (C) 2008, 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = pipe_main.c transfer_test.c interlock_test.c redirect_test.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/pipe/interlock_test.c b/nuttx/examples/pipe/interlock_test.c deleted file mode 100644 index e049a65f60..0000000000 --- a/nuttx/examples/pipe/interlock_test.c +++ /dev/null @@ -1,224 +0,0 @@ -/**************************************************************************** - * examples/pipe/interlock_test.c - * - * Copyright (C) 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> -#include <sys/stat.h> - -#include <sys/types.h> - -#include <stdio.h> -#include <fcntl.h> -#include <unistd.h> -#include <errno.h> - -#include "pipe.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: null_writer - ****************************************************************************/ - -static void *null_writer(pthread_addr_t pvarg) -{ - int fd; - - /* Wait a bit */ - - printf("null_writer: started -- sleeping\n"); - sleep(5); - - /* Then open the FIFO for write access */ - - printf("null_writer: Opening FIFO for write access\n"); - fd = open(FIFO_PATH2, O_WRONLY); - if (fd < 0) - { - fprintf(stderr, "null_writer: Failed to open FIFO %s for writing, errno=%d\n", - FIFO_PATH2, errno); - return (void*)1; - } - - /* Wait a bit more */ - - printf("null_writer: Opened %s for writing -- sleeping\n", FIFO_PATH2); - sleep(5); - - /* Then close the FIFO */ - - printf("null_writer: Closing %s\n", FIFO_PATH2); - if (close(fd) != 0) - { - fprintf(stderr, "null_writer: close failed: %d\n", errno); - } - sleep(5); - - printf("null_writer: Returning success\n"); - return (void*)0; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: interlock_test - ****************************************************************************/ - -int interlock_test(void) -{ - pthread_t writerid; - void *value; - char data[16]; - ssize_t nbytes; - int fd; - int ret; - - /* Create a FIFO */ - - ret = mkfifo(FIFO_PATH2, 0666); - if (ret < 0) - { - fprintf(stderr, "interlock_test: mkfifo failed with errno=%d\n", errno); - return 1; - } - - /* Start the null_writer_thread */ - - printf("interlock_test: Starting null_writer thread\n"); - ret = pthread_create(&writerid, NULL, null_writer, (pthread_addr_t)NULL); - if (ret != 0) - { - fprintf(stderr, "interlock_test: Failed to create null_writer thread, error=%d\n", ret); - ret = 2; - goto errout_with_fifo; - } - - /* Open one end of the FIFO for reading. This open call should block until the - * null_writer thread opens the other end of the FIFO for writing. - */ - - printf("interlock_test: Opening FIFO for read access\n"); - fd = open(FIFO_PATH2, O_RDONLY); - if (fd < 0) - { - fprintf(stderr, "interlock_test: Failed to open FIFO %s for reading, errno=%d\n", - FIFO_PATH2, errno); - ret = 3; - goto errout_with_thread; - } - - /* Attempt to read one byte from the FIFO. This should return end-of-file because - * the null_writer closes the FIFO without writing anything. - */ - - printf("interlock_test: Reading from %s\n", FIFO_PATH2); - nbytes = read(fd, data, 16); - if (nbytes < 0 ) - { - fprintf(stderr, "interlock_test: read failed, errno=%d\n", errno); - ret = 4; - goto errout_with_file; - } - else if (ret != 0) - { - fprintf(stderr, "interlock_test: Read %d bytes of data -- aborting: %d\n", nbytes); - ret = 5; - goto errout_with_file; - } - - /* Close the file */ - - printf("interlock_test: Closing %s\n", FIFO_PATH2); - if (close(fd) != 0) - { - fprintf(stderr, "interlock_test: close failed: %d\n", errno); - } - - /* Wait for null_writer thread to complete */ - - printf("interlock_test: Waiting for null_writer thread\n"); - ret = pthread_join(writerid, &value); - if (ret != 0) - { - fprintf(stderr, "interlock_test: pthread_join failed, error=%d\n", ret); - ret = 6; - goto errout_with_fifo; - } - else - { - printf("interlock_test: writer returned %d\n", (int)value); - if (value != (void*)0) - { - ret = 7; - goto errout_with_fifo; - } - } - - /* unlink(FIFO_PATH2); */ - printf("interlock_test: Returning success\n"); - return 0; - -errout_with_file: - if (close(fd) != 0) - { - fprintf(stderr, "interlock_test: close failed: %d\n", errno); - } -errout_with_thread: - pthread_detach(writerid); - pthread_cancel(writerid); -errout_with_fifo: - /* unlink(FIFO_PATH2); */ - printf("interlock_test: Returning %d\n", ret); - return ret; -} diff --git a/nuttx/examples/pipe/pipe.h b/nuttx/examples/pipe/pipe.h deleted file mode 100644 index 2c18fd868b..0000000000 --- a/nuttx/examples/pipe/pipe.h +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** - * examples/pipe/pipe.h - * - * Copyright (C) 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __EXAMPLES_PIPE_PIPE_H -#define __EXAMPLES_PIPE_PIPE_H - -/**************************************************************************** - * Compilation Switches - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#define FIFO_PATH1 "/tmp/testfifo-1" -#define FIFO_PATH2 "/tmp/testfifo-2" - -#ifndef CONFIG_EXAMPLES_PIPE_STACKSIZE -# define CONFIG_EXAMPLES_PIPE_STACKSIZE 1024 -#endif - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Variables - ****************************************************************************/ - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -extern int transfer_test(int fdin, int fdout); -extern int interlock_test(void); -extern int redirection_test(void); - -#endif /* __EXAMPLES_PIPE_PIPE_H */ diff --git a/nuttx/examples/pipe/pipe_main.c b/nuttx/examples/pipe/pipe_main.c deleted file mode 100644 index 97e728eb7f..0000000000 --- a/nuttx/examples/pipe/pipe_main.c +++ /dev/null @@ -1,197 +0,0 @@ -/**************************************************************************** - * examples/pipe/pipe_main.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/stat.h> -#include <stdio.h> -#include <unistd.h> -#include <sched.h> -#include <fcntl.h> -#include <errno.h> - -#include "pipe.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: user_initialize - ****************************************************************************/ - -void user_initialize(void) -{ -} - -/**************************************************************************** - * Name: user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - int filedes[2]; - int ret; - - /* Test FIFO logic */ - - printf("\nuser_start: Performing FIFO test\n"); - ret = mkfifo(FIFO_PATH1, 0666); - if (ret < 0) - { - fprintf(stderr, "user_start: mkfifo failed with errno=%d\n", errno); - return 1; - } - - /* Open one end of the FIFO for reading and the other end for writing. NOTE: - * the following might not work on most FIFO implementations because the attempt - * to open just one end of the FIFO for writing might block. The NuttX FIFOs block - * only on open for read-only (see interlock_test()). - */ - - filedes[1] = open(FIFO_PATH1, O_WRONLY); - if (filedes[1] < 0) - { - fprintf(stderr, "user_start: Failed to open FIFO %s for writing, errno=%d\n", - FIFO_PATH1, errno); - return 2; - } - - filedes[0] = open(FIFO_PATH1, O_RDONLY); - if (filedes[0] < 0) - { - fprintf(stderr, "user_start: Failed to open FIFO %s for reading, errno=%d\n", - FIFO_PATH1, errno); - if (close(filedes[1]) != 0) - { - fprintf(stderr, "user_start: close failed: %d\n", errno); - } - return 3; - } - - /* Then perform the test using those file descriptors */ - - ret = transfer_test(filedes[0], filedes[1]); - if (close(filedes[0]) != 0) - { - fprintf(stderr, "user_start: close failed: %d\n", errno); - } - if (close(filedes[1]) != 0) - { - fprintf(stderr, "user_start: close failed: %d\n", errno); - } - /* unlink(FIFO_PATH1); fails */ - - if (ret != 0) - { - fprintf(stderr, "user_start: FIFO test FAILED (%d)\n", ret); - return 4; - } - printf("user_start: FIFO test PASSED\n"); - - /* Test PIPE logic */ - - printf("\nuser_start: Performing pipe test\n"); - ret = pipe(filedes); - if (ret < 0) - { - fprintf(stderr, "user_start: pipe failed with errno=%d\n", errno); - return 5; - } - - /* Then perform the test using those file descriptors */ - - ret = transfer_test(filedes[0], filedes[1]); - if (close(filedes[0]) != 0) - { - fprintf(stderr, "user_start: close failed: %d\n", errno); - } - if (close(filedes[1]) != 0) - { - fprintf(stderr, "user_start: close failed: %d\n", errno); - } - - if (ret != 0) - { - fprintf(stderr, "user_start: PIPE test FAILED (%d)\n", ret); - return 6; - } - printf("user_start: PIPE test PASSED\n"); - - /* Perform the FIFO interlock test */ - - printf("\nuser_start: Performing pipe interlock test\n"); - ret = interlock_test(); - if (ret != 0) - { - fprintf(stderr, "user_start: FIFO interlock test FAILED (%d)\n", ret); - return 7; - } - printf("user_start: PIPE interlock test PASSED\n"); - - /* Perform the pipe redirection test */ - - printf("\nuser_start: Performing redirection test\n"); - ret = redirection_test(); - if (ret != 0) - { - fprintf(stderr, "user_start: FIFO redirection test FAILED (%d)\n", ret); - return 7; - } - printf("user_start: PIPE redirection test PASSED\n"); - - fflush(stdout); - return 0; -} diff --git a/nuttx/examples/pipe/redirect_test.c b/nuttx/examples/pipe/redirect_test.c deleted file mode 100644 index 45e86c3560..0000000000 --- a/nuttx/examples/pipe/redirect_test.c +++ /dev/null @@ -1,326 +0,0 @@ -/**************************************************************************** - * examples/pipe/redirect_test.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <sched.h> -#include <semaphore.h> -#include <errno.h> - -#include "pipe.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#define READ_SIZE 37 - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static sem_t g_rddone; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: redirect_reader - ****************************************************************************/ - -static int redirect_reader(int argc, char *argv[]) -{ - char buffer[READ_SIZE]; - int fdin; - int fdout; - int ret; - int nbytes = 0; - - printf("redirect_reader: started with fdin=%s\n", argv[1]); - - /* Convert the fdin to binary */ - - fdin = atoi(argv[1]); - fdout = atoi(argv[2]); - - /* Close fdout -- we don't need it */ - - ret = close(fdout); - if (ret != 0) - { - fprintf(stderr, "redirect_reader: failed to close fdout=%d\n", fdout); - return 1; - } - - /* Re-direct the fdin to stdin */ - - ret = dup2(fdin, 0); - if (ret != 0) - { - fprintf(stderr, "redirect_reader: dup2 failed: %d\n", errno); - close(fdin); - return 2; - } - - /* Close the original file descriptor */ - - ret = close(fdin); - if (ret != 0) - { - fprintf(stderr, "redirect_reader: failed to close fdin=%d\n", fdin); - return 3; - } - - /* Then read from stdin until we hit the end of file */ - - fflush(stdout); - for (;;) - { - /* Read from stdin */ - - ret = read(0, buffer, READ_SIZE); - if (ret < 0 ) - { - fprintf(stderr, "redirect_reader: read failed, errno=%d\n", errno); - return 4; - } - else if (ret == 0) - { - break; - } - nbytes += ret; - - /* Echo to stdout */ - - ret = write(1, buffer, ret); - if (ret < 0) - { - fprintf(stderr, "redirect_reader: read failed, errno=%d\n", errno); - return 5; - } - } - - printf("redirect_reader: %d bytes read\n", nbytes); - ret = close(0); - if (ret != 0) - { - fprintf(stderr, "redirect_reader: failed to close fd=0\n"); - return 6; - } - - sem_post(&g_rddone); - printf("redirect_reader: Returning success\n"); - return 0; -} - -/**************************************************************************** - * Name: redirect_writer - ****************************************************************************/ - -static int redirect_writer(int argc, char *argv[]) -{ - int fdin; - int fdout; - int nbytes = 0; - int ret; - - fprintf(stderr, "redirect_writer: started with fdout=%s\n", argv[2]); - - /* Convert the fdout to binary */ - - fdin = atoi(argv[1]); - fdout = atoi(argv[2]); - - /* Close fdin -- we don't need it */ - - ret = close(fdin); - if (ret != 0) - { - fprintf(stderr, "redirect_reader: failed to close fdin=%d\n", fdin); - return 1; - } - - /* Re-direct the fdout to stdout */ - - ret = dup2(fdout, 1); - if (ret != 0) - { - fprintf(stderr, "redirect_writer: dup2 failed: %d\n", errno); - return 2; - } - - /* Close the original file descriptor */ - - ret = close(fdout); - if (ret != 0) - { - fprintf(stderr, "redirect_reader: failed to close fdout=%d\n", fdout); - return 3; - } - - /* Then write a bunch of stuff to stdout */ - - fflush(stderr); - nbytes += printf("\nFour score and seven years ago our fathers brought forth on this continent a new nation,\n"); - nbytes += printf("conceived in Liberty, and dedicated to the proposition that all men are created equal.\n"); - nbytes += printf("\nNow we are engaged in a great civil war, testing whether that nation, or any nation, so\n"); - nbytes += printf("conceived and so dedicated, can long endure. We are met on a great battle-field of that war.\n"); - nbytes += printf("We have come to dedicate a portion of that field, as a final resting place for those who here\n"); - nbytes += printf("gave their lives that that nation might live. It is altogether fitting and proper that we\n"); - nbytes += printf("should do this.\n"); - nbytes += printf("\nBut, in a larger sense, we can not dedicate - we can not consecrate - we can not hallow - this ground.\n"); - nbytes += printf("The brave men, living and dead, who struggled here, have consecrated it, far above our poor power\n"); - nbytes += printf("to add or detract. The world will little note, nor long remember what we say here, but it can\n"); - nbytes += printf("never forget what they did here. It is for us the living, rather, to be dedicated here to the\n"); - nbytes += printf("unfinished work which they who fought here have thus far so nobly advanced. It is rather for us to\n"); - nbytes += printf("be here dedicated to the great task remaining before us - that from these honored dead we take\n"); - nbytes += printf("increased devotion to that cause for which they gave the last full measure of devotion - that we\n"); - nbytes += printf("here highly resolve that these dead shall not have died in vain - that this nation, under God,\n"); - nbytes += printf("shall have a new birth of freedom - and that government of the people, by the people, for the\n"); - nbytes += printf("people, shall not perish from the earth.\n\n"); - fflush(stdout); - - fprintf(stderr, "redirect_writer: %d bytes written\n", nbytes); - - ret = close(1); - if (ret != 0) - { - fprintf(stderr, "redirect_writer: failed to close fd=1\n"); - return 4; - } - - fprintf(stderr, "redirect_writer: Returning success\n"); - return 0; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: redirection_test - ****************************************************************************/ - -int redirection_test(void) -{ - const char *argv[3]; - char buffer1[8]; - char buffer2[8]; - int readerid; - int writerid; - int filedes[2]; - int ret; - - sem_init(&g_rddone, 0, 0); - - /* Create the pipe */ - - ret = pipe(filedes); - if (ret < 0) - { - fprintf(stderr, "redirection_test: pipe failed with errno=%d\n", errno); - return 5; - } - - sprintf(buffer1, "%d", filedes[0]); - argv[0] = buffer1; - sprintf(buffer2, "%d", filedes[1]); - argv[1] = buffer2; - argv[2] = NULL; - - /* Start redirect_reader thread */ - - printf("redirection_test: Starting redirect_reader task with fd=%d\n", filedes[0]); - readerid = task_create("redirect_reader", 50, CONFIG_EXAMPLES_PIPE_STACKSIZE, redirect_reader, argv); - if (readerid < 0) - { - fprintf(stderr, "redirection_test: Failed to create redirect_writer task: %d\n", errno); - return 1; - } - - /* Start redirect_writer task */ - - printf("redirection_test: Starting redirect_writer task with fd=%d\n", filedes[1]); - writerid = task_create("redirect_writer", 50, CONFIG_EXAMPLES_PIPE_STACKSIZE, redirect_writer, argv); - if (writerid < 0) - { - fprintf(stderr, "redirection_test: Failed to create redirect_writer task: %d\n", errno); - ret = task_delete(readerid); - if (ret != 0) - { - fprintf(stderr, "redirection_test: Failed to delete redirect_reader task %d\n", errno); - } - return 2; - } - - /* We should be able to close the pipe file descriptors now. */ - - if (close(filedes[0]) != 0) - { - fprintf(stderr, "user_start: close failed: %d\n", errno); - } - if (close(filedes[1]) != 0) - { - fprintf(stderr, "user_start: close failed: %d\n", errno); - } - - if (ret != 0) - { - fprintf(stderr, "user_start: PIPE test FAILED (%d)\n", ret); - return 6; - } - - /* Wait for redirect_writer thread to complete */ - - printf("redirection_test: Waiting...\n"); - fflush(stdout); - sem_wait(&g_rddone); - - printf("redirection_test: returning %d\n", ret); - return ret; -} - diff --git a/nuttx/examples/pipe/transfer_test.c b/nuttx/examples/pipe/transfer_test.c deleted file mode 100644 index cb8cad04a4..0000000000 --- a/nuttx/examples/pipe/transfer_test.c +++ /dev/null @@ -1,242 +0,0 @@ -/**************************************************************************** - * examples/pipe/transfer_test.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdio.h> -#include <unistd.h> -#include <errno.h> - -#include "pipe.h" - -/**************************************************************************** - * Pre-proecessor Definitions - ****************************************************************************/ - -#define MAX_BYTE 13 - -#define WRITE_SIZE MAX_BYTE -#define NWRITES 1400 -#define NWRITE_BYTES (NWRITES * WRITE_SIZE) - -#define READ_SIZE (2*MAX_BYTE) -#define NREADS (NWRITES / 2) -#define NREAD_BYTES NWRITE_BYTES - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: transfer_reader - ****************************************************************************/ - -static void *transfer_reader(pthread_addr_t pvarg) -{ - char buffer[READ_SIZE]; - int fd = (int)pvarg; - int ret; - int nbytes; - int value; - int ndx; - - printf("transfer_reader: started\n"); - for (nbytes = 0, value = 0; nbytes < NREAD_BYTES;) - { - ret = read(fd, buffer, READ_SIZE); - if (ret < 0 ) - { - fprintf(stderr, "transfer_reader: read failed, errno=%d\n", errno); - return (void*)1; - } - else if (ret == 0) - { - if (nbytes < NREAD_BYTES) - { - fprintf(stderr, "transfer_reader: Too few bytes read -- aborting: %d\n", nbytes); - return (void*)2; - } - break; - } - for (ndx = 0; ndx < ret; ndx++) - { - if (value >= WRITE_SIZE) - { - value = 0; - } - if (buffer[ndx] != value) - { - fprintf(stderr, "transfer_reader: Byte %d, expected %d, found %d\n", - nbytes + ndx, value, buffer[ndx]); - return (void*)3; - } - value++; - } - nbytes += ret; - if (nbytes > NREAD_BYTES) - { - fprintf(stderr, "transfer_reader: Too many bytes read -- aborting: %d\n", nbytes); - return (void*)4; - } - } - printf("transfer_reader: %d bytes read\n", nbytes); - return (void*)0; -} - -/**************************************************************************** - * Name: transfer_writer - ****************************************************************************/ - -static void *transfer_writer(pthread_addr_t pvarg) -{ - char buffer[WRITE_SIZE]; - int fd = (int)pvarg; - int ret; - int i; - - printf("transfer_writer: started\n"); - for (i = 0; i < WRITE_SIZE; i++) - { - buffer[i] = i; - } - - for (i = 0; i < NWRITES; i++) - { - ret = write(fd, buffer, WRITE_SIZE); - if (ret < 0 ) - { - fprintf(stderr, "transfer_writer: write failed, errno=%d\n", errno); - return (void*)1; - } - else if (ret != WRITE_SIZE) - { - fprintf(stderr, "transfer_writer: Unexpected write size=%d\n", ret); - return (void*)2; - } - } - printf("transfer_writer: %d bytes written\n", NWRITE_BYTES); - return (void*)0; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: transfer_test - ****************************************************************************/ - -int transfer_test(int fdin, int fdout) -{ - pthread_t readerid; - pthread_t writerid; - void *value; - int tmp; - int ret; - - /* Start transfer_reader thread */ - - printf("transfer_test: Starting transfer_reader thread\n"); - ret = pthread_create(&readerid, NULL, transfer_reader, (pthread_addr_t)fdin); - if (ret != 0) - { - fprintf(stderr, "transfer_test: Failed to create transfer_reader thread, error=%d\n", ret); - return 1; - } - - /* Start transfer_writer thread */ - - printf("transfer_test: Starting transfer_writer thread\n"); - ret = pthread_create(&writerid, NULL, transfer_writer, (pthread_addr_t)fdout); - if (ret != 0) - { - fprintf(stderr, "transfer_test: Failed to create transfer_writer thread, error=%d\n", ret); - pthread_detach(readerid); - ret = pthread_cancel(readerid); - if (ret != 0) - { - fprintf(stderr, "transfer_test: Failed to cancel transfer_reader thread, error=%d\n", ret); - } - return 2; - } - - /* Wait for transfer_writer thread to complete */ - - printf("transfer_test: Waiting for transfer_writer thread\n"); - ret = pthread_join(writerid, &value); - if (ret != 0) - { - fprintf(stderr, "transfer_test: pthread_join failed, error=%d\n", ret); - } - else - { - ret = (int)value; - printf("transfer_test: transfer_writer returned %d\n", ret); - } - - /* Wait for transfer_reader thread to complete */ - - printf("transfer_test: Waiting for transfer_reader thread\n"); - tmp = pthread_join(readerid, &value); - if (tmp != 0) - { - fprintf(stderr, "transfer_test: pthread_join failed, error=%d\n", ret); - } - else - { - tmp = (int)value; - printf("transfer_test: transfer_reader returned %d\n", tmp); - } - - if (ret == 0) - { - ret = tmp; - } - printf("transfer_test: returning %d\n", ret); - return ret; -} - diff --git a/nuttx/examples/poll/Makefile b/nuttx/examples/poll/Makefile deleted file mode 100644 index c8c4f1f1ab..0000000000 --- a/nuttx/examples/poll/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -############################################################################ -# examples/poll/Makefile -# -# Copyright (C) 2008, 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = poll_main.c poll_listener.c select_listener.c net_listener.c net_reader.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend host - --include Make.dep diff --git a/nuttx/examples/poll/host.c b/nuttx/examples/poll/host.c deleted file mode 100644 index 47f2c3e53e..0000000000 --- a/nuttx/examples/poll/host.c +++ /dev/null @@ -1,166 +0,0 @@ -/**************************************************************************** - * examples/poll/host.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <sys/socket.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <pthread.h> -#include <string.h> -#include <errno.h> - -#include <netinet/in.h> -#include <arpa/inet.h> - -#define pthread_addr_t void * -#include "poll_internal.h" - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -#ifndef TARGETIP -# error TARGETIP not defined -#endif - -#define IOBUFFER_SIZE 80 - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * main - ****************************************************************************/ - -int main(int argc, char **argv, char **envp) -{ - struct sockaddr_in myaddr; - char outbuf[IOBUFFER_SIZE]; - char inbuf[IOBUFFER_SIZE]; - int sockfd; - int len; - int nbytessent; - int nbytesrecvd; - int i; - - /* Create a new TCP socket */ - - sockfd = socket(PF_INET, SOCK_STREAM, 0); - if (sockfd < 0) - { - message("client socket failure %d\n", errno); - goto errout_with_outbufs; - } - - /* Connect the socket to the server */ - - myaddr.sin_family = AF_INET; - myaddr.sin_port = htons(LISTENER_PORT); - myaddr.sin_addr.s_addr = inet_addr(TARGETIP); - - message("client: Connecting to %s...\n", TARGETIP); - if (connect( sockfd, (struct sockaddr*)&myaddr, sizeof(struct sockaddr_in)) < 0) - { - message("client: connect failure: %d\n", errno); - goto errout_with_socket; - } - message("client: Connected\n"); - - /* Then send and receive messages */ - - for (i = 0; ; i++) - { - sprintf(outbuf, "Remote message %d", i); - len = strlen(outbuf); - - message("client: Sending '%s' (%d bytes)\n", outbuf, len); - nbytessent = send(sockfd, outbuf, len, 0); - message("client: Sent %d bytes\n", nbytessent); - - if (nbytessent < 0) - { - message("client: send failed: %d\n", errno); - goto errout_with_socket; - } - else if (nbytessent != len) - { - message("client: Bad send length: %d Expected: %d\n", nbytessent, len); - goto errout_with_socket; - } - - message("client: Receiving...\n"); - nbytesrecvd = recv(sockfd, inbuf, IOBUFFER_SIZE, 0); - - if (nbytesrecvd < 0) - { - message("client: recv failed: %d\n", errno); - goto errout_with_socket; - } - - inbuf[nbytesrecvd] = '\0'; - message("client: Received '%s' (%d bytes)\n", inbuf, nbytesrecvd); - - if (nbytesrecvd != len) - { - message("client: Bad recv length: %d Expected: %d\n", nbytesrecvd, len); - goto errout_with_socket; - } - else if (memcmp(inbuf, outbuf, len) != 0) - { - message("client: Received outbuf does not match sent outbuf\n"); - goto errout_with_socket; - } - - message("client: Sleeping\n"); - sleep(8); - } - - close(sockfd); - return 0; - -errout_with_socket: - close(sockfd); -errout_with_outbufs: - exit(1); -} diff --git a/nuttx/examples/poll/net_listener.c b/nuttx/examples/poll/net_listener.c deleted file mode 100644 index 4d425c608f..0000000000 --- a/nuttx/examples/poll/net_listener.c +++ /dev/null @@ -1,428 +0,0 @@ -/**************************************************************************** - * examples/poll/net_listener.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/stat.h> -#include <sys/select.h> -#include <sys/socket.h> -#include <sys/ioctl.h> - -#include <stdint.h> -#include <stdbool.h> -#include <stdio.h> -#include <unistd.h> -#include <string.h> -#include <pthread.h> -#include <errno.h> -#include <debug.h> - -#include <net/if.h> -#include <apps/netutils/uiplib.h> - -#include "poll_internal.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#define IOBUFFER_SIZE 80 - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -struct net_listener_s -{ - struct sockaddr_in addr; - fd_set master; - fd_set working; - char buffer[IOBUFFER_SIZE]; - int listensd; - int mxsd; -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: net_closeclient - ****************************************************************************/ - -static bool net_closeclient(struct net_listener_s *nls, int sd) -{ - message("net_listener: Closing host side connection sd=%d\n", sd); - close(sd); - FD_CLR(sd, &nls->master); - - /* If we just closed the max SD, then search downward for the next biggest SD. */ - - while (FD_ISSET(nls->mxsd, &nls->master) == false) - { - nls->mxsd -= 1; - } - return true; -} - -/**************************************************************************** - * Name: net_incomingdata - ****************************************************************************/ - -static inline bool net_incomingdata(struct net_listener_s *nls, int sd) -{ - char *ptr; - int nbytes; - int ret; - - /* Read data from the socket */ - -#ifdef FIONBIO - for (;;) -#endif - { - message("net_listener: Read data from sd=%d\n", sd); - ret = recv(sd, nls->buffer, IOBUFFER_SIZE, 0); - if (ret < 0) - { - if (errno != EINTR) - { - message("net_listener: recv failed sd=%d: %d\n", sd, errno); - if (errno != EAGAIN) - { - net_closeclient(nls, sd); - return false; - } - } - } - else if (ret == 0) - { - message("net_listener: Client connection lost sd=%d\n", sd); - net_closeclient(nls, sd); - return false; - } - else - { - nls->buffer[ret]='\0'; - message("poll_listener: Read '%s' (%d bytes)\n", nls->buffer, ret); - - /* Echo the data back to the client */ - - for (nbytes = ret, ptr = nls->buffer; nbytes > 0; ) - { - ret = send(sd, ptr, nbytes, 0); - if (ret < 0) - { - if (errno != EINTR) - { - message("net_listener: Send failed sd=%d: \n", sd, errno); - net_closeclient(nls, sd); - return false; - } - } - else - { - nbytes -= ret; - ptr += ret; - } - } - } - } - return 0; -} - -/**************************************************************************** - * Name: net_connection - ****************************************************************************/ - -static inline bool net_connection(struct net_listener_s *nls) -{ - int sd; - - /* Loop until all connections have been processed */ - -#ifdef FIONBIO - for (;;) -#endif - { - message("net_listener: Accepting new connection on sd=%d\n", nls->listensd); - - sd = accept(nls->listensd, NULL, NULL); - if (sd < 0) - { - message("net_listener: accept failed: %d\n", errno); - - if (errno != EINTR) - { - return false; - } - } - else - { - /* Add the new connection to the master set */ - - message("net_listener: Connection accepted for sd=%d\n", sd); - - FD_SET(sd, &nls->master); - if (sd > nls->mxsd) - { - nls->mxsd = sd; - } - return true; - } - } - return false; -} - -/**************************************************************************** - * Name: net_mksocket - ****************************************************************************/ - -static inline bool net_mksocket(struct net_listener_s *nls) -{ - int value; - int ret; - - /* Create a listening socket */ - - message("net_listener: Initializing listener socket\n"); - nls->listensd = socket(AF_INET, SOCK_STREAM, 0); - if (nls->listensd < 0) - { - message("net_listener: socket failed: %d\n", errno); - return false; - } - - /* Configure the socket */ - - value = 1; - ret = setsockopt(nls->listensd, SOL_SOCKET, SO_REUSEADDR, (char*)&value, sizeof(int)); - if (ret < 0) - { - message("net_listener: setsockopt failed: %d\n", errno); - close(nls->listensd); - return false; - } - - /* Set the socket to non-blocking */ - -#ifdef FIONBIO - ret = ioctl(nls->listensd, FIONBIO, (char *)&value); - if (ret < 0) - { - message("net_listener: ioctl failed: %d\n", errno); - close(nls->listensd); - return false; - } -#endif - - /* Bind the socket */ - - memset(&nls->addr, 0, sizeof(struct sockaddr_in)); - nls->addr.sin_family = AF_INET; - nls->addr.sin_addr.s_addr = htonl(INADDR_ANY); - nls->addr.sin_port = htons(LISTENER_PORT); - ret = bind(nls->listensd, (struct sockaddr *)&nls->addr, sizeof(struct sockaddr_in)); - if (ret < 0) - { - message("net_listener: bind failed: %d\n", errno); - close(nls->listensd); - return false; - } - - /* Mark the socket as a listener */ - - ret = listen(nls->listensd, 32); - if (ret < 0) - { - message("net_listener: bind failed: %d\n", errno); - close(nls->listensd); - return false; - } - - return true; -} - -/**************************************************************************** - * Name: net_configure - ****************************************************************************/ - -static void net_configure(void) -{ - struct in_addr addr; -#if defined(CONFIG_EXAMPLE_POLL_NOMAC) - uint8_t mac[IFHWADDRLEN]; -#endif - - /* Configure uIP */ - /* Many embedded network interfaces must have a software assigned MAC */ - -#ifdef CONFIG_EXAMPLE_POLL_NOMAC - mac[0] = 0x00; - mac[1] = 0xe0; - mac[2] = 0xb0; - mac[3] = 0x0b; - mac[4] = 0xba; - mac[5] = 0xbe; - uip_setmacaddr("eth0", mac); -#endif - - /* Set up our host address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_POLL_IPADDR); - uip_sethostaddr("eth0", &addr); - - /* Set up the default router address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_POLL_DRIPADDR); - uip_setdraddr("eth0", &addr); - - /* Setup the subnet mask */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_POLL_NETMASK); - uip_setnetmask("eth0", &addr); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: net_listener - ****************************************************************************/ - -void *net_listener(pthread_addr_t pvarg) -{ - struct net_listener_s nls; - struct timeval timeout; - int nsds; - int ret; - int i; - - /* Configure uIP */ - - net_configure(); - - /* Set up a listening socket */ - - memset(&nls, 0, sizeof(struct net_listener_s)); - if (!net_mksocket(&nls)) - { - return (void*)1; - } - - /* Initialize the 'master' file descriptor set */ - - FD_ZERO(&nls.master); - nls.mxsd = nls.listensd; - FD_SET(nls.listensd, &nls.master); - - /* Set up a 3 second timeout */ - - timeout.tv_sec = NET_LISTENER_DELAY; - timeout.tv_usec = 0; - - /* Loop waiting for incoming connections or for incoming data - * on any of the connect sockets. - */ - - for (;;) - { - /* Wait on select */ - - message("net_listener: Calling select(), listener sd=%d\n", nls.listensd); - memcpy(&nls.working, &nls.master, sizeof(fd_set)); - ret = select(nls.mxsd + 1, (FAR fd_set*)&nls.working, (FAR fd_set*)NULL, (FAR fd_set*)NULL, &timeout); - if (ret < 0) - { - message("net_listener: select failed: %d\n", errno); - break; - } - - /* Check for timeout */ - - if (ret == 0) - { - message("net_listener: Timeout\n"); - continue; - } - - /* Find which descriptors caused the wakeup */ - - nsds = ret; - for (i = 0; i <= nls.mxsd && nsds > 0; i++) - { - /* Is this descriptor ready? */ - - if (FD_ISSET(i, &nls.working)) - { - /* Yes, is it our listener? */ - - message("net_listener: Activity on sd=%d\n", i); - - nsds--; - if (i == nls.listensd) - { - (void)net_connection(&nls); - } - else - { - net_incomingdata(&nls, i); - } - } - } - } - - /* Cleanup */ - -#if 0 /* Don't get here */ - for (i = 0; i <= nls.mxsd; +i++) - { - if (FD_ISSET(i, &nls.master)) - { - close(i); - } - } -#endif - return NULL; /* Keeps some compilers from complaining */ -} diff --git a/nuttx/examples/poll/net_reader.c b/nuttx/examples/poll/net_reader.c deleted file mode 100644 index b0cf94316b..0000000000 --- a/nuttx/examples/poll/net_reader.c +++ /dev/null @@ -1,317 +0,0 @@ -/**************************************************************************** - * examples/poll/net_reader.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/select.h> -#include <sys/socket.h> - -#include <stdint.h> -#include <stdio.h> -#include <unistd.h> -#include <string.h> -#include <pthread.h> -#include <fcntl.h> -#include <errno.h> -#include <debug.h> - -#include <net/if.h> -#include <apps/netutils/uiplib.h> - -#include "poll_internal.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#define IOBUFFER_SIZE 80 - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: net_configure - ****************************************************************************/ - -static void net_configure(void) -{ - struct in_addr addr; -#if defined(CONFIG_EXAMPLE_POLL_NOMAC) - uint8_t mac[IFHWADDRLEN]; -#endif - - /* Configure uIP */ - /* Many embedded network interfaces must have a software assigned MAC */ - -#ifdef CONFIG_EXAMPLE_POLL_NOMAC - mac[0] = 0x00; - mac[1] = 0xe0; - mac[2] = 0xb0; - mac[3] = 0x0b; - mac[4] = 0xba; - mac[5] = 0xbe; - uip_setmacaddr("eth0", mac); -#endif - - /* Set up our host address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_POLL_IPADDR); - uip_sethostaddr("eth0", &addr); - - /* Set up the default router address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_POLL_DRIPADDR); - uip_setdraddr("eth0", &addr); - - /* Setup the subnet mask */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_POLL_NETMASK); - uip_setnetmask("eth0", &addr); -} - -/**************************************************************************** - * Name: net_receive - ****************************************************************************/ - -static void net_receive(int sd) -{ - struct timeval timeout; - char buffer[IOBUFFER_SIZE]; - char *ptr; - fd_set readset; - int nbytes; - int ret; - - /* Set up the timeout */ - - timeout.tv_sec = NET_LISTENER_DELAY; - timeout.tv_usec = 0; - - /* Loop while we have the connection */ - - for (;;) - { - /* Wait for incoming message */ - - do - { - FD_ZERO(&readset); - FD_SET(sd, &readset); - ret = select(sd + 1, (FAR fd_set*)&readset, (FAR fd_set*)NULL, (FAR fd_set*)NULL, &timeout); - } - while (ret < 0 && errno == EINTR); - - /* Something has happened */ - - if (ret < 0) - { - message("net_reader: select failed: %d\n", errno); - return; - } - else if (ret == 0) - { - message("net_reader: Timeout\n"); - } - else - { - message("net_reader: Read data from sd=%d\n", sd); - memset(buffer, '?', IOBUFFER_SIZE); /* Just to make sure we really receive something */ - ret = recv(sd, buffer, IOBUFFER_SIZE, 0); - if (ret < 0) - { - if (errno != EINTR) - { - message("net_reader: recv failed sd=%d: %d\n", sd, errno); - if (errno != EAGAIN) - { - return; - } - } - } - else if (ret == 0) - { - message("net_reader: Client connection lost sd=%d\n", sd); - return; - } - else - { - buffer[ret]='\0'; - message("net_reader: Read '%s' (%d bytes)\n", buffer, ret); - - /* Echo the data back to the client */ - - for (nbytes = ret, ptr = buffer; nbytes > 0; ) - { - ret = send(sd, ptr, nbytes, 0); - if (ret < 0) - { - if (errno != EINTR) - { - message("net_reader: Send failed sd=%d: %d\n", sd, errno); - return; - } - } - else - { - nbytes -= ret; - ptr += ret; - } - } - } - } - } -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: net_reader - ****************************************************************************/ - -void *net_reader(pthread_addr_t pvarg) -{ - struct sockaddr_in addr; -#ifdef POLL_HAVE_SOLINGER - struct linger ling; -#endif - int listensd; - int acceptsd; - socklen_t addrlen; - int optval; - - /* Configure uIP */ - - net_configure(); - - /* Create a new TCP socket */ - - listensd = socket(PF_INET, SOCK_STREAM, 0); - if (listensd < 0) - { - message("net_reader: socket failure: %d\n", errno); - goto errout; - } - - /* Set socket to reuse address */ - - optval = 1; - if (setsockopt(listensd, SOL_SOCKET, SO_REUSEADDR, (void*)&optval, sizeof(int)) < 0) - { - message("net_reader: setsockopt SO_REUSEADDR failure: %d\n", errno); - goto errout_with_listensd; - } - - /* Bind the socket to a local address */ - - addr.sin_family = AF_INET; - addr.sin_port = HTONS(LISTENER_PORT); - addr.sin_addr.s_addr = INADDR_ANY; - - if (bind(listensd, (struct sockaddr*)&addr, sizeof(struct sockaddr_in)) < 0) - { - message("net_reader: bind failure: %d\n", errno); - goto errout_with_listensd; - } - - /* Listen for connections on the bound TCP socket */ - - if (listen(listensd, 5) < 0) - { - message("net_reader: listen failure %d\n", errno); - goto errout_with_listensd; - } - - /* Connection loop */ - - for (;;) - { - /* Accept only one connection */ - - message("net_reader: Accepting new connections on port %d\n", LISTENER_PORT); - addrlen = sizeof(struct sockaddr_in); - acceptsd = accept(listensd, (struct sockaddr*)&addr, &addrlen); - if (acceptsd < 0) - { - message("net_reader: accept failure: %d\n", errno); - continue; - } - message("net_reader: Connection accepted on sd=%d\n", acceptsd); - - /* Configure to "linger" until all data is sent when the socket is closed */ - -#ifdef POLL_HAVE_SOLINGER - ling.l_onoff = 1; - ling.l_linger = 30; /* timeout is seconds */ - if (setsockopt(acceptsd, SOL_SOCKET, SO_LINGER, &ling, sizeof(struct linger)) < 0) - { - message("net_reader: setsockopt SO_LINGER failure: %d\n", errno); - goto errout_with_acceptsd; - } -#endif - - /* Handle incoming messsages on the connection. */ - - net_receive(acceptsd); - - message("net_reader: Closing sd=%d\n", acceptsd); - close(acceptsd); - } - -#ifdef POLL_HAVE_SOLINGER -errout_with_acceptsd: - close(acceptsd); -#endif -errout_with_listensd: - close(listensd); -errout: - return NULL; -} diff --git a/nuttx/examples/poll/poll_internal.h b/nuttx/examples/poll/poll_internal.h deleted file mode 100644 index cbf42ac566..0000000000 --- a/nuttx/examples/poll/poll_internal.h +++ /dev/null @@ -1,128 +0,0 @@ -/**************************************************************************** - * examples/poll/poll_internal.h - * - * Copyright (C) 2008, 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __EXAMPLES_PIPE_PIPE_H -#define __EXAMPLES_PIPE_PIPE_H - -/**************************************************************************** - * Compilation Switches - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <pthread.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#ifdef CONFIG_DISABLE_POLL -# error "The polling API is disabled" -#endif - -/* Here are all of the configuration settings that must be met to have TCP/IP - * poll/select support. This kind of looks like overkill. - * - * CONFIG_NET - Network support must be enabled - * CONFIG_NSOCKET_DESCRIPTORS - Socket descriptors must be allocated - * CONFIG_NET_TCP - Only support on TCP (because read-ahead - * ibuffering s not yet support for UDP) - * CONFIG_NET_NTCP_READAHEAD_BUFFERS - TCP/IP read-ahead buffering must be enabled - */ - -#if defined(CONFIG_NET) && CONFIG_NSOCKET_DESCRIPTORS > 0 && \ - defined(CONFIG_NET_TCP) && CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0 -# define HAVE_NETPOLL 1 -#else -# undef HAVE_NETPOLL -#endif - -/* If debug is enabled, then use lib_rawprintf so that OS debug output and - * the test output are synchronized. - * - * These macros will differ depending upon if the toolchain supports - * macros with a variable number of arguments or not. - */ - -#ifdef CONFIG_CPP_HAVE_VARARGS -# ifdef CONFIG_DEBUG -# define message(...) lib_rawprintf(__VA_ARGS__) -# define msgflush() -# else -# define message(...) printf(__VA_ARGS__) -# define msgflush() fflush(stdout) -# endif -#else -# ifdef CONFIG_DEBUG -# define message lib_rawprintf -# define msgflush() -# else -# define message printf -# define msgflush() fflush(stdout) -# endif -#endif - -#define FIFO_PATH1 "/dev/fifo0" -#define FIFO_PATH2 "/dev/fifo1" - -#define POLL_LISTENER_DELAY 2000 /* 2 seconds */ -#define SELECT_LISTENER_DELAY 4 /* 4 seconds */ -#define NET_LISTENER_DELAY 3 /* 3 seconds */ -#define WRITER_DELAY 6 /* 6 seconds */ - -#define LISTENER_PORT 5471 - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Variables - ****************************************************************************/ - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -extern void *poll_listener(pthread_addr_t pvarg); -extern void *select_listener(pthread_addr_t pvarg); - -#ifdef HAVE_NETPOLL -extern void *net_listener(pthread_addr_t pvarg); -extern void *net_reader(pthread_addr_t pvarg); -#endif -#endif /* __EXAMPLES_PIPE_PIPE_H */ diff --git a/nuttx/examples/poll/poll_listener.c b/nuttx/examples/poll/poll_listener.c deleted file mode 100644 index 816647e340..0000000000 --- a/nuttx/examples/poll/poll_listener.c +++ /dev/null @@ -1,262 +0,0 @@ -/**************************************************************************** - * examples/poll/poll_listener.c - * - * Copyright (C) 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <sys/stat.h> -#include <stdbool.h> -#include <stdio.h> -#include <unistd.h> -#include <string.h> -#include <pthread.h> -#include <poll.h> -#include <fcntl.h> -#include <errno.h> -#include <debug.h> - -#include "poll_internal.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#if defined(CONFIG_DEV_CONSOLE) && !defined(CONFIG_DEV_LOWCONSOLE) -# define HAVE_CONSOLE -# define NPOLLFDS 2 -# define CONSNDX 0 -# define FIFONDX 1 -#else -# undef HAVE_CONSOLE -# define NPOLLFDS 1 -# define FIFONDX 0 -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: poll_listener - ****************************************************************************/ - -void *poll_listener(pthread_addr_t pvarg) -{ - struct pollfd fds[NPOLLFDS]; - char buffer[64]; - ssize_t nbytes; - bool timeout; - bool pollin; - int nevents; - int fd; - int ret; - int i; - - /* Open the FIFO for non-blocking read */ - - message("poll_listener: Opening %s for non-blocking read\n", FIFO_PATH1); - fd = open(FIFO_PATH1, O_RDONLY|O_NONBLOCK); - if (fd < 0) - { - message("poll_listener: ERROR Failed to open FIFO %s: %d\n", - FIFO_PATH1, errno); - (void)close(fd); - return (void*)-1; - } - - /* Loop forever */ - - for (;;) - { - message("poll_listener: Calling poll()\n"); - - memset(fds, 0, sizeof(struct pollfd)*NPOLLFDS); -#ifdef HAVE_CONSOLE - fds[CONSNDX].fd = 0; - fds[CONSNDX].events = POLLIN; - fds[CONSNDX].revents = 0; -#endif - fds[FIFONDX].fd = fd; - fds[FIFONDX].events = POLLIN; - fds[FIFONDX].revents = 0; - - timeout = false; - pollin = false; - - ret = poll(fds, NPOLLFDS, POLL_LISTENER_DELAY); - - message("\npoll_listener: poll returned: %d\n", ret); - if (ret < 0) - { - message("poll_listener: ERROR poll failed: %d\n", errno); - } - else if (ret == 0) - { - message("poll_listener: Timeout\n"); - timeout = true; - } - else if (ret > NPOLLFDS) - { - message("poll_listener: ERROR poll reported: %d\n"); - } - else - { - pollin = true; - } - - nevents = 0; - for (i = 0; i < NPOLLFDS; i++) - { - message("poll_listener: FIFO revents[%d]=%02x\n", i, fds[i].revents); - if (timeout) - { - if (fds[i].revents != 0) - { - message("poll_listener: ERROR? expected revents=00, received revents[%d]=%02x\n", - fds[i].revents, i); - } - } - else if (pollin) - { - if (fds[i].revents == POLLIN) - { - nevents++; - } - else if (fds[i].revents != 0) - { - message("poll_listener: ERROR unexpected revents[i]=%02x\n", - i, fds[i].revents); - } - } - } - - if (pollin && nevents != ret) - { - message("poll_listener: ERROR found %d events, poll reported %d\n", nevents, ret); - } - - /* In any event, read until the pipe/serial is empty */ - - for (i = 0; i < NPOLLFDS; i++) - { - do - { -#ifdef HAVE_CONSOLE - /* Hack to work around the fact that the console driver on the - * simulator is always non-blocking. - */ - - if (i == CONSNDX) - { - if ((fds[CONSNDX].revents & POLLIN) != 0) - { - buffer[0] = getchar(); - nbytes = 1; - } - else - { - nbytes = 0; - } - } - else -#endif - { - /* The pipe works differently, it returns whatever data - * it has available without blocking. - */ - - nbytes = read(fds[i].fd, buffer, 63); - } - - if (nbytes <= 0) - { - if (nbytes == 0 || errno == EAGAIN) - { - if ((fds[i].revents & POLLIN) != 0) - { - message("poll_listener: ERROR no read data[%d]\n", i); - } - } - else if (errno != EINTR) - { - message("poll_listener: read[%d] failed: %d\n", i, errno); - } - nbytes = 0; - } - else - { - if (timeout) - { - message("poll_listener: ERROR? Poll timeout, but data read[%d]\n", i); - message(" (might just be a race condition)\n"); - } - - buffer[nbytes] = '\0'; - message("poll_listener: Read[%d] '%s' (%d bytes)\n", i, buffer, nbytes); - } - - /* Suppress error report if no read data on the next time through */ - - fds[i].revents = 0; - } - while (nbytes > 0); - } - - /* Make sure that everything is displayed */ - - msgflush(); - } - - /* Won't get here */ - - (void)close(fd); - return NULL; -} diff --git a/nuttx/examples/poll/poll_main.c b/nuttx/examples/poll/poll_main.c deleted file mode 100644 index d66e7f2695..0000000000 --- a/nuttx/examples/poll/poll_main.c +++ /dev/null @@ -1,229 +0,0 @@ -/**************************************************************************** - * examples/poll/poll_main.c - * - * Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <sys/stat.h> - -#include <stdio.h> -#include <unistd.h> -#include <string.h> -#include <pthread.h> -#include <fcntl.h> -#include <poll.h> -#include <errno.h> -#include <debug.h> - -#include "poll_internal.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: user_initialize - ****************************************************************************/ - -void user_initialize(void) -{ -} - -/**************************************************************************** - * Name: user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - char buffer[64]; - ssize_t nbytes; - pthread_t tid1; - pthread_t tid2; -#ifdef HAVE_NETPOLL - pthread_t tid3; -#endif - int count; - int fd1 = -1; - int fd2 = -1; - int ret; - int exitcode = 0; - - /* Open FIFOs */ - - message("\nuser_start: Creating FIFO %s\n", FIFO_PATH1); - ret = mkfifo(FIFO_PATH1, 0666); - if (ret < 0) - { - message("user_start: mkfifo failed: %d\n", errno); - exitcode = 1; - goto errout; - } - - message("\nuser_start: Creating FIFO %s\n", FIFO_PATH2); - ret = mkfifo(FIFO_PATH2, 0666); - if (ret < 0) - { - message("user_start: mkfifo failed: %d\n", errno); - exitcode = 2; - goto errout; - } - - /* Open the FIFOs for blocking, write */ - - fd1 = open(FIFO_PATH1, O_WRONLY); - if (fd1 < 0) - { - message("user_start: Failed to open FIFO %s for writing, errno=%d\n", - FIFO_PATH1, errno); - exitcode = 3; - goto errout; - } - - fd2 = open(FIFO_PATH2, O_WRONLY); - if (fd2 < 0) - { - message("user_start: Failed to open FIFO %s for writing, errno=%d\n", - FIFO_PATH2, errno); - exitcode = 4; - goto errout; - } - - /* Start the listeners */ - - message("user_start: Starting poll_listener thread\n"); - - ret = pthread_create(&tid1, NULL, poll_listener, NULL); - if (ret != 0) - { - message("user_start: Failed to create poll_listener thread: %d\n", ret); - exitcode = 5; - goto errout; - } - - message("user_start: Starting select_listener thread\n"); - - ret = pthread_create(&tid2, NULL, select_listener, NULL); - if (ret != 0) - { - message("user_start: Failed to create select_listener thread: %d\n", ret); - exitcode = 6; - goto errout; - } - -#ifdef HAVE_NETPOLL -#ifdef CONFIG_NET_TCPBACKLOG - message("user_start: Starting net_listener thread\n"); - - ret = pthread_create(&tid3, NULL, net_listener, NULL); -#else - message("user_start: Starting net_reader thread\n"); - - ret = pthread_create(&tid3, NULL, net_reader, NULL); -#endif - if (ret != 0) - { - message("user_start: Failed to create net_listener thread: %d\n", ret); - } -#endif - - /* Loop forever */ - - for (count = 0; ; count++) - { - /* Send a message to the listener... this should wake the listener - * from the poll. - */ - - sprintf(buffer, "Message %d", count); - nbytes = write(fd1, buffer, strlen(buffer)); - if (nbytes < 0) - { - message("user_start: Write to fd1 failed: %d\n", errno); - exitcode = 7; - goto errout; - } - - nbytes = write(fd2, buffer, strlen(buffer)); - if (nbytes < 0) - { - message("user_start: Write fd2 failed: %d\n", errno); - exitcode = 8; - goto errout; - } - - message("\nuser_start: Sent '%s' (%d bytes)\n", buffer, nbytes); - msgflush(); - - /* Wait awhile. This delay should be long enough that the - * listener will timeout. - */ - - sleep(WRITER_DELAY); - } - -errout: - if (fd1 >= 0) - { - close(fd1); - } - - if (fd2 >= 0) - { - close(fd2); - } - - fflush(stdout); - return exitcode; -} diff --git a/nuttx/examples/poll/select_listener.c b/nuttx/examples/poll/select_listener.c deleted file mode 100644 index 80039ada34..0000000000 --- a/nuttx/examples/poll/select_listener.c +++ /dev/null @@ -1,193 +0,0 @@ -/**************************************************************************** - * examples/poll/select_listener.c - * - * Copyright (C) 2008, 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/select.h> -#include <stdbool.h> -#include <stdio.h> -#include <unistd.h> -#include <string.h> -#include <pthread.h> -#include <fcntl.h> -#include <errno.h> -#include <debug.h> - -#include "poll_internal.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: select_listener - ****************************************************************************/ - -void *select_listener(pthread_addr_t pvarg) -{ - fd_set rfds; - struct timeval tv; - char buffer[64]; - ssize_t nbytes; - bool timeout; - bool ready; - int fd; - int ret; - - /* Open the FIFO for non-blocking read */ - - message("select_listener: Opening %s for non-blocking read\n", FIFO_PATH2); - fd = open(FIFO_PATH2, O_RDONLY|O_NONBLOCK); - if (fd < 0) - { - message("select_listener: ERROR Failed to open FIFO %s: %d\n", - FIFO_PATH2, errno); - (void)close(fd); - return (void*)-1; - } - - /* Loop forever */ - - for (;;) - { - message("select_listener: Calling select()\n"); - - FD_ZERO(&rfds); - FD_SET(fd, &rfds); - - tv.tv_sec = SELECT_LISTENER_DELAY; - tv.tv_usec = 0; - - timeout = false; - ready = false; - - ret = select(fd+1, (FAR fd_set*)&rfds, (FAR fd_set*)NULL, (FAR fd_set*)NULL, &tv); - message("\nselect_listener: select returned: %d\n", ret); - - if (ret < 0) - { - message("select_listener: ERROR select failed: %d\n"); - } - else if (ret == 0) - { - message("select_listener: Timeout\n"); - timeout = true; - } - else - { - if (ret != 1) - { - message("select_listener: ERROR poll reported: %d\n"); - } - else - { - ready = true; - } - - if (!FD_ISSET(fd, rfds)) - { - message("select_listener: ERROR fd=%d not in fd_set\n"); - } - } - - /* In any event, read until the pipe is empty */ - - do - { - nbytes = read(fd, buffer, 63); - if (nbytes <= 0) - { - if (nbytes == 0 || errno == EAGAIN) - { - if (ready) - { - message("select_listener: ERROR no read data\n"); - } - } - else if (errno != EINTR) - { - message("select_listener: read failed: %d\n", errno); - } - nbytes = 0; - } - else - { - if (timeout) - { - message("select_listener: ERROR? Poll timeout, but data read\n"); - message(" (might just be a race condition)\n"); - } - - buffer[nbytes] = '\0'; - message("select_listener: Read '%s' (%d bytes)\n", buffer, nbytes); - } - - timeout = false; - ready = false; - } - while (nbytes > 0); - - /* Make sure that everything is displayed */ - - msgflush(); - } - - /* Won't get here */ - - (void)close(fd); - return NULL; -} diff --git a/nuttx/examples/romfs/Makefile b/nuttx/examples/romfs/Makefile deleted file mode 100644 index 67f68de9db..0000000000 --- a/nuttx/examples/romfs/Makefile +++ /dev/null @@ -1,95 +0,0 @@ -############################################################################ -# examples/romfs/Makefile -# -# Copyright (C) 2008, 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) - -CSRCS = romfs_main.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -.PHONY: clean distclean checkgenromfs - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -checkgenromfs: - @genromfs -h 1>/dev/null 2>&1 || { \ - echo "Host executable genromfs not available in PATH"; \ - echo "You may need to download in from http://romfs.sourceforge.net/"; \ - exit 1; \ - } - -testdir : testdir.tar.gz - @tar zxf $< || { echo "tar zxf $< failed" ; exit 1 ; } - -testdir.img : checkgenromfs testdir - @genromfs -f $@ -d testdir -V "ROMFS_Test" || { echo "genromfs failed" ; exit 1 ; } - -romfs_testdir.h : testdir.img - @xxd -i $< >$@ || { echo "xxd of $< failed" ; exit 1 ; } - -$(BIN): romfs_testdir.h $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend testdir.img - @rm -rf testdir - --include Make.dep diff --git a/nuttx/examples/romfs/romfs_main.c b/nuttx/examples/romfs/romfs_main.c deleted file mode 100644 index 2e231a31c0..0000000000 --- a/nuttx/examples/romfs/romfs_main.c +++ /dev/null @@ -1,506 +0,0 @@ -/**************************************************************************** - * examples/romfs/romfs_main.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/* Mount the ROMFS image, Verifty that it contains the - * following: - * - * testdir - * |---------- [drwxr-xr-x 4096] adir - * | |------ [-rw-r--r-- 21] anotherfile.txt - * | |------ [drwxr-xr-x 4096] subdir - * | | `-- [-rw-r--r-- 21] subdirfile.txt - * | `------ [-rw-r--r-- 25] yafile.txt - * |---------- [-rw-r--r-- 15] afile.txt - * |---------- [-rw-r--r-- 21] hfile - * `---------- [lrwxrwxrwx 11] ldir -> adir/subdir - * - * testdir/ldir is a soft-link and should not be detectable. - * hfile is a hardlink to subdirfile and should be identical - */ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <sys/mount.h> -#include <sys/stat.h> -#include <sys/mman.h> -#include <stdbool.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <fcntl.h> -#include <dirent.h> -#include <errno.h> - -#include <nuttx/ramdisk.h> - -#include "romfs_testdir.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/* Configuration settings */ - -#ifndef CONFIG_EXAMPLES_ROMFS_RAMDEVNO -# define CONFIG_EXAMPLES_ROMFS_RAMDEVNO 1 -#endif - -#ifndef CONFIG_EXAMPLES_ROMFS_SECTORSIZE -# define CONFIG_EXAMPLES_ROMFS_SECTORSIZE 64 -#endif - -#ifndef CONFIG_EXAMPLES_ROMFS_MOUNTPOINT -# define CONFIG_EXAMPLES_ROMFS_MOUNTPOINT "/usr/local/share" -#endif - -#ifdef CONFIG_DISABLE_MOUNTPOINT -# error "Mountpoint support is disabled" -#endif - -#if CONFIG_NFILE_DESCRIPTORS < 4 -# error "Not enough file descriptors" -#endif - -#ifndef CONFIG_FS_ROMFS -# error "ROMFS support not enabled" -#endif - -#define NSECTORS(b) (((b)+CONFIG_EXAMPLES_ROMFS_SECTORSIZE-1)/CONFIG_EXAMPLES_ROMFS_SECTORSIZE) -#define STR_RAMDEVNO(m) #m -#define MKMOUNT_DEVNAME(m) "/dev/ram" STR_RAMDEVNO(m) -#define MOUNT_DEVNAME MKMOUNT_DEVNAME(CONFIG_EXAMPLES_ROMFS_RAMDEVNO) - -#define SCRATCHBUFFER_SIZE 1024 - -/* Test directory stuff */ - -#define WRITABLE_MODE (S_IWOTH|S_IWGRP|S_IWUSR) -#define READABLE_MODE (S_IROTH|S_IRGRP|S_IRUSR) -#define EXECUTABLE_MODE (S_IXOTH|S_IXGRP|S_IXUSR) - -#define DIRECTORY_MODE (S_IFDIR|READABLE_MODE|EXECUTABLE_MODE) -#define FILE_MODE (S_IFREG|READABLE_MODE) - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -struct node_s -{ - struct node_s *peer; /* Next node in this directory */ - bool directory; /* True: directory */ - bool found; /* True: found and verified */ - const char *name; /* Node name */ - mode_t mode; /* Expected permissions */ - size_t size; /* Expected size */ - union - { - const char *filecontent; /* Context of text file */ - struct node_s *child; /* Subdirectory start */ - } u; -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const char g_afilecontent[] = "This is a file\n"; -static const char g_anotherfilecontent[] = "This is another file\n"; -static const char g_yafilecontent[] = "This is yet another file\n"; -static const char g_subdirfilecontent[] = "File in subdirectory\n"; - -#define g_hfilecontent g_subdirfilecontent - -static struct node_s g_adir; -static struct node_s g_afile; -static struct node_s g_hfile; - -static struct node_s g_anotherfile; -static struct node_s g_subdir; -static struct node_s g_yafile; - -static struct node_s g_subdirfile; - -static int g_nerrors = 0; - -static char g_scratchbuffer[SCRATCHBUFFER_SIZE]; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: - ****************************************************************************/ - -static void connectem(void) -{ - g_adir.peer = &g_afile; - g_adir.directory = true; - g_adir.found = false; - g_adir.name = "adir"; - g_adir.mode = DIRECTORY_MODE; - g_adir.size = 0; - g_adir.u.child = &g_anotherfile; - - g_afile.peer = &g_hfile; - g_afile.directory = false; - g_afile.found = false; - g_afile.name = "afile.txt"; - g_afile.mode = FILE_MODE; - g_afile.size = strlen(g_afilecontent); - g_afile.u.filecontent = g_afilecontent; - - g_hfile.peer = NULL; - g_hfile.directory = false; /* Actually a hard link */ - g_hfile.found = false; - g_hfile.name = "hfile"; - g_hfile.mode = FILE_MODE; - g_hfile.size = strlen(g_hfilecontent); - g_hfile.u.filecontent = g_hfilecontent; - - g_anotherfile.peer = &g_yafile; - g_anotherfile.directory = false; - g_anotherfile.found = false; - g_anotherfile.name = "anotherfile.txt"; - g_anotherfile.mode = FILE_MODE; - g_anotherfile.size = strlen(g_anotherfilecontent); - g_anotherfile.u.filecontent = g_anotherfilecontent; - - g_yafile.peer = &g_subdir; - g_yafile.directory = false; - g_yafile.found = false; - g_yafile.name = "yafile.txt"; - g_yafile.mode = FILE_MODE; - g_yafile.size = strlen(g_yafilecontent); - g_yafile.u.filecontent = g_yafilecontent; - - g_subdir.peer = NULL; - g_subdir.directory = true; - g_subdir.found = false; - g_subdir.name = "subdir"; - g_subdir.mode = DIRECTORY_MODE; - g_subdir.size = 0; - g_subdir.u.child = &g_subdirfile; - - g_subdirfile.peer = NULL; - g_subdirfile.directory = false; - g_subdirfile.found = false; - g_subdirfile.name = "subdirfile.txt"; - g_subdirfile.mode = FILE_MODE; - g_subdirfile.size = strlen(g_subdirfilecontent); - g_subdirfile.u.filecontent = g_subdirfilecontent; -} - -/**************************************************************************** - * Name: findindirectory - ****************************************************************************/ - -static struct node_s *findindirectory(struct node_s *entry, const char *name) -{ - for (; entry; entry = entry->peer) - { - if (!entry->found && strcmp(entry->name, name) == 0) - { - entry->found = true; - return entry; - } - } - return NULL; -} - -/**************************************************************************** - * Name: checkattributes - ****************************************************************************/ - -static void checkattributes(const char *path, mode_t mode, size_t size) -{ - struct stat buf; - int ret; - - ret = stat(path, &buf); - if (ret != 0) - { - printf(" -- ERROR: Failed to stat %s: %d\n", path, errno); - g_nerrors++; - return; - } - - if (mode != buf.st_mode) - { - printf(" -- ERROR: Expected mode %08x, got %08x\n", mode, buf.st_mode); - g_nerrors++; - } - - if (size != buf.st_size) - { - printf(" -- ERROR: Expected size %d, got %d\n", mode, buf.st_size); - g_nerrors++; - } -} - -/**************************************************************************** - * Name: checkfile - ****************************************************************************/ - -static void checkfile(const char *path, struct node_s *node) -{ - ssize_t nbytesread; - char *filedata; - int fd; - - /* Open the file */ - - fd = open(path, O_RDONLY); - if (fd < 0) - { - printf(" -- ERROR: Failed to open %s: %d\n", path, errno); - g_nerrors++; - return; - } - - /* Read and verify the file contents */ - - nbytesread = read(fd, g_scratchbuffer, SCRATCHBUFFER_SIZE); - if (nbytesread < 0) - { - printf(" -- ERROR: Failed to read from %s: %d\n", path, errno); - g_nerrors++; - } - else if (nbytesread != node->size) - { - printf(" -- ERROR: Read %d bytes, expected %d\n", nbytesread, node->size); - g_nerrors++; - } - else if (memcmp(g_scratchbuffer, node->u.filecontent, node->size) != 0) - { - g_scratchbuffer[nbytesread] = '\0'; - printf(" -- ERROR: File content read does not match expectation:\n"); - printf(" -- Read: [%s]\n", g_scratchbuffer); - printf(" -- Expected: [%s]\n", node->u.filecontent); - g_nerrors++; - } - - /* Memory map and verify the file contents */ - - filedata = (char*)mmap(NULL, node->size, PROT_READ, MAP_SHARED|MAP_FILE, fd, 0); - if (!filedata || filedata == (char*)MAP_FAILED) - { - printf(" -- ERROR: mmap of %s failed: %d\n", path, errno); - g_nerrors++; - } - else - { - if (memcmp(filedata, node->u.filecontent, node->size) != 0) - { - memcpy(g_scratchbuffer, filedata, node->size); - g_scratchbuffer[node->size] = '\0'; - printf(" -- ERROR: Mapped file content read does not match expectation:\n"); - printf(" -- Memory: [%s]\n", filedata); - printf(" -- Expected: [%s]\n", node->u.filecontent); - g_nerrors++; - } - munmap(filedata, node->size); - } - - /* Close the file */ - - if (close(fd) != OK) - { - printf(" -- ERROR: Failed to close %s: %d\n", path, errno); - g_nerrors++; - } -} - -/**************************************************************************** - * Name: readdirectories - ****************************************************************************/ - -static void readdirectories(const char *path, struct node_s *entry) -{ - DIR *dirp; - struct node_s *node; - struct dirent *direntry; - char *fullpath; - - printf("Traversing directory: %s\n", path); - dirp = opendir(path); - if (!dirp) - { - printf(" ERROR opendir(\"%s\") failed: %d\n", path, errno); - g_nerrors++; - return; - } - - for (direntry = readdir(dirp); direntry; direntry = readdir(dirp)) - { - if (strcmp(direntry->d_name, ".") == 0 || strcmp(direntry->d_name, "..") == 0) - { - printf(" Skipping %s\n", direntry->d_name); - continue; - } - - node = findindirectory(entry, direntry->d_name); - if (!node) - { - printf(" ERROR: No node found for %s\n", direntry->d_name); - g_nerrors++; - continue; - } - - /* Get the full path to the entry */ - - sprintf(g_scratchbuffer, "%s/%s", path, direntry->d_name); - fullpath = strdup(g_scratchbuffer); - - if (DIRENT_ISDIRECTORY(direntry->d_type)) - { - printf(" DIRECTORY: %s/\n", fullpath); - if (!node->directory) - { - printf(" -- ERROR: Expected type directory\n"); - g_nerrors++; - } - else - { - checkattributes(fullpath, node->mode, 0); - readdirectories(fullpath, node->u.child); - printf("Continuing directory: %s\n", path); - } - } - else - { - printf(" FILE: %s/\n", fullpath); - if (node->directory) - { - printf(" -- ERROR: Expected type file\n"); - g_nerrors++; - } - else - { - checkattributes(fullpath, node->mode, node->size); - checkfile(fullpath, node); - } - } - free(fullpath); - } - - closedir(dirp); -} - -/**************************************************************************** - * Name: checkdirectories - ****************************************************************************/ - -static void checkdirectories(struct node_s *entry) -{ - for (; entry; entry = entry->peer) - { - if (!entry->found ) - { - printf("ERROR: %s never found\n", entry->name); - g_nerrors++; - } - - if (entry->directory) - { - checkdirectories(entry->u.child); - } - } -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: user_initialize - ****************************************************************************/ - -void user_initialize(void) -{ -} - -/**************************************************************************** - * Name: user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - int ret; - - /* Create a RAM disk for the test */ - - ret = romdisk_register(CONFIG_EXAMPLES_ROMFS_RAMDEVNO, testdir_img, - NSECTORS(testdir_img_len), CONFIG_EXAMPLES_ROMFS_SECTORSIZE); - if (ret < 0) - { - printf("ERROR: Failed to create RAM disk\n"); - return 1; - } - - /* Mount the test file system */ - - printf("Mounting ROMFS filesystem at target=%s with source=%s\n", - CONFIG_EXAMPLES_ROMFS_MOUNTPOINT, MOUNT_DEVNAME); - - ret = mount(MOUNT_DEVNAME, CONFIG_EXAMPLES_ROMFS_MOUNTPOINT, "romfs", MS_RDONLY, NULL); - if (ret < 0) - { - printf("ERROR: Mount failed: %d\n", errno); - return 1; - } - - /* Perform the test */ - - connectem(); - readdirectories(CONFIG_EXAMPLES_ROMFS_MOUNTPOINT, &g_adir); - checkdirectories(&g_adir); - - if (g_nerrors) - { - printf("Finished with %d errors\n", g_nerrors); - return g_nerrors; - } - - printf("PASSED\n"); - return 0; -} diff --git a/nuttx/examples/romfs/romfs_testdir.h b/nuttx/examples/romfs/romfs_testdir.h deleted file mode 100644 index 53f93105cf..0000000000 --- a/nuttx/examples/romfs/romfs_testdir.h +++ /dev/null @@ -1,89 +0,0 @@ -unsigned char testdir_img[] = { - 0x2d, 0x72, 0x6f, 0x6d, 0x31, 0x66, 0x73, 0x2d, 0x00, 0x00, 0x02, 0x60, - 0x27, 0x43, 0x4a, 0x8a, 0x52, 0x4f, 0x4d, 0x46, 0x53, 0x5f, 0x54, 0x65, - 0x73, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, - 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0xd1, 0xff, 0xff, 0x97, - 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x20, - 0x00, 0x00, 0x00, 0x00, 0xd1, 0xd1, 0xff, 0x80, 0x2e, 0x2e, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, - 0x93, 0x9b, 0x95, 0xf0, 0x6c, 0x64, 0x69, 0x72, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x64, 0x69, 0x72, - 0x2f, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x02, 0x19, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, - 0x9e, 0x9b, 0x93, 0xc5, 0x61, 0x64, 0x69, 0x72, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x58, 0x47, 0x43, 0xf1, - 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x66, 0x69, 0x6c, 0x65, 0x2e, - 0x74, 0x78, 0x74, 0x00, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, - 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x65, - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, - 0xa1, 0xc5, 0x69, 0xd8, 0x79, 0x61, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x74, - 0x78, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x68, 0x69, 0x73, - 0x20, 0x69, 0x73, 0x20, 0x79, 0x65, 0x74, 0x20, 0x61, 0x6e, 0x6f, 0x74, - 0x68, 0x65, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x0a, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x50, 0x00, 0x00, 0x00, 0x90, - 0x00, 0x00, 0x00, 0x00, 0xd1, 0xff, 0xfe, 0x20, 0x2e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x70, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, - 0xd1, 0xd1, 0xfe, 0x70, 0x2e, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, - 0x00, 0x00, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x23, 0x18, 0x9c, 0x03, - 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xd2, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x15, 0x3e, 0x3f, 0x06, 0xd8, 0x73, 0x75, 0x62, 0x64, - 0x69, 0x72, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x74, 0x78, 0x74, 0x00, 0x00, - 0x46, 0x69, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x73, 0x75, 0x62, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x0a, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf0, - 0x00, 0x00, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0xd1, 0xff, 0xfc, 0xa0, - 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, - 0x00, 0x00, 0x00, 0x00, 0xd1, 0xd1, 0xff, 0x70, 0x2e, 0x2e, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x02, 0x30, 0x00, 0x00, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x99, 0x92, 0xd4, 0x68, 0x66, 0x69, 0x6c, 0x65, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc5, 0x6b, 0x22, 0x0b, - 0x61, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x74, 0x78, 0x74, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, - 0x61, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00 -}; -unsigned int testdir_img_len = 1024; diff --git a/nuttx/examples/romfs/testdir.tar.gz b/nuttx/examples/romfs/testdir.tar.gz Binary files differdeleted file mode 100644 index cd0e9c5182..0000000000 --- a/nuttx/examples/romfs/testdir.tar.gz +++ /dev/null diff --git a/nuttx/examples/romfs/testdir.txt b/nuttx/examples/romfs/testdir.txt deleted file mode 100644 index e321d6ded7..0000000000 --- a/nuttx/examples/romfs/testdir.txt +++ /dev/null @@ -1,105 +0,0 @@ -VOLUME HEADER: Name=ROMFS_Test -0000000: 2d72 6f6d 3166 732d 0000 0260 2743 4a8a -rom1fs-...`'CJ. -0000010: 524f 4d46 535f 5465 7374 0000 0000 0000 ROMFS_Test...... - -FILE HEADER 1: Name=. -0000020: 0000 0049 0000 0020 0000 0000 d1ff ff97 ...I... ........ -0000030: 2e00 0000 0000 0000 0000 0000 0000 0000 ................ - -FILE HEADER 2: Name=.. -0000040: 0000 0060 0000 0020 0000 0000 d1d1 ff80 ...`... ........ -0000050: 2e2e 0000 0000 0000 0000 0000 0000 0000 ................ - -FILE HEADER 3: Name=ldir -0000060: 0000 0093 0000 0000 0000 000b 939b 95f0 ................ -0000070: 6c64 6972 0000 0000 0000 0000 0000 0000 ldir............ - - FILE CONTENT: - 0000080: 6164 6972 2f73 7562 6469 7200 0000 0000 adir/subdir..... - -FILE HEADER 4: Name=adir -0000090: 0000 0219 0000 00b0 0000 0000 9e9b 93c5 ................ -00000a0: 6164 6972 0000 0000 0000 0000 0000 0000 adir............ - - FILE HEADER 4.1: Name=anotherfile.txt - 00000b0: 0000 00f2 0000 0000 0000 0015 5847 43f1 ............XGC. - 00000c0: 616e 6f74 6865 7266 696c 652e 7478 7400 anotherfile.txt. - - FILE CONTENT: - 00000d0: 5468 6973 2069 7320 616e 6f74 6865 7220 This is another - 00000e0: 6669 6c65 0a00 0000 0000 0000 0000 0000 file............ - - FILE HEADER 4.2: Name=yafile.txt - 00000f0: 0000 0132 0000 0000 0000 0019 a1c5 69d8 ...2..........i. - 0000100: 7961 6669 6c65 2e74 7874 0000 0000 0000 yafile.txt...... - - FILE CONTENT: - 0000110: 5468 6973 2069 7320 7965 7420 616e 6f74 This is yet anot - 0000120: 6865 7220 6669 6c65 0a00 0000 0000 0000 her file........ - - FILE HEADER 4.3: Name=. - 0000130: 0000 0150 0000 0090 0000 0000 d1ff fe20 ...P........... - 0000140: 2e00 0000 0000 0000 0000 0000 0000 0000 ................ - - FILE HEADER 4.4: Name=.. - 0000150: 0000 0170 0000 0020 0000 0000 d1d1 fe70 ...p... .......p - 0000160: 2e2e 0000 0000 0000 0000 0000 0000 0000 ................ - - FILE HEADER 4.5: Name=subdir - 0000170: 0000 0009 0000 0190 0000 0000 2318 9c03 ............#... - 0000180: 7375 6264 6972 0000 0000 0000 0000 0000 subdir.......... - - FILE HEADER 4.5.1: Name=subdirfile.txt - 0000190: 0000 01d2 0000 0000 0000 0015 3e3f 06d8 ............>?.. - 00001a0: 7375 6264 6972 6669 6c65 2e74 7874 0000 subdirfile.txt.. - - FILE CONTENT: - 00001b0: 4669 6c65 2069 6e20 7375 6264 6972 6563 File in subdirec - 00001c0: 746f 7279 0a00 0000 0000 0000 0000 0000 tory............ - - FILE HEADER 4.5.2: Name=. - 00001d0: 0000 01f0 0000 0170 0000 0000 d1ff fca0 .......p........ - 00001e0: 2e00 0000 0000 0000 0000 0000 0000 0000 ................ - - FILE HEADER 4.5.3: Name=.. - 00001f0: 0000 0000 0000 0090 0000 0000 d1d1 ff70 ...............p - 0000200: 2e2e 0000 0000 0000 0000 0000 0000 0000 ................ - -FILE HEADER 5: Name=hfile -0000210: 0000 0230 0000 0190 0000 0000 3299 92d4 ...0........2... -0000220: 6866 696c 6500 0000 0000 0000 0000 0000 hfile........... - -FILE HEADER 6: Name=afile.txt -0000230: 0000 0002 0000 0000 0000 000f c56b 220b .............k". -0000240: 6166 696c 652e 7478 7400 0000 0000 0000 afile.txt....... - - FILE CONTENT: - 0000250: 5468 6973 2069 7320 6120 6669 6c65 0a00 This is a file.. - -PADDING -0000260: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -0000270: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -0000280: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -0000290: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -00002a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -00002b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -00002c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -00002d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -00002e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -00002f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -0000300: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -0000310: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -0000320: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -0000330: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -0000340: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -0000350: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -0000360: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -0000370: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -0000380: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -0000390: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -00003a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -00003b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -00003c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -00003d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -00003e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -00003f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ diff --git a/nuttx/examples/sendmail/Makefile b/nuttx/examples/sendmail/Makefile deleted file mode 100644 index 2fac537d24..0000000000 --- a/nuttx/examples/sendmail/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -############################################################################ -# examples/sendmail/Makefile -# -# Copyright (C) 2009-2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = target.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - @make -f Makefile.host clean - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/sendmail/Makefile.host b/nuttx/examples/sendmail/Makefile.host deleted file mode 100644 index 4cbb5d92f2..0000000000 --- a/nuttx/examples/sendmail/Makefile.host +++ /dev/null @@ -1,77 +0,0 @@ -############################################################################ -# examples/sendmail/Makefile.host -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -WD = ${shell pwd} -TOPDIR = $(WD)/../.. -include $(TOPDIR)/Make.defs - -OBJS = host.o1 smtp.o1 -BIN = sendmail - -HOSTCFLAGS += -DCONFIG_WEBCLIENT_HOST=1 -HOSTCFLAGS += -I. -include hostdefs.h -Iinclude -VPATH = $(TOPDIR)/netutils/smtp:. - -all: $(BIN) -.PHONY: clean context clean_context distclean - -$(OBJS): %.o1: %.c - $(HOSTCC) -c $(HOSTCFLAGS) $< -o $@ - -include: - @mkdir include - -include/net: include - @ln -s $(TOPDIR)/include/net include/net - -include/nuttx: - @mkdir -p include/nuttx - -include/queue.h: include - @cp -a $(TOPDIR)/include/queue.h include/. - -include/nuttx/config.h: include/nuttx - @touch include/nuttx/config.h - -headers: include/nuttx/config.h include/queue.h include/net - -$(BIN): headers $(OBJS) - $(HOSTCC) $(HOSTLDFLAGS) $(OBJS) -o $@ - -clean: - @rm -f $(BIN).* *.o1 *~ - @rm -rf include - - diff --git a/nuttx/examples/sendmail/host.c b/nuttx/examples/sendmail/host.c deleted file mode 100644 index 67a541b0c0..0000000000 --- a/nuttx/examples/sendmail/host.c +++ /dev/null @@ -1,103 +0,0 @@ -/**************************************************************************** - * examples/sendmail/host.c - * - * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <errno.h> - -#include <apps/netutils/smtp.h> - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const char g_host_name[] = "localhost"; -static const char g_sender[] = "nuttx-testing@example.com"; -static const char g_subject[] = "Testing SMTP from NuttX"; -static const char g_msg_body[] = "Test message sent by NuttX\r\n"; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: show_usage - ****************************************************************************/ - -static void show_usage(const char *progname, int exitcode) -{ - fprintf(stderr, "USAGE: %s <recipient>\n", progname); - exit(exitcode); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ -/**************************************************************************** - * Name: main - ****************************************************************************/ - -int main(int argc, char **argv, char **envp) -{ - struct in_addr addr; - void *handle; - - if (argc != 2) - { - show_usage(argv[0], 1); - } - - printf("sendmail: To: %s\n", argv[1]); - printf("sendmail: From: %s\n", g_sender); - printf("sendmail: Subject: %s\n", g_subject); - printf("sendmail: Body: %s\n", g_msg_body); - - uip_ipaddr(addr.s_addr, 127, 0, 0, 1); - handle = smtp_open(); - if (handle) - { - smtp_configure(handle, g_host_name, &addr.s_addr); - smtp_send(handle, argv[1], NULL, g_sender, g_subject, - g_msg_body, strlen(g_msg_body)); - smtp_close(handle); - } - return 0; -} diff --git a/nuttx/examples/sendmail/hostdefs.h b/nuttx/examples/sendmail/hostdefs.h deleted file mode 100755 index da072d560a..0000000000 --- a/nuttx/examples/sendmail/hostdefs.h +++ /dev/null @@ -1,69 +0,0 @@ -/****************************************************************************
- * examples/wget/hostdefs.c
- *
- * Copyright (C) 2009 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- *****************************************************************************/
-
-#ifndef __HOSTDEFS_H
-#define __HOSTDEFS_H
-
-/****************************************************************************
- * Included Files
- *****************************************************************************/
-
-#include <stdint.h>
-#include <stdbool.h>
-#include <stdio.h>
-
-/****************************************************************************
- * Preprocessor Defintiions
- *****************************************************************************/
-
-#define HTONS(a) htons(a)
-#define HTONL(a) htonl(a)
-#define CONFIG_CPP_HAVE_WARNING 1
-#define CONFIG_HAVE_GETHOSTBYNAME 1
-#define FAR
-
-#define ndbg(...) printf(__VA_ARGS__)
-#define nvdbg(...) printf(__VA_ARGS__)
-
-#define ERROR (-1)
-#define OK (0)
-
-/****************************************************************************
- * Type Definitions
- *****************************************************************************/
-
-typedef void *(*pthread_startroutine_t)(void *);
-
-#endif /* __HOSTDEFS_H */
diff --git a/nuttx/examples/sendmail/target.c b/nuttx/examples/sendmail/target.c deleted file mode 100644 index d8643106bd..0000000000 --- a/nuttx/examples/sendmail/target.c +++ /dev/null @@ -1,169 +0,0 @@ -/**************************************************************************** - * examples/sendmail/target.c - * - * Copyright (C) 2009. 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdint.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <errno.h> - -#include <net/if.h> -#include <apps/netutils/uiplib.h> -#include <apps/netutils/smtp.h> - -/**************************************************************************** - * Pre-processor Defintitions - ****************************************************************************/ - -#ifndef CONFIG_EXAMPLE_SENDMAIL_RECIPIENT -# error "You must provice CONFIG_EXAMPLE_SENDMAIL_RECIPIENT" -#endif - -#ifndef CONFIG_EXAMPLE_SENDMAIL_IPADDR -# error "You must provice CONFIG_EXAMPLE_SENDMAIL_IPADDR" -#endif - -#ifndef CONFIG_EXAMPLE_SENDMAIL_DRIPADDR -# error "You must provice CONFIG_EXAMPLE_SENDMAIL_DRIPADDR" -#endif - -#ifndef CONFIG_EXAMPLE_SENDMAIL_NETMASK -# error "You must provice CONFIG_EXAMPLE_SENDMAIL_NETMASK" -#endif - -#ifndef CONFIG_EXAMPLE_SENDMAIL_SENDER -# define CONFIG_EXAMPLE_SENDMAIL_SENDER "nuttx-testing@example.com" -#endif - -#ifndef CONFIG_EXAMPLE_SENDMAIL_SUBJECT -# define CONFIG_EXAMPLE_SENDMAIL_SUBJECT "Testing SMTP from NuttX" -#endif - -#ifndef CONFIG_EXAMPLE_SENDMAIL_BODY -# define CONFIG_EXAMPLE_SENDMAIL_BODY "Test message sent by NuttX" -#endif - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const char g_host_name[] = "localhost"; -static const char g_recipient[] = CONFIG_EXAMPLE_SENDMAIL_RECIPIENT; -static const char g_sender[] = CONFIG_EXAMPLE_SENDMAIL_SENDER; -static const char g_subject[] = CONFIG_EXAMPLE_SENDMAIL_SUBJECT; -static const char g_msg_body[] = CONFIG_EXAMPLE_SENDMAIL_BODY "\r\n"; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - /* Stub that must be provided only if the toolchain does not support weak - * functions. - */ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - struct in_addr addr; -#if defined(CONFIG_EXAMPLE_SENDMAIL_NOMAC) - uint8_t mac[IFHWADDRLEN]; -#endif - void *handle; - - printf("sendmail: To: %s\n", g_recipient); - printf("sendmail: From: %s\n", g_sender); - printf("sendmail: Subject: %s\n", g_subject); - printf("sendmail: Body: %s\n", g_msg_body); - -/* Many embedded network interfaces must have a software assigned MAC */ - -#ifdef CONFIG_EXAMPLE_SENDMAIL_NOMAC - mac[0] = 0x00; - mac[1] = 0xe0; - mac[2] = 0xb0; - mac[3] = 0x0b; - mac[4] = 0xba; - mac[5] = 0xbe; - uip_setmacaddr("eth0", mac); -#endif - - /* Set up our host address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_SENDMAIL_IPADDR); - uip_sethostaddr("eth0", &addr); - - /* Set up the default router address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_SENDMAIL_DRIPADDR); - uip_setdraddr("eth0", &addr); - - /* Setup the subnet mask */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_SENDMAIL_NETMASK); - uip_setnetmask("eth0", &addr); - - /* Then send the mail */ - - uip_ipaddr(addr.s_addr, 127, 0, 0, 1); - handle = smtp_open(); - if (handle) - { - smtp_configure(handle, g_host_name, &addr.s_addr); - smtp_send(handle, g_recipient, NULL, g_sender, g_subject, - g_msg_body, strlen(g_msg_body)); - smtp_close(handle); - } - return 0; -} diff --git a/nuttx/examples/serloop/Makefile b/nuttx/examples/serloop/Makefile deleted file mode 100644 index 4f6f53a6b3..0000000000 --- a/nuttx/examples/serloop/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -############################################################################ -# examples/serloop/Makefile -# -# Copyright (C) 2008, 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = main.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/serloop/main.c b/nuttx/examples/serloop/main.c deleted file mode 100644 index a9bdbe7eac..0000000000 --- a/nuttx/examples/serloop/main.c +++ /dev/null @@ -1,113 +0,0 @@ -/**************************************************************************** - * examples/serloop/main.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdio.h> -#include <unistd.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - /* Stub that must be provided only if the toolchain does not support weak - * functions. - */ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ -#ifdef CONFIG_EXAMPLES_SERLOOP_BUFIO - int ch; - - for (;;) - { - ch = getchar(); - if (ch < 1) - { - ch = '!'; - } - else if ((ch < 0x20 || ch > 0x7e) && ch != '\n') - { - ch = '.'; - } - putchar(ch); - } -#else - uint8_t ch; - int ret; - - for (;;) - { - ret = read(0, &ch, 1); - if (ret < 1) - { - ch = '!'; - } - else if ((ch < 0x20 || ch > 0x7e) && ch != '\n') - { - ch = '.'; - } - ret = write(1, &ch, 1); - } -#endif - return 0; -} - diff --git a/nuttx/examples/thttpd/Makefile b/nuttx/examples/thttpd/Makefile deleted file mode 100644 index 696117e642..0000000000 --- a/nuttx/examples/thttpd/Makefile +++ /dev/null @@ -1,80 +0,0 @@ -############################################################################ -# examples/thttpd/Makefile -# -# Copyright (C) 2009-2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = main.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) -.PHONY: clean headers - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -headers: - @$(MAKE) -C content TOPDIR=$(TOPDIR) CROSSDEV=$(CROSSDEV) - -$(BIN): headers $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - @make -C content clean TOPDIR=$(TOPDIR) CROSSDEV=$(CROSSDEV) - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/thttpd/content/Makefile b/nuttx/examples/thttpd/content/Makefile deleted file mode 100644 index 9ff8d87b59..0000000000 --- a/nuttx/examples/thttpd/content/Makefile +++ /dev/null @@ -1,104 +0,0 @@ -############################################################################ -# examples/thttpd/content/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -SUBDIRS = hello tasks netstat -INSTALL_FILES = index.html style.css - -THTTPD_DIR = $(TOPDIR)/examples/thttpd -CONTENT_DIR = $(THTTPD_DIR)/content -ROMFS_DIR = $(CONTENT_DIR)/romfs -ROMFS_IMG = $(CONTENT_DIR)/romfs.img -ROMFS_HDR = $(CONTENT_DIR)/romfs.h -ROMFSCGI_DIR = $(ROMFS_DIR)/cgi-bin -SYMTAB = $(CONTENT_DIR)/symtab.h - -define DIR_template -$(1)_$(2): - @$(MAKE) -C $(1) $(3) TOPDIR=$(TOPDIR) CROSSDEV=$(CROSSDEV) CGI_DIR=$(ROMFSCGI_DIR) -endef - -all: $(ROMFS_HDR) $(SYMTAB) -.PHONY: all build clean install populate - -$(foreach DIR, $(SUBDIRS), $(eval $(call DIR_template,$(DIR),build, all))) -$(foreach DIR, $(SUBDIRS), $(eval $(call DIR_template,$(DIR),clean,clean))) -$(foreach DIR, $(SUBDIRS), $(eval $(call DIR_template,$(DIR),install,install))) - -# Build program(s) in each sud-directory - -build: $(foreach DIR, $(SUBDIRS), $(DIR)_build) - -# Install each program in the romfs directory - -install: $(foreach DIR, $(SUBDIRS), $(DIR)_install) - @( for file in $(INSTALL_FILES); do\ - install -m 0644 -D $${file} $(ROMFS_DIR)/$${file}; \ - done; ) - -# Create the romfs directory - -$(ROMFS_DIR): - @mkdir -p $(ROMFS_DIR) - -$(ROMFSCGI_DIR): $(ROMFS_DIR) - @mkdir -p $(ROMFSCGI_DIR) - -# Populate the romfs directory - -populate: $(ROMFSCGI_DIR) build install - -# Create the romfs.img file from the populated romfs directory - -$(ROMFS_IMG): populate - @genromfs -f $@ -d $(ROMFS_DIR) -V "THTTPDTEST" - -# Create the romfs.h header file from the romfs.img file - -$(ROMFS_HDR) : $(ROMFS_IMG) - @(cd $(CONTENT_DIR); xxd -i romfs.img | sed -e "s/^unsigned/static const unsigned/g" >$@) - -# Create the exported symbol table list from the derived *-thunk.S files - -$(SYMTAB): build - @$(CONTENT_DIR)/mksymtab.sh $(CONTENT_DIR) >$@ - -# Clean each subdirectory - -clean: $(foreach DIR, $(SUBDIRS), $(DIR)_clean) - @rm -f $(ROMFS_HDR) $(ROMFS_IMG) $(SYMTAB) - @rm -rf $(ROMFS_DIR) - @rm -f *~ .*.swp - - diff --git a/nuttx/examples/thttpd/content/hello/Makefile b/nuttx/examples/thttpd/content/hello/Makefile deleted file mode 100644 index e980f1c341..0000000000 --- a/nuttx/examples/thttpd/content/hello/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################ -# examples/thttpd/content/hello/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN = hello - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -m 0755 -D $(BIN) $(CGI_DIR)/$(BIN) - diff --git a/nuttx/examples/thttpd/content/hello/hello.c b/nuttx/examples/thttpd/content/hello/hello.c deleted file mode 100644 index 40f31a4548..0000000000 --- a/nuttx/examples/thttpd/content/hello/hello.c +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** - * examples/thttpd/content/hello/hello.c - * Manatory "Hello, World!" Example - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdio.h> -#include <stdlib.h> - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int main(int argc, char *argv[]) -{ - fprintf(stderr, "Hello requested from: %s\n", getenv("REMOTE_ADDR")); - - puts( - "Content-type: text/html\r\n" - "Status: 200/html\r\n" - "\r\n" - "<html>\r\n" - "<head>\r\n" - "<title>Hello!</title>\r\n" - "<link rel=\"stylesheet\" type=\"text/css\" href=\"/style.css\">\r\n" - "</head>\r\n" - "<body bgcolor=\"#fffeec\" text=\"black\">\r\n" - "<div class=\"menu\">\r\n" - "<div class=\"menubox\"><a href=\"/index.html\">Front page</a></div>\r\n" - "<div class=\"menubox\"><a href=\"hello\">Say Hello</a></div>\r\n" - "<div class=\"menubox\"><a href=\"tasks\">Tasks</a></div>\r\n" - "<div class=\"menubox\"><a href=\"netstat\">Network status</a></div>\r\n" - "<br>\r\n" - "</div>\r\n" - "<div class=\"contentblock\">\r\n"); - printf( - "<h2>Hello, World!</h2><p>Requested by: %s</p>\r\n", - getenv("REMOTE_ADDR")); - puts( - "</body>\r\n" - "</html>\r\n"); - return 0; -} diff --git a/nuttx/examples/thttpd/content/index.html b/nuttx/examples/thttpd/content/index.html deleted file mode 100644 index 1fba1fbf6d..0000000000 --- a/nuttx/examples/thttpd/content/index.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> - <head> - <title>NuttX examples/thttpd</title> - <link rel="stylesheet" type="text/css" href="style.css"> - </head> - <body bgcolor="#fffeec" text="black"> - - <div class="menu"> - <div class="menubox"><a href="index.html">Front page</a></div> - <div class="menubox"><a href="cgi-bin/hello">Say Hello</a></div> - <div class="menubox"><a href="cgi-bin/tasks">Tasks</a></div> - <div class="menubox"><a href="cgi-bin/netstat">Network status</a></div> - <br> - </div> - - <div class="contentblock"> - <p> - These web pages are served by a port of <a href="http://acme.com/software/thttpd/">THTTPD</a> - running on top of <a href="http://www.nuttx.org">NuttX</a>. - NuttX includes a port of the <a href="http://www.sics.se/~adam/uip/">uIP</a> embedded TCP/IP stack. - </p> - <p> - Click on the links above to exercise THTTPD's CGI capability under NuttX. - Clicking the links will execute the CGI program from an - <a href="http://nuttx.sourceforge.net/NuttXNxFlat.html">NXFLAT</a> program residing - in a ROMFS file system. - </p> - </body> -</html> diff --git a/nuttx/examples/thttpd/content/mksymtab.sh b/nuttx/examples/thttpd/content/mksymtab.sh deleted file mode 100755 index 611d3a87a0..0000000000 --- a/nuttx/examples/thttpd/content/mksymtab.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -usage="Usage: %0 <test-dir-path>" - -dir=$1 -if [ -z "$dir" ]; then - echo "ERROR: Missing <test-dir-path>" - echo "" - echo $usage - exit 1 -fi - -if [ ! -d "$dir" ]; then - echo "ERROR: Directory $dir does not exist" - echo "" - echo $usage - exit 1 -fi - -varlist=`find $dir -name "*-thunk.S"| xargs grep -h asciz | cut -f3 | sort | uniq` - -echo "#ifndef __EXAMPLES_NXFLAT_TESTS_SYMTAB_H" -echo "#define __EXAMPLES_NXFLAT_TESTS_SYMTAB_H" -echo "" -echo "#include <nuttx/symtab.h>" -echo "" -echo "static const struct symtab_s exports[] = " -echo "{" - -for string in $varlist; do - var=`echo $string | sed -e "s/\"//g"` - echo " {$string, $var}," -done - -echo "};" -echo "#define NEXPORTS (sizeof(exports)/sizeof(struct symtab_s))" -echo "" -echo "#endif /* __EXAMPLES_NXFLAT_TESTS_SYMTAB_H */" - diff --git a/nuttx/examples/thttpd/content/netstat/Makefile b/nuttx/examples/thttpd/content/netstat/Makefile deleted file mode 100644 index b12cbabc82..0000000000 --- a/nuttx/examples/thttpd/content/netstat/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################ -# examples/thttpd/content/netstat/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN = netstat - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -m 0755 -D $(BIN) $(CGI_DIR)/$(BIN) - diff --git a/nuttx/examples/thttpd/content/netstat/netstat.c b/nuttx/examples/thttpd/content/netstat/netstat.c deleted file mode 100755 index 6341462741..0000000000 --- a/nuttx/examples/thttpd/content/netstat/netstat.c +++ /dev/null @@ -1,134 +0,0 @@ -/**************************************************************************** - * examples/thttpd/netstat/netstat.c - * - * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include <netinet/ether.h> -#include <net/uip/uipopt.h> -#include <net/uip/uip-arch.h> - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/* NOTEs: - * - * 1. One limitation in the use of NXFLAT is that functions that are - * referenced as a pointer-to-a-function must have global scope. Otherwise - * ARM GCC will generate some bad logic. - * 2. In general, when called back, there is no guarantee to that PIC registers - * will be valid and, unless you take special precautions, it could be - * dangerous to reference global variables in the callback function. - */ - -/* static */ int netdev_callback(FAR struct uip_driver_s *dev, void *arg) -{ - struct in_addr addr; - - printf(" <dt>%s\r\n", dev->d_ifname); -#ifdef CONFIG_NET_ETHERNET - printf(" <dd>HWaddr: %s<br>\r\n", ether_ntoa(&dev->d_mac)); -#endif - addr.s_addr = dev->d_ipaddr; - printf(" IPaddr: %s<br>\r\n", inet_ntoa(addr)); - addr.s_addr = dev->d_draddr; - printf(" DRaddr: %s<br>\r\n", inet_ntoa(addr)); - addr.s_addr = dev->d_netmask; - printf(" Mask: %s\r\n", inet_ntoa(addr)); - return OK; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int main(int argc, char *argv[]) -{ - puts( - "Content-type: text/html\r\n" - "Status: 200/html\r\n" - "\r\n" - "<html>\r\n" - "<head>\r\n" - "<title>Network Status</title>\r\n" - "<link rel=\"stylesheet\" type=\"text/css\" href=\"/style.css\">\r\n" - "</head>\r\n" - "<body bgcolor=\"#fffeec\" text=\"black\">\r\n" - "<div class=\"menu\">\r\n" - "<div class=\"menubox\"><a href=\"/index.html\">Front page</a></div>\r\n" - "<div class=\"menubox\"><a href=\"hello\">Say Hello</a></div>\r\n" - "<div class=\"menubox\"><a href=\"tasks\">Tasks</a></div>\r\n" - "<div class=\"menubox\"><a href=\"netstat\">Network status</a></div>\r\n" - "<br>\r\n" - "</div>\r\n" - "<div class=\"contentblock\">\r\n" - "<dl>\r\n"); - - netdev_foreach(netdev_callback, NULL); - - puts( - "</dl>\r\n" - "</body>\r\n" - "</html>\r\n"); - return 0; -} diff --git a/nuttx/examples/thttpd/content/style.css b/nuttx/examples/thttpd/content/style.css deleted file mode 100644 index bfb0997a88..0000000000 --- a/nuttx/examples/thttpd/content/style.css +++ /dev/null @@ -1,80 +0,0 @@ -h1 -{ - text-align: center; - font-size:14pt; - font-family:arial,helvetica; - font-weight:bold; - padding:10px; -} - -body -{ - background-color: #fffeec; - color:black; - font-size:8pt; - font-family:arial,helvetica; -} - -.menu -{ - margin: 4px; - width:60%; - padding:2px; - border: solid 1px; - background-color: #fffcd2; - text-align:left; - font-size:9pt; - font-family:arial,helvetica; -} - -div.menubox -{ - width: 25%; - border: 0; - float: left; - text-align: center; -} - -.contentblock -{ - margin: 4px; - width:60%; - padding:2px; - border: 1px dotted; - background-color: white; - font-size:8pt; - font-family:arial,helvetica; -} - -p.intro -{ - margin-left:20px; - margin-right:20px; - font-size:10pt; - font-family:arial,helvetica; -} - -p.clink -{ - font-size:12pt; - font-family:courier,monospace; - text-align:center; -} - -p.clink9 -{ - font-size:9pt; - font-family:courier,monospace; - text-align:center; -} - -p -{ - padding-left:10px; -} - -p.right -{ - text-align:right; -} - diff --git a/nuttx/examples/thttpd/content/tasks/Makefile b/nuttx/examples/thttpd/content/tasks/Makefile deleted file mode 100755 index 2666e0b69f..0000000000 --- a/nuttx/examples/thttpd/content/tasks/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################ -# examples/thttpd/content/tasks/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN = tasks - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -m 0755 -D $(BIN) $(CGI_DIR)/$(BIN) - diff --git a/nuttx/examples/thttpd/content/tasks/tasks.c b/nuttx/examples/thttpd/content/tasks/tasks.c deleted file mode 100755 index 13ba5cbb66..0000000000 --- a/nuttx/examples/thttpd/content/tasks/tasks.c +++ /dev/null @@ -1,168 +0,0 @@ -/**************************************************************************** - * examples/thttpd/tasks/tasks.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <sched.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const char *g_statenames[] = -{ - "INVALID ", - "PENDING ", - "READY ", - "RUNNING ", - "INACTIVE", - "WAITSEM ", -#ifndef CONFIG_DISABLE_MQUEUE - "WAITSIG ", -#endif -#ifndef CONFIG_DISABLE_MQUEUE - "MQNEMPTY", - "MQNFULL " -#endif -}; - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/* NOTEs: - * - * 1. One limitation in the use of NXFLAT is that functions that are - * referenced as a pointer-to-a-function must have global scope. Otherwise - * ARM GCC will generate some bad logic. - * 2. In general, when called back, there is no guarantee to that PIC registers - * will be valid and, unless you take special precautions, it could be - * dangerous to reference global variables in the callback function. - */ - -/* static */ void show_task(FAR _TCB *tcb, FAR void *arg) -{ - int i; - - /* Show task status */ - - printf("%5d %3d %4s %7s%c%c %8s ", - tcb->pid, tcb->sched_priority, - tcb->flags & TCB_FLAG_ROUND_ROBIN ? "RR " : "FIFO", - tcb->flags & TCB_FLAG_PTHREAD ? "PTHREAD" : "TASK ", - tcb->flags & TCB_FLAG_NONCANCELABLE ? 'N' : ' ', - tcb->flags & TCB_FLAG_CANCEL_PENDING ? 'P' : ' ', - g_statenames[tcb->task_state]); - - /* Show task name and arguments */ - - printf("%s(", tcb->argv[0]); - - /* Special case 1st argument (no comma) */ - - if (tcb->argv[1]) - { - printf("%p", tcb->argv[1]); - } - - /* Then any additional arguments */ - -#if CONFIG_MAX_TASK_ARGS > 2 - for (i = 2; i <= CONFIG_MAX_TASK_ARGS && tcb->argv[i]; i++) - { - printf(", %p", tcb->argv[i]); - } -#endif - printf(")\n"); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int main(int argc, char *argv[]) -{ - puts( - "Content-type: text/html\r\n" - "Status: 200/html\r\n" - "\r\n" - "<html>\r\n" - "<head>\r\n" - "<title>NuttX Tasks</title>\r\n" - "<link rel=\"stylesheet\" type=\"text/css\" href=\"/style.css\">\r\n" - "</head>\r\n" - "<body bgcolor=\"#fffeec\" text=\"black\">\r\n" - "<div class=\"menu\">\r\n" - "<div class=\"menubox\"><a href=\"/index.html\">Front page</a></div>\r\n" - "<div class=\"menubox\"><a href=\"hello\">Say Hello</a></div>\r\n" - "<div class=\"menubox\"><a href=\"tasks\">Tasks</a></div>\r\n" - "<div class=\"menubox\"><a href=\"netstat\">Network status</a></div>\r\n" - "<br>\r\n" - "</div>\r\n" - "<div class=\"contentblock\">\r\n" - "<pre>\r\n" - "PID PRI SCHD TYPE NP STATE NAME\r\n"); - - sched_foreach(show_task, NULL); - - puts( - "</pre>\r\n" - "</body>\r\n" - "</html>\r\n"); - return 0; -} diff --git a/nuttx/examples/thttpd/main.c b/nuttx/examples/thttpd/main.c deleted file mode 100644 index e2fdda4f4c..0000000000 --- a/nuttx/examples/thttpd/main.c +++ /dev/null @@ -1,280 +0,0 @@ -/**************************************************************************** - * examples/thttpd/main.c - * - * Copyright (C) 2009-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/ioctl.h> -#include <sys/mount.h> -#include <stdint.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <errno.h> -#include <debug.h> - -#include <net/if.h> -#include <netinet/ether.h> - -#include <net/uip/uip-arp.h> -#include <apps/netutils/uiplib.h> -#include <apps/netutils/thttpd.h> - -#include <nuttx/ramdisk.h> -#include <nuttx/binfmt.h> -#include <nuttx/nxflat.h> -#ifdef CONFIG_NET_SLIP -# include <nuttx/net.h> -#endif - -#include "content/romfs.h" -#include "content/symtab.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/* Check configuration. This is not all of the configuration settings that - * are required -- only the more obvious. - */ - -#if CONFIG_NFILE_DESCRIPTORS < 1 -# error "You must provide file descriptors via CONFIG_NFILE_DESCRIPTORS in your configuration file" -#endif - -#ifndef CONFIG_NXFLAT -# error "You must select CONFIG_NXFLAT in your configuration file" -#endif - -#ifndef CONFIG_FS_ROMFS -# error "You must select CONFIG_FS_ROMFS in your configuration file" -#endif - -#ifdef CONFIG_DISABLE_MOUNTPOINT -# error "You must not disable mountpoints via CONFIG_DISABLE_MOUNTPOINT in your configuration file" -#endif - -#ifdef CONFIG_BINFMT_DISABLE -# error "You must not disable loadable modules via CONFIG_BINFMT_DISABLE in your configuration file" -#endif - -/* SLIP-specific configuration */ - -#ifdef CONFIG_NET_SLIP - - /* No MAC address operations */ - -# undef CONFIG_EXAMPLE_THTTPD_NOMAC - - /* TTY device to use */ - -# ifndef CONFIG_NET_SLIPTTY -# define CONFIG_NET_SLIPTTY "/dev/ttyS1" -# endif - -# define SLIP_DEVNO 0 -# define NET_DEVNAME "sl0" -#else - - /* Otherwise, use the standard ethernet device name */ - -# define NET_DEVNAME "eth0" -#endif - -/* Describe the ROMFS file system */ - -#define SECTORSIZE 512 -#define NSECTORS(b) (((b)+SECTORSIZE-1)/SECTORSIZE) -#define ROMFSDEV "/dev/ram0" -#define MOUNTPT CONFIG_THTTPD_PATH - -#ifdef CONFIG_CPP_HAVE_VARARGS -# ifdef CONFIG_DEBUG -# define message(...) lib_lowprintf(__VA_ARGS__) -# define msgflush() -# else -# define message(...) printf(__VA_ARGS__) -# define msgflush() fflush(stdout) -# endif -#else -# ifdef CONFIG_DEBUG -# define message lib_lowprintf -# define msgflush() -# else -# define message printf -# define msgflush() fflush(stdout) -# endif -#endif - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/* These values must be provided by the user before the THTTPD task daemon - * is started: - * - * g_thttpdsymtab: A symbol table describing all of the symbols exported - * from the base system. These symbols are used to bind address references - * in CGI programs to NuttX. - * g_nsymbols: The number of symbols in g_thttpdsymtab[]. - */ - -FAR const struct symtab_s *g_thttpdsymtab; -int g_thttpdnsymbols; - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - /* Stub that must be provided only if the toolchain does not support weak - * functions. - */ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - struct in_addr addr; -#ifdef CONFIG_EXAMPLE_THTTPD_NOMAC - uint8_t mac[IFHWADDRLEN]; -#endif - char *thttpd_argv = "thttpd"; - int ret; - - /* Configure SLIP */ - -#ifdef CONFIG_NET_SLIP - ret = slip_initialize(SLIP_DEVNO, CONFIG_NET_SLIPTTY); - if (ret < 0) - { - message("ERROR: SLIP initialization failed: %d\n", ret); - exit(1); - } -#endif - -/* Many embedded network interfaces must have a software assigned MAC */ - -#ifdef CONFIG_EXAMPLE_THTTPD_NOMAC - message("Assigning MAC\n"); - - mac[0] = 0x00; - mac[1] = 0xe0; - mac[2] = 0xb0; - mac[3] = 0x0b; - mac[4] = 0xba; - mac[5] = 0xbe; - uip_setmacaddr(NET_DEVNAME, mac); -#endif - - /* Set up our host address */ - - message("Setup network addresses\n"); - addr.s_addr = HTONL(CONFIG_THTTPD_IPADDR); - uip_sethostaddr(NET_DEVNAME, &addr); - - /* Set up the default router address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_THTTPD_DRIPADDR); - uip_setdraddr(NET_DEVNAME, &addr); - - /* Setup the subnet mask */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_THTTPD_NETMASK); - uip_setnetmask(NET_DEVNAME, &addr); - - /* Initialize the NXFLAT binary loader */ - - message("Initializing the NXFLAT binary loader\n"); - ret = nxflat_initialize(); - if (ret < 0) - { - message("ERROR: Initialization of the NXFLAT loader failed: %d\n", ret); - exit(2); - } - - /* Create a ROM disk for the ROMFS filesystem */ - - message("Registering romdisk\n"); - ret = romdisk_register(0, (uint8_t*)romfs_img, NSECTORS(romfs_img_len), SECTORSIZE); - if (ret < 0) - { - message("ERROR: romdisk_register failed: %d\n", ret); - nxflat_uninitialize(); - exit(1); - } - - /* Mount the file system */ - - message("Mounting ROMFS filesystem at target=%s with source=%s\n", - MOUNTPT, ROMFSDEV); - - ret = mount(ROMFSDEV, MOUNTPT, "romfs", MS_RDONLY, NULL); - if (ret < 0) - { - message("ERROR: mount(%s,%s,romfs) failed: %s\n", - ROMFSDEV, MOUNTPT, errno); - nxflat_uninitialize(); - } - - /* Start THTTPD. At present, symbol table info is passed via global variables */ - - g_thttpdsymtab = exports; - g_thttpdnsymbols = NEXPORTS; - - message("Starting THTTPD\n"); - msgflush(); - thttpd_main(1, &thttpd_argv); - message("THTTPD terminated\n"); - msgflush(); - return 0; -} diff --git a/nuttx/examples/udp/Makefile b/nuttx/examples/udp/Makefile deleted file mode 100644 index da833f0105..0000000000 --- a/nuttx/examples/udp/Makefile +++ /dev/null @@ -1,104 +0,0 @@ -############################################################################ -# examples/udp/Makefile -# -# Copyright (C) 2007-2008, 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -TARG_ASRCS = -TARG_AOBJS = $(TARG_ASRCS:.S=$(OBJEXT)) - -TARG_CSRCS = target.c -ifeq ($(CONFIG_EXAMPLE_UDP_SERVER),y) -TARG_CSRCS += udp-server.c -else -TARG_CSRCS += udp-client.c -endif - -TARG_COBJS = $(TARG_CSRCS:.c=$(OBJEXT)) - -TARG_SRCS = $(TARG_ASRCS) $(TARG_CSRCS) -TARG_OBJS = $(TARG_AOBJS) $(TARG_COBJS) - -TARG_BIN = libapp$(LIBEXT) - -HOSTCFLAGS += -DCONFIG_EXAMPLE_UDP_HOST=1 -ifeq ($(CONFIG_EXAMPLE_UDP_SERVER),y) -HOSTCFLAGS += -DCONFIG_EXAMPLE_UDP_SERVER=1 \ - -DCONFIG_EXAMPLE_UDP_SERVERIP="$(CONFIG_EXAMPLE_UDP_SERVERIP)" -endif - -HOST_SRCS = host.c -ifeq ($(CONFIG_EXAMPLE_UDP_SERVER),y) -HOST_SRCS += udp-client.c -else -HOST_SRCS += udp-server.c -endif - -HOST_OBJS = $(HOST_SRCS:.c=.o) -HOST_BIN = host - -all: $(TARG_BIN) - -$(TARG_AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(TARG_COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(TARG_BIN): $(TARG_OBJS) $(HOST_BIN) - @( for obj in $(TARG_OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -$(HOST_OBJS): %.o: %.c - $(HOSTCC) -c $(HOSTCFLAGS) $< -o $@ - -$(HOST_BIN): $(HOST_OBJS) - $(HOSTCC) $(HOSTLDFLAGS) $(HOST_OBJS) -o $@ - -.depend: Makefile $(TARG_SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(TARG_SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(TARG_BIN) $(HOST_BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/udp/host.c b/nuttx/examples/udp/host.c deleted file mode 100644 index 34fd967655..0000000000 --- a/nuttx/examples/udp/host.c +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** - * examples/udp/host.c - * - * Copyright (C) 2007 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include "udp-internal.h" - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * main - ****************************************************************************/ - -int main(int argc, char **argv, char **envp) -{ -#ifdef CONFIG_EXAMPLE_UDP_SERVER - send_client(); -#else - recv_server(); -#endif - - return 0; -} diff --git a/nuttx/examples/udp/target.c b/nuttx/examples/udp/target.c deleted file mode 100644 index 5e31fdb369..0000000000 --- a/nuttx/examples/udp/target.c +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** - * examples/udp/nettest.c - * - * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> -#include <stdio.h> -#include <debug.h> - -#include <net/uip/uip.h> -#include <apps/netutils/uiplib.h> - -#include "udp-internal.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - /* Stub that must be provided only if the toolchain does - * not support weak functions. - */ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - struct in_addr addr; - - /* Set up our host address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_UDP_IPADDR); - uip_sethostaddr("eth0", &addr); - - /* Set up the default router address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_UDP_DRIPADDR); - uip_setdraddr("eth0", &addr); - - /* Setup the subnet mask */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_UDP_NETMASK); - uip_setnetmask("eth0", &addr); - -#ifdef CONFIG_EXAMPLE_UDP_SERVER - recv_server(); -#else - send_client(); -#endif - - return 0; -} diff --git a/nuttx/examples/udp/udp-client.c b/nuttx/examples/udp/udp-client.c deleted file mode 100644 index 545a3a6c34..0000000000 --- a/nuttx/examples/udp/udp-client.c +++ /dev/null @@ -1,133 +0,0 @@ -/**************************************************************************** - * examples/udp/udp-client.c - * - * Copyright (C) 2007 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <errno.h> - -#include "udp-internal.h" - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -static inline void fill_buffer(unsigned char *buf, int offset) -{ - int ch; - int j; - - buf[0] = offset; - for (ch = 0x20, j = offset + 1; ch < 0x7f; ch++, j++) - { - if (j >= SENDSIZE) - { - j = 1; - } - buf[j] = ch; - } -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -void send_client(void) -{ - struct sockaddr_in server; - unsigned char outbuf[SENDSIZE]; - int sockfd; - int nbytes; - int offset; - - /* Create a new TCP socket */ - - sockfd = socket(PF_INET, SOCK_DGRAM, 0); - if (sockfd < 0) - { - message("client socket failure %d\n", errno); - exit(1); - } - - /* Then send and receive 256 messages */ - - for (offset = 0; offset < 256; offset++) - { - /* Set up the output buffer */ - - fill_buffer(outbuf, offset); - - /* Send the message */ - - server.sin_family = AF_INET; - server.sin_port = HTONS(PORTNO); - server.sin_addr.s_addr = HTONL(CONFIG_EXAMPLE_UDP_SERVERIP); - - message("client: %d. Sending %d bytes\n", offset, SENDSIZE); - nbytes = sendto(sockfd, outbuf, SENDSIZE, 0, - (struct sockaddr*)&server, sizeof(struct sockaddr_in)); - message("client: %d. Sent %d bytes\n", offset, nbytes); - - if (nbytes < 0) - { - message("client: %d. sendto failed: %d\n", offset, errno); - close(sockfd); - exit(-1); - } - else if (nbytes != SENDSIZE) - { - message("client: %d. Bad send length: %d Expected: %d\n", - offset, nbytes, SENDSIZE); - close(sockfd); - exit(-1); - } - - /* Now, sleep a bit. No packets should be dropped due to overrunning - * the server. - */ - - sleep(2); - } - close(sockfd); -} diff --git a/nuttx/examples/udp/udp-internal.h b/nuttx/examples/udp/udp-internal.h deleted file mode 100644 index 94fe1e4825..0000000000 --- a/nuttx/examples/udp/udp-internal.h +++ /dev/null @@ -1,90 +0,0 @@ -/**************************************************************************** - * examples/udp/udp-internal.h - * - * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __EXAMPLES_UIP_INTERNAL_H -#define __EXAMPLES_UIP_INTERNAL_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLE_UDP_HOST -#else -# include <debug.h> -#endif - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLE_UDP_HOST - /* HTONS/L macros are unique to uIP */ - -# define HTONS(a) htons(a) -# define HTONL(a) htonl(a) - - /* Used printf for debug output */ - -# define message(...) printf(__VA_ARGS__) - - /* Have SO_LINGER */ - -#else - - /* If debug is enabled, use the synchronous lib_lowprintf so that the - * program output does not get disassociated in the debug output. - */ - -# ifdef CONFIG_DEBUG -# define message(...) lib_lowprintf(__VA_ARGS__) -# else -# define message(...) printf(__VA_ARGS__) -# endif - -#endif - -#define PORTNO 5471 - -#define ASCIISIZE (0x7f - 0x20) -#define SENDSIZE (ASCIISIZE+1) - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -extern void send_client(void); -extern void recv_server(void); - -#endif /* __EXAMPLES_UIP_INTERNAL_H */ diff --git a/nuttx/examples/udp/udp-server.c b/nuttx/examples/udp/udp-server.c deleted file mode 100644 index 495a713205..0000000000 --- a/nuttx/examples/udp/udp-server.c +++ /dev/null @@ -1,173 +0,0 @@ -/**************************************************************************** - * examples/udp/udp-server.c - * - * Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <sys/socket.h> -#include <netinet/in.h> - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <errno.h> - -#include "udp-internal.h" - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -static inline int check_buffer(unsigned char *buf) -{ - int ret = 1; - int offset; - int ch; - int j; - - offset = buf[0]; - for (ch = 0x20, j = offset + 1; ch < 0x7f; ch++, j++) - { - if (j >= SENDSIZE) - { - j = 1; - } - if (buf[j] != ch) - { - message("server: Buffer content error for offset=%d, index=%d\n", offset, j); - ret = 0; - } - } - return ret; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -void recv_server(void) -{ - struct sockaddr_in server; - struct sockaddr_in client; - in_addr_t tmpaddr; - unsigned char inbuf[1024]; - int sockfd; - int nbytes; - int optval; - int offset; - socklen_t addrlen; - - /* Create a new UDP socket */ - - sockfd = socket(PF_INET, SOCK_DGRAM, 0); - if (sockfd < 0) - { - message("server: socket failure: %d\n", errno); - exit(1); - } - - /* Set socket to reuse address */ - - optval = 1; - if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (void*)&optval, sizeof(int)) < 0) - { - message("server: setsockopt SO_REUSEADDR failure: %d\n", errno); - exit(1); - } - - /* Bind the socket to a local address */ - - server.sin_family = AF_INET; - server.sin_port = HTONS(PORTNO); - server.sin_addr.s_addr = HTONL(INADDR_ANY); - - if (bind(sockfd, (struct sockaddr*)&server, sizeof(struct sockaddr_in)) < 0) - { - message("server: bind failure: %d\n", errno); - exit(1); - } - - /* Then receive up to 256 packets of data */ - - for (offset = 0; offset < 256; offset++) - { - message("server: %d. Receiving up 1024 bytes\n", offset); - addrlen = sizeof(struct sockaddr_in); - nbytes = recvfrom(sockfd, inbuf, 1024, 0, - (struct sockaddr*)&client, &addrlen); - - tmpaddr = ntohl(client.sin_addr.s_addr); - message("server: %d. Received %d bytes from %d.%d.%d.%d:%d\n", - offset, nbytes, - tmpaddr >> 24, (tmpaddr >> 16) & 0xff, - (tmpaddr >> 8) & 0xff, tmpaddr & 0xff, - ntohs(client.sin_port)); - - if (nbytes < 0) - { - message("server: %d. recv failed: %d\n", offset, errno); - close(sockfd); - exit(-1); - } - - if (nbytes != SENDSIZE) - { - message("server: %d. recv size incorrect: %d vs %d\n", offset, nbytes, SENDSIZE); - close(sockfd); - exit(-1); - } - - if (offset < inbuf[0]) - { - message("server: %d. %d packets lost, resetting offset\n", offset, inbuf[0] - offset); - offset = inbuf[0]; - } - else if (offset > inbuf[0]) - { - message("server: %d. Bad offset in buffer: %d\n", offset, inbuf[0]); - close(sockfd); - exit(-1); - } - - if (!check_buffer(inbuf)) - { - message("server: %d. Bad buffer contents\n", offset); - close(sockfd); - exit(-1); - } - } - close(sockfd); -} diff --git a/nuttx/examples/uip/Makefile b/nuttx/examples/uip/Makefile deleted file mode 100644 index e90f7ca426..0000000000 --- a/nuttx/examples/uip/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -############################################################################ -# examples/uip/Makefile -# -# Copyright (C) 2007-2008, 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = main.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/uip/main.c b/nuttx/examples/uip/main.c deleted file mode 100644 index 21a01998b8..0000000000 --- a/nuttx/examples/uip/main.c +++ /dev/null @@ -1,220 +0,0 @@ -/**************************************************************************** - * examples/uip/main.c - * - * Copyright (C) 2007, 2009-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Based on uIP which also has a BSD style license: - * - * Copyright (c) 2001, Adam Dunkels. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Adam Dunkels. - * 4. The name of the author may not be used to endorse or promote - * products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS - * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/ioctl.h> -#include <stdint.h> -#include <stdio.h> -#include <string.h> -#include <unistd.h> -#include <time.h> -#include <debug.h> - -#include <net/if.h> -#include <net/uip/uip.h> -#include <net/uip/uip-arp.h> - -#include <apps/netutils/uiplib.h> - -#ifdef CONFIG_EXAMPLE_UIP_DHCPC -#include <arpa/inet.h> -#endif - -/* Here we include the header file for the application(s) we use in - * our project as defined in the config/<board-name>/defconfig file - */ - -/* DHCPC may be used in conjunction with any other feature (or not) */ - -#ifdef CONFIG_EXAMPLE_UIP_DHCPC -# include <apps/netutils/resolv.h> -# include <apps/netutils/dhcpc.h> -#endif - -/* Include uIP webserver definitions */ - -#include <apps/netutils/httpd.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#ifdef CONFIG_CPP_HAVE_VARARGS -# ifdef CONFIG_DEBUG -# define message(...) lib_lowprintf(__VA_ARGS__) -# else -# define message(...) printf(__VA_ARGS__) -# endif -#else -# ifdef CONFIG_DEBUG -# define message lib_lowprintf -# else -# define message (void) -# endif -#endif - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - /* Stub that must be provided only if the toolchain does - * not support weak functions. - */ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - struct in_addr addr; -#if defined(CONFIG_EXAMPLE_UIP_DHCPC) || defined(CONFIG_EXAMPLE_UIP_NOMAC) - uint8_t mac[IFHWADDRLEN]; -#endif -#ifdef CONFIG_EXAMPLE_UIP_DHCPC - void *handle; -#endif - -/* Many embedded network interfaces must have a software assigned MAC */ - -#ifdef CONFIG_EXAMPLE_UIP_NOMAC - mac[0] = 0x00; - mac[1] = 0xe0; - mac[2] = 0xb0; - mac[3] = 0x0b; - mac[4] = 0xba; - mac[5] = 0xbe; - uip_setmacaddr("eth0", mac); -#endif - - /* Set up our host address */ - -#ifdef CONFIG_EXAMPLE_UIP_DHCPC - addr.s_addr = 0; -#else - addr.s_addr = HTONL(CONFIG_EXAMPLE_UIP_IPADDR); -#endif - uip_sethostaddr("eth0", &addr); - - /* Set up the default router address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_UIP_DRIPADDR); - uip_setdraddr("eth0", &addr); - - /* Setup the subnet mask */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_UIP_NETMASK); - uip_setnetmask("eth0", &addr); - -#ifdef CONFIG_EXAMPLE_UIP_DHCPC - /* Set up the resolver */ - - resolv_init(); - - /* Get the MAC address of the NIC */ - - uip_getmacaddr("eth0", mac); - - /* Set up the DHCPC modules */ - - handle = dhcpc_open(&mac, IFHWADDRLEN); - - /* Get an IP address. Note: there is no logic here for renewing the address in this - * example. The address should be renewed in ds.lease_time/2 seconds. - */ - - printf("Getting IP address\n"); - if (handle) - { - struct dhcpc_state ds; - (void)dhcpc_request(handle, &ds); - uip_sethostaddr("eth1", &ds.ipaddr); - if (ds.netmask.s_addr != 0) - { - uip_setnetmask("eth0", &ds.netmask); - } - if (ds.default_router.s_addr != 0) - { - uip_setdraddr("eth0", &ds.default_router); - } - if (ds.dnsaddr.s_addr != 0) - { - resolv_conf(&ds.dnsaddr); - } - dhcpc_close(handle); - printf("IP: %s\n", inet_ntoa(ds.ipaddr)); - } -#endif - -#ifdef CONFIG_NET_TCP - printf("Starting webserver\n"); - httpd_init(); - httpd_listen(); -#endif - - while(1) - { - sleep(3); - printf("main: Still running\n"); -#if CONFIG_NFILE_DESCRIPTORS > 0 - fflush(stdout); -#endif - } - return 0; -} diff --git a/nuttx/examples/usbserial/Makefile b/nuttx/examples/usbserial/Makefile deleted file mode 100644 index a2fe9f41b3..0000000000 --- a/nuttx/examples/usbserial/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -############################################################################ -# examples/usbserial/Makefile -# -# Copyright (C) 2008, 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = main.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/usbserial/Makefile.host b/nuttx/examples/usbserial/Makefile.host deleted file mode 100644 index 0997ce81c0..0000000000 --- a/nuttx/examples/usbserial/Makefile.host +++ /dev/null @@ -1,63 +0,0 @@ -############################################################################ -# examples/usbserial/Makefile.host -# -# Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -include $(TOPDIR)/.config -include $(TOPDIR)/Make.defs - -SRC = host.c -BIN = host - -DEFINES = -ifeq ($(CONFIG_EXAMPLES_USBSERIAL_INONLY),y) -DEFINES += -DCONFIG_EXAMPLES_USBSERIAL_INONLY=1 -endif -ifeq ($(CONFIG_EXAMPLES_USBSERIAL_OUTONLY),y) -DEFINES += -DCONFIG_EXAMPLES_USBSERIAL_OUTONLY=1 -endif -ifeq ($(CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL),y) -DEFINES += -DCONFIG_EXAMPLES_USBSERIAL_ONLYSMALL=1 -endif -ifeq ($(CONFIG_EXAMPLES_USBSERIAL_ONLYBIG),y) -DEFINES += -DCONFIG_EXAMPLES_USBSERIAL_ONLYBIG=1 -endif - -all: $(BIN)$(EXEEXT) - -$(BIN)$(EXEEXT): $(SRC) - $(HOSTCC) $(HOSTCFLAGS) $(DEFINES) $^ -o $@ - -clean: - @rm -f $(BIN) *~ .*.swp *.o - $(call CLEAN) diff --git a/nuttx/examples/usbserial/host.c b/nuttx/examples/usbserial/host.c deleted file mode 100644 index 751b7530c6..0000000000 --- a/nuttx/examples/usbserial/host.c +++ /dev/null @@ -1,293 +0,0 @@ -/**************************************************************************** - * examples/usbserial/host.c - * - * Copyright (C) 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdio.h> - -#include <sys/types.h> -#include <sys/stat.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <termios.h> -#include <fcntl.h> -#include <errno.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#if defined(CONFIG_EXAMPLES_USBSERIAL_INONLY) && defined(CONFIG_EXAMPLES_USBSERIAL_OUTONLY) -# error "Cannot define both CONFIG_EXAMPLES_USBSERIAL_INONLY and _OUTONLY" -#endif -#if defined(CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL) && defined(CONFIG_EXAMPLES_USBSERIAL_ONLYBIG) -# error "Cannot define both CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL and _ONLYBIG" -#endif - -#if !defined(CONFIG_EXAMPLES_USBSERIAL_ONLYBIG) && !defined(CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL) -# ifndef CONFIG_EXAMPLES_USBSERIAL_INONLY -# define COUNTER_NEEDED 1 -# endif -#endif - -#define DEFAULT_TTYDEV "/dev/ttyUSB0" -#define BUFFER_SIZE 1024 - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const char *g_ttydev = DEFAULT_TTYDEV; - -#ifndef CONFIG_EXAMPLES_USBSERIAL_ONLYBIG -static const char g_shortmsg[] = "Sure... You betcha!!\n"; -#endif - -#ifndef CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL -static const char g_longmsg[] = - "I am proud to come to this city as the guest of your distinguished Mayor, " - "who has symbolized throughout the world the fighting spirit of West Berlin. " - "And I am proud to visit the Federal Republic with your distinguished Chancellor " - "who for so many years has committed Germany to democracy and freedom and " - "progress, and to come here in the company of my fellow American, General Clay, " - "who has been in this city during its great moments of crisis and will come " - "again if ever needed.\n" - "Two thousand years ago the proudest boast was \"civis Romanus sum.\" Today, " - "in the world of freedom, the proudest boast is \"Ich bin ein Berliner.\"\r\"" - "I appreciate my interpreter translating my German!\n" - "There are many people in the world who really don't understand, or say they " - "don't, what is the great issue between the free world and the Communist world. " - "Let them come to Berlin. There are some who say that communism is the wave of " - "the future. Let them come to Berlin. And there are some who say in Europe and " - "elsewhere we can work with the Communists. Let them come to Berlin. And there " - "are even a few who say that it is true that communism is an evil system, but it " - "permits us to make economic progress. Lass' sie nach Berlin kommen. Let them " - "come to Berlin.\n" - "Freedom has many difficulties and democracy is not perfect, but we have never " - "had to put a wall up to keep our people in, to prevent them from leaving us. I " - "want to say, on behalf of my countrymen, who live many miles away on the other " - "side of the Atlantic, who are far distant from you, that they take the greatest " - "pride that they have been able to share with you, even from a distance, the " - "story of the last 18 years. I know of no town, no city, that has been besieged " - "for 18 years that still lives with the vitality and the force, and the hope and " - "the determination of the city of West Berlin. While the wall is the most obvious " - "and vivid demonstration of the failures of the Communist system, for all the " - "world to see, we take no satisfaction in it, for it is, as your Mayor has said, " - "an offense not only against history but an offense against humanity, separating " - "families, dividing husbands and wives and brothers and sisters, and dividing a " - "people who wish to be joined together.\n" - "What is true of this city is true of Germany--real, lasting peace in Europe can " - "never be assured as long as one German out of four is denied the elementary " - "right of free men, and that is to make a free choice. In 18 years of peace and " - "good faith, this generation of Germans has earned the right to be free, " - "including the right to unite their families and their nation in lasting peace, " - "with good will to all people. You live in a defended island of freedom, but " - "your life is part of the main. So let me ask you as I close, to lift your eyes " - "beyond the dangers of today, to the hopes of tomorrow, beyond the freedom merely " - "of this city of Berlin, or your country of Germany, to the advance of freedom " - "everywhere, beyond the wall to the day of peace with justice, beyond yourselves " - "and ourselves to all mankind.\n" - "Freedom is indivisible, and when one man is enslaved, all are not free. When all " - "are free, then we can look forward to that day when this city will be joined as " - "one and this country and this great Continent of Europe in a peaceful and hopeful " - "globe. When that day finally comes, as it will, the people of West Berlin can take " - "sober satisfaction in the fact that they were in the front lines for almost two " - "decades.\n" - "All free men, wherever they may live, are citizens of Berlin, and, therefore, " - "as a free man, I take pride in the words \"Ich bin ein Berliner.\"\n" - "President John F. Kennedy - June 26, 1963\n"; -#endif - -#ifndef CONFIG_EXAMPLES_USBSERIAL_OUTONLY -static char g_iobuffer[BUFFER_SIZE]; -#endif - -/**************************************************************************** - * show_usage - ****************************************************************************/ - -static void show_usage(const char *progname, int exitcode) -{ - fprintf(stderr, "USAGE: %s [<ttydev>]\n", progname); - exit(exitcode); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * main - ****************************************************************************/ - -int main(int argc, char **argv, char **envp) -{ - struct termios tty; -#ifndef CONFIG_EXAMPLES_USBSERIAL_OUTONLY - ssize_t nbytes; -#endif -#ifdef COUNTER_NEEDED - int count = 0; -#endif - int fd; - int ret; - - /* Handle input parameters */ - - if (argc > 1) - { - if (argc > 2) - { - fprintf(stderr, "Too many arguments on command line\n"); - show_usage(argv[0], 1); - } - g_ttydev = argv[1]; - } - - /* Open the USB serial device for blocking read/write */ - - do - { - printf("main: Opening USB serial driver\n"); - fd = open(g_ttydev, O_RDWR); - if (fd < 0) - { - printf("main: ERROR: Failed to open %s: %s\n", g_ttydev, strerror(errno)); - printf("main: Assume not connected. Wait and try again.\n"); - printf("main: (Control-C to terminate).\n"); - sleep(5); - } - } - while (fd < 0); - printf("main: Successfully opened the serial driver\n"); - - /* Configure the serial port in raw mode (at least turn off echo) */ - - ret = tcgetattr(fd, &tty); - if (ret < 0) - { - printf("main: ERROR: Failed to get termios for %s: %s\n", g_ttydev, strerror(errno)); - close(fd); - return 1; - } - - tty.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); - tty.c_oflag &= ~OPOST; - tty.c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); - tty.c_cflag &= ~(CSIZE|PARENB); - tty.c_cflag |= CS8; - - ret = tcsetattr(fd, TCSANOW, &tty); - if (ret < 0) - { - printf("main: ERROR: Failed to set termios for %s: %s\n", g_ttydev, strerror(errno)); - close(fd); - return 1; - } - - /* Wait for and/or send messages -- forever */ - - for (;;) - { - /* Test IN messages (device-to-host) */ - -#ifndef CONFIG_EXAMPLES_USBSERIAL_OUTONLY - printf("main: Reading from the serial driver\n"); - printf("main: ... (Control-C to terminate) ...\n"); - nbytes = read(fd, g_iobuffer, BUFFER_SIZE-1); - if (nbytes < 0) - { - printf("main: ERROR: Failed to read from %s: %s\n", g_ttydev, strerror(errno)); - close(fd); - return 2; - } - else if (nbytes == 0) - { - printf("main: End-of-file encountered\n"); - break; - } - - g_iobuffer[nbytes] = '\0'; - printf("main: Received %d bytes:\n", nbytes); - printf(" \"%s\"\n", g_iobuffer); -#else - printf("main: Waiting...\n"); - sleep(5); -#endif /* CONFIG_EXAMPLES_USBSERIAL_OUTONLY */ - - /* Test OUT messages (host-to-device) */ - -#ifndef CONFIG_EXAMPLES_USBSERIAL_INONLY -#if !defined(CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL) && !defined(CONFIG_EXAMPLES_USBSERIAL_ONLYBIG) - count++; - if (count < 5) - { - printf("main: Sending %d bytes..\n", sizeof(g_shortmsg)); - nbytes = write(fd, g_shortmsg, sizeof(g_shortmsg)); - } - else - { - printf("main: Sending %d bytes..\n", sizeof(g_longmsg)); - nbytes = write(fd, g_longmsg, sizeof(g_longmsg)); - count = 0; - } -#elif !defined(CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL) - printf("main: Sending %d bytes..\n", sizeof(g_longmsg)); - nbytes = write(fd, g_longmsg, sizeof(g_longmsg)); -#else /* !defined(CONFIG_EXAMPLES_USBSERIAL_ONLYBIG) */ - printf("main: Sending %d bytes..\n", sizeof(g_shortmsg)); - nbytes = write(fd, g_shortmsg, sizeof(g_shortmsg)); -#endif - - /* Test if write was successful */ - - if (nbytes < 0) - { - printf("main: ERROR: Failed to write to %s: %s\n", g_ttydev, strerror(errno)); - close(fd); - return 2; - } - printf("main: %d bytes sent\n", nbytes); -#endif /* CONFIG_EXAMPLES_USBSERIAL_INONLY */ - } - - close(fd); - return 0; -} - diff --git a/nuttx/examples/usbserial/main.c b/nuttx/examples/usbserial/main.c deleted file mode 100644 index 17aef1c79e..0000000000 --- a/nuttx/examples/usbserial/main.c +++ /dev/null @@ -1,466 +0,0 @@ -/**************************************************************************** - * examples/usbserial/main.c - * - * Copyright (C) 2008, 2010 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <sys/stat.h> -#include <stdio.h> -#include <unistd.h> -#include <string.h> -#include <fcntl.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/usb/usbdev.h> -#include <nuttx/usb/usbdev_trace.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#if defined(CONFIG_EXAMPLES_USBSERIAL_INONLY) && defined(CONFIG_EXAMPLES_USBSERIAL_OUTONLY) -# error "Cannot define both CONFIG_EXAMPLES_USBSERIAL_INONLY and _OUTONLY" -#endif -#if defined(CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL) && defined(CONFIG_EXAMPLES_USBSERIAL_ONLYBIG) -# error "Cannot define both CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL and _ONLYBIG" -#endif - -#if !defined(CONFIG_EXAMPLES_USBSERIAL_ONLYBIG) && !defined(CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL) -# ifndef CONFIG_EXAMPLES_USBSERIAL_OUTONLY -# define COUNTER_NEEDED 1 -# endif -#endif -#ifdef CONFIG_EXAMPLES_USBSERIAL_TRACEINIT -# define TRACE_INIT_BITS (TRACE_INIT_BIT) -#else -# define TRACE_INIT_BITS (0) -#endif - -#define TRACE_ERROR_BITS (TRACE_DEVERROR_BIT|TRACE_CLSERROR_BIT) - -#ifdef CONFIG_EXAMPLES_USBSERIAL_TRACECLASS -# define TRACE_CLASS_BITS (TRACE_CLASS_BIT|TRACE_CLASSAPI_BIT|TRACE_CLASSSTATE_BIT) -#else -# define TRACE_CLASS_BITS (0) -#endif - -#ifdef CONFIG_EXAMPLES_USBSERIAL_TRACETRANSFERS -# define TRACE_TRANSFER_BITS (TRACE_OUTREQQUEUED_BIT|TRACE_INREQQUEUED_BIT|TRACE_READ_BIT|\ - TRACE_WRITE_BIT|TRACE_COMPLETE_BIT) -#else -# define TRACE_TRANSFER_BITS (0) -#endif - -#ifdef CONFIG_EXAMPLES_USBSERIAL_TRACECONTROLLER -# define TRACE_CONTROLLER_BITS (TRACE_EP_BIT|TRACE_DEV_BIT) -#else -# define TRACE_CONTROLLER_BITS (0) -#endif - -#ifdef CONFIG_EXAMPLES_USBSERIAL_TRACEINTERRUPTS -# define TRACE_INTERRUPT_BITS (TRACE_INTENTRY_BIT|TRACE_INTDECODE_BIT|TRACE_INTEXIT_BIT) -#else -# define TRACE_INTERRUPT_BITS (0) -#endif - -#define TRACE_BITSET (TRACE_INIT_BITS|TRACE_ERROR_BITS|TRACE_CLASS_BITS|\ - TRACE_TRANSFER_BITS|TRACE_CONTROLLER_BITS|TRACE_INTERRUPT_BITS) - -#ifdef CONFIG_CPP_HAVE_VARARGS -# ifdef CONFIG_DEBUG -# define message(...) lib_lowprintf(__VA_ARGS__) -# define trmessage lib_lowprintf -# else -# define message(...) printf(__VA_ARGS__) -# define trmessage printf -# endif -#else -# ifdef CONFIG_DEBUG -# define message lib_lowprintf -# define trmessage lib_lowprintf -# else -# define message printf -# define trmessage printf -# endif -#endif - -#define IOBUFFER_SIZE 256 - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -#ifndef CONFIG_EXAMPLES_USBSERIAL_ONLYBIG -static const char g_shortmsg[] = "Hello, World!!\n"; -#endif - -#ifndef CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL -static const char g_longmsg[] = - "The Spanish Armada a Speech by Queen Elizabeth I of England\n" - "Addressed to the English army at Tilbury Fort - 1588\n" - "My loving people, we have been persuaded by some, that are careful of our " - "safety, to take heed how we commit ourselves to armed multitudes, for fear " - "of treachery; but I assure you, I do not desire to live to distrust my " - "faithful and loving people.\n" - "Let tyrants fear; I have always so behaved myself that, under God, I have " - "placed my chiefest strength and safeguard in the loyal hearts and good will " - "of my subjects. And therefore I am come amongst you at this time, not as for " - "my recreation or sport, but being resolved, in the midst and heat of the " - "battle, to live or die amongst you all; to lay down, for my God, and for " - "my kingdom, and for my people, my honour and my blood, even the dust.\n" - "I know I have but the body of a weak and feeble woman; but I have the heart " - "of a king, and of a king of England, too; and think foul scorn that Parma " - "or Spain, or any prince of Europe, should dare to invade the borders of my " - "realms: to which, rather than any dishonour should grow by me, I myself will " - "take up arms; I myself will be your general, judge, and rewarder of every " - "one of your virtues in the field.\n" - "I know already, by your forwardness, that you have deserved rewards and " - "crowns; and we do assure you, on the word of a prince, they shall be duly " - "paid you. In the mean my lieutenant general shall be in my stead, than whom " - "never prince commanded a more noble and worthy subject; not doubting by " - "your obedience to my general, by your concord in the camp, and by your " - "valour in the field, we shall shortly have a famous victory over the enemies " - "of my God, of my kingdom, and of my people.\n"; -#endif - -#ifndef CONFIG_EXAMPLES_USBSERIAL_INONLY -static char g_iobuffer[IOBUFFER_SIZE]; -#endif - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -#ifdef CONFIG_USBDEV_TRACE -static int trace_callback(struct usbtrace_s *trace, void *arg) -{ - usbtrace_trprintf((trprintf_t)trmessage, trace->event, trace->value); - return 0; -} - -static void dumptrace(void) -{ - (void)usbtrace_enumerate(trace_callback, NULL); -} -#else -# define dumptrace() -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - /* Stub that must be provided only if the toolchain does not support weak - * functions. - */ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ -#ifndef CONFIG_EXAMPLES_USBSERIAL_INONLY - int infd; -#endif -#ifndef CONFIG_EXAMPLES_USBSERIAL_OUTONLY - int outfd; -#endif -#ifdef COUNTER_NEEDED - int count = 0; -#endif - ssize_t nbytes; -#ifndef CONFIG_EXAMPLES_USBSERIAL_INONLY - int i, j, k; -#endif - int ret; - - /* Initialize the USB serial driver */ - - message("user_start: Registering USB serial driver\n"); - ret = usbdev_serialinitialize(0); - if (ret < 0) - { - message("user_start: ERROR: Failed to create the USB serial device: %d\n", -ret); - return 1; - } - message("user_start: Successfully registered the serial driver\n"); - -#if CONFIG_USBDEV_TRACE && CONFIG_USBDEV_TRACE_INITIALIDSET != 0 - /* If USB tracing is enabled and tracing of initial USB events is specified, - * then dump all collected trace data to stdout - */ - - sleep(5); - dumptrace(); -#endif - - /* Then, in any event, configure trace data collection as configured */ - - usbtrace_enable(TRACE_BITSET); - - /* Open the USB serial device for writing (blocking) */ - -#ifndef CONFIG_EXAMPLES_USBSERIAL_OUTONLY - do - { - message("user_start: Opening USB serial driver\n"); - outfd = open("/dev/ttyUSB0", O_WRONLY); - if (outfd < 0) - { - int errcode = errno; - message("user_start: ERROR: Failed to open /dev/ttyUSB0 for writing: %d\n", errcode); - - /* ENOTCONN means that the USB device is not yet connected */ - - if (errcode == ENOTCONN) - { - message("user_start: Not connected. Wait and try again.\n"); - sleep(5); - } - else - { - /* Give up on other errors */ - - message("user_start: Aborting\n"); - return 2; - } - } - - /* If USB tracing is enabled, then dump all collected trace data to stdout */ - - dumptrace(); - } - while (outfd < 0); -#endif - - /* Open the USB serial device for reading (non-blocking) */ - -#ifndef CONFIG_EXAMPLES_USBSERIAL_INONLY -#ifndef CONFIG_EXAMPLES_USBSERIAL_OUTONLY - infd = open("/dev/ttyUSB0", O_RDONLY|O_NONBLOCK); - if (infd < 0) - { - message("user_start: ERROR: Failed to open /dev/ttyUSB0 for reading: %d\n", errno); - close(outfd); - return 3; - } -#else - do - { - infd = open("/dev/ttyUSB0", O_RDONLY|O_NONBLOCK); - if (infd < 0) - { - int errcode = errno; - message("user_start: ERROR: Failed to open /dev/ttyUSB0 for reading: %d\n", errno); - - /* ENOTCONN means that the USB device is not yet connected */ - - if (errcode == ENOTCONN) - { - message("user_start: Not connected. Wait and try again.\n"); - sleep(5); - } - else - { - /* Give up on other errors */ - - message("user_start: Aborting\n"); - return 3; - } - } - - /* If USB tracing is enabled, then dump all collected trace data to stdout */ - - dumptrace(); - } - while (infd < 0); -#endif -#endif - - message("user_start: Successfully opened the serial driver\n"); - - /* Send messages and get responses -- forever */ - - for (;;) - { - /* Test IN (device-to-host) messages */ - -#ifndef CONFIG_EXAMPLES_USBSERIAL_OUTONLY -#if !defined(CONFIG_EXAMPLES_USBSERIAL_ONLYBIG) && !defined(CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL) - if (count < 8) - { - message("user_start: Saying hello\n"); - nbytes = write(outfd, g_shortmsg, sizeof(g_shortmsg)); - count++; - } - else - { - message("user_start: Reciting QEI's speech of 1588\n"); - nbytes = write(outfd, g_longmsg, sizeof(g_longmsg)); - count = 0; - } -#elif !defined(CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL) - message("user_start: Reciting QEI's speech of 1588\n"); - nbytes = write(outfd, g_longmsg, sizeof(g_longmsg)); -#else /* !defined(CONFIG_EXAMPLES_USBSERIAL_ONLYBIG) */ - message("user_start: Saying hello\n"); - nbytes = write(outfd, g_shortmsg, sizeof(g_shortmsg)); -#endif - - /* Test if the write was successful */ - - if (nbytes < 0) - { - message("user_start: ERROR: write failed: %d\n", errno); -#ifndef CONFIG_EXAMPLES_USBSERIAL_INONLY - close(infd); -#endif - close(outfd); - return 4; - } - message("user_start: %d bytes sent\n", nbytes); -#endif /* CONFIG_EXAMPLES_USBSERIAL_OUTONLY */ - - /* Test OUT (host-to-device) messages */ - -#ifndef CONFIG_EXAMPLES_USBSERIAL_INONLY - /* Poll for incoming messages */ - - message("user_start: Polling for OUT messages\n"); - for (i = 0; i < 5; i++) - { - memset(g_iobuffer, 'X', IOBUFFER_SIZE); - nbytes = read(infd, g_iobuffer, IOBUFFER_SIZE); - if (nbytes < 0) - { - int errorcode = errno; - if (errorcode != EAGAIN) - { - message("user_start: ERROR: read failed: %d\n", errno); - close(infd); -#ifndef CONFIG_EXAMPLES_USBSERIAL_OUTONLY - close(outfd); -#endif - return 6; - } - } - else - { - message("user_start: Received %d bytes:\n", nbytes); - if (nbytes > 0) - { - for (j = 0; j < nbytes; j += 16) - { - message("user_start: %03x: ", j); - for (k = 0; k < 16; k++) - { - if (k == 8) - { - message(" "); - } - if (j+k < nbytes) - { - message("%02x", g_iobuffer[j+k]); - } - else - { - message(" "); - } - } - message(" "); - for (k = 0; k < 16; k++) - { - if (k == 8) - { - message(" "); - } - if (j+k < nbytes) - { - if (g_iobuffer[j+k] >= 0x20 && g_iobuffer[j+k] < 0x7f) - { - message("%c", g_iobuffer[j+k]); - } - else - { - message("."); - } - } - else - { - message(" "); - } - } - message("\n"); - } - } - } - sleep(1); - } -#else /* CONFIG_EXAMPLES_USBSERIAL_INONLY */ - message("user_start: Waiting\n"); - sleep(5); -#endif /* CONFIG_EXAMPLES_USBSERIAL_INONLY */ - - /* If USB tracing is enabled, then dump all collected trace data to stdout */ - - dumptrace(); - } - - /* Won't get here, but if we did this what we would have to do */ - -#ifndef CONFIG_EXAMPLES_USBSERIAL_INONLY - close(infd); -#endif -#ifndef CONFIG_EXAMPLES_USBSERIAL_OUTONLY - close(outfd); -#endif - return 0; -} - diff --git a/nuttx/examples/usbstorage/Makefile b/nuttx/examples/usbstorage/Makefile deleted file mode 100644 index de69e59111..0000000000 --- a/nuttx/examples/usbstorage/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -############################################################################ -# examples/hello/Makefile -# -# Copyright (C) 2008, 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -CSRCS = usbstrg_main.c - -AOBJS = $(ASRCS:.S=$(OBJEXT)) -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/usbstorage/usbstrg.h b/nuttx/examples/usbstorage/usbstrg.h deleted file mode 100644 index 4b50dfe77e..0000000000 --- a/nuttx/examples/usbstorage/usbstrg.h +++ /dev/null @@ -1,119 +0,0 @@ -/**************************************************************************** - * examples/usbstorage/usbstrg.h - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __EXAMPLES_USBSTORAGE_USBSTRG_H -#define __EXAMPLES_USBSTORAGE_USBSTRG_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Configuration ************************************************************/ - -#ifndef CONFIG_EXAMPLES_USBSTRG_NLUNS -# define CONFIG_EXAMPLES_USBSTRG_NLUNS 1 -#endif - -#ifndef CONFIG_EXAMPLES_USBSTRG_DEVMINOR1 -# define CONFIG_EXAMPLES_USBSTRG_DEVMINOR1 0 -#endif - -#ifndef CONFIG_EXAMPLES_USBSTRG_DEVPATH1 -# define CONFIG_EXAMPLES_USBSTRG_DEVPATH1 "/dev/mmcsd0" -#endif - -#if CONFIG_EXAMPLES_USBSTRG_NLUNS > 1 -# ifndef CONFIG_EXAMPLES_USBSTRG_DEVMINOR2 -# error "CONFIG_EXAMPLES_USBSTRG_DEVMINOR2 for LUN=2" -# endif -# ifndef CONFIG_EXAMPLES_USBSTRG_DEVPATH2 -# error "CONFIG_EXAMPLES_USBSTRG_DEVPATH2 for LUN=2" -# endif -# if CONFIG_EXAMPLES_USBSTRG_NLUNS > 2 -# ifndef CONFIG_EXAMPLES_USBSTRG_DEVMINOR3 -# error "CONFIG_EXAMPLES_USBSTRG_DEVMINOR2 for LUN=3" -# endif -# ifndef CONFIG_EXAMPLES_USBSTRG_DEVPATH2 -# error "CONFIG_EXAMPLES_USBSTRG_DEVPATH2 for LUN=3" -# endif -# if CONFIG_EXAMPLES_USBSTRG_NLUNS > 3 -# error "CONFIG_EXAMPLES_USBSTRG_NLUNS must be {1,2,3}" -# endif -# endif -#endif - -/* Debug ********************************************************************/ - -#ifdef CONFIG_CPP_HAVE_VARARGS -# ifdef CONFIG_DEBUG -# define message(...) lib_lowprintf(__VA_ARGS__) -# define msgflush() -# else -# define message(...) printf(__VA_ARGS__) -# define msgflush() fflush(stdout) -# endif -#else -# ifdef CONFIG_DEBUG -# define message lib_lowprintf -# define msgflush() -# else -# define message printf -# define msgflush() fflush(stdout) -# endif -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: usbstrg_archinitialize - * - * Description: - * Perform architecture specific initialization. This function must - * configure the block device to export via USB. This function must be - * provided by architecture-specific logic in order to use this example. - * - ****************************************************************************/ - -extern int usbstrg_archinitialize(void); - -#endif /* __EXAMPLES_USBSTORAGE_USBSTRG_H */ diff --git a/nuttx/examples/usbstorage/usbstrg_main.c b/nuttx/examples/usbstorage/usbstrg_main.c deleted file mode 100644 index 47d79fbb47..0000000000 --- a/nuttx/examples/usbstorage/usbstrg_main.c +++ /dev/null @@ -1,404 +0,0 @@ -/**************************************************************************** - * examples/usbstorage/usbstrg_main.c - * - * Copyright (C) 2008-2010 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <stdio.h> -#include <unistd.h> -#include <debug.h> - -#include <nuttx/usb/usbdev.h> -#include <nuttx/usb/usbdev_trace.h> - -#include "usbstrg.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -#ifdef CONFIG_EXAMPLES_USBSTRG_TRACEINIT -# define TRACE_INIT_BITS (TRACE_INIT_BIT) -#else -# define TRACE_INIT_BITS (0) -#endif - -#define TRACE_ERROR_BITS (TRACE_DEVERROR_BIT|TRACE_CLSERROR_BIT) - -#ifdef CONFIG_EXAMPLES_USBSTRG_TRACECLASS -# define TRACE_CLASS_BITS (TRACE_CLASS_BIT|TRACE_CLASSAPI_BIT|TRACE_CLASSSTATE_BIT) -#else -# define TRACE_CLASS_BITS (0) -#endif - -#ifdef CONFIG_EXAMPLES_USBSTRG_TRACETRANSFERS -# define TRACE_TRANSFER_BITS (TRACE_OUTREQQUEUED_BIT|TRACE_INREQQUEUED_BIT|TRACE_READ_BIT|\ - TRACE_WRITE_BIT|TRACE_COMPLETE_BIT) -#else -# define TRACE_TRANSFER_BITS (0) -#endif - -#ifdef CONFIG_EXAMPLES_USBSTRG_TRACECONTROLLER -# define TRACE_CONTROLLER_BITS (TRACE_EP_BIT|TRACE_DEV_BIT) -#else -# define TRACE_CONTROLLER_BITS (0) -#endif - -#ifdef CONFIG_EXAMPLES_USBSTRG_TRACEINTERRUPTS -# define TRACE_INTERRUPT_BITS (TRACE_INTENTRY_BIT|TRACE_INTDECODE_BIT|TRACE_INTEXIT_BIT) -#else -# define TRACE_INTERRUPT_BITS (0) -#endif - -#define TRACE_BITSET (TRACE_INIT_BITS|TRACE_ERROR_BITS|TRACE_CLASS_BITS|\ - TRACE_TRANSFER_BITS|TRACE_CONTROLLER_BITS|TRACE_INTERRUPT_BITS) - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: usbstrg_enumerate - ****************************************************************************/ - -#ifdef CONFIG_USBDEV_TRACE -static int usbstrg_enumerate(struct usbtrace_s *trace, void *arg) -{ - switch (trace->event) - { - case TRACE_DEVINIT: - message("USB controller initialization: %04x\n", trace->value); - break; - - case TRACE_DEVUNINIT: - message("USB controller un-initialization: %04x\n", trace->value); - break; - - case TRACE_DEVREGISTER: - message("usbdev_register(): %04x\n", trace->value); - break; - - case TRACE_DEVUNREGISTER: - message("usbdev_unregister(): %04x\n", trace->value); - break; - - case TRACE_EPCONFIGURE: - message("Endpoint configure(): %04x\n", trace->value); - break; - - case TRACE_EPDISABLE: - message("Endpoint disable(): %04x\n", trace->value); - break; - - case TRACE_EPALLOCREQ: - message("Endpoint allocreq(): %04x\n", trace->value); - break; - - case TRACE_EPFREEREQ: - message("Endpoint freereq(): %04x\n", trace->value); - break; - - case TRACE_EPALLOCBUFFER: - message("Endpoint allocbuffer(): %04x\n", trace->value); - break; - - case TRACE_EPFREEBUFFER: - message("Endpoint freebuffer(): %04x\n", trace->value); - break; - - case TRACE_EPSUBMIT: - message("Endpoint submit(): %04x\n", trace->value); - break; - - case TRACE_EPCANCEL: - message("Endpoint cancel(): %04x\n", trace->value); - break; - - case TRACE_EPSTALL: - message("Endpoint stall(true): %04x\n", trace->value); - break; - - case TRACE_EPRESUME: - message("Endpoint stall(false): %04x\n", trace->value); - break; - - case TRACE_DEVALLOCEP: - message("Device allocep(): %04x\n", trace->value); - break; - - case TRACE_DEVFREEEP: - message("Device freeep(): %04x\n", trace->value); - break; - - case TRACE_DEVGETFRAME: - message("Device getframe(): %04x\n", trace->value); - break; - - case TRACE_DEVWAKEUP: - message("Device wakeup(): %04x\n", trace->value); - break; - - case TRACE_DEVSELFPOWERED: - message("Device selfpowered(): %04x\n", trace->value); - break; - - case TRACE_DEVPULLUP: - message("Device pullup(): %04x\n", trace->value); - break; - - case TRACE_CLASSBIND: - message("Class bind(): %04x\n", trace->value); - break; - - case TRACE_CLASSUNBIND: - message("Class unbind(): %04x\n", trace->value); - break; - - case TRACE_CLASSDISCONNECT: - message("Class disconnect(): %04x\n", trace->value); - break; - - case TRACE_CLASSSETUP: - message("Class setup(): %04x\n", trace->value); - break; - - case TRACE_CLASSSUSPEND: - message("Class suspend(): %04x\n", trace->value); - break; - - case TRACE_CLASSRESUME: - message("Class resume(): %04x\n", trace->value); - break; - - case TRACE_CLASSRDCOMPLETE: - message("Class RD request complete: %04x\n", trace->value); - break; - - case TRACE_CLASSWRCOMPLETE: - message("Class WR request complete: %04x\n", trace->value); - break; - - default: - switch (TRACE_ID(trace->event)) - { - case TRACE_CLASSAPI_ID: /* Other class driver system API calls */ - message("Class API call %d: %04x\n", TRACE_DATA(trace->event), trace->value); - break; - - case TRACE_CLASSSTATE_ID: /* Track class driver state changes */ - message("Class state %d: %04x\n", TRACE_DATA(trace->event), trace->value); - break; - - case TRACE_INTENTRY_ID: /* Interrupt handler entry */ - message("Interrrupt %d entry: %04x\n", TRACE_DATA(trace->event), trace->value); - break; - - case TRACE_INTDECODE_ID: /* Decoded interrupt trace->event */ - message("Interrrupt decode %d: %04x\n", TRACE_DATA(trace->event), trace->value); - break; - - case TRACE_INTEXIT_ID: /* Interrupt handler exit */ - message("Interrrupt %d exit: %04x\n", TRACE_DATA(trace->event), trace->value); - break; - - case TRACE_OUTREQQUEUED_ID: /* Request queued for OUT endpoint */ - message("EP%d OUT request queued: %04x\n", TRACE_DATA(trace->event), trace->value); - break; - - case TRACE_INREQQUEUED_ID: /* Request queued for IN endpoint */ - message("EP%d IN request queued: %04x\n", TRACE_DATA(trace->event), trace->value); - break; - - case TRACE_READ_ID: /* Read (OUT) action */ - message("EP%d OUT read: %04x\n", TRACE_DATA(trace->event), trace->value); - break; - - case TRACE_WRITE_ID: /* Write (IN) action */ - message("EP%d IN write: %04x\n", TRACE_DATA(trace->event), trace->value); - break; - - case TRACE_COMPLETE_ID: /* Request completed */ - message("EP%d request complete: %04x\n", TRACE_DATA(trace->event), trace->value); - break; - - case TRACE_DEVERROR_ID: /* USB controller driver error event */ - message("Controller error: %02x:%04x\n", TRACE_DATA(trace->event), trace->value); - break; - - case TRACE_CLSERROR_ID: /* USB class driver error event */ - message("Class error: %02x:%04x\n", TRACE_DATA(trace->event), trace->value); - break; - - default: - message("Unrecognized event: %02x:%02x:%04x\n", - TRACE_ID(trace->event) >> 8, TRACE_DATA(trace->event), trace->value); - break; - } - } - return OK; -} -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - /* Stub that must be provided only if the toolchain does not support weak - * functions. - */ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - void *handle; - int ret; - - /* Initialize USB trace output IDs */ - - usbtrace_enable(TRACE_BITSET); - - /* Register block drivers (architecture-specific) */ - - message("user_start: Creating block drivers\n"); - ret = usbstrg_archinitialize(); - if (ret < 0) - { - message("user_start: usbstrg_archinitialize failed: %d\n", -ret); - return 1; - } - - /* Then exports the LUN(s) */ - - message("user_start: Configuring with NLUNS=%d\n", CONFIG_EXAMPLES_USBSTRG_NLUNS); - ret = usbstrg_configure(CONFIG_EXAMPLES_USBSTRG_NLUNS, &handle); - if (ret < 0) - { - message("user_start: usbstrg_configure failed: %d\n", -ret); - usbstrg_uninitialize(handle); - return 2; - } - message("user_start: handle=%p\n", handle); - - message("user_start: Bind LUN=0 to %s\n", CONFIG_EXAMPLES_USBSTRG_DEVPATH1); - ret = usbstrg_bindlun(handle, CONFIG_EXAMPLES_USBSTRG_DEVPATH1, 0, 0, 0, false); - if (ret < 0) - { - message("user_start: usbstrg_bindlun failed for LUN 1 using %s: %d\n", - CONFIG_EXAMPLES_USBSTRG_DEVPATH1, -ret); - usbstrg_uninitialize(handle); - return 2; - } - -#if CONFIG_EXAMPLES_USBSTRG_NLUNS > 1 - - message("user_start: Bind LUN=1 to %s\n", CONFIG_EXAMPLES_USBSTRG_DEVPATH2); - ret = usbstrg_bindlun(handle, CONFIG_EXAMPLES_USBSTRG_DEVPATH2, 1, 0, 0, false); - if (ret < 0) - { - message("user_start: usbstrg_bindlun failed for LUN 2 using %s: %d\n", - CONFIG_EXAMPLES_USBSTRG_DEVPATH2, -ret); - usbstrg_uninitialize(handle); - return 3; - } - -#if CONFIG_EXAMPLES_USBSTRG_NLUNS > 2 - - message("user_start: Bind LUN=2 to %s\n", CONFIG_EXAMPLES_USBSTRG_DEVPATH3); - ret = usbstrg_bindlun(handle, CONFIG_EXAMPLES_USBSTRG_DEVPATH3, 2, 0, 0, false); - if (ret < 0) - { - message("user_start: usbstrg_bindlun failed for LUN 3 using %s: %d\n", - CONFIG_EXAMPLES_USBSTRG_DEVPATH3, -ret); - usbstrg_uninitialize(handle); - return 4; - } - -#endif -#endif - - ret = usbstrg_exportluns(handle); - if (ret < 0) - { - message("user_start: usbstrg_exportluns failed: %d\n", -ret); - usbstrg_uninitialize(handle); - return 5; - } - - /* Now just hang around and monitor the USB storage activity */ - -#ifndef CONFIG_DISABLE_SIGNALS - for (;;) - { - msgflush(); - sleep(5); - -#ifdef CONFIG_USBDEV_TRACE - message("\nuser_start: USB TRACE DATA:\n"); - ret = usbtrace_enumerate(usbstrg_enumerate, NULL); - if (ret < 0) - { - message("user_start: usbtrace_enumerate failed: %d\n", -ret); - usbstrg_uninitialize(handle); - return 6; - } -#else - message("user_start: Still alive\n"); -#endif - } -#else - message("user_start: Exiting\n"); - #endif -} - diff --git a/nuttx/examples/wget/Makefile b/nuttx/examples/wget/Makefile deleted file mode 100644 index dc00702c74..0000000000 --- a/nuttx/examples/wget/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -############################################################################ -# examples/wget/Makefile -# -# Copyright (C) 2009-2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = target.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - @make -f Makefile.host clean - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/wget/Makefile.host b/nuttx/examples/wget/Makefile.host deleted file mode 100644 index 73a1c7ce68..0000000000 --- a/nuttx/examples/wget/Makefile.host +++ /dev/null @@ -1,77 +0,0 @@ -############################################################################ -# examples/wget/Makefile.host -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -WD = ${shell pwd} -TOPDIR = $(WD)/../.. -include $(TOPDIR)/Make.defs - -OBJS = host.o1 webclient.o1 uip_parsehttpurl.o1 -BIN = wget - -HOSTCFLAGS += -DCONFIG_WEBCLIENT_HOST=1 -HOSTCFLAGS += -I. -include hostdefs.h -VPATH = $(TOPDIR)/netutils/webclient:$(TOPDIR)/netutils/uiplib:. - -all: $(BIN) -.PHONY: clean context clean_context distclean - -$(OBJS): %.o1: %.c - $(HOSTCC) -c $(HOSTCFLAGS) $< -o $@ - -apps/netutils: - @mkdir -p apps/netutils - -apps/netutils/webclient.h: apps/netutils $(TOPDIR)/include/apps/netutils/webclient.h - @cp -a $(TOPDIR)/include/apps/netutils/webclient.h apps/netutils/. - -apps/netutils/uiplib.h: apps/netutils $(TOPDIR)/include/apps/netutils/uiplib.h - @cp -a $(TOPDIR)/include/apps/netutils/uiplib.h apps/netutils/. - -nuttx: - @mkdir nuttx - -nuttx/config.h: nuttx - @touch nuttx/config.h - -headers: apps/netutils/webclient.h apps/netutils/uiplib.h nuttx/config.h - -$(BIN): headers $(OBJS) - $(HOSTCC) $(HOSTLDFLAGS) $(OBJS) -o $@ - -clean: - @rm -f $(BIN).* *.o1 *~ - @rm -rf net nuttx - - diff --git a/nuttx/examples/wget/host.c b/nuttx/examples/wget/host.c deleted file mode 100644 index a7b416db5a..0000000000 --- a/nuttx/examples/wget/host.c +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************** - * examples/wget/host.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <errno.h> - -#include <apps/netutils/webclient.h> - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: callback - ****************************************************************************/ - -static void callback(FAR char **buffer, int offset, int datend, - FAR int *buflen, FAR void *arg) -{ - (void)write(1, &((*buffer)[offset]), datend - offset); -} - -/**************************************************************************** - * Name: show_usage - ****************************************************************************/ - -static void show_usage(const char *progname, int exitcode) -{ - fprintf(stderr, "USAGE: %s <url>\n", progname); - exit(exitcode); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ -/**************************************************************************** - * Name: main - ****************************************************************************/ - -int main(int argc, char **argv, char **envp) -{ - char buffer[1024]; - int ret; - - if (argc != 2) - { - show_usage(argv[0], 1); - } - - printf("WGET: Getting %s\n", argv[1]); - ret = wget(argv[1], buffer, 1024, callback, NULL); - if (ret < 0) - { - fprintf(stderr, "WGET: wget failed: %s\n", strerror(errno)); - } - return 0; -} diff --git a/nuttx/examples/wget/hostdefs.h b/nuttx/examples/wget/hostdefs.h deleted file mode 100755 index da072d560a..0000000000 --- a/nuttx/examples/wget/hostdefs.h +++ /dev/null @@ -1,69 +0,0 @@ -/****************************************************************************
- * examples/wget/hostdefs.c
- *
- * Copyright (C) 2009 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- *****************************************************************************/
-
-#ifndef __HOSTDEFS_H
-#define __HOSTDEFS_H
-
-/****************************************************************************
- * Included Files
- *****************************************************************************/
-
-#include <stdint.h>
-#include <stdbool.h>
-#include <stdio.h>
-
-/****************************************************************************
- * Preprocessor Defintiions
- *****************************************************************************/
-
-#define HTONS(a) htons(a)
-#define HTONL(a) htonl(a)
-#define CONFIG_CPP_HAVE_WARNING 1
-#define CONFIG_HAVE_GETHOSTBYNAME 1
-#define FAR
-
-#define ndbg(...) printf(__VA_ARGS__)
-#define nvdbg(...) printf(__VA_ARGS__)
-
-#define ERROR (-1)
-#define OK (0)
-
-/****************************************************************************
- * Type Definitions
- *****************************************************************************/
-
-typedef void *(*pthread_startroutine_t)(void *);
-
-#endif /* __HOSTDEFS_H */
diff --git a/nuttx/examples/wget/target.c b/nuttx/examples/wget/target.c deleted file mode 100644 index b378e99446..0000000000 --- a/nuttx/examples/wget/target.c +++ /dev/null @@ -1,162 +0,0 @@ -/**************************************************************************** - * examples/wget/target.c - * - * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <unistd.h> - -#include <netinet/in.h> -#include <arpa/inet.h> -#include <net/if.h> - -#include <net/uip/uip.h> - -#include <apps/netutils/uiplib.h> -#include <apps/netutils/resolv.h> -#include <apps/netutils/webclient.h> - -/**************************************************************************** - * Preprocessor Definitions - ****************************************************************************/ - -/* Configuation Checks ******************************************************/ -/* BEWARE: - * There are other configuration settings needed in netutitls/wget/wgetc.s, - * but there are default values for those so we cannot check them here. - */ - -#ifndef CONFIG_EXAMPLE_WGET_IPADDR -# error "You must define CONFIG_EXAMPLE_WGET_IPADDR" -#endif - -#ifndef CONFIG_EXAMPLE_WGET_DRIPADDR -# error "You must define CONFIG_EXAMPLE_WGET_DRIPADDR" -#endif - -#ifndef CONFIG_EXAMPLE_WGET_NETMASK -# error "You must define CONFIG_EXAMPLE_WGET_NETMASK" -#endif - -#ifndef CONFIG_NET -# error "You must define CONFIG_NET" -#endif - -#ifndef CONFIG_NET_TCP -# error "You must define CONFIG_NET_TCP" -#endif - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static char g_iobuffer[512]; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ -/**************************************************************************** - * Name: callback - ****************************************************************************/ - -static void callback(FAR char **buffer, int offset, int datend, - FAR int *buflen, FAR void *arg) -{ - (void)write(1, &((*buffer)[offset]), datend - offset); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - /* Stub that must be provided only if the toolchain does not support weak - * functions. - */ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - struct in_addr addr; -#if defined(CONFIG_EXAMPLE_WGET_NOMAC) - uint8_t mac[IFHWADDRLEN]; -#endif - -/* Many embedded network interfaces must have a software assigned MAC */ - -#ifdef CONFIG_EXAMPLE_WGET_NOMAC - mac[0] = 0x00; - mac[1] = 0xe0; - mac[2] = 0xb0; - mac[3] = 0x0b; - mac[4] = 0xba; - mac[5] = 0xbe; - uip_setmacaddr("eth0", mac); -#endif - - /* Set up our host address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_WGET_IPADDR); - uip_sethostaddr("eth0", &addr); - - /* Set up the default router address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_WGET_DRIPADDR); - uip_setdraddr("eth0", &addr); - - /* Setup the subnet mask */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_WGET_NETMASK); - uip_setnetmask("eth0", &addr); - - /* Then start the server */ - - wget(CONFIG_EXAMPLE_WGET_URL, g_iobuffer, 512, callback, NULL); - return 0; -} diff --git a/nuttx/examples/wlan/Makefile b/nuttx/examples/wlan/Makefile deleted file mode 100755 index 138a86fa44..0000000000 --- a/nuttx/examples/wlan/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -############################################################################ -# examples/wlan/Makefile -# -# Copyright (C) 2011 Gregory Nutt. All rights reserved. -# Authors: Gregory Nutt <spudmonkey@racsa.co.cr> -# Rafael Noronha <rafael@pdsolucoes.com.br> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = wlan_main.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/wlan/wlan_main.c b/nuttx/examples/wlan/wlan_main.c deleted file mode 100755 index 9bfb78fa70..0000000000 --- a/nuttx/examples/wlan/wlan_main.c +++ /dev/null @@ -1,240 +0,0 @@ -/**************************************************************************** - * examples/wlan/wlan_main.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Authors: Gregory Nutt <spudmonkey@racsa.co.cr> - * Rafael Noronha <rafael@pdsolucoes.com.br> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <sys/stat.h> - -#include <stdio.h> -#include <unistd.h> -#include <fcntl.h> -#include <sched.h> -#include <errno.h> - -#include <nuttx/usb/usbhost.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ -/* Configuration ************************************************************/ - -/* Sanity checking */ - -#ifndef CONFIG_USBHOST -# error "CONFIG_USBHOST is not defined" -#endif - -#ifdef CONFIG_USBHOST_BULK_DISABLE -# error "Bulk endpoints are disabled (CONFIG_USBHOST_BULK_DISABLE)" -#endif - -#ifndef CONFIG_NFILE_DESCRIPTORS -# error "CONFIG_NFILE_DESCRIPTORS > 0 needed" -#endif - -/* Provide some default values for other configuration settings */ - -#ifndef CONFIG_EXAMPLES_WLAN_DEFPRIO -# define CONFIG_EXAMPLES_WLAN_DEFPRIO 50 -#endif - -#ifndef CONFIG_EXAMPLES_WLAN_STACKSIZE -# define CONFIG_EXAMPLES_WLAN_STACKSIZE 1024 -#endif - -#ifndef CONFIG_EXAMPLES_WLAN_DEVNAME -# define CONFIG_EXAMPLES_WLAN_DEVNAME "/dev/wlana" -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static struct usbhost_driver_s *g_drvr; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: wlan_waiter - * - * Description: - * Wait for USB devices to be connected. - * - ****************************************************************************/ - -static int wlan_waiter(int argc, char *argv[]) -{ - bool connected = false; - int ret; - - printf("wlan_waiter: Running\n"); - for (;;) - { - /* Wait for the device to change state */ - - ret = DRVR_WAIT(g_drvr, connected); - DEBUGASSERT(ret == OK); - - connected = !connected; - printf("wlan_waiter: %s\n", connected ? "connected" : "disconnected"); - - /* Did we just become connected? */ - - if (connected) - { - /* Yes.. enumerate the newly connected device */ - - (void)DRVR_ENUMERATE(g_drvr); - } - } - - /* Keep the compiler from complaining */ - - return 0; -} - -/**************************************************************************** - * Name: user_initialize - ****************************************************************************/ - -void user_initialize(void) -{ -} - -/**************************************************************************** - * Name: user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - char buffer[256]; - pid_t pid; - ssize_t nbytes; - int fd; - int ret; - - /* First, register all of the USB host Wireless LAN drivers */ - - printf("user_start: Register drivers\n"); - ret = usbhost_wlaninit(); - if (ret != OK) - { - printf("user_start: Failed to register the WLAN driver\n"); - } - - /* Then get an instance of the USB host interface */ - - printf("user_start: Initialize USB host WLAN driver\n"); - g_drvr = usbhost_initialize(0); - if (g_drvr) - { - /* Start a thread to handle device connection. */ - - printf("user_start: Start wlan_waiter\n"); - -#ifndef CONFIG_CUSTOM_STACK - pid = task_create("usbhost", CONFIG_EXAMPLES_WLAN_DEFPRIO, - CONFIG_EXAMPLES_WLAN_STACKSIZE, - (main_t)wlan_waiter, (const char **)NULL); -#else - pid = task_create("usbhost", CONFIG_EXAMPLES_WLAN_DEFPRIO, - (main_t)wlan_waiter, (const char **)NULL); -#endif - - /* Now just sleep. Eventually logic here will open the WLAN device and - * perform the device test. - */ - - for (;;) - { - /* Open the WLAN device. Loop until the device is successfully - * opened. - */ - - do - { - printf("Opening device %s\n", CONFIG_EXAMPLES_WLAN_DEVNAME); - fd = open(CONFIG_EXAMPLES_WLAN_DEVNAME, O_RDONLY); - if (fd < 0) - { - printf("Failed: %d\n", errno); - fflush(stdout); - sleep(3); - } - } - while (fd < 0); - - printf("Device %s opened\n", CONFIG_EXAMPLES_WLAN_DEVNAME); - fflush(stdout); - - /* Loop until there is a read failure */ - - do - { - /* Read a buffer of data */ - - nbytes = read(fd, buffer, 256); - if (nbytes > 0) - { - /* On success, echo the buffer to stdout */ - - (void)write(1, buffer, nbytes); - } - } - while (nbytes >= 0); - - printf("Closing device %s: %d\n", CONFIG_EXAMPLES_WLAN_DEVNAME, (int)nbytes); - fflush(stdout); - close(fd); - } - } - return 0; -} diff --git a/nuttx/tools/configure.sh b/nuttx/tools/configure.sh index e20b1cf6b0..ad82b457ec 100755 --- a/nuttx/tools/configure.sh +++ b/nuttx/tools/configure.sh @@ -146,7 +146,7 @@ if [ ! -z "${appdir}" ]; then echo "# Application configuration" >> "${TOPDIR}/.config" echo "" >> "${TOPDIR}/.config" echo "CONFIG_BUILTIN_APPS=y" >> "${TOPDIR}/.config" - echo "APPS_LOC=\"$appdir\"" >> "${TOPDIR}/.config" + echo "APPLOC=\"$appdir\"" >> "${TOPDIR}/.config" fi fi |