summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-12-13 16:52:37 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-12-13 16:52:37 +0000
commit305e0738a8b38fb53171edf1a773bbdde80fb545 (patch)
treee57667533646fa2227f609589d57454c14293003
parent1dbeb7137b593584b54bb6acbe9da4f3e5d5bf71 (diff)
downloadnuttx-305e0738a8b38fb53171edf1a773bbdde80fb545.tar.gz
nuttx-305e0738a8b38fb53171edf1a773bbdde80fb545.tar.bz2
nuttx-305e0738a8b38fb53171edf1a773bbdde80fb545.zip
update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@451 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/Documentation/NuttX.html305
-rw-r--r--nuttx/TODO403
-rwxr-xr-xnuttx/tools/zipme.sh11
3 files changed, 342 insertions, 377 deletions
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html
index d795e086e..c41911899 100644
--- a/nuttx/Documentation/NuttX.html
+++ b/nuttx/Documentation/NuttX.html
@@ -51,6 +51,10 @@
</tr>
<tr>
<td><img src="favicon.ico"></td>
+ <td><a href="#TODO">Bugs, Issues, <i>Things-To-Do</i></a></td>
+</tr>
+<tr>
+ <td><img src="favicon.ico"></td>
<td><a href="#documentation">Other Documentation</a></td>
</tr>
<tr>
@@ -642,11 +646,18 @@ Other memory:
</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="#olderreleases">Change Logs for Older Releases</a><br>
+ <a href="ChangeLog.txt">Change Logs for all releases</a><br>
</td>
</tr>
<tr>
@@ -666,276 +677,6 @@ Other memory:
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
- <a name="olderreleases">Change Logs for Older Releases</a>
- </td>
- </tr>
-</table>
-
-<ul><pre>
-0.1.0 2007-03-09 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * Initial Release
- * Support for Linux user mode simulation and TI
- TMS320C5471 (Arm7) provided
-
-0.1.1 2007-03-14 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * Corrected an error in interrupt level context switching
- for C5471
- * Added fgets() and gets() logic; verified c5471 console read.
- * Corrected error in reading from the C5471 serial port:
- Improper use of semaphore can cause deadlock.
- * Fixed an error in the memory cleanup: The idle task
- cannot take sempahores (because it must always be ready
- to run).
- * Tasks can now accept a configurable maximum number of
- input parameters (argc)
- * _task_init() was divided into separate functions that
- require fewer parameters. This was necessary to keep
- the stack usage down for the 8051/2 (which has only
- 256 bytes of stack).
- * Attempts to use C5471 console from interrupt handlers
- can cause errors. Added a special path for this case.
- * Refuse calls to sem_wait and sem_trywait from interrupt
- handlers. This was happening because interrupt handlers
- were calling printf-like functions.
- * Added strtok() and strtok_r()
- * Added a simple shell called nsh (see examples/nsh).
- * Platform support for 8052 is complete but not stable
- when the timer interrupt is enabled. Seems to be an
- issue when SP enters indirect address space.
- * Documentation updates
-
-0.1.2 2007-03-19 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * Add dirent.h, opendir(), readdir(), closedir(), etc.
- * Add strerror()
- * Added 'ls' command to nsh
- * Added C5471 watchdog driver
- * Fixed another bug where free() is called from IDLE task.
- Can't do this; the caller must be able to wait for access
- to memory.
- * Fixed bugs associated with debug output:
- Cannot do dbg() in middle of context switch logic.
- because it may require use of semaphores and cause
- additional context switches. lldbg() is safe.
- * Interrupt must be disabled throughout all context switches.
- * Separated C5471 serial driver; a shareable part is
- in drivers/. ; the C5471 specific part is in arch/C5471.
- serial.h defines the interface.
- * Fixed mq_receive() and mq_send() -- bad memcpy()
- * Fixed C5471 signal deliver logic: use of dbg() and
- other actions by use signal handler can alter errno.
- need to protect errno during signal handling.
- * Fixed uninitialized variable in filesystem that could
- cause various problems
- * Added a test for roundrobin scheduler.
-
-0.2.1 2007-03-22 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * Fix error in handing signed decimal in vsprintf().
- * Major restructuring of header files to get closer to
- POSIX compliance.
- * Eliminate compilation warnings that that crept into
- recent check-ins
- * Add kill()
- * Added support for POSIX timers
- * Some Documentation updates
- * Added support for the Neuros OSD / DM320
-
-0.2.2 2007-03-26 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
- * Created the configs/ directory; separated board configuration
- from processor architecture logic
- * Add memory leak detection test to examples/ostest
- * Corrected memory leak in OS pthread join logic
- * Corrected memory leaks in examples/ostest due to failures
- to join or detach from pthreads.
- * Added pthread_once(), pthread_kill(), pthread_sigmask()
- * Added pthread_barrierattr_*() APIs
- * Added pthread_barrier_init(), pthread_barrier_destroy(), and
- pthread_barrier_wait();
- * Added pthread barrier test
- * Added protection so that errno cannot be modified from
- interrupt handling.
- * sched_setparam(), sched_setscheduler() now correctly set
- errno; pthread_setscheduler() now returns the correct errno.
- * Added pthread_setschedprio().
- * Added directories to hold board-specific header files
- * Added directories to hold board-specific drivers
-
-0.2.3 2007-03-29 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * mq_receive and mq_send now return errno's appropriately
- * mq_receive and mq_send are now correctly awakened by signals.
- * Fixed an unmatched sched_lock/unlock pair in task_delete().
- * sched_lock must be called in _exit() because operation of
- task_delete() can cause pending tasks to be merged and a
- context switch to occur.
- * Added mq_timedreceive() and mq_timedsend()
- * signal mask is now inherited by both child tasks and threads.
- * Improved sharebility of stdout among pthreads (only). Nothing
- was broken, but by moving the mutual exclusion logic to a
- higher level, the printf output is more readable.
- * Fixed a bug in file system cleanup: A list was being deleted
- before the buffers contained in the list.
- * Fixed a bug in the wait-for-message-queue-not-empty logic.
- * Added a test of timed mqueue operations; detected and corrected
- some mqueue errors.
- * Identified and corrected a race condition associated with
- pthread_join. In the failure condition, memory was being
- deallocated while still in use.
-
-0.2.4 2007-04-28 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * Verfied c5471 build under Cygwin on WinXP
- * Makesystem changes to better support different SoCs.
- * Made arch/c5471/include and arch/dm320/include identical in
- preparation for merging into arch/arm
- * Logic from arch/c5471 and arch/dm320 combined into arch/arm.
- arch/c5471 and arch/dm320 are deprecated and will be removed
- when the new c5471 and dm320 logic is verified.
-
-0.2.5 2007-05-19 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * Corrected some build/configuration issues introduced with the
- last release.
- * Added support for the NXP 214x processor on the mcu123.com lpc214x
- development board (untested)
- * Added support for block devices.
- * Simulated target now exports a VFAT filesystem
- * Begin support for VFAT filesystem (missing functionalit)
- * Added mount() and umount()
- * Fix bug in memcmp return value
- * Fix errors in timeslice calculation (several places)
- * Added missing irqrestore() in timer_deletall().
- * close() was not closing the underlying device.
- * Added fsync()
- * Added strspn() and strcspn()
-
-0.2.6 2007-05-26 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * Added unlink(), mkdir(), rmdir(), and rename()
- * Fixed several serious FAT errors with oflags handling (&& instead of &)
- * Added FAT support for unlink(), mkdir(), rmdir(), and rename
- * Added FAT support for opendir(), closedir(), readdir(), seekdir(),
- telldir(), rewindir().
- * Fixed ARM compilation errors introduced in 0.2.5 (that is what I get
- for only testing on the simulation).
-
-0.2.7 2007-06-09 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * Added stat() to fs layer and to FAT
- * Fixed reference counting errors associated with mounted filesystems
- * Added fat_getattrib() and fat_setattrib()
- * Added statfs() to fs layer and to FAT
- * Correct file name extension in tools/zipme.sh
- * Fix error in dependencies in 8051/2 Makefile
- * sched/Makefile: Don't build sleep() or usleep() if signals are disabled
- * sched/sched_setparam.c: Remove redundant disabling of interrupts
- * sched/usleep.c: Fixed nsec calculation
- * lib/lib_strcspn.c: Function incorrectly named strspn().
- * examples/ostest/main.c: Errors in SDCC version of a memcpy() call
- * examples/ostest/sighand.c: Don't call fflush() if streams are disabled
- * include/limits.h, include/time.h, sched/clock_internal.h: A support for
- using selectable system timer frequency.
- * Fixed error in mountpoint related conditional compilation introduced
- in 0.2.5
- * Restructured some Makefiles to better handle enabling and disabling
- NuttX features without having so much conditional compilation in the
- source files.
- * tools/mkconfig.c: No longer depends on asprintf() and _GNU_SOURCE and
- so should now build in non-GNU, non-GLIBC environments.
- * include/nuttx/compiler.h: Fix for using SDCC with the Z80.
- * include/assert.h & arch/pjrc-8051/src/up_assert.c: SDCC does support
- __FILE__and __LINE__ (not tested)
- * examples/ostest/barrier.c: Don't call usleep() when signals are
- disabled.
-
-0.2.8 2007-07-02 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
- * tools/Makefile.mkconfig: Under Cygwin, executable has a different name
- * tools/mkdeps.sh & arch/arm/src/Makefile: Corrected a problem makeing dependencies
- * tools/zipme.sh: Force directory name to be nuttx-xx.yy.zz
- * fs/fs_opendir.c: Correct errors in semaphore usage that can cause deadlock.
- * lib/lib_getopt.c: Added getopt() support
- * examples/nsh/: NSH now supports cat, mount, umount, and mkdir. ls supports
- -l -s, and -R
- * Added basic OS support to manage environment variables: environment
- storage, cloning on task creation, sharing on pthread creation, destruction
- on thread/task exit.
- * Add environment variables APIs: environ, getenv, putenv, clearenv, setenv,
- unsetenv
- * Correct an error in realloc() when the block is extended "down" in memory.
- In this case, the old memory contents need to be copied to the new location
- and an allocated bit was not being set.
- * examples/ostest/: Added an environment variable test.
- * examples/nsh/: Break into several files.
- * lib/: Added strrchr, basename, dirname
- * examples/nsh/: Add cp, rm, rmdir, set, unset commands. echo will now print
- environment variables.
-
-0.3.0 2007-11-06 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * Imported uIP into the tree (see
- http://www.sics.se/~adam/uip/index.php/Main_Page)
- * Adding socket(), bind(), connect()
- * Added snprintf()
- * Added send() and sendto(); integrate write() and close() with socket descriptors.
- * Added recv() and recvfrom().
- * Added getsockopt() and setsockopt()
- * Documentation updated to address socket interfaces.
- * Implemented receive timeouts via setsockopt(SO_RCVTIMEO).
- * Provide support for multiple network devices
- * Implement socket ioctl() calls to set addresses
- * Added listen() and accept()
- * Added DM90x0 ethernet driver
- * ARP timer is now built into the network layer
- * Basic client functionality verified: socket(), bind(), connect(), recv(), send().
-
-0.3.1 2007-11-19 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * Separated net/uip/uip.c into several functions in several files.
- * Corrected a TCP problem where packets were dropped because there was no
- recv() in place but the packet was being ACKed. There are still TCP
- recv buffering issues, but this is part of a larger buffering issue.
- * Basic server functionality verified: listen(), accept()
- * Fix DM90x0 driver problem that caused TX overruns
- * Add strncmp()
- * Added TCP/IP read-ahead buffer to minimize failed ACKs and packet loss.
-
-0.3.2 2007-11-23 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * Add strcat() and strncat()
- * Integrated uIP micro webserver
- * Corrected a serious bug in TCP queue management
- * Fix leak in socket close logic
- * Add TX notification to driver so that it can respond faster to
- the availability of TX data.
- * Moved urgent data info into device structure.
- * TCP and ICMP protocols can now be disabled.
- * Added UDP test in examples/udp
- * Verified/debugged UDP socket(), bind(), sendto() and recvfrom() logic
- using examples/udp
- * recvfrom() and accept() now correctly return the remote address.
- * Fixed computation error in ntohl().
-
-0.3.3 2007-11-28 Gregory Nutt <spudmonkey@racsa.co.cr>
-
- * Removed unused uIP files
- * sched/, mm/, and net/ subystem debug can not be selectively enabled/disabled
- * Correct socket close logic -- needs to disconnect TCP socket on close
- * uIP webserver now seems to be fully functional
- * fs/ and lib/ subystem debug can not be selectively enabled/disabled
- * Added vsnprintf
- * Integrated uIP telnetd
- * Add missing logic to readahead buffer logic
- * examples/nettest uses larger buffers
- * Improved ACK handling in send() to better hander deferred acknowledgements
- and polling intervals. Greatly improves send performance.
-</pre></ul>
-
-<table width ="100%">
- <tr bgcolor="#e4e4e4">
- <td>
<a name="currentrelease">ChangeLog for Current Release</a>
</td>
</tr>
@@ -981,6 +722,20 @@ Other memory:
<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>
@@ -995,6 +750,14 @@ Other memory:
<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>
diff --git a/nuttx/TODO b/nuttx/TODO
index 9cd59baa3..b6dc42e69 100644
--- a/nuttx/TODO
+++ b/nuttx/TODO
@@ -1,111 +1,302 @@
-NuttX TODO List
-^^^^^^^^^^^^^^^
-
-o Task/Scheduler
-- When a tasks exits, shouldn't all of its child pthreads also be terminated?
-- Should task_delete() cause atexit() function to be called?
-- Implement sys/mman.h and functions
-- Implement sys/wait.h and functions
-- Implement priority inheritance
-- Consider implementing wait, waitpid, waitid. At present, a parent has
- no information about child tasks.
-- Several APIs do not set errno. Need to review all APIs.
-
-o Memory Managment
-- Add an option to free all memory allocated by a task when the task exits.
- This is probably not be worth the overhead for a deeply embedded system.
-- Current logic adapts size_t for 16-bit address machines vs. 32-bit address
- machines. But a small memory option should also be provided so that
- the small offset option can be used with 32-bit machines that have small
- RAM memories (like the lpc2148)
-
-o Signals
-- 'Standard' signals and signal actions are not supported.
-
-o pthreads
-- pthread_cancel(): Should implement cancellation points and pthread_testcancel()
+NuttX TODO List (Last updated December 13, 2007)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ (6) Task/Scheduler (sched/)
+ (2) Memory Managment (mm/)
+ (1) Signals (sched/, arch/)
+ (1) pthreads (sched/)
+ (1) C++ Support
+ (10) Network (net/, netutils/)
+ (2) USB (drivers/usbdev)
+ (2) Libraries (lib/)
+ (2) File system (fs/, drivers/)
+ (2) Documentation (Documentation/)
+ (3) Build system
+ (0) Applications & Tests (examples/)
+ (1) ARM (arch/arm/)
+ (0) ARM/C5471 (arch/arm/src/c5471/)
+ (1) ARM/DM320 (arch/arm/src/dm320/)
+ (2) ARM/LPC214x (arch/arm/src/lpc214x/)
+ (3) pjrc-8052 / MCS51 (arch/pjrc-8051/)
+
+
+o Task/Scheduler (sched/)
+ ^^^^^^^^^^^^^^^^^^^^^^^
+
+ Description: When a tasks exits, shouldn't all of its child pthreads also be
+ terminated?
+ Status: Open
+ Priority: Medium, required for good emulation of process/pthread model.
+
+ Description: atexit() supports registration of one function called on exit().
+ Should task_delete() also cause atexit() function to be called?
+ Status: Open
+ Priority: Low, task_delete() is non-standard and its behavior is
+ unspecified.
+
+ Description: Implement sys/mman.h and functions
+ Status: Open
+ Priority: Low
+
+ Description: Implement sys/wait.h and functions. Consider implementing wait,
+ waitpid, waitid. At present, a parent has no information about
+ child tasks.
+ Status: Open
+ Priority: Low
+
+ Description: Implement priority inheritance
+ Status: Open
+ Priority: Medium, this is a good feature for realtime systems.
+
+ Description: Several APIs do not set errno. Need to review all APIs.
+ Status: Open
+ Priority: Medium, required for standard compliance (but makes the
+ code bigger)
+
+o Memory Managment (mm/)
+ ^^^^^^^^^^^^^^^^^^^^^^
+
+ Description: Add an option to free all memory allocated by a task when the
+ task exits. This is probably not be worth the overhead for a
+ deeply embedded system.
+ Status: Open
+ Priority: Medium/Low, a good feature to prevent memory leaks but would
+ have negative impact on memory usage and code size.
+
+ Description: Current logic adapts size_t for 16-bit address machines vs.
+ 32-bit address machines. But a small memory option should also
+ be provided so that the small offset option can be used with
+ 32-bit machines that have small RAM memories (like the lpc2148)
+ Status: Open
+ Priority: High, a good feature enhancement.
+
+o Signals (sched/, arch/)
+ ^^^^^^^^^^^^^^^^^^^^^^^
+
+ Description: 'Standard' signals and signal actions are not supported.
+ (e.g., SIGINT, SIGCHLD, SIGSEGV, etc).
+ Status: Open
+ Priority: Low, required by standards but not so critical for an
+ embedded system.
+
+o pthreads (sched/)
+ ^^^^^^^^^^^^^^^^^
+
+ Description: pthread_cancel(): Should implement cancellation points and
+ pthread_testcancel()
+ Status: Open
+ Priority: Low, probably not that useful
o C++ Support
-- Need to call static constructors
-
-o Network
-- uIP's netutils/smtp, resolv, webclient -- untested
-- Should implement SOCK_RAW, SOCK_PACKET
-- uIP polling issues:
- (1) Current logic will not support multiple ethernet drivers. Each driver should
- poll on TCP connections connect on the network supported by the driver; UDP
- polling should respond with TX data only if the UDP packet is intended for the
- the network supported by the driver.
- (2) If there were multiple drivers, polling would occur at double the rate.i
- Fix by using bound IP address in TCP connection (lipaddr) and verifying that it
- is in the subnet served by the driver.
-- uIP/Socket callback logic is not thread safe. This means that a socket cannot be
- used concurrently by two threads. Minimal fix: Add mutex to support exclusion.
-- IPv6 support is incomplete
-- Incoming UDP broadcast should only be accepted if listening on INADDR_ANY(?)
-- Should add some driver call to support throttling... when there is no listener
- for new data, the driver should be throttled. Perhaps the driver should disable
- RX interrupts when throttled and re-anable on each poll time. recvfrom would,
- of course, have to un-throttle.
-- Need to standardize collection of statistics from network drivers. examples/nsh
- ifconfig command should present statistics.
-
-o USB
-- Implement USB device support
-- Implement USB bulk device
-
-o Libraries
-- sscanf() and lib_vsprintf() do not support floating point values.
-- The definition of environ in stdlib.h is bogus and will not work as it should. This
- is because the underlying representation of the environment is not an arry of pointers.
-
-o File system
-- Add chmod(), truncate().
-- FAT32: long file names
-
-o Documentation
-- Document driver/ logic
-- Document C-library APIs
+ ^^^^^^^^^^^
+
+ Description: Need to call static constructors
+ Status: Open
+ Priority: Low, depends on toolchain. Call to gcc's built-in static
+ constructor logic will probably have to be performed by
+ user logic in user_start().
+
+o Network (net/, netutils/)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Description: Several of the netutils/ apps are untested. These include
+ uIP's netutils/smtp, dhcpd, resolv, webclient. Only minimal
+ testing of the others has been performed.
+ Status: Open
+ Priority: Medium, Important but not core NuttX functionality
+
+ Description: Should implement SOCK_RAW, SOCK_PACKET
+ Status: Open
+ Priority: Low
+
+ Description: uIP polling issues / Multiple network interface support:
+ (1) Current logic will not support multiple ethernet drivers.
+ Each driver should poll on TCP connections connect on the
+ network supported by the driver; UDP polling should respond
+ with TX data only if the UDP packet is intended for the
+ the network supported by the driver.
+ (2) If there were multiple drivers, polling would occur at
+ double the rate. Fix by using bound IP address in TCP
+ connection (lipaddr) and verifying that it is in the subnet
+ served by the driver.
+ Status: Open
+ Priority: Medium, The feature is not important, but it is important
+ for NuttX to resolve the architectural issues.
+
+ Description: Sendoto() and multiple network interface support:
+ When polled, would have to assure that the destination IP
+ is on the subnet served by the polling driver.
+ Status: Open
+ Priority: Medium, The feature is not important, but it is important
+ for NuttX to resolve the architectural issues.
+
+ Description: uIP/Socket callback logic is not thread safe. This means that
+ a socket cannot be used concurrently by two threads. Minimal
+ fix: Add mutex to support exclusion for protection.
+ Status: Open
+ Priority: Low. The currently socket design cannot be use concurrently
+ by threads with out a major redesign. The feature is not
+ of great value since the use model for multi-thread sockets
+ is not common. Adding mutex support would only mask the
+ underlying issue.
+
+ Description: IPv6 support is incomplete
+ Status: Open
+ Priority: Medium
+
+ Description: Incoming UDP broadcast should only be accepted if listening on
+ INADDR_ANY(?)
+ Status: Open
+ Priority: Low
+
+ Description: Read-ahead buffers capture incoming TCP data when no user
+ thread is recv-ing the data. Should add some driver call to
+ support throttling; when there is no listener for new data, the
+ driver should be throttled. Perhaps the driver should disable
+ RX interrupts when throttled and re-anable on each poll time.
+ recvfrom would, of course, have to un-throttle.
+ Status: Open
+ Priority: Medium
+
+ Description: Need to standardize collection of statistics from network
+ drivers. examples/nsh ifconfig command should present
+ statistics.
+ Status: Open
+ Priority: Low
+
+ Description: Outgoing packets are dropped and overwritten by ARP packets
+ if the destination IP has not been mapped to a MAC. Could
+ improve send() performance by explicitly performing ARP before
+ sending the packet.
+ Status: Open
+ Priority: Medium
+
+o USB (drivers/usbdev)
+ ^^^^^^^^^^^^^^^^^^^^
+
+ Description: Implement USB device support
+ Status: Open
+ Priority: High
+
+ Description: Implement USB bulk / serial device support
+ Status: Open
+ Priority: High
+
+o Libraries (lib/)
+ ^^^^^^^^^^^^^^^^
+
+ Description: sscanf() and lib_vsprintf() do not support floating point
+ values.
+ Status: Open
+ Priority: Low
+
+ Description: The definition of environ in stdlib.h is bogus and will not
+ work as it should. This is because the underlying
+ representation of the environment is not an arry of pointers.
+ Status: Open
+ Priority: Mediam
+
+o File system (fs/, drivers/)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Description: Add chmod(), truncate().
+ Status: Open
+ Priority: Low
+
+ Description: FAT32: long file names
+ Status: Open
+ Priority: Medium
+
+o Documentation (Documentation/)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Description: Document driver/ logic
+ Status: Open
+ Priority: Low
+
+ Description: Document C-library APIs
+ Status: Open
+ Priority: Low
o Build system
-- Some names under arch are still incorrect. These should be processor architecture
- names: pjrc-8051 should be 805x
-- configs/pjrc-8051 should be configs/pjrc-87c52
-- Dependencies do not work correctly under configs/<board>/src (same as arch/<arch>/src/board).
-
-o Applications & Tests
-
-o ARM
-- Add option to use a separate stack for interrupt handling. At present,
- each interrupt executes on top of the user stack allocation making each
- user stack allocation larger than needed.
-
-o ARM/C5471
-
-o ARM/DM320
-- It seems that when a lot of debug statements are added, the system no
- longer boots. This has been diagnosed as a stack problem.. making the stack
- bigger or removing arrays on the stack fixes the problem.
-
-o ARM/LPC214x
-- Finish bringup
-- Add MMC and USB support
-
-o pjrc-8052 / MCS51
-- Current status:
- - Basic OS task management seems OK
- - Fails when interrupts enabled. The stack pointer is around 0x6e
- before the failure occurs. It looks like some issue when the
- stack pointer moves from the directly to indirectly addressable
- region (0x80 boundary).
- - Work on the 8052 is temporarily on hold
-- Use timer 0 as system timer. Timer 2 is needed for second UART.
- Logic is implemented, but there needs to be a system configuration
- to change the ticks-per-second value to match the timer interrupt
- rate
-- During build, there are several integer overflows reported:
- gmtime_r.c aroud lines 184 and 185
- clock_initialize.c at line 107
- pthread_create.c at 330
- sighand.c at 225 and 244
+ ^^^^^^^^^^^^
+
+ Description: Some names under arch are still incorrect. These should be
+ processor architecture names: pjrc-8051 should be 805x
+ Status: Open
+ Priority: Low
+
+ Description: configs/pjrc-8051 should be configs/pjrc-87c52
+ Status: Open
+ Priority: Low
+
+ Description: Dependencies do not work correctly under configs/<board>/src
+ (same as arch/<arch>/src/board).
+ Status: Open
+ Priority: Medium
+
+o Applications & Tests (examples/)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+o ARM (arch/arm/)
+ ^^^^^^^^^^^^^^^
+
+ Description: Add option to use a separate stack for interrupt handling. At
+ present, each interrupt executes on top of the user stack
+ allocation making each user stack allocation larger than needed.
+ Status: Open
+ Priority: Medim
+
+o ARM/C5471 (arch/arm/src/c5471/)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+o ARM/DM320 (arch/arm/src/dm320/)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Description: config/ntos-dm320: It seems that when a lot of debug statements
+ are added, the system no longer boots. This is suspected to be
+ a stack problem: Making the stack bigger or removing arrays on
+ the stack seems to fix the problem (might also be the
+ bootloader overwriting memory)
+ Status: Open
+ Priority: Mediam
+
+o ARM/LPC214x (arch/arm/src/lpc214x/)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Description: Finish bringup
+ Status: Open
+ Priority: High
+
+ Description: Add MMC and USB support
+ Status: Open
+ Priority: Mediam
+
+o pjrc-8052 / MCS51 (arch/pjrc-8051/)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Description: Current status:
+ - Basic OS task management seems OK
+ - Fails when interrupts enabled. The stack pointer is around
+ 0x6e before the failure occurs. It looks like some issue
+ when the stack pointer moves from the directly to indirectly
+ addressable region (0x80 boundary).
+ - Work on the 8052 is temporarily on hold
+ Status: Open
+ Priority: Low, 8051 is a tough platform because of the tiny stack.
+
+ Description: Use timer 0 as system timer. Timer 2 is needed for second UART.
+ Logic is implemented, but there needs to be a system
+ configuration to change the ticks-per-second value to match the
+ timer interrupt rate
+ Status: Open
+ Priority: Low
+
+ Description: During build, there are several integer overflows reported:
+ gmtime_r.c aroud lines 184 and 185
+ clock_initialize.c at line 107
+ pthread_create.c at 330
+ sighand.c at 225 and 244
+ Status: Open
+ Priority: Medium
diff --git a/nuttx/tools/zipme.sh b/nuttx/tools/zipme.sh
index 382305d68..3200384cf 100755
--- a/nuttx/tools/zipme.sh
+++ b/nuttx/tools/zipme.sh
@@ -113,8 +113,19 @@ for dir in ${GARBAGEDIRS}; do
rm -rf ${NUTTX}/${dir}
done
+# Make sure that all of the necessary soft links are in place
+
+cd ${NUTTX}/Documentation || \
+ { echo "Failed to cd to ${NUTTX}/Documentation" ; exit 1 ; }
+
+ln -sf ../TODO TODO.txt
+ln -sf ../ChangeLog ChangeLog.txt
+
# Perform a full clean for the distribution
+cd ${PROJECTS} || \
+ { echo "Failed to cd to ${PROJECTS}" ; exit 1 ; }
+
make -C ${NUTTX} distclean
# Remove any previous tarballs