summaryrefslogblamecommitdiff
path: root/nuttx/Documentation/NuttX.html
blob: a0f552e8d7d675105a045c89b25ebf624288828c (plain) (tree)
1
2
3
4
5
6
7
8
9
10




                              




                                                                        
                                       






                        
                            









                                  










                                                                   


                                  



                                                     


                                  



                                                                          


                                  



                                                              


                                  




                                                                            


                                  




                                                  


                                  


                                                              
                                                                  
       


                                  



                                                         
     

                                  



                                                                   
     












                                            
   
               


                                                         

                           
                                                          






                          



                                                                     

     
                                                          






                              
       

                                                                                   
                 
        



                                                                     


                                                      

     
                                                          






                          





                                                                                     

     
                                                          






                               

                                                                     
                                                                   

                                                                    
                                                                          





                                                                           

     
                                                          






                        


                                                                    

     
                                                          






                        


                                  

                 
 
















                                                          
                                    






               
                                  






               
                                  






               

                                                                                                     






               
                                               






               
                                       






               
                                                                                                                                                             






               
                                                                






               
                                    






               
                                                






               
                                                                                         













                                                          
                                                       






               
                                                    






               
                                                      






               
                                                                                         






               
                                       













                                                          
                                            













                                                          
                                        






               
                                              






               
                                           






               
                                    



                 























                                                                                              






                                              

   
                                                                    


                                                                                                 
                                                             
                                                                         
    
   








                                                                                          
    
   
                                                                                                
    
 






                                                        
 









                                               

                                                                       
                                                                              

        

                                                                    
        




                                               
                    




               
       
                                                                                             

                                                                                       
                                                                           

        





                                                                                 





                                                                                   
                                                                           


                    
                                                                                



        

                                               
                     









                                                                                           
                                                          


                    
                                           
        










                                               
       
                                          
                                                                                         
                                                                                              

        

                                                                         

                                                                                       

                                                                                         
        




                                               









                                                                           
                                                        


                    






                                                                                            




















                                                                                                     







                                              







                                                                     



                                                        

                                                                                       






                                               







                                                                                  
                                                           





                                                                                  
                                                                          






                                               





                      


                                                                  


                 

                                                                                    

                                                                                 
 


                        


































































































                                                                                                    

                                                                          






























                                                                                                     
                               





               

                                                                     

                                                                  


                                                                          







                        



                                                     
 
    
                      

                                                                          
                                          
    



                                                
                      



                                                                         


                                                
                                             
      








                                                                      
               

                                                                   
    









                                                                
     
 






                                              
 


                                                
                                                                     
                                                                    

                                                                     


                       
 






                                                  
 






                                                                                                                                         



                                  
                                                                        




                                  
                                                                      












                                                      
                                                              




         






                                                                                          
 
                                                             


                                                               



















                                                              
                                                                   
 
                                                                   



                                                        




                        













                                                                                                                                        



                                                            
 


                                  
                                                       


                                  
                                                             
     







                                                 
              
 








                                                






                                                                                                 
                                                                                    

     

                                                                                      


        


       
<html>
<head>
<title>NuttX</title>
</head>
<body background="backgd.gif">
<hr><hr>
<table width ="100%">
  <tr align="center" bgcolor="#e4e4e4">
    <td>
      <h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
      <p>Last Updated: May 15, 2008</p>
    </td>
  </tr>
</table>
<hr><hr>
<table width ="100%">
  <tr bgcolor="#e4e4e4">
    <td>
  <h1>Table of Contents</h1>
    </td>
  </tr>
</table>

<center><table width ="80%">
<tr>
<td>
<table>
<tr>
  <td><img src="favicon.ico"></td>
  <td>
    <a href="#overview">Overview</a>.<br>
    What is NuttX?
  </td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
  <td>
    <a href="#downloads">Downloads</a>.<br>
    Where can I get NuttX?  What is the current development status?
  </td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
  <td>
    <a href="#platforms">Supported Platforms</a>.<br>
    What target platforms has NuttX been ported to?
  </td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
  <td>
    <a href="#environments">Development Environments</a>.<br>
    What kinds of host cross-development platforms can be used with NuttX?
  </td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
  <td>
    <a href="#footprint">Memory Footprint</a>.<br>
    Just how big is it?  Do I have enough memory to use NuttX?
  </td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
  <td>
    <a href="#licensing">Licensing</a>.<br>
    Are there any licensing restrictions for the use of NuttX? (Almost none)
    Will there be problems if I link my proprietary code with NuttX? (No)
  </td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
  <td>
    <a href="#history">Release History</a><br>
    What has changed in the last release of NuttX?
    What unreleased changes are pending in CVS?
  </td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
  <td>
    <a href="#TODO">Bugs, Issues, <i>Things-To-Do</i></a>.<br>
    Software is never finished nor ever tested well enough.
    (Do you want to help develop NuttX?  If so, send me an email).
  </td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
  <td>
    <a href="#documentation">Other Documentation</a>.<br>
    What other NuttX documentation is available?
  </td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
  <td>
    <a href="#trademarks">Trademarks</a>.<br>
    Some of the words used in this document belong to other people.
  </td>
</tr>
</table>
</td>
</td>
</table></center>

<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="overview"><h1>Overview</h1></a>
  </td>
  </tr>
</table>

<p>
  <b>Goals</b>.
  Nuttx is a real timed embedded operating system (RTOS).
  Its goals are:
<p>
<center><table width="90%">
<tr>
  <td valign="top" width="18"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Small Footprint</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      Usable in all but the tightest micro-controller environments,
      The focus is on the tiny-to-small, deeply embedded environment.
    </p>
</tr>
<tr>
  <td valign="top" width="18"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Rich Feature OS Set</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      The goal is to provide implementations of most standard POSIX OS interfaces
      to support a rich, multi-threaded development environment for deeply embedded
      processors.
    </p>
      NON-GOALS: (1) It is not a goal to provide the rich level of OS
      features like those provided with Linux.
      Small footprint is more important than features.
      Standard compliance is more important than small footprint.
      (2) There is no MMU-based support for processes.
      At present, NuttX assumes a flat address space.
    </p>
</tr>
<tr>
  <td valign="top" width="18"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Highly Scalable</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      Fully scalable from tiny (8-bit) to moderate embedded (32-bit).
      Scalability with rich feature set is accomplished with:
      Many tiny source files, link from static libraries, highly configurable, use of
      weak symbols when available.
    </p>
</tr>
<tr>
  <td valign="top" width="18"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Standards Compliance</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      NuttX strives to achieve a high degree of standards compliance.
      The primary governing standards are POSIX and ANSI standards.
      Additional standard APIs from Unix and other common RTOS's are
      adopted for functionality not available under these standards
      or for functionality that is not appropriate for the deeply-embedded
      RTOS (such as <code>fork()</code>).
    </p>
    <p>
      Because of this standards conformance, software developed under other
      standard OSs (such as Linux) should port easily to NuttX.
    </p>
</tr>
<tr>
  <td valign="top" width="18"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Real-Time</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      Fully pre-emptible, fixed priority and round-robin scheduling.
    </p>
</tr>
<tr>
  <td valign="top" width="18"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Totally Open</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      Non-restrictive BSD license.
    </p>
</tr>
</table></center>

<p>
  <b>Feature Set</b>.
  Key features of NuttX include:
<p>
<center><table width="90%">

<tr>
  <td valign="top" width="18"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Standards Compliant Core Task Management</b>
  </td>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Modular, micro-kernel</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Fully pre-emptible.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Naturally scalable.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Easily extensible to new processor architectures, SoC architecture, or board architectures.
          A <a href="NuttxPortingGuide.html">Porting Guide</a> is in development.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>FIFO and round-robin scheduling.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Realtime, deterministic.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>POSIX/ANSI-like task controls, named message queues, counting semaphores, clocks/timers, signals, pthreads, environment variables, filesystem.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>VxWorks-like task management and watchdog timers.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>BSD socket interface.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Extensions to manage pre-emption.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Well documented in the NuttX <a href="NuttxUserGuide.html">User Guide</a>.</li>
    </p>
</tr>

<tr>
  <td valign="top" width="18"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>File system</b>
  </td>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Tiny in-memory, root pseudo-file-system.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Supports character and block drivers.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Network and serial driver architecture.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Mount-able volumes.  Bind mountpoint, filesystem, and block device driver.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>VFAT filesystem support.</li>
    </p>
</tr>

<tr>
  <td valign="top" width="18"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>C Library</b>
  </td>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Fully integrated into the OS.</li>
    </p>
</tr>

<tr>
  <td valign="top" width="18"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Networking</b>
  </td>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>TCP/IP, UDP, ICMP stacks.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Small footprint (based on uIP).</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>BSD compatible socket layer.</li>
    </p>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>Networking utilities.</li>
    </p>
</tr>
</table></center>

<p>
  <b>NuttX Add-Ons</b>.
  The following packages are available to extend the basic NuttX feature set:
<p>
<center><table width="90%">

<tr>
  <td valign="top" width="18"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Pascal Compiler with NuttX runtime P-Code interpreter add-on</b>
  </td>
</tr>

<tr>
  <td><br></td>
  <td>
    <p>
      <li>The Pascal add-on is available for download from the
        <a href="http://sourceforge.net/project/showfiles.php?group_id=189573">SourceForge</a>
        website.</li>
    </p>
</tr>
</table></center>

<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="downloads"><h1>Downloads</h1></a>
  </td>
  </tr>
</table>

<p>
  The 22nd release of NuttX (nuttx-0.3.11) is available for download
  from the <a href="http://sourceforge.net/project/showfiles.php?group_id=189573">SourceForge</a>
  website.
  The change log associated with the release is available <a href="#currentrelease">here</a>.
  Unreleased changes after this release are available in CVS.
  These unreleased changes are listed <a href="#pendingchanges">here</a>.
</p>
<p>
  nuttx-0.3.10 is an important bug fix release.
  This release incorporates fixes to correct critical list handling errors
  in task shutdown logic: One in timer deletion logic (timer_delete.c) and one
  in stream logic (lib_init.c).
</p>
<p>
  Additional, minor enhancements includes support to ZiLOG EZ80Acclaim
  microcontrooler (EZ80F91 chip) and configurations fot the ZiLOG z8f64200100kit (Z8F6423)
  and ez80f0910200kitg (EZ80F091) development kit.
</p>
<p>
  As usual, any feedback about bugs or suggestions for improvement would be greatly appreciated.
</p>

<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="platforms"><h1>Supported Platforms</h1></a>
  </td>
  </tr>
</table>

<center><table width="90%">
<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Linux User Mode</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      A user-mode port of NuttX to the x86 Linux platform is available.
      The purpose of this port is primarily to support OS feature development.
    </p>
    <p>
      <b>STATUS:</b>
      Does not support interrupts but is otherwise fully functional.
    </p>
   </td>
</tr>
<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>ARM7TDMI</b>.
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      <b>TI TMS320C5471</b> (also called <b>C5471</b> or <b>TMS320DA180</b> or <b>DA180</b>).
      NuttX operates on the ARM7 of this dual core processor.
      This port uses the <a href="http://www.spectrumdigital.com/">Spectrum Digital</a>
      evaluation board with a GNU arm-elf toolchain* under Linux or Cygwin.
    </p>
    <p>
      <b>STATUS:</b>
      This port is complete, verified, and included in the initial NuttX release.
    </p>
   </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      <b>NXP LPC214x</b>.
      Support is provided for the NXP LPC214x family of processors.  In particular,
      support is provided for the mcu123.com lpc214x evaluation board (LPC2148).
      This port also used the GNU arm-eld toolchain* under Linux or Cygwin.
    </p>
    <p>
      <b>STATUS:</b>
        Initial coding of this port code complete but has not yet been verified.
    </p>
  </td>
</tr>
<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>ARM926EJS</b>.
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      <b>TI TMS320DM320</b> (also called <b>DM320</b>).
      NuttX operates on the ARM9 of this dual core processor.
      This port uses the
      <a href="http://wiki.neurostechnology.com/index.php/Developer_Welcome">Neuros OSD</a>
      with a GNU arm-elf toolchain* under Linux or Cygwin.
    </p>
    <p>
      <b>STATUS:</b>
        This port is complete and verified.
    </p>
   </td>
</tr>
<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>8052 Microcontroller</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      <b>PJRC 87C52 Development Board</b>.
      This port uses the <a href="http://www.pjrc.com/">PJRC</a> 87C52 development system
      and the <a href="http://sdcc.sourceforge.net/">SDCC</a> toolchain under Linux or Cygwin.
    </p>
    <p>
     <b>STATUS:</b>
      This port is complete but not stable with timer interrupts enabled.
      There seems to be some issue when the stack pointer enters into the indirect IRAM
      address space during interrupt handling.
      This architecture has not been built in some time will likely have some compilation
      problems because of SDCC compiler differences.
    </p>
   </td>
</tr>
<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Zilog Z16F</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      <b>Zilog z16f Microncontroller</b>.
      This port use the Zilog z16f2800100zcog development kit and the Zilog
      ZDS-II Windows command line tools.
      The development environment is Cygwin under WinXP.
    </p>
    <p>
      <b>STATUS:</b>
      The initial release of support for the z16f was made available in NuttX version 0.3.7.
    </p>
   </td>
</tr>
<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Zilog eZ80Acclaim!</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      <b>Zilog eZ80Acclaim! Microncontroller</b>.
      This port uses the ZiLOG ez80f0910200kitg development kit, eZ80F091 part
      and the Zilog ZDS-II Windows command line tools.
      The development environment is Cygwin under WinXP.
    </p>
    <p>
      <b>STATUS:</b>
      This is a work in progress.  Verified ez80 support will be announced in a future NuttX release.
    </p>
   </td>
</tr>
<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Zilog Z8Encore!</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      <b>Zilog Z8Encore! Microncontroller</b>.
      This port uses the either:
    </p>
    <ul>
      <li>Zilog z8encore000zco development kit, Z8F6403 part, or</li>
      <li>Zilog z8f64200100kit development kit, Z8F6423 part</li>
    </ul>
    <p>
      and the Zilog ZDS-II Windows command line tools.
      The development environment is Cygwin under WinXP.
    </p>
    <p>
      <b>STATUS:</b>
      This release has been verified only on the ZiLOG ZDS-II Z8Encore! chip simulation
      as of nuttx-0.3.9.
    </p>
   </td>
</tr>
<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Zilog Z80</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      <b>Z80 Instruction Set Simulator</b>.
      This port uses the <a href="http://sdcc.sourceforge.net/">SDCC</a> toolchain
      under Linux or Cygwin (verified using version 2.6.0).
      This port has been verified using only a Z80 instruction simulator.
      That simulator can be found in the NuttX CVS
      <a href="http://nuttx.cvs.sourceforge.net/nuttx/misc/sims/z80sim/">here</a>.
    </p>
    <p>
     <b>STATUS:</b>
      This port is complete and stable to the extent that it can be tested
      using an instruction set simulator.
    </p>
   </td>
</tr>
<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Other ports</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      There are partial ports for the TI TMS320DM270 and for MIPS.
    </p>
   </td>
</tr>
</table></center>

<blockquote>* A highly modified <a href="http://buildroot.uclibc.org/">buildroot</a>
is available that may be used to build a NuttX-compatible arm-elf toolchain under
Linux or Cygwin.</blockquote>

<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="environments"><h1>Development Environments</h1></a>
  </td>
  </tr>
</table>

<center><table width="90%">
<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Linux + GNU make + GCC/binutils</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      The is the most natural development environment for NuttX.
      Any version of the GCC/binutils toolchain may be used.
      There is a  highly modified <a href="http://buildroot.uclibc.org/">buildroot</a>
      available for download from the
      <a href="http://sourceforge.net/project/showfiles.php?group_id=189573">NuttX SourceForge</a>
      page.
      This download may be used to build a NuttX-compatible arm-elf toolchain under Linux or Cygwin.
      Additional support for m68k, m68hc11, and m68hc12 is available in the
      <a href="http://nuttx.cvs.sourceforge.net/nuttx/misc/buildroot/">NuttX CVS</a>.
    </p>
   </td>
</tr>

<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Linux + GNU make + SDCC</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      Also very usable is the Linux environment using the 
      <a href="http://sdcc.sourceforge.net/">SDCC</a> compiler.
      The SDCC compiler provides support for the 8051/2, z80, hc08, and other microcontrollers.
      The SDCC-based logic is less well exercised and you will likely find some compilation
      issues if you use parts of NuttX with SDCC that have not been well-tested.
    </p>
   </td>
</tr>

<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Cygwin + GNU make + GCC/binutils</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      This combination works well too.
      It works just as well as the native Linux environment except
      that compilation and build times are a little longer.
      The custom NuttX buildroot referenced above may be build in
      the Cygwin environment as well.
    </p>
  </td>
</tr>

<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Cygwin + GNU make + SDCC</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
       I have never tried this combination, but it would probably work just fine.
    </p>
  </td>
</tr>

<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Cygwin + GNU make + Windows Native Toolchain</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      This is a tougher environment.
      In this case, the Windows native toolchain is unaware of the the
      Cygwin <i>sandbox</i> and, instead, operates in the native Windows environment.
      The primary difficulties with this are:
    </p>
    <ul>
      <li>
        <b>Paths</b>.
        Full paths for the native toolchain must follow Windows standards.
        For example, the path <code>/home/my\ name/nuttx/include</code> my have to be
        converted to something like <code>'C:\cygwin\home\my name\nuttx\include'</code>
        to be usable by the toolchain.
      </li>
      <p>
        Fortunately, this conversion is done simply using the <code>cygpath</code> utility.
      </p>
      <li>
        <b>Symbolic Links</b>
        NuttX depends on symbolic links to install platform-specific directories in the build system.
        On Linux, true symbolic links are used.
        On Cygwin, emulated symbolic links are used.
        Unfortunately, for native Windows applications that operate outside of the
        Cygwin <i>sandbox</i>, these symbolic links cannot be used.
      </li>
      <p>
        The NuttX make system works around this limitation by copying the platform
        specific directories in place.
        These copied directories make work a little more complex, but otherwise work well.
      </p>
    </ul>
    <p>
      At present, on the Zilog Z16F port uses a native Windows toolchain
      (the Zilog ZDS-II toolchain).
    </p.
  </td>
</tr>

<tr>
  <td valign="top"><img src="favicon.ico"></td>
  <td bgcolor="#5eaee1">
    <b>Others Environments?</b>
  </td>
</tr>
<tr>
  <td><br></td>
  <td>
    <p>
      The primary environmental dependency of NuttX are (1) GNU make,
      (2) bash scripting, and (3) Linux utilities (such as sed).
      If you have other platforms that support GNU make or make
      utilities that are compatible with GNU make, then it is very
      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.
    </p>
  </td>
</tr>
</table></center>

<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="footprint"><h1>Memory Footprint</h1></a>
  </td>
  </tr>
</table>

<ul>
<p><b>C5471 (ARM7)</b>
  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):
</p>
<pre>
   text    data     bss     dec     hex filename
  53272     428    3568   57268    dfb4 nuttx
</pre>
<p><b>DM320 (ARM9)</b>
  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)
</p>
<pre>
   text    data     bss     dec     hex filename
  49472     296    3972   53740    d1ec nuttx
</pre>
<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)
</p>
<pre>
   text    data     bss     dec     hex filename
  52040      72    4148   56260    dbc4 nuttx
</pre>
<p><b>87C52</b>
  A reduced functionality OS test for the 8052 target requires only
  about 18-19Kb:
</p>
<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>
</ul>

<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="licensing"><h1>Licensing</h1></a>
  </td>
  </tr>
</table>

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

<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="history"><h1>Release History</h1></a>
  </td>
  </tr>
</table>

<ul>
<p>
   The current NuttX Change Log is available in CVS <a href="http://nuttx.cvs.sourceforge.net/*checkout*/nuttx/nuttx/ChangeLog">here</a>.
   ChangeLog snapshots associated with the current release are available below.
</p>
</ul>

<center><table width ="80%">
<tr>
  <td><img src="favicon.ico"></td>
   <td>
      <a href="ChangeLog.txt">Change Logs for All NuttX Releases</a><br>
   </td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
   <td>
      <a href="#currentrelease">ChangeLog for Current Releases</a><br>
   </td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
   <td>
      <a href="#pendingchanges">Unreleased Changes</a>
   </td>
</tr>
</table></center>

<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="currentrelease">ChangeLog for Current Release</a>
  </td>
  </tr>
</table>

<pre><ul>
nuttx-0.3.10 2008-05-15 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;

	* Add support for the ZiLOG EZ80Acclaim microcontrooler (EZ80F91 chip).
	* Add configuration for the ZiLOG z8f64200100kit development kit, Z8F6423 part.
	* Add configuration for the ZiLOG ez80f0910200kitg development kit, EZ80F091 part.
	* Correct critical list handling errors in task shutdown logic: One in timer
	  deletion logic (timer_delete.c) and one in stream logic (lib_init.c).

pascal-0.1.2 2008-02-10 Gregory Nutt <spudmonkey@racsa.co.cr>

	* Add logic to build and link with the ZDS-II toolchain
	  use with the z16f.
	* Make sure that POFF header structures are aligned
	* Standardized POFF file format to big-endian
	* Break up large switch statements to lower complexity
	  and eliminate a compiler bug
	* Changes so that runtime compiles with SDCC.

buildroot-0.1.0 2007-03-09 &lt;spudmonkey@racsa.co.cr&gt

	* Support for arm-elf toolchain
</pre></ul>

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

<pre><ul>
nuttx-0.3.11 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;

pascal-0.1.3 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;

buildroot-0.1.1 2007-xx-xx &lt;spudmonkey@racsa.co.cr&gt

	*  Support for m68k-elf and m68hc11 toolchain
</pre></ul>

<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 CVS <a href="http://nuttx.cvs.sourceforge.net/*checkout*/nuttx/nuttx/TODO">here</a>.
   A snapshot of the <i>To-Do</i> list associated with the current release are available <a href="TODO.txt">here</a>.
</p>
</ul>
<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="documentation"><h1>Other Documentation</h1></a>
  </td>
  </tr>
</table>

<ul><table>
<tr>
  <td><img src="favicon.ico"></td>
  <td><a href="NuttxUserGuide.html">User Guide</a></td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
  <td><a href="NuttxPortingGuide.html">Porting Guide</a></td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
  <td><a href="ChangeLog.txt">Change Log</a></td>
</tr>
<tr>
  <td><img src="favicon.ico"></td>
  <td><a href="TODO.txt">To-Do List</a></td>
</tr>
</center></ul>

<small>
<table width ="100%">
  <tr bgcolor="#e4e4e4">
  <td>
    <a name="trademarks"><h1>Trademarks</h1></a>
  </td>
  </tr>
</table>
<ul>
  <li>ARM, ARM7 ARM7TDMI, ARM9, ARM926EJS are trademarks of Advanced RISC Machines, Limited.</li>
  <li>Cygwin is a trademark of Red Hat, Incorporated.</li>
  <li>Linux is a registered trademark of Linus Torvalds.</li>
  <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>
  <li>ZDS, ZNEO, Z16F, Z80, and Zilog are a registered trademark of Zilog, Inc.</li>
</ul>
<p>
  NOTE: NuttX is <i>not</i> licensed to use the POSIX trademark.  NuttX uses the POSIX
  standard as a development guideline only.
</p>
</small>

</body>
</html>