Prep for 4.14 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2296 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
00467c9bd0
commit
9866fcecf4
98
ChangeLog
98
ChangeLog
@ -10,7 +10,7 @@
|
||||
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.
|
||||
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).
|
||||
@ -28,7 +28,7 @@
|
||||
* 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
|
||||
when the timer interrupt is enabled. Seems to be an
|
||||
issue when SP enters indirect address space.
|
||||
* Documentation updates
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
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.
|
||||
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.
|
||||
@ -51,8 +51,8 @@
|
||||
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.
|
||||
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.
|
||||
@ -206,7 +206,7 @@
|
||||
* Adding socket(), bind(), connect()
|
||||
* Added snprintf()
|
||||
* Added send() and sendto(); integrate write() and close() with socket descriptors.
|
||||
* Added recv() and recvfrom().
|
||||
* Added recv() and recvfrom().
|
||||
* Added getsockopt() and setsockopt()
|
||||
* Documentation updated to address socket interfaces.
|
||||
* Implemented receive timeouts via setsockopt(SO_RCVTIMEO).
|
||||
@ -308,7 +308,7 @@
|
||||
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. Effects all architectures.
|
||||
when a different task exits. Effects all architectures.
|
||||
|
||||
0.3.8 2008-02-10 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
@ -317,16 +317,16 @@
|
||||
* '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.
|
||||
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).
|
||||
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
|
||||
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)
|
||||
@ -384,7 +384,7 @@
|
||||
* 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
|
||||
* 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
|
||||
@ -514,7 +514,7 @@
|
||||
* 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
|
||||
* 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)
|
||||
@ -543,24 +543,24 @@
|
||||
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:
|
||||
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
|
||||
* 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
|
||||
* 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
|
||||
* 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>
|
||||
@ -574,7 +574,7 @@
|
||||
* 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
|
||||
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()
|
||||
@ -617,15 +617,15 @@
|
||||
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
|
||||
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);
|
||||
/* 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.
|
||||
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).
|
||||
@ -633,7 +633,7 @@
|
||||
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.
|
||||
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.
|
||||
@ -648,9 +648,9 @@
|
||||
* 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
|
||||
* 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
|
||||
* 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>
|
||||
@ -678,7 +678,7 @@
|
||||
* 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
|
||||
in this release and, hence, most likely have problems. I don't have the correct network
|
||||
network setup to perform that testing now (I'm in a hotel).
|
||||
|
||||
0.4.5 2009-04-19 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
@ -756,19 +756,19 @@
|
||||
|
||||
* 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
|
||||
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 verifed a NuttShell (NSH) configuration
|
||||
for the STR-P711.
|
||||
* arch/arm/str71x/str71x_serial.c: The STR711 interrupt driven serial driver
|
||||
* 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
|
||||
* 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.
|
||||
@ -795,7 +795,7 @@
|
||||
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
|
||||
* 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.
|
||||
@ -811,13 +811,13 @@
|
||||
* 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
|
||||
* 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
|
||||
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.
|
||||
@ -834,7 +834,7 @@
|
||||
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
|
||||
* 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.
|
||||
@ -856,11 +856,11 @@
|
||||
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
|
||||
* 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
|
||||
* 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
|
||||
@ -869,14 +869,14 @@
|
||||
* Add DEBUG configuration option to enable debug console output without disabling
|
||||
optimization (and vice versa)
|
||||
* Changed lots of occurrents of debug macro dbg() to lldbg(). dbg() uses
|
||||
stdout to output debug data. That works fine unless (1) the dbg() macro
|
||||
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
|
||||
* 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.
|
||||
@ -889,7 +889,7 @@
|
||||
* 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
|
||||
* 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.
|
||||
|
||||
@ -907,7 +907,7 @@
|
||||
* 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-drivent,
|
||||
* arch/arm/src/stm32/src/stm32/stm32_serial.c. Finished interrupt-drivent,
|
||||
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
|
||||
@ -915,17 +915,17 @@
|
||||
|
||||
0.4.13 2009-11-04 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* include/nuttx/mtd.h. Added a simple interface definition to support some
|
||||
* 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.
|
||||
* 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
|
||||
* 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
|
||||
* 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.
|
||||
@ -939,14 +939,14 @@
|
||||
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
|
||||
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-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
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.
|
||||
@ -961,9 +961,9 @@
|
||||
* 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
|
||||
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
|
||||
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.
|
||||
@ -979,3 +979,5 @@
|
||||
* 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.
|
||||
|
||||
2010.1 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
@ -8,7 +8,7 @@
|
||||
<tr align="center" bgcolor="#e4e4e4">
|
||||
<td>
|
||||
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
|
||||
<p>Last Updated: December 1, 2009</p>
|
||||
<p>Last Updated: December 2, 2009</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -729,10 +729,10 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p><b>nuttx-0.4.12</b>.
|
||||
<p><b>nuttx-4.14</b>.
|
||||
|
||||
<p>
|
||||
This 45<sup>th</sup> release of NuttX was made on November 4, 2009 and is available for download from the
|
||||
This 46<sup>th</sup> release of NuttX was made on December 2, 2009 and is available for download from the
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=189573">SourceForge</a> website.
|
||||
The change log associated with the release is available <a href="#currentrelease">here</a>.
|
||||
Unreleased changes after this release are available in CVS.
|
||||
@ -740,35 +740,48 @@
|
||||
</p>
|
||||
<p>
|
||||
The release extends the support for the STMicro STM32 microcontroller.
|
||||
Minimul support for the STM3210E-EVAL development board based around the STM32F103ZET6
|
||||
MCU was released in NuttX-0.4.12.
|
||||
This release adds:
|
||||
Minimal support for the STM3210E-EVAL development board based around the STM32F103ZET6
|
||||
MCU was released in NuttX-0.4.12 and extended in Nuttx-0.4.13 to include initial USB support.
|
||||
This completes the STM32F103ZET6 support and adds:
|
||||
</p>
|
||||
<p>
|
||||
New Generic RTOS Features:
|
||||
<ul>
|
||||
<li>A simple interface definition to support some FLASH, EEPROM, NVRAM, etc. devices.</li>
|
||||
<li>Verified SPI operation using driver for SPI based FLASH parts M25P64 and M25P128.</li>
|
||||
<li>Improved Cortex-M3 context switching.
|
||||
This should improve context switching performance be 2x in certain cases.</li>
|
||||
<li>Added a USB device-side driver for the STM32.
|
||||
This is an early release of a very complex driver; some bugs are expected.</li>
|
||||
<li>The USB driver has been verified against the USB serial device class driver.
|
||||
There is at least one known outstanding issue (see the full bug description in
|
||||
the TODO list).</li>
|
||||
<li>Added generic support that can be included in any block driver to provide
|
||||
read-ahead buffering and write buffering for improved driver performance.</li>
|
||||
<li>Added a generic worker thread that can used to defer processing from an
|
||||
interrupt to a task.</li>
|
||||
<li>Defined a generic SD/SDIO interface can can be bound to a MMC/SD or SDIO
|
||||
driver to orovide SDIO support.</li>
|
||||
<li>Implemented a an SDIO-based MMC/SD driver using this new SDIO interface</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
This release also corrects some important bugs in the early STM32 release:
|
||||
New STM32-specific Features:
|
||||
<ul>
|
||||
<li>Fixed several errors the prevented operation of NuttX on an STM32 development
|
||||
board using USART2 as the serial console.</li>
|
||||
<li>Fixed and optimization-dependent race condition in the clock initialization.</li>
|
||||
<li>Fixed a critical bug in the interrupt control logic that could cause interrupt
|
||||
operations to failed used for interrupts in a certain range.</li>
|
||||
<li>Add support to configure an STM32 input GPIO to generate an EXTI interrupt.</li>
|
||||
<li>Added support for buttons on the STM3210E-EVAL board.</li>
|
||||
<li>Implemented an STM32 version of the common the SDIO interface.</li>
|
||||
<li>Added a configuration to exercise the STM32 with the USB mass storage
|
||||
device class example.</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
This release also corrects some important bugs in the earlier STM32 releases:
|
||||
<ul>
|
||||
<li>Correct error handling in the mount() logic.</li>
|
||||
<li> Fixed several STM32 DMA-related issues. Integrated and debugged STM32 DMA
|
||||
functionality that was added in 0.4.12.</li>
|
||||
<li>Fixed several bugs in the STM32 USB device-side driver.</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
DMA and external memory support are included in the 0.4.13 release, but is not yet tested.
|
||||
This basic STM32 port will be further extended in the 0.4.14 NuttX release to include
|
||||
MicroSD support and verified USB mass storage class support.
|
||||
NOTE: This version, 4.14, is equivalent to what would have been called 0.4.14
|
||||
to follow 0.4.13. The zero has been eliminated from the front of the version
|
||||
number to avoid confusion about the state of development: Some have interpreted
|
||||
the leading zero to mean that the code is in some way unstable. That was not
|
||||
the intent. Beginning in January 2010, I will switch to the 2010.nn versioning
|
||||
as many others have done to avoid such confusion.
|
||||
</p>
|
||||
|
||||
<table width ="100%">
|
||||
@ -990,12 +1003,10 @@
|
||||
<b>STATUS:</b>
|
||||
The basic STM32 port was released in NuttX version 0.4.12. The basic port includes boot-up
|
||||
logic, interrupt driven serial console, and system timer interrupts.
|
||||
The 0.4.13 release added support for SPI, serial FLASH, and USB device.
|
||||
The 0.4.13 release added support for SPI, serial FLASH, and USB device.;
|
||||
The 4.14 release added support for buttons and SDIO-based MMC/SD and verifed DMA support.
|
||||
Verified configurations are available for NuttX OS test, the NuttShell (NSH) example,
|
||||
and a USB serial device class.
|
||||
DMA and external memory support are included in the 0.4.13 release, but is not yet tested.
|
||||
This basic STM32 port will be further extended in the 0.4.14 NuttX release to include
|
||||
MicroSD support and verified USB mass storage class support.
|
||||
the USB serial device class, and the USB mass storage device class example.
|
||||
</p>
|
||||
<p>
|
||||
<b>Development Environments:</b>
|
||||
@ -1534,67 +1545,7 @@ Other memory:
|
||||
</table>
|
||||
|
||||
<ul><pre>
|
||||
nuttx-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!
|
||||
|
||||
pascal-0.1.2 2008-02-10 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* Add logic to build and link with the ZDS-II toolchain
|
||||
use with the z16f.
|
||||
* Make sure that POFF header structures are aligned
|
||||
* Standardized POFF file format to big-endian
|
||||
* Break up large switch statements to lower complexity
|
||||
and eliminate a compiler bug
|
||||
* Changes so that runtime compiles with SDCC.
|
||||
|
||||
buildroot-0.1.7 2009-06-26 <spudmonkey@racsa.co.cr>
|
||||
|
||||
* configs/avr-defconfig-4.3.3: Added support for AVR to support a NuttX
|
||||
port of the ATmega128.
|
||||
* toolchain/nxflat: Added logic to build NuttX NXFLAT binding support tools
|
||||
* toolchain/genromfs: Added support for the genromfs tool
|
||||
</pre></ul>
|
||||
|
||||
<table width ="100%">
|
||||
<tr bgcolor="#e4e4e4">
|
||||
<td>
|
||||
<a name="pendingchanges">Unreleased Changes</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<ul><pre>
|
||||
nuttx-4.14 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
nuttx-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.
|
||||
@ -1628,9 +1579,38 @@ nuttx-4.14 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
driver: (1) Need to disconnect after reset received, (2) Status setup
|
||||
to recover from stall on TX endpoint.
|
||||
|
||||
pascal-0.1.3 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
pascal-0.1.2 2008-02-10 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
buildroot-0.1.8 2009-xx-xx <spudmonkey@racsa.co.cr>
|
||||
* Add logic to build and link with the ZDS-II toolchain
|
||||
use with the z16f.
|
||||
* Make sure that POFF header structures are aligned
|
||||
* Standardized POFF file format to big-endian
|
||||
* Break up large switch statements to lower complexity
|
||||
and eliminate a compiler bug
|
||||
* Changes so that runtime compiles with SDCC.
|
||||
|
||||
buildroot-0.1.7 2009-06-26 <spudmonkey@racsa.co.cr>
|
||||
|
||||
* configs/avr-defconfig-4.3.3: Added support for AVR to support a NuttX
|
||||
port of the ATmega128.
|
||||
* toolchain/nxflat: Added logic to build NuttX NXFLAT binding support tools
|
||||
* toolchain/genromfs: Added support for the genromfs tool
|
||||
</pre></ul>
|
||||
|
||||
<table width ="100%">
|
||||
<tr bgcolor="#e4e4e4">
|
||||
<td>
|
||||
<a name="pendingchanges">Unreleased Changes</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<ul><pre>
|
||||
nuttx-2010.1 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
pascal-2010.1 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
buildroot-2010.1 2010-xx-xx <spudmonkey@racsa.co.cr>
|
||||
</pre></ul>
|
||||
|
||||
<table width ="100%">
|
||||
|
46
ReleaseNotes
46
ReleaseNotes
@ -1007,7 +1007,7 @@ nuttx-0.4.13
|
||||
^^^^^^^^^^^^
|
||||
|
||||
This is the 45th release of NuttX. The release extends the support for the STMicro
|
||||
STM32 microcontroller. Minimul support for the STM3210E-EVAL development board based
|
||||
STM32 microcontroller. Minimal support for the STM3210E-EVAL development board based
|
||||
around the STM32F103ZET6 MCU was released in NuttX-0.4.12. This release adds:
|
||||
|
||||
* A simple interface definition to support some FLASH, EEPROM, NVRAM, etc. devices.
|
||||
@ -1029,3 +1029,47 @@ This release also corrects some important bugs in the early STM32 release:
|
||||
operations to failed used for interrupts in a certain range.
|
||||
|
||||
This tarball contains a complete CVS snapshot from November 4, 2009
|
||||
|
||||
nuttx-4.14
|
||||
^^^^^^^^^^
|
||||
|
||||
This is the 46th release of NuttX. The release extends the support for the STMicro
|
||||
STM32 microcontroller. Minimal support for the STM3210E-EVAL development board based
|
||||
around the STM32F103ZET6 MCU was released in NuttX-0.4.12 and extended in Nuttx-0.4.13
|
||||
to include initial USB support. This completes the STM32F103ZET6 and adds:
|
||||
|
||||
New Generic RTOS Features:
|
||||
|
||||
* Added generic support that can be included in any block driver to provide
|
||||
read-ahead buffering and write buffering for improved driver performance.
|
||||
* Added a generic worker thread that can used to defer processing from an
|
||||
interrupt to a task.
|
||||
* Defined a generic SD/SDIO interface can can be bound to a MMC/SD or SDIO
|
||||
driver to orovide SDIO support.
|
||||
* Implemented a an SDIO-based MMC/SD driver using this new SDIO interface
|
||||
|
||||
New STM32 Features:
|
||||
|
||||
* Add support to configure an STM32 input GPIO to generate an EXTI interrupt.
|
||||
* Added support for buttons on the STM3210E-EVAL board.
|
||||
* Implemented an STM32 version of the common the SDIO interface.
|
||||
* Added a configuration to exercise the STM32 with the USB mass storage
|
||||
device class example.
|
||||
|
||||
This release also corrects some important bugs in the early STM32 release:
|
||||
|
||||
* Correct error handling in the mount() logic.
|
||||
* Fixed several STM32 DMA-related issues. Integrated and debugged STM32 DMA
|
||||
functionality that was added in 0.4.12.
|
||||
* Fixed several bugs in the STM32 USB device-side driver.
|
||||
|
||||
NOTE: This version, 4.14, is equivalent to what would have been called 0.4.14
|
||||
to follow 0.4.13. The zero has been eliminated from the front of the version
|
||||
number to avoid confusion about the state of development: Some have interpreted
|
||||
the leading zero to mean that the code is in some way unstable. That was not
|
||||
the intent. Beginning in January 2010, I will switch to the 2010.nn versioning
|
||||
as many others have done to avoid such confusion.
|
||||
|
||||
This tarball contains a complete CVS snapshot from December 2, 2009
|
||||
|
||||
|
||||
|
@ -423,3 +423,9 @@ Where <subdir> is one of the following:
|
||||
This configuration directory exercises the USB mass storage
|
||||
class driver at examples/usbstorage. See examples/README.txt for
|
||||
more information.
|
||||
|
||||
NOTE: The default usbstorage configuration exports a read-only
|
||||
file system. That is due to logic in include/nuttx/config.h that
|
||||
is, perhaps, a little too clever and if there is no write-able
|
||||
file systrem in the configuration, it forces read-only block
|
||||
drivers to save space.
|
||||
|
@ -451,6 +451,12 @@ examples/usbstorage
|
||||
|
||||
Error results are always shown in the trace output
|
||||
|
||||
NOTE: The default usbstorage configuration may exports only a read-only
|
||||
file system if no write-able file system is included in the configuration.
|
||||
That is due to logic in include/nuttx/config.h that is, perhaps, a little
|
||||
too clever and if there is no write-able file systrem in the configuration,
|
||||
it forces read-only block drivers to save space.
|
||||
|
||||
examples/wget
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user