summaryrefslogtreecommitdiff
path: root/nuttx/ReleaseNotes
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-03-15 18:07:34 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-03-15 18:07:34 +0000
commitad1878e8fe6fa997672a83ffe8bbee9883649781 (patch)
tree658250c1a0e09eafe3ccdf0038f854697d2b870f /nuttx/ReleaseNotes
parent327a0b5bfe1c679660c9d0ef41f9f5519215176c (diff)
downloadpx4-nuttx-ad1878e8fe6fa997672a83ffe8bbee9883649781.tar.gz
px4-nuttx-ad1878e8fe6fa997672a83ffe8bbee9883649781.tar.bz2
px4-nuttx-ad1878e8fe6fa997672a83ffe8bbee9883649781.zip
Prep for 6.26 releasenuttx-6.26
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5745 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/ReleaseNotes')
-rw-r--r--nuttx/ReleaseNotes240
1 files changed, 240 insertions, 0 deletions
diff --git a/nuttx/ReleaseNotes b/nuttx/ReleaseNotes
index 4e8768b96..b8382f0ac 100644
--- a/nuttx/ReleaseNotes
+++ b/nuttx/ReleaseNotes
@@ -3760,3 +3760,243 @@ Bugfixes (see the ChangeLog for details). Some of these are very important:
- Others as detailed in the ChangeLog: HID keyboard, LPC17xx bit
definitions, strndup(), PL2303, SYSLOG error handling, AT25,
apps/examples.
+
+NuttX-6.26
+^^^^^^^^^^
+
+The 93rd release of NuttX, Version 6.26, was made on March 15, 2013,
+and is available for download from the SourceForge website. Note
+that release consists of two tarballs: nuttx-6.26.tar.gz and
+apps-6.26.tar.gz. Both may be needed (see the top-level nuttx/README.txt
+file for build information).
+
+This release corresponds with SVN release number: r5745
+
+Note that all SVN information has been stripped from the tarballs. If you
+need the SVN configuration information, you should check out directly from
+SVN. Revision r5745 should equivalent to release 6.26 of NuttX:
+
+ svn checkout -r5745 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
+
+Or (HTTP):
+
+ svn checkout -r5745 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
+
+Additional new features and extended functionality:
+
+ * OS Initialization:
+
+ - Add an additional call-out to support board-specific driver
+ initialization during the boot-up phase (available with
+ CONFIG_BOARD_INITIALIZE=y).
+
+ * Tasking:
+
+ - New interface task_spawn() that is like posix_spawn(), but uses
+ entry point addresses like task_create().
+ - Additional data restructuring as a continuation of the task group
+ changes of NuttX 6.25. These data structures were moved from the
+ TCB structure into the task group: pthread join data,
+ atexit/on_exit callbacks, waitpid data structures, and message
+ queues.
+ - TCBs for tasks and pthreads are now separate structures. This
+ saves a little memory since tasks do not have to carry the overhead
+ for threads and vice versa.
+
+ * Kernel Build:
+
+ - Extensive changes were made to support the kernel build mode. In
+ this mode, NuttX is built as a monolithic kernel. NuttX is built
+ as a separate kernel mode "blob" and the applications are built
+ as a separate user mode "blob". The kernel runs in kernel mode and
+ the applications run in user mode (with the MPU restricting user
+ mode accesses). Access to the kernel from the user blob is only
+ via system calls (SVCalls).
+ - Extensive changes were made to the syscall, SVCall, and trapping
+ logic. Many internal interfaces were renamed.
+ - The memory manager was extended to support both kernel- and user-
+ mode allocations. Logic within the kernel needs to use the
+ correct kernel- or user-space allocator, depending upon the user
+ of the allocated memory.
+ - The user-space blob now contains a header built in at the beginning
+ of the block that provides the same information that was previously
+ provided by a kludgy, auto-generated header file (user_map.h).
+ - Basic support implemented for the ARMv7-M family with fragments
+ also implemetned for the ARMv6-M and MIPS32 families.
+ - Kernel build supported added for the LPC17xx Open1788 and for
+ the Atmel SAM3U-EK board. All testing is being performed on the
+ Open1788 board.
+
+ * Signals:
+
+ - Delivery of signals to threads within a task group is now compatible
+ with the way that signals are delivered to threads within a process.
+
+ * Drivers:
+
+ - Add a driver for the SST29VF NOR FLASH parts.
+ - USB device trace/debug feature extended to decode device-specific
+ trace events to make the trace output more readable (from Petteri
+ Aimonen).
+ - USB MSC device driver can not support names of differing sizes
+ in the USB descriptor and the SCSI fields (from Petteri Aimonen).
+ - Locking added to MMC/SD SPI drivers so that MMC/SD can co-exist on
+ the same bus as other SPI devices. Frequency is reset each time
+ that the MMC/SD SPI has the bus locked. (from Petteri Aimonen).
+
+ * ARMv6-M (Cortex-M0):
+
+ - Added support for the ARM Cortex-M0 family.
+
+ * nuvoTon NUC120:
+
+ - Added support for the nuvoTon NUC120 MCU (Cortex-M0).
+
+ * nuvoTon NUC120 Boards:
+
+ - Added basic support for the nuvoTon NuTiny-SDK-NUC120 board (Cortex-M0).
+
+ * LPC17xx:
+
+ - Added support for the LPC177x and LPC178x families. Most of this is
+ the work of Rommel Marcelo.
+
+ * LPC17xx Boards:
+
+ - Added support for Zilogic System's ARM development Kit, ZKIT-ARM-1769.
+ From Rashid.
+ - The port for the WaveShare Open1788 board is now functional. Basic
+ OS test and NuttShell (NSH) configurations are functional. More
+ driver development and testing is needed (from Rommel Marcelo).
+
+ * LPC17xx Drivers:
+
+ - Added an SD card MSI driver for the LPC178x. The driver is marginally
+ functional but requires DMA capability to be reliable.
+
+ * STM32
+
+ - Support extended to handle the STM32 F3 family (Cortex-M4 with F1-like
+ peripherals).
+
+ * STM32 Boards
+
+ - Added support the STMicro STM32F3Discovery board (STM32 F3).
+
+ * Stellaris LM3S/LM4F
+
+ - Basic support for the LM4F120 family is in place, but untested (mostly
+ from Jose Pablo Carballo).
+
+ * Stellaris LM4F Boards
+
+ - Add support for the LM4F120 LaunchPad (untested).
+
+ * Networking:
+
+ - select() should now allocate a little less memory.
+
+ * Memory Management:
+
+ - Extended to support multiple heaps. This is used as part of
+ the kernel build in order to support separater user- and
+ kernel-mode heaps.
+ - The stand-alone memory manger test had to be removed. It
+ was too entangled and made extension of the memory manager
+ nearly impossible. This is a loss.
+
+ * Build System:
+
+ - Several configurations converted to use the kconfig-frontends
+ configuration tool. There are still many more that need to
+ be converted.
+
+ * C Library:
+
+ - Move the workqueue logic into the C library. There is now a
+ special user-space version of the work queue (which will only
+ be used with a NuttX kernel build).
+ - Implementation of itoa() contributed by Ryan Sundberg.
+
+ * Applications:
+
+ - The NSH builtin task logic now uses task_spawn() to start builtin
+ applications.
+ - The OS test now includes a test cased to verify task_restart().
+
+Efforts In Progress. The following are features that are partially
+implemented but present in this release. Most are expected to be fully
+available in NuttX 6.27.
+
+ * LM4F120 LaunchPad port. Code is in place, but nothing has been tested.
+
+ * WaveShare Open1788 port. This port as actually complete and
+ functional. However, there is still ongoing development and
+ testing of drivers.
+
+ * Kernel Build. Much progress has been made, but there kernel build is
+ not yet fully functional due to several user resources that are not yet
+ properly disentangled from the kernel blob.
+
+ * Conversion of old configurations to use the kconfig-frontends
+ tool is an ongoing effort that will continue for some time.
+
+Bugfixes (see the ChangeLog for details). Some of these are very important:
+
+ * Tasking:
+
+ - The wrong PID was being signalled with SIGCHILD. It should be
+ the PID of the task that create the task group, not the ID of
+ the last thread to leave the task group.
+ - Added logic so that some internal resources and states are recovered
+ when tasks are deleted or restarted. Handle cases where there are
+ outstanding timed events pending when tasks are deleted or restarted.
+
+ * ARMv7-M:
+
+ - Several fixes to the MPU control logic.
+
+ * Drivers:
+
+ - Removable serial drivers race conditions fixed.
+ - MAX11802 timing bug (from Petteri Aimonen).
+
+ * STM32 Drivers:
+
+ - Handle cases were SPI DMA logic fails if sem_wait is awakened
+ by a signal. Need to clear error flags to prevent corruption of
+ subsequent transfers. Also, bit count should not be changed while
+ the SPI peripheral is enabled (from Petteri Aimonen).
+ - Fixes to the OTG FS device driver from Petteri Aimonen.
+ - Fix typos in DMA register header file (from Yan T.)
+
+ * Graphics:
+
+ - Correction to the hyphen in the SANS 17x22 font (from Petteri
+ Aimonen).
+
+ * Networking:
+
+ - Corrected errors in the socket poll/select logic. Additional
+ state logic was needed to detect if the socket is still connected
+ before starting the poll wait. (bug reported by Qiang Yu).
+
+ * Memory Management:
+
+ - mallinfo() should hold the memory manager semaphore (from Petteri
+ Aimonen.
+
+ * Build System:
+
+ - Resolved several build errors reported by Mike Smith.
+
+ * Applications:
+
+ - Fixed an NSH memory leak: Needed to detach after creating each
+ pthread.
+ - readline() now returns EOF on any failure (instead of a negated
+ errno value). This is because the underlying read is based on
+ logic similar to getc. The value zero (meaning end-of-file)
+ was being confused with a NUL. So if a NUL was received, the
+ NSH session would terminate because it thought it was the end of
+ file.