4ca8d86e71
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3295 42af7a65-404d-4744-a932-0658087f49c3
1463 lines
78 KiB
Plaintext
1463 lines
78 KiB
Plaintext
0.1.0 2007-03-09 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Initial Release
|
|
* Support for Linux user mode simulation and TI
|
|
TMS320C5471 (Arm7) provided
|
|
|
|
0.1.1 2007-03-14 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* 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 <spudmonkey@racsa.co.cr>
|
|
|
|
* 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 <spudmonkey@racsa.co.cr>
|
|
|
|
* Fix error in handing signed decimal in vsprintf().
|
|
* Major restructuring of header files to get closer to
|
|
POSIX compliance.
|
|
* Eliminate compilation warnings 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 <spudmonkey@racsa.co.cr>
|
|
* 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 <spudmonkey@racsa.co.cr>
|
|
|
|
* 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 <spudmonkey@racsa.co.cr>
|
|
|
|
* Verified 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 <spudmonkey@racsa.co.cr>
|
|
|
|
* 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 functionality)
|
|
* Added mount() and umount()
|
|
* Fix bug in memcmp return value
|
|
* Fix errors in timeslice calculation (several places)
|
|
* Added missing irqrestore() in timer_deleteall().
|
|
* close() was not closing the underlying device.
|
|
* Added fsync()
|
|
* Added strspn() and strcspn()
|
|
|
|
0.2.6 2007-05-26 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* 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 <spudmonkey@racsa.co.cr>
|
|
|
|
* 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 <spudmonkey@racsa.co.cr>
|
|
* 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 <spudmonkey@racsa.co.cr>
|
|
|
|
* 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: TCP socket(), bind(), connect(), recv(), send().
|
|
|
|
0.3.1 2007-11-19 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* 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: TCP 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 <spudmonkey@racsa.co.cr>
|
|
|
|
* 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/ subsystem 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 read-ahead buffer logic
|
|
* examples/nettest uses larger buffers
|
|
* Improved ACK handling in send() to better handler deferred acknowledgements
|
|
and polling intervals. Greatly improves send performance.
|
|
|
|
0.3.4 2007-12-10 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Added and partially verified DHCP server logic (netutils/dhcpd)
|
|
* Fix BROADCAST=y compilation problems
|
|
* Fix UDP recvfrom timeout bug
|
|
* Correct processing of input UDP broadcast packets.
|
|
* Verfied basic DHCP client functionality (netutils/dhcpc)
|
|
* Implemented send() timeout logic
|
|
* Added and verified a TELNETD front end to NSH (examples/nsh)
|
|
* Add a skeleton Ethernet device driver (drivers/net/skeleton.c)
|
|
* Added C5471 Ethernet device driver (arch/arm/src/c5471/c5471_ethernet.c)
|
|
* Found and fixed several problems in uIP when compiled for ARM with optimization.
|
|
|
|
0.3.5 2007-12-18 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Added inet_ntoa() and ether_ntoa()
|
|
* Added netdev_foreach() to support traversal of registered network devices
|
|
* Added support for 'ifconfig' command to NSH (examples/nsh)
|
|
* Moved MAC and ethernet definitions to net/ethernet.h
|
|
* Fix sim and DM90x0 compilation errors introduced in 0.3.4
|
|
* Fixed errors in C5471 configuration files for examples/uip
|
|
* Modified DHCPC (netutils/dhcpc) so that it should work in environments where
|
|
there are more than one DHCPD server.
|
|
* NSH ifconfig command now shows uIP status as well (examples/nsh)
|
|
|
|
0.3.6 2008-01-06 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Changes for use with SDCC compiler
|
|
* Added a simulated z80 target
|
|
* Fix deadlock errors when using stdio but with no buffering
|
|
* Add support for Pascal P-Code interpreter
|
|
|
|
0.3.6.1 2008-01-07 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* The initial 0.3.6 release including an error that prevented
|
|
building successfully if the Pascal add-on was
|
|
was not present.
|
|
|
|
0.3.7 2008-01-31 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Added support for the Zilog Z16F using the Zilog Z16F2800100ZCOG
|
|
Development Kit.
|
|
* Add support toolchains that do not support making of dependencies
|
|
* Fix Cygwin build with spaces in directory names
|
|
* Name make system changes to deal with non-GNU toolchains (i.e., Zilog)
|
|
* Add support for Windows native toolchains that cannot follow Cygwin soft links
|
|
* Modified serial driver interface to handle hardware with non-16550A-like
|
|
interrupt architecture (like the Z16F)
|
|
* Added a "dumb" serial console driver to simplify OS bringup
|
|
* Corrected a bug that caused the errno value of one task to be clobbered
|
|
when a different task exits. Affects all architectures.
|
|
|
|
0.3.8 2008-02-10 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Added a test case to verify the Pascal P-Code interpreter
|
|
* Added /dev/zero
|
|
* 'errno' is now defined to be *get_errno_ptr() with no name conflicts
|
|
* Added lseek() and fseek()
|
|
* Integrated Pascal interpreter test case on the simulation platform. Needs
|
|
pascal-0.1.1.
|
|
* Add Pascal test case on the z16f platform. Needs pascal-0.1.2 (does not
|
|
yet work due to some tool issues).
|
|
* C buffered I/O fixes:
|
|
- Fix fflush() return value,
|
|
- Add correct fflush behavior when the FILE argument is null.
|
|
- Add logic to a correctly handle read/write access on the same FILE
|
|
- fseek() flushes read/write data when before moving the file pointer
|
|
- When read data is flushed, reposition the file pointer to account for
|
|
buffered, but unread data
|
|
* Pascal P-Code files are now standardized to big-endian for portability
|
|
* Fix a build problem with z80 and SDCC 2.7.0 (format of a map file changed)
|
|
(see bug 1887170)
|
|
* Pascal P-Code runtime now compiles with the SDCC toolchain.
|
|
* Added a generic CAN driver. This driver is untested as of this writing.
|
|
* Corrected DM320 UART configuration problem
|
|
|
|
0.3.9 2008-03-09 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Began adding support for the ZiLOG Z8Encore! microcontroller for the Z8Encore000ZCO
|
|
development board and the Z8F6403 part.
|
|
* Fix broken 'clean' target on z80sim configurations
|
|
* Re-structure arch/z80 to provide support for all ZiLOG 8-bit microcontrollers (ez8
|
|
in particular for now).
|
|
* Add support for TRS80-Model 3 based on the xtrs emulation (http://www.tim-mann.org/xtrs.html)
|
|
Per patch from Jacques Pelletier.
|
|
* In all shell scripts, change #!/bin/sh to #!/bin/bash to resolve problems in
|
|
Ubuntu where /bin/sh is a link to dash.
|
|
* Z8Encore! port verified on ZDS-II instruction set/chip simulator.
|
|
|
|
0.3.10 2008-05-15 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* 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) reported
|
|
by kwonsk.
|
|
|
|
0.3.11 2008-06-01 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Add support for recursive mutexes.
|
|
* Eliminate a memory leak -- contained watchdog instance was not being
|
|
deleted with a POSIX timer was deleted reported by kwonsk.
|
|
* Eliminate a deadlock condition in opendir() reported by kwonsk.
|
|
* Fix several FAT filesystem problems reported by kwonsk (Changes not yet
|
|
verified).
|
|
* Host simulator no longer uses Linux system calls directly; Now works with Cygwin.
|
|
* Fix an error that occurs when a POSIX timer is deleted by the timer signal handler.
|
|
* Add logic to allow the examples/ostest to be run repetitively as an endurance test.
|
|
* Add a ramdisk block driver
|
|
|
|
0.3.12 2008-08-10 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Improved solution to POSIX timer lifetime controls bug fixed in 0.3.11.
|
|
* Add test for recursive mutexes
|
|
* Correct bug in recursive mutex logic
|
|
* Add mkfifo()
|
|
* Add pipe() and test for both pipes and fifos
|
|
* Attempts to open a FIFO will now block until there is at least one writer
|
|
* Add test/Fixed errors in FIFO reader/writer interlocks
|
|
* Removed limitation: task_create() was only dup'ing 3 file descriptors (now
|
|
dups all open file descriptors).
|
|
* Added a test for redirection of stdio through pipes
|
|
* Fixed error in dup and dup2: Must call open/close methods in fs/driver so that
|
|
driver can correctly maintain open reference counts.
|
|
* Same issue on closing file descriptors in exit()
|
|
* Fixed in error in stdio flush logic. Needed ssize_t vs size_t for error
|
|
check.
|
|
* Moved all FAT related files from fs to fs/fat
|
|
* Implemented mkfatfs(), a non-standard API to create a FAT filesystem on a
|
|
block device (not yet tested).
|
|
* Added a test for mkfatfs() on a RAM disk in examples/mount and verified
|
|
basic mkfatfs functionality for FAT12.
|
|
|
|
0.3.13 2008-09-01 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* NSH: Added mkfatfs, mkfifo, sleep, usleep and nice commands
|
|
* Fixed problem with console input in Cygwin-based simulator; NSH now works
|
|
with simulator.
|
|
* NSH will now execute commands in background
|
|
* sched_get_priority_max/min returned error on SCHED_RR
|
|
* Removed duplicate getenv() implementation in /lib
|
|
* Correct detection of End-of-File in fgets
|
|
* NSH: Implemented sh and crude script handler
|
|
* Fix prototype of read() and write(). Need to use ssize_t and size_t, not
|
|
int and unsigned int.
|
|
* NSH now supports redirection of command output
|
|
* NSH can now use both telnet and serial front ends together
|
|
* NSH: $variable can be used for any command value
|
|
* Fixed an error in opendir() that could cause an assertion to fail
|
|
inappropriately.
|
|
* Correct an error in the FAT that caused files opened for writing with
|
|
O_APPEND to fail. The file was not being properly positioned to the
|
|
end of the file in that case.
|
|
* NSH now supports last exit status $?
|
|
* NSH now supports if-then[-else]-fi construct
|
|
* NSH now supports comments beginning with '#'
|
|
* NSH now supports commands to inspect and modify memory
|
|
* NSH cat command now supports multiple files on command line
|
|
* Add chdir() and getcwd()
|
|
* Fix error in getopt() when called with argc==1
|
|
* Fix error in stat() when used on the root directory
|
|
* NSH: Add cd and pwd commands and current working directory to all NSH
|
|
commands that refer to paths.
|
|
* Fix errors and warnings introduced into Linux sim build because of recent
|
|
Cygwin-based sim changes
|
|
* NSH: Add mem command to display heap usage
|
|
* Added telnet NSH configuration for Neuros OSD.
|
|
* Basic integration of concurrent telnet/serial NSH functional on Neuros
|
|
OSD.
|
|
* Fixed a critical bug that affects the way that environment variables are
|
|
shared amongst pthreads.
|
|
* uIP port enhance to support multi-threaded, concurrent socket access. So,
|
|
for example, one thread can be reading from a socket while another is
|
|
writing to the socket.
|
|
|
|
0.3.14 2008-09-08 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
* FAT FS now uses position variable in struct file. This simplifies operations
|
|
like ftell().
|
|
* fseek() needs to discard bytes buffered by ungetc().
|
|
* Corrected ftell() return value.
|
|
* Added fsetpos() and fgetpos().
|
|
* NSH: Now supports 'test' and '[' commands
|
|
* Correct error in send() timeout logic.
|
|
* Correct error in multi-threaded socket handling in send() and sendto().
|
|
Outgoing data could overwrite incoming data.
|
|
* Add support to uIP for application access to ICMP protocol stacks; Add
|
|
ping request logic.
|
|
* NSH: Add ping command
|
|
* Correct IP checksum calculation in ICMP and UDP message send logic.
|
|
* NSH: Created an HTML document and a more detailed README file describing NSH.
|
|
* Added basic TFTP client logic (netutils/tftpc).
|
|
* NSH: Add get and put commands to support TFTP get and put operations.
|
|
* NSH: Added a mkrd command that will create a RAMDISK that can be formatted
|
|
and mounted.
|
|
* Corrected a critical bug that prevent recvfrom from receiving packets from
|
|
any remote UDP port.
|
|
* NSH: Add hexadecimal dump command (xd)
|
|
* Fixed several critical bugs with regard to fat reading and writing and FAT12
|
|
accesses. Basically the FAT FS only worked with my tiny test files and test
|
|
cases. A lot of stronger FAT tested is needed!!
|
|
* Fixed another FAT bug in implementation of FAT lseek; this prohibit correct
|
|
random access to large files.
|
|
|
|
0.3.15 2008-09-20 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
* Added support for ROMFS filesystem.
|
|
* Added a simple test the ROMFS filesystem (examples/romfs)
|
|
* NSH: Use ROMFS to provide an option for a start-up script at /etc/init.d/rcS
|
|
* Add definition of BIOC_XIPBASE ioctl and implement in RAM disk block driver.
|
|
This is a low level requirement for eXecute In Place (XIP) support.
|
|
* Add a FIOC_MMAP to perform memory mapping of a file and implemented the
|
|
ioctl command in the ROMFS filesystem. This is a requirement for eXecute
|
|
In Place (XIP) support.
|
|
* Add mmap() API with restricted capability (only for XIP support)
|
|
* Extend ROMFS test at /examples/romfs to verify mmap() and XIP support.
|
|
* Add support for Intel Hex format output using objcopy
|
|
* Completed the basic port of the NXP LPC2148 on the mcu123.com board.
|
|
The basic port includes successful booting, timer interrupts, serial console,
|
|
succesfully passing the examples/ostest, and a NuttShell (NSH) configuration.
|
|
* ARM architectures now support drivers/lowconsole.c
|
|
|
|
0.3.16 2008-10-10 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
* Added header files defining a common USB device controller architecture
|
|
* Added USB device side driver for the LPC214x
|
|
* Correct the frequency of system timer interrupts in the NXP LPC214x port
|
|
(off by 20x in nuttx-0.3.15)
|
|
* Add an option to set aside a separate stack for interrupt handling (ARM only).
|
|
This is useful when memory is constrained, there are multiple tasks, and
|
|
the interrupt stack requirement is high (as when USB is enabled).
|
|
* Added USB serial class device side driver (emulates Prolific PL2303
|
|
serial-to-USB adaptor)
|
|
* Add LPC214x USB serial configuration; Add examples/usbserial test
|
|
* Added USB device side driver for the DM320 (untested at initial release)
|
|
* Fixed an error in a previous (post 0.3.15) check-in that broke the LPC214x
|
|
system timer.
|
|
* Fixed serial driver bugs related to (1) open counts and (2) recognizing
|
|
O_NONBLOCK on read.
|
|
* Fixed an error in read(); it was not setting the errno on errors returned
|
|
from the driver.
|
|
|
|
0.3.17 2008-10-28 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
* Incorporate patch "[2164503] nuttx-0.3.16 does not build for ARM with USB disabled"
|
|
* Reduced the amount of memory reserved for USB serial control requests. It
|
|
was unnecessarily large.
|
|
* Added LPC214x SPI1 driver to interface with MMC on mcu123.com board.
|
|
* Added a simple SPI-based MMC/SD block driver
|
|
* NSH: Add LPC214x-specific support to NSH; NSH now mounts any SD cards in the slot.
|
|
* FAT: Fix access to unaligned 32-bit values in partion table (start sector & size)
|
|
* Fixed a problem with a un-initialized variable in the USB serial driver.
|
|
* Added USB storage NXP LPC214x configuration
|
|
* Added a test for USB storage under examples/usbstorage
|
|
* Fixed a bug in the LPC214x USB driver: It was not properly clearing a HALTed
|
|
endpoints (other than EP) on receipt of CLEAR FEATURES request.
|
|
* Added USB storage class device side driver (BBB)
|
|
* Fixed a bug in the LPC214x USB driver: It was not properly handling request buffers
|
|
larger then the endpoint's max packet (DM320 driver also fixed, untested)
|
|
* Added logic to the USB device interface: A bit is needed to force the driver to
|
|
to terminate an IN transfer with a short packet (zero-length if necessary).
|
|
* Fix an error in the NXP LPC214x USB device driver that was causing corruption of
|
|
the request queue (M320 driver also fixed, untested)
|
|
* Correct another error in the NXP LPC214x USB device driver that caused read failures
|
|
when the request buffer size was larger than maxpacket.
|
|
* Numerous corrections/extensions to the USB tracing logic included in 0.3.16 (but
|
|
not integrated until 0.3.17)
|
|
* Fixed another bug in the NXP LPC214x USB device driver: After a stalled endpoint
|
|
is resumed (view CLEAR FEATURE), we must restart the IN (outgoing) queue.
|
|
|
|
0.3.18 2008-11-16 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
* Added port for the STMicro STR71x processor and configuration for the Olimex STR-P711
|
|
board (STR71x testing is stalled because I have been unable to get OpenOCD to
|
|
communicate with my JTAG wiggler on Linux).
|
|
* Fix race condition workaround delay in LPC214X SPI logic. This was also the cause of the
|
|
very bad MMC/SD performance.
|
|
* Began port of the Hitachi SH-1 using the SH-1/US7032EVB1 board
|
|
* Re-built all configurations that use SDCC and Zilog toolchains to make sure they still
|
|
build (they didn't, but they do now).
|
|
* Fixed several erroneous "list empty" checks in the CAN driver.
|
|
* Hitachi SH-1 passes (reduced) examples/ostest; the examples/nsh test still fails.
|
|
There are remaining instabilities that make the port un-usable. The nature of these is
|
|
not understood; the behavior is that certain SH-1 instructions stop working as advertised.
|
|
This could be a silicon problem, some pipeline issue that is not handled properly by the
|
|
gcc 3.4.5 toolchain (which has very limit SH-1 support to begin with), or perhaps with the
|
|
CMON debugger. At any rate, I have exhausted all of the energy that I am willing to put
|
|
into this cool old processor for the time being.
|
|
* Renamed configuration item CONFIG_PROC_STACK_SIZE as CONFIG_IDLETHREAD_STACKSIZE: It now
|
|
only controls the size of the stack for the IDLE thread. Added CONFIG_USERMAIN_STACKSIZE:
|
|
This is the size of stack used with the user_start() thread is created. The two stacks
|
|
no longer have to be the same.
|
|
* Add a loop device that converts a file into a block device.
|
|
* Each NSH command can not be disabled through a configuration setting. All of these
|
|
settings make the configuration of NSH potentially complex but also allow it to squeeze
|
|
into very small memory footprints.
|
|
* Added a block to character (BCH) driver. This is kind of the reverse of the loop
|
|
device; it allows you access a block device like a character device.
|
|
* Added strcasecmp() and strncasecmp()
|
|
* NSH: Added the 'dd' command
|
|
* NSH: Added the 'losetup' command
|
|
* Fixed a FAT bug: After recent changes, it would mount a (invalid) FAT file system
|
|
even if the medium is not formatted!
|
|
* Corrected two important errors in FAT lseek implementation: (1) the sectors-per-cluster
|
|
value was being reset to "1" and (2) important lseek logic was omitted when the seek
|
|
position was zero.
|
|
* Fixed a bug in getopt(). It would fail if on certain combinations of terminal argument
|
|
types.
|
|
|
|
0.3.19 2008-11-26 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
* Add poll() and select() APIs (in the initial check-in, these work only with character devices)
|
|
* Add poll() methods to /dev/null, /dev/zero, pipes, fifos, and serial drivers.
|
|
* Add examples/poll for testing poll() and select()
|
|
* Fix hostile behavior of getc, fgetc, getchar, etc.: the serial driver was waiting for a
|
|
full buffer of read data before return. This means that getc would stall when it needed
|
|
to refill the input buffer. The old behavior (read full blocks) might be useful in other
|
|
contexts, so it is still available within the driver as a configuration option.
|
|
* Implement poll() and select() support for TCP/IP sockets
|
|
* Fixed an important bug in the TCP/IP buffering logic. When TCP/IP read-ahead is enabled
|
|
and not recv() is in-place when a TCP/IP packet is received, the packet is placed into
|
|
a read-ahead buffer. However, the old contents of the read-ahead buffer were not being
|
|
cleared and old data would contaminate the newly received buffer.
|
|
* Implemented support for connection backlog. The size of the backlog is specified by the
|
|
second argument of the standard listen() API. Hooks are provided to support poll()/select()
|
|
waiting for connections, with a subsequent call to accept() to use the backlogged connection.
|
|
* Fixed a minor bug in accept(). It should allow the address and addresslen values to be NULL
|
|
* Added first-cut definition for a framebuffer interface (and simulated framebuffer for testing
|
|
purposes only)
|
|
* Added fixed precision math support
|
|
* Added some color converson routines into what may become a real graphics library someday.
|
|
* Added a framebuffer driver for the DM320 (untested on initial check-in)
|
|
* Network: add support for outgoing multicast addresses
|
|
* Added some rasterizers to the graphics library
|
|
|
|
0.4.0 2008-12-06 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
* Initial release of a tiny windowing system for NuttX
|
|
* Add fixed precision sin() and cos() (not well tested at initial check-in)
|
|
* Add an X11-based simulated framebuffer driver
|
|
* The simulated target now has an option (CONFIG_SIM_WALLTIME) that will let the simulation
|
|
run in more-or-less realtime.
|
|
* Added more extensive window support: frames, toolbars, etc.
|
|
* Added support for bitmap fonts
|
|
* Integrated the new font support with a font test in examples/nx
|
|
* Add documentation for NX graphics subsystem
|
|
|
|
0.4.1 2009-02-06 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
* Added board support for the ZiLog eZ80Acclaim! ez80f910200zco Development Kit.
|
|
* Fixed several compilation errors in fixed precision math library when built
|
|
against toolchains that do not support 64-bit type 'long long'.
|
|
* Fix errors in some function prototypes in dirent.h
|
|
* Add eZ80F91 EMAC driver
|
|
* Fix recvfrom() compilation error -- only noted under ZDS
|
|
* Updated all ARM Make.def files to work with gcc 2.4.2 (However, there are
|
|
still some build issues associated with that toolchain in use of arm-elf-objcopy
|
|
-- see the TODO.txt list for details)
|
|
* Fix problems with Z16F and eZ80 compilation introduced with recent changes.
|
|
|
|
0.4.2 2009-02-28 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* M16C: Add support for the Renesas M16C MCU and the SKP16C26 StarterKit. However,
|
|
the target cannot be built because the GNU m16c-elf-ld link fails with
|
|
the following message:
|
|
|
|
m32c-elf-ld: BFD (GNU Binutils) 2.19 assertion fail /home/Owner/projects/nuttx/buildroot/toolchain_build_m32c/binutils-2.19/bfd/elf32-m32c.c:482
|
|
|
|
Where the reference line is:
|
|
|
|
/* If the symbol is out of range for a 16-bit address,
|
|
we must have allocated a plt entry. */
|
|
BFD_ASSERT (*plt_offset != (bfd_vma) -1);
|
|
|
|
No workaround is known at this time. This is a show stopper for M16C.
|
|
|
|
* eZ80Acclaim!: Fix interrupt vectors positioning; they were being positioned
|
|
wrong by 64 bytes (Kevin Franzen).
|
|
* eZ80Acclaim!: Corrected some stack handling errors during interrupt handling
|
|
context save and restore (Kevin Franzen).
|
|
* eZ80Acclaim!: Corrected vector intialization logic (Kevin Franzen).
|
|
* eZ80Acclaim!: Corrected overflow problem in the calculation of UART baud rate
|
|
divisor, the system timer divisor, and the EMAC poll timer.
|
|
* eZ80Acclaim!: Fixed GPIO pin configuration get serial output
|
|
* eZ80Acclaim!: Correct stack overflow in ostest example configuration
|
|
* eZ80Acclaim!: Fixed restoration of interrupts state on interrupt level context swith.
|
|
|
|
0.4.3 2009-03-04 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* z8Encore! and eZ80Acclaim!: Fixed the serial driver initialization sequence
|
|
* eZ80Acclaim!: Fixed error in vector table: Missing space set aside for the
|
|
"unused" vectors. As a result, all vectors above timer4 were skewed.
|
|
* eZ80Acclaim!: Fixed logic error in UART interrupt handler.
|
|
* Many fixes in FAT file system and in NSH for correct compilation with ZDS-II
|
|
* eZ80Acclaim!: Added and verified a NuttShell (NSH) configuration.
|
|
* eZ80Acclaim!: Correct endian-ness; defconfig files said BIG endian.
|
|
* Restructured parts of the uIP port for correct compilation with ZDS-II
|
|
* eZ80Acclaim!: Complete basic integration of the eZ80F91 EMAC driver. The
|
|
driver is basically functional and should mature prior to the 0.4.3 release.
|
|
* Implemented priority inheritance logic for POSIX semaphores. Because the pthread
|
|
mutexes are built on semaphores, they will have this property as well.
|
|
|
|
0.4.4 2009-03-29 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* examples/nsh: A debug option was left on that can (and does) cause
|
|
infinite loops and stack overflows.
|
|
* net/uip: Correct calculation of checksum on ICMP ping response.
|
|
* examples/dchpd: Added a tiny DHCP server example
|
|
* net/uip: Correct UDP bind behavior. It should select a valid port number
|
|
if it receives a port number of zero.
|
|
* netutils/dhcpd: Corrrect for ZDS compiler. Fix issue with re-use of a
|
|
port number. Fixed a number of broadcast-related problems.
|
|
* eZ80Acclaim!: Add a tiny webserver configuration
|
|
* eZ80Acclaim!: Fixed an important bug in the EMAC Tx timeout logic. It was
|
|
always timing out when the load was heavy and worse, for some reason,
|
|
resetting the Tx function caused unexpected registers to be reset in
|
|
the Rcv function was well.
|
|
* Z80: Patch incorported: "[2696648] Z80: interrupt flag stored in parity bit"
|
|
(submitted by JPelletier). The is the same fix that was needed for the
|
|
eZ80 and fixed in 0.4.2.
|
|
* netutils: Added logic to support a simple wget() function
|
|
* examples/wget: Added a test for wget() (untested -- see NOTE)
|
|
* lib/strncasecmp: Fix cut'n'paste error in function name.
|
|
* NSH: Added wget command (untested -- see NOTE).
|
|
* examples/sendmail: A simple sendmail example (untested -- see NOTE)
|
|
|
|
NOTE: Features related to wget and sendmail are not tested on the target platform
|
|
in this release and, hence, most likely have problems. I don't have the correct network
|
|
setup to perform that testing now (I'm in a hotel).
|
|
|
|
0.4.5 2009-04-19 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Add an enumeration argument to the SPI chip select and status methods so
|
|
that the interface can handle more than one device.
|
|
* eZ80Acclaim!: Add a generic SPI driver for all eZ80 boards.
|
|
* Add a setmode() method to the SPI interface to handle parts with differing
|
|
mode requirements.
|
|
* include/nuttx/i2c.h: Defined a standard I2C interface
|
|
* eZ80Acclaim!: Add an I2C driver.
|
|
* eZ8Encore!: Add an I2C driver.
|
|
* Add support for the Freescale i.MX1/L architecture and a configuration for
|
|
the Freescale MX1ADS development board.
|
|
* examples/helloxx: Added a simple C++ hello world example
|
|
* include/css: Added std header files
|
|
* libxx: New C++-only directory provides support for minimal C++ applications
|
|
|
|
0.4.6 2009-05-19 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Change SPI interface so that is can accomodate interfaces where the
|
|
number of bits per word is greater an 8 (such as with many 9-bit display
|
|
interfaces). -- this might have broken a few things which will need to
|
|
be retested!
|
|
* arch/arm/src/imx: Added i.MX SPI driver
|
|
* SPI: Add a method to set the number of bits per word. Also add an
|
|
alternative interface for so that (eventually) I can phase the sndblock
|
|
and recvblock methods and replace them with a single exchange method
|
|
* Build: objcopy fails with toolchains that use newer GCC and binutils. The
|
|
following arguments need to be included in the objcopy command line "-R .note
|
|
-R .note.gnu.build-id -R .comment" This has been fixed in arch/arm/src/Makefile,
|
|
but other architectures may have the same problem. Thanks to Dave Marples
|
|
for verifying this.
|
|
* configs/eagle100/ostest: Added support for the MicroMint Eagle100 board.
|
|
This board has a Luminary LM3S6918 Cortex-M3. Added a configuration to build
|
|
examples/ostest.
|
|
* arch/arm/src/lpc214x: Add configuration option to enable fast GPIO (vs.
|
|
legacy, "slow" GPIO) for LPC214x.
|
|
* arch/arm: Restructured the arch/arm directory structure to better support ARM
|
|
and Cortex-M3.
|
|
* sched/: pthread_create() must return a (non-negated) errno value on failure.
|
|
* configs/eagle100/nsh: Add a NuttShell (NSH) configuration for the Eagle-100
|
|
|
|
0.4.7 2009-05-29 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* arch/arm/src/lm3s: Added an Ethernet driver for the LM3S6918
|
|
* configs/eagle100/nettest: Added an examples/nettest configuration for the
|
|
Micromint Eagle100 board.
|
|
* Documentation/NuttxPortingGuide.html: Added a section on NuttX device drivers.
|
|
* configs/eagle100/httpd: Added an examples/uip configuration for the
|
|
Micromint Eagle100 board.
|
|
* arch/arm/src/lm3s: Added an SSI driver for the LM3S6918
|
|
* examples/nsh: Added MMC/SD support for the LM3S6918
|
|
* arch/arm/src/lm3s: Fix logic for setting and clearing output GPIOs (critical
|
|
fix!).
|
|
* drivers/mmcsd: Found numerous errors in current MMC/SD SPI driver. Bad frequency
|
|
calculation based on CSD settings, inappropriate timeouts, odd code that looks like
|
|
a bad search and replace. Also needs support for SDHC ver 2.x. New MMC/SD is
|
|
largely redesigned and probably non-functional in the first check-in.
|
|
* drivers/mmcsd: Changes verified on 4Gb Kingston microSHDC card and on a 2Gb
|
|
SanDisk microSDC card on the Eagle100 platform.
|
|
* fs/fat: With the 4Gb card, the first tests of FAT32 were (finally) performed.
|
|
Found and corrected a problem that prevented use of FAT32: It was not updating
|
|
the sector cache before checking the FAT32 FSINFO sector.
|
|
* configs/eagle100/*/Make.defs: Added configuration options that should make
|
|
it possible to build NuttX for the Eagle100 using CodeSourcery 2009q1 toolchain
|
|
and the devkitARM GNU toolchain.
|
|
* configs/mcu123-lpc214x/src: Corrected some logic in the LPC2148 SPI receive block
|
|
logic. Re-verified SDC ver1.x support with 1Gb Toshiba SDC, 1Gb PNY SDC, and
|
|
4Gb Kingston SDHC. There are CMD0 issues with the 2Gb SanDisk SDC on this board.
|
|
* fs/fs_mount.c: Corrected error handling that could cause a deadlock on certain
|
|
mount() failures.
|
|
|
|
0.4.8 2009-06-13 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* lib/lib_*stream.c: Extend internal stream logic to support incoming streams.
|
|
* arch/arm/src/str71x: Serial output is now correct and timer interrupts are
|
|
working. The test at configs/olimex-strp711/ostest passes. This means that
|
|
the basic STR-P711 port is complete.
|
|
* configs/olimex-strp711/nsh: Add and verified a NuttShell (NSH) configuration
|
|
for the STR-P711.
|
|
* arch/arm/str71x/str71x_serial.c: The STR711 interrupt driven serial driver
|
|
finally works after some extradinary measures to handle missed interrupts.
|
|
NSH is fully functional on the Olimex STR-P711 board.
|
|
* example/nsh: Moved architecture specific files from NSH directory to board-
|
|
specific directories.
|
|
* config/olimex-strp711/src/up_nsh.c: Add an NSH board specific directory for
|
|
for the Olimex STR7P11 board.
|
|
* Fixed build of LM3X6918 using the CodeSourcery Windows native toolchain. There
|
|
were lots of issues with Cygwin paths and Cygwin symbolic links. These changes
|
|
may work with the devarmKIT as well, but that remains untested.
|
|
* The NXP LPC2148 and STR711 targets can now also be built using the CodeSourcery
|
|
or devkitARM Windows native toolchains.
|
|
|
|
0.4.9 2009-06-26 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Add strtoll() and strtoull(); Add macros for atol() and atoll().
|
|
* dup() and dup2() will now clone socket descriptors
|
|
* All socket descriptors are now cloned when a new task is started via
|
|
task_create().
|
|
* Add configuration options to suppress or eliminate cloning of file
|
|
and/or socket descriptors when a new task is started by task_create():
|
|
CONFIG_FDCLONE_DISABLE, CONFIG_FDCLONE_STDIO, CONFIG_SDCLONE_DISABLE.
|
|
* Use of C++ reserved word 'private' in C header files causes problems
|
|
for C++ that include them.
|
|
* Added 'binfmt' support to allow execution of programs in a file system,
|
|
binding to NuttX symbols. A custom format call NXFLAT is used; this
|
|
derives from http://xflat.sourceforge.net. At present is supports on
|
|
XIP execution from ROMFS file systems. Initial check-in is untested
|
|
and probably breaks many builds.
|
|
* examples/lib: Added qsort()
|
|
* examples/nxflat: Added support for symbol tables
|
|
* Correct logic that creates compiler include paths. On Cygwin, the
|
|
include paths for Cygwin-based GCC were being converted to windows
|
|
native paths. That causes many problems -- breaking dependencies
|
|
for one.
|
|
* Fixed an important bug in ROMFS. The initial XIP offset was set
|
|
incorrectly so if sector zero was read first, there was a bad read.
|
|
I don't know how it worked before.
|
|
* arch/arm/src/common/up_use_stack.c. Fixed a fatal stack setup error.
|
|
This file has been around for a long time, but I don't think it has
|
|
every been used before (i.e., prior to the NXFLAT logic)
|
|
|
|
0.4.10 2009-08-08 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* lib/: Added some basic regex-subset, pattern matching functions
|
|
* lib/: Greatly simplified mktime() and gmtime_r(). The Gregorian and
|
|
Julian time calculations were interesting, but not necessary in the
|
|
typical embeddd system.
|
|
* sched/: Added gettimeofday(). This implementation is simply a thin
|
|
wrapper around clock_gettimer().
|
|
* lib/: Add gmtime(), localtime(), and strftime()
|
|
* binfmt/: Add exec(). This is just a wrapper that executes both
|
|
load_ and exec_module() in a more familiar manner. It is not consistent
|
|
with more standard exec() functions, however, because (1) it returns
|
|
and (2) it requires symbol table arguments.
|
|
* lib/: Add fileno()
|
|
* examples/ostest: Several of the tests used a big, hard-coded stack size
|
|
when creating test threads (16Kb stacksize). The stack size should
|
|
be controlled by the .config file or the OSTest won't work on platforms
|
|
with memory constraints.
|
|
* netutils/thttpd: An initial port of Jeff Poskanzer's THTTPD HTTP server.
|
|
See http://acme.com/software/thttpd/.
|
|
* examples/thttpd: A basic test program for THTTPD
|
|
* configs/eagle100/thttpd: A build configuration for THTTPD on the Micromint
|
|
Eagle-100 LMS6918 (Cortex-M3) board.
|
|
* configs/ntosd-dm320/thttpd: A build configuration for THTTPD on the Neuros
|
|
DM320 platform.
|
|
* lib/: Added strstr() and strpbrk().
|
|
* net/recvfrom.c and net/accept(): Sockets now support some non-blocking
|
|
operations, specifically for (1) TCP/IP read operations when read-ahead
|
|
buffering is enabled, and (2) TCP/IP accept() operations when TCP/IP
|
|
connection backlog is enabled.
|
|
* fs/fs_fcntl.c and net/net_vfcntl.c: Minimal support provided for fcntl().
|
|
It can, at least, be used to mark sockets as blocking or non-blocking.
|
|
* net/net_close.c: Fix bug in close(). If reference count not set to zero
|
|
then uip_tcpfree() will assert when DEBUG is enabled.
|
|
* net/accept.c: Fix bug in accept(). The logic expected parts of the
|
|
return address structure to be initialized or it would return an error.
|
|
|
|
0.4.11 2009-09-16 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* fs/fs_read.c and fs/fs_write.c. read() and write() to socket is the
|
|
same as recv() and send() with flags = 0. Fixed!
|
|
* net/recvfrom.c: Fix errors in return value from non-blocking socket read.
|
|
* lib/lib_strcasecmp.c and lib/lib_strncasecmp.c. Use of post-incremented
|
|
argument to macro caused strcasecmp() and strncasecmp() to fail.
|
|
* lib/lib_strstr.c: Length of substring off by one causes false alarm
|
|
sub-string matches.
|
|
* arch/arm/src/lm3s/lm3s_ethernet.c: Fix errors in LMS6918 FIFO length
|
|
handling. (1) The incorrect size of the ethernet header was being
|
|
subtracted on outgoing messages (4 vs 14), which caused outgoing messages to
|
|
be a little too long. (2) The size of incoming FIFO messages is 6 bytes
|
|
larger than it expected (2 for the length and 4 for the FCS). The unhandled
|
|
extra two bytes of length cause the driver to sometimes read one too many
|
|
words from the received FIFO (corrupting the next queued receive packet,
|
|
if any).
|
|
* net/net_poll.c and net/uip/uip_tcpbacklog.c. Fixed an important race condition
|
|
bug in polling for connections. The logic worked if the poll was inplace
|
|
before the connection was received; but the poll failed to awaken if the
|
|
connection was already pending in the backlog when poll() was called.
|
|
* net/net_close.c. Fixed another important TCP/IP race condition bug: If
|
|
the host closes the TCP connection just before the target calls close(), then
|
|
the close operation may hang indefinitely!
|
|
* net/net_tcppoll.c. Removed an unnecessary check for outstanding, un-ACKed
|
|
data. The NuttX socket layer keeps track of ACKs and doesn't need this check;
|
|
removing the check should improve write throughput
|
|
* Add DEBUG configuration option to enable debug console output without disabling
|
|
optimization (and vice versa)
|
|
* Changed lots of occurrences of debug macro dbg() to lldbg(). dbg() uses
|
|
stdout to output debug data. That works fine unless (1) the dbg() macro
|
|
is interrupt logic and the interrupted task has redirected stdout! Most
|
|
changes were in uIP.
|
|
* net/uip/uip_tcpinput.c. Connection reference count was not being set correctly
|
|
when a socket is created by accepting a new connection. Since the reference
|
|
count is bad, such sockets are not successfully duplicated when being passed
|
|
to new tasks.
|
|
* net/net_clone.c. Similarly, after a socket is cloned, its reference count
|
|
was not being initialized.
|
|
* lib/lib_strstr.c. Improperly incremented pointer could cause comparison
|
|
failures.
|
|
* net/. Connection reference count must always be set to zero before calling
|
|
uip_tcpfree() or it could trigger a DEBUGASSERT that verifies that the
|
|
reference count is zero before freeing a connection structure.
|
|
* net/uip/uip_listen.c. uip_accept() consulted the wrong list to find the
|
|
listener on a socket. The previous logic worked most of the time, but
|
|
occasionally picked the wrong listener.
|
|
* net/net_close.c and net/net_sockets.c. Sockets were not being closed
|
|
when a task exits. If many server tasks are created and exit without closing
|
|
sockets (such as with CGI tasks), then eventually, you will run out of sockets.
|
|
* netutils/thttpd. Basic functionality of THTTPD is complete. This includes
|
|
serving up files from a file system and executing NXFLAT-based CGI programs
|
|
and pipe the stdout back to the HTTP client.
|
|
|
|
0.4.12 2009-10-17 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* arch/arm/src/stm32 and configs/stm3210e-eval. Added basic support for the
|
|
STMicro STM32, Cortex-M3 MCU. The specific port is to the STMicro STM3210E-EVAL
|
|
development board based around the STM32F103ZET6 MCU.
|
|
* configs/stm3210e-eval/RIDE. Added a basic STMicro RIDE7 project that can be
|
|
used to perform basic STM32 board bring-up (due to RIDE7 size limitations, it
|
|
cannot be used for the full NuttX bring-up).
|
|
* configs/stm3210e-eval/ostest. The STM32 now passes the basic NuttX OS test
|
|
at examples/ostest. The rest should be a piece of cake.
|
|
* configs/stm3210e-eval/nsh. Added NuttShell (NSH) example.
|
|
* configs/stm3210e-eval/src/stm32102e-internal.h. Fix on-board LED GPIO definitions.
|
|
* arch/arm/src/stm32/src/stm32/stm32_dma.c. Added DMA channel support for the STM32
|
|
* arch/arm/src/stm32/src/stm32/stm32_spi.c. Added a DMA-based SPI driver for the STM32.
|
|
* arch/arm/src/stm32/src/stm32/stm32_serial.c. Finished interrupt-driven,
|
|
USART console driver. This makes NSH work perfectly.
|
|
* Things left to do for the STM32 deferred to the 0.4.13 release: USB device driver,
|
|
LCD driver and NX bringup on the eval board's display and MicroSD support. An SPI
|
|
driver was included in the 0.4.12 release, but is not yet tested.
|
|
|
|
0.4.13 2009-11-04 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* include/nuttx/mtd.h. Added a simple interface definition to support some
|
|
FLASH, EEPROM, NVRAM, etc. devices.
|
|
* driver/mtd/m25px.c. Added a driver for SPI based FLASH parts M25P64 and M25P128.
|
|
* configs/stm3210e-eval/usbserial. Add a USB serial configuration for the STM32.
|
|
Depends on the STM32 USB driver.
|
|
* arch/arm/src/cortexm3/up_switchcontext.S & up_svccall.c. Made an improvement
|
|
to context switching. There are two types of context switches: interrupt
|
|
context switches and background/user context switches. This change should
|
|
improve the performance of those background/user context switches by a factor
|
|
of about two.
|
|
* arch/arm/src/stm32/ - fix several typos in the serial logic. It turns out
|
|
that these typose don't make any difference as long as you use only one
|
|
serial port and all uarts are configured the same. But the typos are bugs
|
|
waiting to happen in any other configuration.
|
|
* arch/arm/src/stm32/ - You have to configure CTS/RTS function pins for USART
|
|
2 and USART 3 even if you are not using flow control.
|
|
* arch/arm/src/stm32/stm32_usbdev.c - Added a USB device-side driver for the
|
|
STM32. NOTE: This is an early release of the USB driver. There is at least
|
|
one known issue. The examples/usbserial test only executes correctly under
|
|
certain conditions (see the full bug description in the TODO list).
|
|
* arch/arm/src/stm32/stm32_rcc.c - Fixed an error in clock initialization.
|
|
On some boards (none of mine), the HSE (high speed external clock) delay
|
|
loop times out if the optimization level is high. The STM32 then falls
|
|
back to the HSI (internal clock), and the system clock is too slow by a
|
|
factor of 11.1%. This was fixed by simply add the volatile storage class
|
|
to the timeout loop counter
|
|
* arch/arm/src/stm32/stm32_irq.c - Fixed a critical bug in the interrupt
|
|
control logic. The wrong register was being used for interrupts in a
|
|
certain range. Worked fine until you try to use an interrupt in that
|
|
range!
|
|
|
|
4.14 2009-12-02 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* arch/arm/src/stm32/stm32_gpio.c - Add support for configure an input GPIO
|
|
to generate an EXTI interrupt.
|
|
* config/stm3210e-eval/src/up_buttons.c - Add support for on-board buttons.
|
|
* include/nuttx/rwbuffer.h -- Add generic support for read-ahead buffering
|
|
and write buffering that can be used in any block driver.
|
|
* include/nuttx/wqueue.h -- Added a generic worker thread that can used to
|
|
defer processing from an interrupt to a task.
|
|
* include/nuttx/sdio.h -- Defines a generic SD/SDIO interface can can be
|
|
bound to a MMC/SD driver to provide SDIO-based MMC/SD support.
|
|
* drivers/mmcsd/mmcsd_sdio.c -- Provides an SDIO-based MMC/SD driver.
|
|
* arch/arm/src/stm32/stm32_sdio.c -- Provides an STM32 implementation of
|
|
the SDIO interface defined in include/nuttx/sdio.h.
|
|
* fs/fs_mount.c -- Correct error handling logic. If the bind() method
|
|
fails, then a reserved node is left in the tree. This causes subsequent
|
|
attempts to mount at the location to fail (reporting that the node
|
|
already exists). This is a problem for block drivers for removable
|
|
media: The bind method could fail repeatedly until media is inserted.
|
|
* arch/arm/src/stm32/chip.h & stm32_dma.c -- Fixed several definitions
|
|
that can cause compilation errors when DMA2 is enabled.
|
|
* arch/arm/src/stm32/stm32_dma.c - Integrated and debugged STM32 DMA
|
|
functionality that was added in 0.4.12.
|
|
* configs/stm3210e-eval/usbstorage - Add a configuration to exercise
|
|
the STM32 with the USB mass storage device class example
|
|
(examples/usbstorage).
|
|
* configs/mcu123-lpc214x/up_usbstrg - Move LPC-specific code from
|
|
examples/usbstorage to configs/mcu123-lpc214x.
|
|
* configs/stm321e-eval/up_usbstrg - Add STM32-specific logic for the
|
|
examples/usbstorage test.
|
|
* arch/arm/src/stm32/stm32_usbdev.c - Fix bugs in STM32 USB device-side
|
|
driver: (1) Need to disconnect after reset received, (2) Status setup
|
|
to recover from stall on TX endpoint.
|
|
|
|
5.0 2009-12-21 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* arch/hc: Adding framework to support m68hc11/12
|
|
* configs/demo9s12ne64: Configuration to support Freescale DEMO9S12NE64
|
|
development board (MC9S12NE64 m68hcs12 processor).
|
|
* drivers/mtd/ftl.c - A FLASH translation layer (FTL) has been implemented.
|
|
This layer will convert a FLASH MTD interface into a block driver that
|
|
can be used with any file system. Good performance of this layer will
|
|
depend upon functioning write buffer support!
|
|
NOTE: FTL support is untested as of the initial check-in.
|
|
* Numerous minor changes for m68hc12 to eliminate compilation errors and
|
|
warnings due to the fact that it uses 16-bit integer types and for casts
|
|
between uint32 (32-bits) and an mc68hc12 pointer (16-bits).
|
|
* sys/types: Size of off_t and blkcnt_t should not depend on size of
|
|
int in the architecture; Removed non-standard type STATUS
|
|
* include/ - Added header files stdint.h, stdbool.h, cxx/cstdint, and
|
|
cxx/cstdbool
|
|
* Changed ALL references to non-standard fixed-size types (like uint32,
|
|
ubyte, etc.) to standard types (like uint32_t, uint8_t, etc.) from
|
|
stdint.h. Use type bool and {true, false} from stdbool. This effected
|
|
most of the files in the system! Almost all configurations have been
|
|
re-built and many have been re-verified in order to get confidence in
|
|
these changes.
|
|
* graphics/ and examples/nx - Fix numerous build errors that have been
|
|
introduced lately. NXGL has suffered some bit-rot from not being used
|
|
in some of the most recent ports.
|
|
* The misc/pascal NuttX add-on package has been updated to use the new
|
|
standard types from stdint.h and stdbool.h and re-integrated with NuttX.
|
|
The released pascal-2.0 will be the first version that contains the
|
|
compatible changes.
|
|
* arch/arm/src/lm3s/lm3s_ethernet.c - Fixed an important bug in the LM3S
|
|
ethernet driver: If full packet is received, the packet-too-big check
|
|
will fail because it needs to subtract 6 from the packet size (to
|
|
account for the 2-byte packet length and the 4-byte packet FCS in the
|
|
FIFO).
|
|
* net/accept.c - Fixed a bad assertion (only happens when debug is enabled).
|
|
* net/send.c net/uip/uip_tcpseqno.c - Fixed a critical error in the TCP/IP
|
|
logic. The NuttX port of uIP imcludes logic to send data ahead without
|
|
waiting for ACKs from the recipient; this greatly improves throughput.
|
|
However, the packet sequence number was not being updated correctly and,
|
|
as a result, packets were not be ACKed by the recipient and transfers
|
|
would sometimes stall. This is a very important bug fix (in fact, I
|
|
don't understand how TCP/IP worked at all without this fix???)
|
|
* include/nuttx/arch.h and arch/*/common/up_udelay.c - Change argument
|
|
of up_udelay() to type useconds_t to avoid warnings when sizeof(int)
|
|
is 16-bits.
|
|
* drivers/mmcsd/* - Add casts in constant expressions to avoid warnings
|
|
when sizeof(int) is 16-bits.
|
|
|
|
5.1 2010-01-30 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* arch/arm/src/lpc313x and arch/arm/include/lpc313x: Added framework
|
|
to support the NXP LPC3131.
|
|
* Add configs/ea3131. The LPC3131 port for the Embedded Artist EA3131
|
|
(LPC3131) is code complete and waiting for me to get hardware in
|
|
hand.
|
|
* arch/arm/src/sam3u, arch/arm/include/sam3u, and configs/sam3u-ek -
|
|
Added the basic framework needed to begin a port for the SAM3U-EK
|
|
development board.
|
|
* lib/lib_crc32.c: Add CRC32 logic by Gary S. Brown to lib/. This is
|
|
the larger (but faster) table look-up version of the CRC32 algorithm.
|
|
* confgs/ea3131/tools: Added a tool to create a image suitable for
|
|
use with the LPC313x bootloader.
|
|
* configs/sam3u-3k/ostest - Completed verification of the basic NuttX
|
|
OS test for the SAM3U.
|
|
* arch/arm/src/common/up_createstack - stack was always been cleared
|
|
when it was allocated. This is a good feature for monitoring the
|
|
stack during debug, but really hurts thread start-up performance.
|
|
Clearing is now done if CONFIG_DEBUG=y only. Changes was only made
|
|
for arm, but really should be made for all architectures.
|
|
* configs/sam3u/nsh - Added NSH configuration for SAM3U
|
|
|
|
5.2 2010-03-18 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* arch/arm/src/sam3u/sam3u_pio.c - Fix an address calculation error
|
|
that caused ports B & C to get mapped to the PIOA base address.
|
|
This is an important bugfix! (a patch is available)
|
|
* arch/arm/src/lpc313x/lpc313x_boot.c - Fix an error in the vector
|
|
initialization was causing a memory fault.
|
|
* lib/lib_strtod.c - Add strtod()
|
|
* lpc3131/ea3131 - Several bring fixes submitted by David Hewson. The
|
|
lpc3131 is almost there! Thanks David!
|
|
* arch/arm/src/arm/up_head.S - Corrected backward conditional compilation
|
|
that selects if vectors are located at 0x0000:0000 or 0xffff:f000.
|
|
This fixes the last show stopper bug in the lpc313x bring-up.
|
|
* configs/ea3131/nsh - Added a NuttShell (NSH) configuration for the
|
|
EA3131.
|
|
|
|
5.3 2010-04-11 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* arch/arm/src/lpc313x/lpc313x_usbdev.c - USB driver for the LPC313x
|
|
contributed by David Hewson.
|
|
* configs/ea3131/src/up_ubstrgc.c, configs/ea3131/usbserial,
|
|
configs/ea3131/usbstorage - USB storage and USB serial example support
|
|
contributed by David Hewson.
|
|
* Several important compilation error fixes in lpc313x and (dualspeed) USB
|
|
code also contributed by David Hewson.
|
|
* arch/arm/src/sam3u/sam3u_dmac.c - DMA support for the AT90SAM3U.
|
|
* arch/arm/src/sam3u/sam3u_hsmci.c - SD memory card support for AT90SAM3U
|
|
(Neither the DMA nor the HSMCI driver are functional on the initial checkin).
|
|
* drivers/usbdev - Several important fixes to the USB mass storage driver
|
|
submitted by David Hewson.
|
|
* configs/olimex-lpc2378, arch/arm/include/lpc2378, and arch/arm/src/lpc2378 -
|
|
Basic port of the NXP 2378 on the Olimex board contributed by
|
|
Rommel Marcelo.
|
|
* arch/arm/src/sam3u/sam3u_internal.h - Fixed a critical bug in the AT91SAM3U
|
|
PIO decoding. No PIOs greater than 15 could be used on any port! Obviously,
|
|
no one has been using this port.
|
|
|
|
5.4 2010-04-23 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* include/nuttx/lcd.h - Defines an LCD interface.
|
|
* graphics/nxglib/fb and lcd - Support LCD and framebuffer rasterizers for NX.
|
|
* configs/sam3u-ek/src/up_lcd.c - LCD driver for LCD on SAM3U-EK development
|
|
board.
|
|
* configs/sam3u-ek/nx - NX graphics configuration for the SAM3U-EK
|
|
|
|
5.5 2010-05-09 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* drivers/net/enc28j60.c - Microchip ENC28J60 SPI ethernet chip driver.
|
|
(untested on original check-in).
|
|
* configs/olimex-str7p11/nettest - examples/nettest configuration using
|
|
the ENC28J60 driver on the Olimex STMicro STR-P711.
|
|
(unverified on original check-in)
|
|
* configs/olimex-str7p11/src/up_enc28j60.c - Add ENC28J60 initialization
|
|
logic.
|
|
* configs/olimex-str7p11/src/up_spi.c - Fixed some bugs; added support
|
|
for ENC28J60.
|
|
* arch/arm/src/str7x/str7x_xti.c - Add basic XTI support (external
|
|
interrupts).
|
|
* arch/arm/src/lm3s and arch/arm/include/lm3s - Add definitions for
|
|
LM3S6965
|
|
* configs/lm3s6965-ek - Add configuration for Stellaris LM3S6965
|
|
Evaluation Kit (including basic examples/ostest configuration)
|
|
* lib/lib_dtoa.c and lib/lib_dtoa.c - printf will not print floating
|
|
point values if you select CONFIG_LIBC_FLOATINGPOINT in your
|
|
configuration file. Contributed by Yolande Cates. NOTE: these
|
|
floating point operations have not been well tested and may not
|
|
be portable to all floating point implementations.
|
|
* configs/lm3s6965-ek/nsh - Added NuttShell (NSH) configuration for
|
|
the LM3S6965 Evaluation Kit. Includes both serial and telnet
|
|
interfaces.
|
|
* net/net_close.c - Correct a UDP reference counting error
|
|
|
|
5.6 2010-06-05 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* drivers/lcd/p14201.c - Driver for RiT P14201 series 128x96 4-bit OLED.
|
|
* configs/lm3s6965-ek/nx - NX graphics configuration for the LM3S6965
|
|
Ethernet Evaluation Kit.
|
|
* graphics/ - Numerous fixes to get the P14201 4-bpp grayscale display
|
|
working (there may still be some minor issues .. see the TODO list).
|
|
* arch/arm/include/lpc17xx and arch/arm/src/lpc17xxx - Began port for
|
|
NXP LPC1768. As of the 5.6 release, there is a complete set of
|
|
LPC17xx header files defining all bits in all LPC17xx registers,
|
|
but little else (I still do not have hardware in hand).
|
|
* drivers/mtd/m25px.c - Add support for M25P1 flash part (See NOTE)
|
|
* include/nuttx/i2c.h - Extended I2C interface definition to handle
|
|
multiple transfers (See NOTE).
|
|
* include/nuttx/usbdev.h - Corrected an important macro definition
|
|
needed to correctly handle USB null packet transfers (See NOTE).
|
|
* arch/arm/src/lpc313x - New drivers: I2C and SPI. Plus several
|
|
important LPC313x USB bug fixes (See NOTE).
|
|
|
|
NOTE: Contributed by David Hewson.
|
|
|
|
5.7 2010-06-22 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* configs/nucleus2g - Add ostest configuration for the Nucleus 2G
|
|
LPC1768 board from 2G Engineering (http://www.2g-eng.com/)
|
|
* arch/arm/src/lpc17xx - Added basic LPC17xx boot-up logic,
|
|
interrupt handling, and GPIO configuration.
|
|
* configs/nucleus2g/ostest - Completed bring-up of LPC1768 on
|
|
the Nucleus2G board using the examples/ostest
|
|
* configs/nucleus2g/nsh - Added and verified a NuttShell (NSH)
|
|
configuration for the LPC1768 on the Nucleus2G board.
|
|
|
|
5.8 2010-07-18 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* configs/nucleus2g/src/up_nsh.c and up_ssp.c - Add support
|
|
for SPI-based MMC/SD cards and integrate into the NSH example.
|
|
* arch/arm/src/lm3s/lm3s_vectors.S - Correct vectors for GPIOC & D
|
|
interrupts.
|
|
* arch/arm/src/lpc17xx/lp17_clockconfig.c - Power was not being
|
|
provided to GPIO module. This is a critical bugfix!
|
|
* arch/arm/src/lpc17xx/lpc17_serial.c - Improved logic to handle
|
|
missed TX interrupts.
|
|
* arch/arm/src/lpc17xx/lpc17_ssp.c - Fix a hard fault during SSP
|
|
initialization.
|
|
* configs/nucleus2g/src/up_led.c - Change how LEDs are controlled
|
|
so that they can be used both for NuttX instrumentation and
|
|
by application software.
|
|
* include/net/uip/igmp.h and uip-igmp.h - Add header files ini
|
|
preparation for NuttX IGMP support
|
|
* net/uip/uip_igmp*.c - Add IGMP support (untested on initial
|
|
checkin).
|
|
* examples/igmp - Add a trivial test for IGMP (much more is needed)
|
|
* configs/nucleus2g/usbserial and usbstorage - Add USB configurations
|
|
for testing purposes.
|
|
* arch/arm/src/common/up_internal.h, cortexm3/up_assert.c,
|
|
*/*_vectors.S - Correct compilations errors when CONFIG_ARCH_INTERRUPTSTACK
|
|
is enabled (feature still not tested)
|
|
|
|
5.9 2010-08-25 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* examples/nsh/nsh_telnetd.c - Fix compilation errors that happen
|
|
when both DHCPC and TELNETD are enabled in the Nuttshell.
|
|
* graphics/nxglib/fb/nxglib_moverectangle.c - Fix a logic error
|
|
that caused an uninitialized variable warning. I still don't
|
|
have a test to prove that the changes are correct.
|
|
* configs/olimex-lpc2378 - Add support for the CodeSourcery toolchain
|
|
under Linux (contributed by Alan Carvalho de Assis).
|
|
* arch/arm/src/lpc17xx/lpc17_gpio.c - Fix an important GPIO configuration
|
|
bug: When attempting to set no pull-up or pull-down (floating),
|
|
it would, instead, select pull-down.
|
|
* arch/arm/src/lm3s/lm3s_gpioirq.c - Fix warning for returning a value
|
|
from functions returning void (contributed by Tiago Maluta).
|
|
* netutils/dhcpc/dhcpc.c -- lease_time was not in host order
|
|
* examples/uip/main.c - if DHCPC is selected, this example now shows
|
|
the assigned IP address.
|
|
* arch/arm/src/lm3s and arch/arm/include/lm3s - Definitions for the
|
|
TI LM3S9B96 contributed by Tiago Maluta.
|
|
* arch/arm/src/lm3s/lm3s_gioirq.c - Fix a logic error in the address
|
|
table lookup.
|
|
* arch/arm/src/lm3s/lm3s_gioirq.c - Also needs to enable the global
|
|
GPIO interrupts.
|
|
* arch/arm/src/lm3s/lm3s_internal.h and lm3s_gpio.c - Fixed the encoding
|
|
of GPIO port number that limited support for GPIO ports to 8
|
|
* sched/pg_*.c and *.c and include/nuttx/page.h - Implemented the
|
|
common, core logic for on-demand paging. See
|
|
http://www.nuttx.org/NuttXDemandPaging.html for details.
|
|
* drivers/usbdev/usbdev_serial.c - Correct compilation errors that
|
|
occur if CONFIG_USBDEV_DUALSPEED is selected.
|
|
* configs/ea3131/pgnsh - Add an NSH configuration with on-demand paging
|
|
enabled. This is not expected to be a functionality configuration (at
|
|
least not yet); it was created in order to debug the on-demand paging
|
|
feature.
|
|
* configs/ntosd-dm320/*/Make.defs - Codesourcery and devkitARM toolchains
|
|
now supported for the Neuros OSD.
|
|
* configs/ntosd-dm320 and arch/arm/src/dm320 - Add support for the
|
|
Neuros production OSD (changes contributed by bf.nuttx).
|
|
|
|
5.10 2010-09-07 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* configs/ea3131/locked - Create logic to support a two pass build
|
|
process: The first pass forces critical logic into the locked text
|
|
region, the second pass builds the NuttX executable more-or-less as
|
|
normal.
|
|
* Makefile, arch/arm/src/Makefile, configs/ea3131 - Add logic to
|
|
support a two-pass final link. This logic is only in place in
|
|
the arch/arm/src/Makefile for now.
|
|
* arch/arm/src/lpc17xx/lpc17_internal.h - Add missing parentheses in
|
|
macros definitions (patch submitted by Tiago Maluta).
|
|
* Documents/NuttxPortingGuide.html, configs/README.txt, etc. -
|
|
Replaced CONFIG_EXAMPLE with CONFIG_APP_DIR (see documents for
|
|
desciption). This allows NuttX application code to be built
|
|
outside of the examples/ directory.
|
|
|
|
For people who have their own configurations and/or Makefiles,
|
|
you will need to make a couple of changes:
|
|
|
|
- Replace all occurrences of CONFIG_EXAMPLE=foobar with
|
|
CONFIG_APP_DIR=examples/foobar in all of the configuration
|
|
files.
|
|
- Replace any occurrences of examples/$(CONFIG_EXAMPLE) with
|
|
$(CONFIG_APP_DIR)
|
|
- Replace any occurrences of lib$(CONFIG_EXAMPLE)$(LIBEXT)
|
|
with libapp$(LIBEXT) in your Makefiles.
|
|
- Check any other occurrences of CONFIG_EXAMPLE.
|
|
|
|
* arch/arm/src/lpc313x/lpc313x_spi.c - Fix compilation error when
|
|
when CONFIG_DEBUG is enabled.
|
|
* arch/arm/src/lm3s and arch/arm/include/lm3s - Support for the
|
|
lm3s8962 contributed by Larry Arnold.
|
|
* configs/lm328962-ek - Support for the TI/Stellaris EKC-LM3S8962
|
|
board (also contributed by Larry Arnold).
|
|
* arch/arm/src/lpc313x/lpc313x_boot.c - The call to lpc313x_boardinitialized()
|
|
should not be conditioned on CONFIG_ARCH_LEDs being defined!
|
|
* arch/arm/src/lpc313x/ - APB0 and APB1 cannot lie in different
|
|
sections; they are too close together.
|
|
* arch/arm/src/lpc313x/lpc13x_boot.c - Resetting all of the clocking
|
|
had a side effect of wiping out the first 6 words of memory where the
|
|
interrupt vectors are located (and also not resetting the fractional
|
|
dividers). This is not usually noticeable because the IRQ vectors
|
|
are after this point, but really causes problems if you want to handle
|
|
data and prefectch aborts which are within this zeroed region.
|
|
|
|
5.11 2010-10-01 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* configs/ea3131/src/up_fillpage.c - Added new configuration item
|
|
CONFIG_PAGING_BINPATH. If CONFIG_PAGING_BINPATH is defined, then it
|
|
is the full path to a file on a mounted file system that contains
|
|
a binary image of the NuttX executable. Pages will be filled by
|
|
reading from offsets into this file that correspond to virtual
|
|
fault addresses. up_fillpage.c implements logic to perform page
|
|
files using the CONFIG_PAGING_BINPATH file.
|
|
* configs/mbed - Add configuration to support the mbed.org LPC1768
|
|
board (Contributed by Dave Marples).
|
|
* sched/sem_wait.c and sem_waitirq.c - Eliminate a race condition
|
|
that can occur when a semaphore wait is interrupt by a signal.
|
|
(see email thread: http://tech.groups.yahoo.com/group/nuttx/message/530)
|
|
* drivers/mtd/at45db.c - Add a driver for the Atmel AT45DB161D 4Mbit
|
|
SPI FLASH part (untested on initial check-in).
|
|
* arch/arm/src/lm3s and arch/arm/include/lm3s - Corrections for the
|
|
lm3s8962 port contributed by Larry Arnold. That port is purported
|
|
to work correctly with these changes in place.
|
|
* examples/ostest/prioinherit.c - Need to reinitialize globals if
|
|
test is ran repeatedly in a loop.
|
|
* configs/ez80f910200zco - Updated to used ZDS-II 4.11.1
|
|
|
|
5.12 2010-10-26 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* arch/avr - Add a place to support AVR family processors.
|
|
* arch/avr/include/avr32 and arch/avr/src/avr32 - Add support for AVR32
|
|
(all of the AVR32 is a work in progress).
|
|
* arch/avr/include/at32uc3 and arch/avr/src/at32uc3 - Add support
|
|
for the AVR32 UC3A/B family of AVR32 MCUs.
|
|
* confgs/avr32dev1 - Add support for the Atmel AVR32DEV1 board featuring
|
|
the AT32UC3B0256 MCU. This board is produced by www.mcuzone.com.
|
|
* include/stdlib.h, lib/Makefile, lib/lib_abs.c, lib/lib_labs.c,
|
|
lib_labs.c, lib_llabs.c, lib_imaxabs.c - Add abs(), labs(), llabs(), and
|
|
imaxabs().
|
|
* Add include/inttypes.h
|
|
* arch/hc/src/mc9s12ne64 - This hcs12 port grew a few more files. But it
|
|
is still a long way from complete.
|
|
* arch/*/src/*/*_sigdeliver.c - Fixed a serious error in the signal
|
|
trampoline logic. Essentially, interrupts are re-enabled while the
|
|
signal handler executes, but the logic to re-disable the interrupts
|
|
before returning from the signal handler trampoline was missing. Under
|
|
certain circumstances, this can cause stack corruption. This was
|
|
discovered by David Hewson on an ARM9 platform, but since the code
|
|
has been leveraged, the bug has been propogated from ARM to Cortex-M3,
|
|
AVR32, M16C, SH1, ZNEO, eZ80, Z8, and Z80 -- almost every architecture.
|
|
The correction has been incorporated for all architectures but only
|
|
verified on a few.
|
|
|
|
5.13 2010-11-09 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* lib/lib_strnlen.c -- Added POSIX 2008 strnlen() function. Contributed
|
|
by Michael Hrabanek.
|
|
* Fix wild, consistent naming error. For some reason, I called the at32uc3*
|
|
parts at91uc* everywhere. Fixed by changing lots of files and directories.
|
|
* configs/avr32dev1/ostest - The AVR32 port now successfully passes the
|
|
examples/ostest. We have a good AVR32 port!
|
|
* configs/avr32dev1/nsh - Added a configuration to support the NuttShell
|
|
(NSH). As of this writing, here is a problem receiving serial data (this
|
|
is, very likely, my hardware setup).
|
|
* lib/lib_open.c - Fix an error in fdopen when a valid file desciptor does
|
|
not refer to an open file.
|
|
* configs/olimex-lpc1766stk - Add support for the Olimex LPC1766-STK
|
|
development board. The OS test and NSH configurations (only) have been
|
|
verified.
|
|
|
|
5.14 2010-11-27 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* configs/olimex-lpc1766stk/nettest - Add examples/nettest configuration to
|
|
verify the LPC17xx ethernet driver currently under development.
|
|
* arch/arm/src/lpc17xx/lpc17xx_ethernet.c/.h - Began development of
|
|
the LPC17xx Ethernet driver. Driver in CVS functional after 2010-11-23.
|
|
* sched/timer_settime.c - Fix an error in set-up of a one-shot POSIX timer. It
|
|
was using the repititive timer value (which is zero in the one-shot case),
|
|
always resulting in a 10Ms timer! Found and fixed by Wilton Tong.
|
|
* arch/arm/src/lpc17xx/lpc17_vector.S, stm32/stm32_vector.S, lm3s/lm3s_vector.S,
|
|
sam3u/sam3u_vector.S -- Fixed a hard fault problem that can occur if certain
|
|
types of interrupts are pending at the time another interrupt returns
|
|
(SYSTICK). This has not been verified on all plaforms, but is a critical
|
|
fixed that is needed by all Cortex-M3 NuttX users.
|
|
* configs/olimex-lpc1766stk/thttpd - Add a THTTPD configuration for the
|
|
Olimex LPC2766-STK board. Verified successfully.
|
|
* net/uip/uip_tcpappsend.c - Correct an important logic bug in some uIP state
|
|
data the is used to manage retransmissions. The uIP logic was incompatible
|
|
with the retransmission logic of net/send.c in one place. The final error
|
|
was that the final packet in a sequence of packets was too large! In the
|
|
THTTPD example, this would leave some garbage at the bottom of the display
|
|
(or worse). I don't know why I haven't see this bug before???
|
|
* net/uip/uip_tcpinput.c -- The change to uip_tcpappsend.c unmasked an
|
|
additional error in the TCP sequence number handling. This sympom was that
|
|
the send() function would hang with outstanding, unacknowledged data (with
|
|
no re-transmit requests). The was due to differences in sequence number
|
|
handling in send() and in uip_tcpinput.c; uip_tcpinput.c thought (incorrectly)
|
|
that all of the bytes were acknowledged; send.c knew that they were not.
|
|
|
|
5.15 2010-12-12 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* net/uip/uip_tcpaddsend.c and net/send.c -- Another place where the TCP sequence
|
|
number problem "fixed" in 5.14 might occur.
|
|
* net/send.c -- Check if the destination IP address is in the ARP table. If
|
|
not, then don't consider the packet sent. It won't be, an ARP packet will go
|
|
out instead. This improves behavior, for example, on the first GET request
|
|
from a browser.
|
|
* arch/arm/src/lpc17xx/lpc17_emacram.h and lpc17_allocateheap.c -- The Ethernet
|
|
logic was using all of AHB SRAM Bank0 for Ethernet packet buffers (16Kb). An
|
|
option was added to limit the amount of SRAM used for packet buffering and to
|
|
re-use any extra Bank0 memory for heap. configs/olimex-lpc1766stk/nettest
|
|
now uses only 8Kb at the beginning of Bank0; the 8Kb at the end of Bank0 is
|
|
included in the heap
|
|
* arch/arm/src/lpc17xx/lpc17_ssp.c -- Fix compilation errors when SSP1 is
|
|
selected.
|
|
* configs/olimex-lpc1766stk/nsh -- Enable network and SD/MMC card support in
|
|
NSH. Networking and telnetd interface as well as SPI-based microSD are
|
|
now functional.
|
|
* examples/nsh/nsh_netinit.c -- Fix NSH bug. If CONFIG_NET is selected, but
|
|
CONFIG_EXAMPLES_NSH_TELNETD is not selected, then the network is never
|
|
initialized and bad things happen if you try to ping.
|
|
* drivers/lcd -- Add header files for the Phillips PCF8833 LCD controller and
|
|
for the Epson S1D15G10 LCD controller. A driver for the Nokia 6100 LCD is
|
|
coming.
|
|
* include/nuttx/spi.h and almost all other SPI files -- Added an optional
|
|
cmddata() method to the SPI interface. Some devices require an additional
|
|
out-of-band bit to specify if the next word sent to the device is a command
|
|
or data. This is typical, for example, in "9-bit" displays where the 9th bit
|
|
is the CMD/DATA bit. The cmddata method provides selection of command or data.
|
|
* drivers/lcd/p14201.c -- Now uses the cmddata() method of the SPI interface.
|
|
* arch/arm/src/lpc17xx/lpc17_usbdev.c -- LPC17xx USB driver now appears to
|
|
to be fully functional. examples/usbstorage configuration verified (the
|
|
examples/usbserial configuration is untested).
|
|
* drivers/usbdev/usbserial.c and usbstorage.c -- All USB class drivers need
|
|
to call DEV_CONNECT() when they are ready to be enumerated. That is,
|
|
(1) initially when bound to the USB driver, and (2) after a USB reset.
|
|
* drivers/lcd/nokia6100.c -- A driver for the Nokia 6100 LCD. This driver
|
|
has not be verified as of the initial check-in.
|
|
* configs/olimex-lpc1766stk/nx -- A NX graphics configuration for the Olimex
|
|
LPC1766-STK board using the Nokia 6100 LCD driver. This configuration has
|
|
not been verified as of the initial check-in.
|
|
* include/nuttx/spi.h -- the SPI_SETBITS macro was calling the setmode method.
|
|
This is a very important bug-fix in some usages.
|
|
|
|
5.16 2011-01-10 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* include/nuttx/usb -- Created new directory. Moved all usb-related header
|
|
files to this new directory. Created a skeleton for a new USB host header
|
|
file
|
|
* drivers/usbhost -- Add USB host "registry" where connect devices can be
|
|
matched with the correct USB class driver.
|
|
* arc/arc/src/lpc17xx/lpc17_usbhost.c -- Add a simple USB host driver for
|
|
the NXP lpc17xx.
|
|
* drivers/usbhost -- Add generic USB device enumeration logic.
|
|
* drivers/usbhost -- Add a USB host class driver for the (Bulk-Only) USB
|
|
Mass Storage Class.
|
|
|
|
5.17 2011-01-19 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* include/nuttx/usb -- rename usb_storage.h to storage.h.
|
|
* arch/arm/src/lpc17xx/lpc17_usbhost.c -- Add support for low-speed devices.
|
|
* drivers/usbhost/usbhost_skeleton.c -- Template for new class drivers
|
|
* include/nuttx/usb/hid.h and drivers/usbhost/usbhost_hidkbd.c -- New
|
|
files for HID keyboard support.
|
|
* arch/arm/src/lpc17xx/lpc17_usbhost.c -- Will now handle multiple
|
|
concurrent transfers on different endpoints (still only one TD per
|
|
endpoint). All methods are protected from re-entrancy; lots of re-
|
|
structuring in preparation for interrupt endpoint support.
|
|
* arch/arm/src/lpc17xx/lpc17_usbhost.c -- Add support for periodic
|
|
interrupt transfers.
|
|
* examples/hidkbd - Added a simple test for the USB host HID keyboard
|
|
class driver.
|
|
* configs/olimex-lpc1766stk/hidkbd - Added a configuration to build the
|
|
USB host HID keyboard class driver test for the LPC17xx.
|
|
* Ran the tool CppCheck (http://sourceforge.net/apps/mediawiki/cppcheck) and
|
|
fixed several errors in the code identified by the tool.
|
|
|
|
5.18 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Incorporate several uIP patches from http://gitweb.aeruder.net/?p=uip.git;a=summary.
|
|
- Lost SYNACK causes connection reset
|
|
- Fix missing UDP stats for sent/received packets
|
|
- Added support for Cygwin as development/test platform.
|
|
* configs/demo9s12ne64 - Integrate new buildroot-1.9 m8s12x toolchain.
|
|
* 'uname -o' is used throughout the build logic in bash scripts and also in
|
|
Make.defs files in order to distinguish between Cygwin and Linux. However,
|
|
the -o option is not standard and is not supported under, for example, OS-X or
|
|
Solaris. This was solved by changing all 'uname -o' references to the more
|
|
complex: 'uname -o 2>/dev/null || echo "Other"'
|
|
* drivers/usbhost/usbhost_enumerate.c -- Add logic to get the VID and PID. This
|
|
is necessary in order to support vendor-specific USB devices.
|
|
* examplex/wlan, configs/olimex-lpc1766stk/wlan, drivers/usbhost/usbhost_rtl8187.c,
|
|
Add infrastructure to support RTL18187 wireless USB.
|
|
* configs/nucleus2g -- backed out USB host changes... wrong board.
|
|
* Renamed arc/hc/include/mc9s12ne64 and src/mc9s12ne64 -- m9s12. That name is
|
|
shorter and more general.
|
|
* The NuttX repository has been converted to SVN and can now be found here
|
|
http://nuttx.svn.sourceforge.net/viewvc/nuttx/
|
|
|