Skip to content
Snippets Groups Projects
NuttX.html 74.7 KiB
Newer Older
      for the NXP LPC214x, STMicro STR71x, and Luminary LMS6918 ARM ports.
      (but could easily be extended to any other GCC-based platform with a small effort).
    </p>
patacongo's avatar
patacongo committed
  <td valign="top"><img height="20" width="20" src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
patacongo's avatar
patacongo committed
    <b>Other Environments?
    Windows Native <code>make</code> + Windows Native Toolchain?</b>
patacongo's avatar
patacongo committed
      <b>Environment Dependencies</b>.
patacongo's avatar
patacongo committed
      The primary environmental dependency of NuttX are (1) GNU make,
patacongo's avatar
patacongo committed
      (2) bash scripting, and (3) Linux utilities (such as cat, sed, etc.).
      If you have other platforms that support GNU make or make
      utilities that are compatible with GNU make, then it is very
patacongo's avatar
patacongo committed
      likely that NuttX would work in that environment as well (with some
      porting effort). If GNU make is not supported, then some significant
      modification of the Make system would be required.
patacongo's avatar
patacongo committed
    <p>
     <b>GNUWin32</b>.
      For example, with suitable make system changes, it should be possible to
      use native GNU tools (such as those from
      <a href="http://sourceforge.net/projects/gnuwin32/">GNUWin32</a>)
      to build NuttX.
      However, that environment has not been used as of this writing.
   </p>
patacongo's avatar
patacongo committed
      <p><small>
        NOTE: One of the members on the <a href="http://tech.groups.yahoo.com/group/nuttx/">NuttX forum</a>
        reported that they successful built NuttX using such a GNUWin32-based, Windows native environment.
        They reported that the only necessary change was to the use the NTFS mklink command to create links
        (see <code>tools/winlink.sh</code> script).
      </small></p>
patacongo's avatar
patacongo committed
<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="footprint"><h1>Memory Footprint</h1></a>
  </td>
  </tr>
</table>
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
<ul>
<p><b>C5471 (ARM7)</b>
patacongo's avatar
patacongo committed
  The build for this ARM7 target that includes most of the OS features and
  a broad range of OS tests.  The size of this executable as given by the
  Linux <tt>size</tt> command is (3/9/07):
patacongo's avatar
patacongo committed
<pre>
   text    data     bss     dec     hex filename
  53272     428    3568   57268    dfb4 nuttx
</pre>
<p><b>DM320 (ARM9)</b>
patacongo's avatar
patacongo committed
  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, apps/examples/nettest)
</p>
<pre>
   text    data     bss     dec     hex filename
patacongo's avatar
patacongo committed
  49472     296    3972   53740    d1ec nuttx
patacongo's avatar
patacongo committed
<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, apps/examples/uip)
patacongo's avatar
patacongo committed
</p>
<pre>
   text    data     bss     dec     hex filename
  52040      72    4148   56260    dbc4 nuttx
</pre>
patacongo's avatar
patacongo committed
<p><b>87C52</b>
  A reduced functionality OS test for the 8052 target requires only
  about 18-19Kb:
<pre>
Stack starts at: 0x21 (sp set to 0x20) with 223 bytes available.

Other memory:
   Name             Start    End      Size     Max
   ---------------- -------- -------- -------- --------
   PAGED EXT. RAM                         0      256
   EXTERNAL RAM     0x0100   0x02fd     510     7936
   ROM/EPROM/FLASH  0x2100   0x6e55   19798    24384
</pre>
patacongo's avatar
patacongo committed
</ul>
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="licensing"><h1>Licensing</h1></a>
  </td>
  </tr>
</table>
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
<ul>
<p>
  NuttX is available under the highly permissive
patacongo's avatar
patacongo committed
  <a href="http://en.wikipedia.org/wiki/BSD_license">BSD license</a>.
patacongo's avatar
patacongo committed
  Other than some fine print that you agree to respect the copyright
patacongo's avatar
patacongo committed
  you should feel absolutely free to use NuttX in any environment and
  without any concern for jeopardizing any proprietary software that
patacongo's avatar
patacongo committed
  you may link with it.
</p>
</ul>
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="history"><h1>Release History</h1></a>
  </td>
  </tr>
</table>
patacongo's avatar
patacongo committed
<ul>
<p>
   The current NuttX Change Log is available in SVN <a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/nuttx/ChangeLog?view=log">here</a>.
patacongo's avatar
patacongo committed
   ChangeLog snapshots associated with the current release are available below.
</p>
</ul>

patacongo's avatar
patacongo committed
<center><table width ="80%">
<tr>
patacongo's avatar
patacongo committed
  <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
patacongo's avatar
patacongo committed
   <td>
patacongo's avatar
patacongo committed
      <a href="ChangeLog.txt">Change Logs for All NuttX Releases</a><br>
patacongo's avatar
patacongo committed
   </td>
</tr>
<tr>
patacongo's avatar
patacongo committed
  <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
patacongo's avatar
patacongo committed
   <td>
patacongo's avatar
patacongo committed
      <a href="#currentrelease">ChangeLog for the Current Releases</a><br>
patacongo's avatar
patacongo committed
   </td>
</tr>
<tr>
patacongo's avatar
patacongo committed
  <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
patacongo's avatar
patacongo committed
   <td>
      <a href="#pendingchanges">Unreleased Changes</a>
   </td>
</tr>
</table></center>

patacongo's avatar
patacongo committed
<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
patacongo's avatar
patacongo committed
    <a name="currentrelease">ChangeLog for the Current Release</a>
patacongo's avatar
patacongo committed
  </td>
  </tr>
</table>

patacongo's avatar
patacongo committed
nuttx-6.4 2011-06-06 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;

    * lib/drivers/cc1101: Add initial, functional CC1101 wireless driver
      (contributed by Uros Platise)
    * arch/mips and configs/pcblogic-pic32mx: The MicroChip PIC32MX port is now
      code complete and ready to begin testing.  Unfortunately, it looks like
      testing will be delayed due to tool issues (My PICkit 2 will not work the
      the MPLAB debugger on PIC32; I will need to get a PICkit 3).
    * drivers/net/e1000.c/h: A PCI-based E1000 ethernet driver submitted
      by Yu Qiang.
    * lib/net/lib_inetaddr.c: An implementation of the inet_addr() function
      submitted by Yu Qiang.
    * arch/arm/src/lpc31xx and arch/arm/include/lpc31xx:  Renamed from lpc313x
      to make name space for other famiy members.
    * arch/arm/*/lpc31xx: Added support for the LPC315x family (untested).
    * sched/task_exithook.c: Functionality performed when a task exits or is
      deleted has been moved to a common file task_exithook.c.  Now exit()
      functionality (like flushing I/O and calling registered atexit()
      functions, etc.) will be performed when a task is deleted as well.
    * mm/:  Added support for CONFIG_MM_SMALL. Each memory allocation has a
      small allocation overhead.  The size of that overhead is normally
      determined by the "width" of the address support by the MCU.  MCUs
      that support 16-bit addressability have smaller overhead than devices
      that support 32-bit addressability.  However, there are many MCUs
      that support 32-bit addressability *but* have internal SRAM of size
      less than or equal to 64Kb.  In this case, CONFIG_MM_SMALL can be
      defined so that those MCUs will also benefit from the smaller, 16-
      bit-based allocation overhead.
    * lib/string/lib_strndup.c: Add standard strndup() library function.
    * net/getsockname.c: Added standard getsockname() to return the local
      address associated with a socket.
    * lib/stdio/lib_asprintf.c: Add asprintf()
    * configs/olimex-lpc1766stk/ftpc:  Add a configuration to support
      testing of the FTP client shell.
    * fd/fs_fdopen.c and net/net_checksd.c: Add support so that fdopen may
      be used with socket descriptors.
    * net/recvfrom.c: Fix an error found in receiving small files via FTP:
      The small file is received a buffered in the readahead buffer, then the
      socket is disconnected.  When the app calls recvfrom, the socket is
      already disconnected and the buffered data is stranded.  Now, recvfrom
      will continue to return success after the socket is disconnected until
      the readahead buffer is drained.
    * olimex-lp1766stk/ftpc/defconfig: Many configurations have the MTU 
      (CONFIG_NET_BUFSIZE) set to very small numbers, less then the minimum
      MTU size that must be supported -- 576. This can cause problems in
      some networks:  CONFIG_NET_BUFSIZE should be set to at least 576 in
      all defconfig files.  This has only been fixed in this defconfig file.

apps-6.4 2011-06-06 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;

    * nshlib/nsh_netcmds.c: If a network device name and IP address are provided
      with the ifconfig command, then this command will now set the network address.
      (Contributed by Yu Qiang).
    * netutils/ftpc: A library to support client-side FTP.
    * examples/ftpc: A simple add-on to the NSH.  From NSH, you can start
      this simple FTP shell to transfer files to/from a remote FTP server.
pascal-1.0 2011-05-15 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
patacongo's avatar
patacongo committed

    * nuttx/:  The Pascal add-on module now installs and builds under the
      apps/interpreters directory.  This means that the pascal-2.1 module is
      incompatible with will all releases of NuttX prior to nuttx-6.0 where the 
      apps/ module was introduced.
patacongo's avatar
patacongo committed

buildroot-1.10 2011-05-06 &lt;spudmonkey@racsa.co.cr&gt;

    * Add patch submitted by Dimiter Georgiev to work around problems in building
      GDB 6.8 with versions of Cygwin &gt; 1.7.
    * configs/i486-defconfig-4.3.3 - Builds an i486 cross development toolchain
      using gcc 4.3.3.  Why wouldyou want such a thing?  On Linux, of course,
      such a thing is not needed because you can use the installed GCC to build
      i486 ELF binaries.  But that will not work under Cygwin!  The Cygwin
      toolchain (and probably MinGW), build DOS MZ format executables (i.e.,
      .exe files).  That is probably not usable for most NuttX targets.
      Instead, you should use this i486-elf-gcc to generate true ELF binaries
      under Cygwin.
    * Makefile - Alter copy arguments to avoid permissions problems when
      copying NuttX header files.
    * toolchain/nxflat/nxflat.mk and Makefile - Fix include paths.
    * toolchain/gcc/3.3.6 - Added a patch to fixed compilation error on Ubuntu
      9.10.
    * toolchain/nxflat/Makefile - Correct static library link order.
    * configs/arm920t-defconfig-4.3.3 - Enable support for NXFLAT tools.
    * toolchain/binutils/2.21 and toolchain/gcc/4.5.2 - Add support for GCC
      4.5.2 with binutils 2.21.
    * configs/arm920t-eabi-defconfig-4.5.2 - Add a configuration to build a
      GCC 4.5.2 EABI ARM toolchain for the ARM920t.
</pre></ul>

<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="pendingchanges">Unreleased Changes</a>
  </td>
  </tr>
</table>

<ul><pre>
patacongo's avatar
patacongo committed
nuttx-6.5 2011-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
apps-6.5 2011-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
patacongo's avatar
patacongo committed

pascal-3.1 2011-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
patacongo's avatar
patacongo committed
buildroot-1.11 2011-xx-xx &lt;spudmonkey@racsa.co.cr&gt;
patacongo's avatar
patacongo committed
</pre></ul>

patacongo's avatar
patacongo committed
<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="TODO"><h1>Bugs, Issues, <i>Things-To-Do</i></h1></a>
  </td>
  </tr>
</table>

<ul>
<p>
   The current list of NuttX <i>Things-To-Do</i> in SVN <a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/nuttx/TODO?view=log">here</a>.
patacongo's avatar
patacongo committed
   A snapshot of the <i>To-Do</i> list associated with the current release are available <a href="TODO.txt">here</a>.
</p>
</ul>
patacongo's avatar
patacongo committed
<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="documentation"><h1>Other Documentation</h1></a>
  </td>
  </tr>
</table>
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
<ul><table>
<tr>
patacongo's avatar
patacongo committed
  <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
patacongo's avatar
patacongo committed
  <td><a href="NuttxUserGuide.html">User Guide</a></td>
patacongo's avatar
patacongo committed
</tr>
<tr>
patacongo's avatar
patacongo committed
  <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
patacongo's avatar
patacongo committed
  <td><a href="NuttxPortingGuide.html">Porting Guide</a></td>
patacongo's avatar
patacongo committed
</tr>
patacongo's avatar
patacongo committed
<tr>
patacongo's avatar
patacongo committed
  <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
patacongo's avatar
patacongo committed
  <td><a href="NuttShell.html">NuttShell (NSH)</a></td>
</tr>
patacongo's avatar
patacongo committed
<tr>
  <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
  <td><a href="NuttXNxFlat.html">NXFLAT</a> Binary Format</td>
</tr>
<tr>
  <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
  <td><a href="NXGraphicsSubsystem.html">NX Graphics Subsystem</a></td>
</tr>
patacongo's avatar
patacongo committed
<tr>
  <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
  <td><a href="NuttXDemandPaging.html">Demand Paging</a></td>
</tr>
patacongo's avatar
patacongo committed
<tr>
  <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
  <td><a href="README.html">NuttX README Files</a></td>
</tr>
patacongo's avatar
patacongo committed
<tr>
patacongo's avatar
patacongo committed
  <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
patacongo's avatar
patacongo committed
  <td><a href="ChangeLog.txt">Change Log</a></td>
</tr>
<tr>
patacongo's avatar
patacongo committed
  <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
patacongo's avatar
patacongo committed
  <td><a href="TODO.txt">To-Do List</a></td>
</tr>
<tr>
  <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
  <td><a href="UsbTrace.html">USB Device Driver Tracing</a></td>
patacongo's avatar
patacongo committed
</tr>
patacongo's avatar
patacongo committed
</center></ul>
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
<small>
<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="trademarks"><h1>Trademarks</h1></a>
  </td>
  </tr>
</table>
<ul>
  <li>ARM, ARM7 ARM7TDMI, ARM9, ARM920T, ARM926EJS Cortex-M3 are trademarks of Advanced RISC Machines, Limited.</li>
patacongo's avatar
patacongo committed
  <li>Cygwin is a trademark of Red Hat, Incorporated.</li>
  <li>Linux is a registered trademark of Linus Torvalds.</li>
  <li>Eagle-100 is a trademark of <a href=" http://www.micromint.com/">Micromint USA, LLC</a>.
patacongo's avatar
patacongo committed
  <li>LPC2148 is a trademark of NXP Semiconductors.</li>
  <li>TI is a tradename of Texas Instruments Incorporated.</li>
  <li>UNIX is a registered trademark of The Open Group.</li>
  <li>VxWorks is a registered trademark of Wind River Systems, Incorporated.</li>
patacongo's avatar
patacongo committed
  <li>ZDS, ZNEO, Z16F, Z80, and Zilog are a registered trademark of Zilog, Inc.</li>
patacongo's avatar
patacongo committed
</ul>
<p>
patacongo's avatar
patacongo committed
  NOTE: NuttX is <i>not</i> licensed to use the POSIX trademark.  NuttX uses the POSIX
  standard as a development guideline only.
patacongo's avatar
patacongo committed
</p>
</small>

patacongo's avatar
patacongo committed
</body>
</html>