9
0
Fork 0

Prep for 4.14 release

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@2296 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2009-12-02 17:38:15 +00:00
parent 4c27af302d
commit fed5dd25fb
5 changed files with 179 additions and 141 deletions

View File

@ -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>

View File

@ -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 &lt;spudmonkey@racsa.co.cr&gt;
* 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 &lt;spudmonkey@racsa.co.cr&gt;
* 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 &lt;spudmonkey@racsa.co.cr&gt;
* 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 &lt;spudmonkey@racsa.co.cr&gt;
nuttx-4.14 2009-12-02 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* 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 &lt;spudmonkey@racsa.co.cr&gt;
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 &lt;spudmonkey@racsa.co.cr&gt;
pascal-0.1.2 2008-02-10 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
buildroot-0.1.8 2009-xx-xx &lt;spudmonkey@racsa.co.cr&gt;
* 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 &lt;spudmonkey@racsa.co.cr&gt;
* 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 &lt;spudmonkey@racsa.co.cr&gt;
pascal-2010.1 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
buildroot-2010.1 2010-xx-xx &lt;spudmonkey@racsa.co.cr&gt;
</pre></ul>
<table width ="100%">

View File

@ -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

View File

@ -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.

View File

@ -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
^^^^^^^^^^^^^