Prep for NuttX-6.27 release

This commit is contained in:
Gregory Nutt 2013-04-28 10:56:29 -06:00
parent 420ca1b256
commit 35360712f5
3 changed files with 765 additions and 516 deletions

View File

@ -1632,7 +1632,7 @@
from sched/ to lib/pthread where they more appropriately belong.
* sched/ and lib/semaphore/: Move some semaphore-related interfaces
from sched/ to lib/pthread where they more appropriately belong.
* syscall/: The beginnings of an optional syscall kernal interface.
* syscall/: The beginnings of an optional syscall Kernel interface.
* tools/mksyscall.c: Add a tool that will auto-generate syscall proxies
and stubs from a comma-separated-value (CSV) data file.
* arch/arm/src/cortexm3/mpu.h: Add a header file describing the Cortex-M3
@ -4331,7 +4331,7 @@
* libc/stdlib/lib_itoa.c: Implementation of itoa() contributed by
Ryan Sundberg. (2013-03-14).
6.27 2013-xx-xx Gregory Nutt <gnutt@nuttx.org>
6.27 2013-04-28 Gregory Nutt <gnutt@nuttx.org>
* arch/arm/src/armv7-m/up_mpu.c: Correct MPU sub-region settings for
unaligned regions (2013-03-15).
@ -4339,7 +4339,7 @@
ARMv7-M version (2013-03-15).
* configs/lm4f120-launchpad/tools: Add scripts and instructions to
simplify use of OpenOCD with ICDI (from JP Carballo, 2013-03-15).
* tools/mkconfig.c: Logic that attempts to suppressed buffered I/O
* tools/mkconfig.c: Logic that attempts to suppress buffered I/O
within the kernel is wrong. sizeof(struct file_struct) must be
the same in both kernel- and user-spaces (2013-03-16).
* arch/arm/src/common/up_pthread_start.c, libc/pthread/pthread_startup.c,
@ -4377,18 +4377,18 @@
(2013-03-18).
* arch/arm/src/armv7-m/up_exception.S, sam3u/sam3u_vectors.S, and
lpc17xx/lpc17_vectors.S: In exception handling with CONFIG_NUTTX_KERNEL,
need to explicity set and cleare the privilege bit in the CONTROL
need to explicity set and clear the privilege bit in the CONTROL
register on return. I assumed this would be handled automatically
by the EXC_RETURN. Silly me (2013-03-18).
* arch/arm/src/lpc17_adc.c: Add a work-around for an ADC errata. From
Chris Taglia (2013-93-19).
Chris Taglia (2013-3-19).
* arch/arm/src/armv7-m/up_hardfault.c: If the PRIMASK is used to disable
interrupts, then additional logic is required in the hard fault handler
(2013-93-19).
(2013-3-19).
* libc/ and mm/: Directories where the same sources files are used to
build different objects in the first and second pass kernel builds need
to keep those objects in separate directories so that they are not
constantly rebuilt (2013-93-19).
constantly rebuilt (2013-3-19).
* fs/fat: Create an error in FAT file creation. The FAT logic was
not making a distinction between directory non-existence and file
non-existence so when it you try to create a file in a non-existent
@ -4421,10 +4421,10 @@
* configs/stme32f4discovery/kernel and scripts: Add support for
the kernel mode build on the STM32F4Discovery (2013-03-21).
* drivers/st7567.c/h and include/nuttx/lcd/st7567.h: Driver for
the the ST7567 LCD Display Module from Univision Technology Inc.
the ST7567 LCD Display Module from Univision Technology Inc.
contributed by Manikandan.S (2013-03-22).
* configs/zkit-arm-1769: Now supports the ST7567 LCD display
module. Added an nxhello configurtion for testing (Manikandan.S,
module. Added an nxhello configuration for testing (Manikandan.S,
2013-03-22).
* configs/stm32f4discovery/kostest: Add a kernel mode version
of the OS test for the STM32F4Discovery board (2013-03-22).
@ -4435,7 +4435,7 @@
and simpler. However, the C code intermixed with SVC calls was
not properly preserving registers. The more complex, assembly
language version does not suffer from these issues. I believe
the the kernel build can not be called "feature complete"
the the kernel build can now be called "feature complete"
(2013-03-23).
* binfmt/binfmt_execmodule.c: Here is a place where I forget
to update the call to sched_releasetcb() to pass the thread
@ -4457,7 +4457,7 @@
konfig-frontends tool (2013-03-25).
* configs/twr-k60n512: Converted configurations to use the
konfig-frontends tool (2013-03-25).
* arch/arm/src/lpc17xx/lpc17_lcd.c: Add an LCD framebuffer drier
* arch/arm/src/lpc17xx/lpc17_lcd.c: Add an LCD framebuffer driver
for the LPC177x/8x family (2103-3-26).
* arch/arm/src/lpc17xx/lpc17_emc.c and
configs/open1788/src/lpc17_sdraminitialize.c: Began testing the
@ -4491,7 +4491,7 @@
lpcxpresso-lpc1768: The initialization function for both the LPC17xx
SPI and SSP blocks was called up_spinitialize() which is the common API
definition of include/nuttx/spi.h. But this raises a problem when the
MCU has multiple blocks for differ SPI implementatins as does the
MCU has multiple blocks for differ SPI implementations as does the
LPC17xx (and also as does other architectures like STM32 that have
USARTs that can serve as SPI interfaces as well). These were renamed
to lpc17_spiinitialize() and lpc17_sspinitialize() in this case.
@ -4530,7 +4530,7 @@
lpc17_setintedge(). This logic must be atomic because it can be
re-entered before it completes enabled interrupts, sometimes
leaving the interrupts in a strange state (2013-4-7).
* arch/arm/src/lpc17_lcd.c: Rommel Marcelo go the LPC1788
* arch/arm/src/lpc17_lcd.c: Rommel Marcelo got the LPC1788
framebuffer-based LCD working. Very nice! (2013-4-08).
* arch/arm/src/lm/lm_clockconfig.c and configs/lm4f120-launchpad:
Fix handling of the RCC SYSDIV2 field whent the PLL output is
@ -4619,7 +4619,7 @@
register definitions (2014-4-25).
* arch/arm/src/kl/Kconfig, kl_lowputc.c, kl_serial.c, and kl_config.h:
No UART3-5 (2014-4-25).
* arch/arm/src/kl/kl_serial.c: Various fixes to various fils in the
* arch/arm/src/kl/kl_serial.c: Various fixes to various files in the
KL architecture directory as need to get the interrupt-driven
serial driver to work. The Freedom KL25Z NSH configuration now
works (2014-4-25).
@ -4635,3 +4635,5 @@
* sched/task_delete.c and task_terminate.c: Most task_terminate()
out of task_delete.c into its own C file. This should prevent
dragging task_delete() into the link when it is never called.
6.28 2013-xx-xx Gregory Nutt <gnutt@nuttx.org>

File diff suppressed because it is too large Load Diff

View File

@ -4000,3 +4000,238 @@ Bugfixes (see the ChangeLog for details). Some of these are very important:
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.
NuttX-6.27
^^^^^^^^^^
The 94th release of NuttX, Version 6.27, was made on April 28, 2013,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.27.tar.gz and
apps-6.27.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
Additional new features and extended functionality:
* OS Initialization:
- Add missing registration of /dev/zero. Registration of /dev/null
should depend upon conditional compilation. From Ken Pettit.
* Tasking:
- Added a new interface to set aside memory on the task's stack. This
is used (at least in the kernel build) to hold task arguments.
- Remove up_assert_code(). One assertion routine is enough.
* 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).
- Kernel build configurations for the Open1788 board and for the
STM32F4Discovery now execute correctly.
- Changes were made to task and thread start-up routines, signal
handling, data structures, ARMv7-M SVCalls, stack management
interfaces,
* Drivers:
- Driver for the ST7567 LCD Display Module from Univision Technology
Inc. Contributed by Manikandan.S
- SPI initialize functions renamed so that multiple SPI blocks can
be initialized.
- Extended to support the RAMTRON FM25V01 device. Contributed by
Lorenz Meier
- Serial drivers: TIOCSERGSTRUCT ioctls now conditioned on
CONFIG_SERIAL_TIOCSERGSTRUCT
* ARMv7-M (Cortex-M3/4):
- Added support for modifiable interrupt vectors in RAM
* nuvoTon NUC1xx:
- Added kernel build support
* Freescale Kinetis:
- Add kernel build support
- Add support for the Kinetis L family of Cortex-M0+ MCUs. Contributed
by Alan Carvalho de Assis.
* LPC17xx:
- Now holds off sleep mode in the IDLE loop is DMA is in progress
(because sleep mode will disable CPU SRAM).
* LPC17xx Boards:
- ZKIT-ARM-1769: Now supports the ST7567 LCD display module. Added
an nxhello configuration for testing (Manikandan.S).
- ZKIT-ARM-1769: Add support for both CAN1 and CAN2. Contributed by
M.Kannan
- Open1788: Basic support for the WaveShare Open1788 board is complete
with working OS test, NSH, and graphics configurations.
- Open1788: Integrated the LPC178x LCD driver with the WaveShare display.
Touchscreen support is included, howerver, there appears to be an
issue with the Open1788 touchscreen interrupt signal.
- Open1788: Now supports SDRAM (used to provide the LCD framebuffer).
- Open 1788: Reversed sense of the IDLE LCD. It is now off when the
LPC17 is sleeping and on when awake. That is much a better visual
indication of the dynamic CPU load
* LPC17xx Drivers:
- Added an LCD framebuffer driver for the LPC177x/8x family.
- Implemented LPC17xx GPDMA support.
- Integrated the LPC17xx GPDMA support into the SD card driver.
- SSP driver adapted to work with the LPC178x family.
- Separate LPC176x and LPC178x GPIO logic; this logic is too different
to maintain in one file with conditional compilation.
- Re-design of the GPIO logic for the LPC178x family by Rommel Marcelo.
* LPC43xx:
- Added kernel build support
* STM32
- Added support for kernel mode build.
- Added architecure support for the STM32 F427/F437 chips. Contributed
by Mike Smith
* STM32 Boards
- Added a configuration to support a kernel mode build of the OS test
on the STM32F4Discovery
* Stellaris LM3S/LM4F
- Added kernel build support
- Added support for the 7 UARTs on the LM4F120
* Stellaris LM4F Boards
- Added scripts and instructions to simplify use of OpenOCD with ICDI
(JP Carballo)
- The basic for the Stellaris LM4F120 Launchpad is complete. This
includes support for OS test and NSH configurations. Additional
driver development is needed.
* Build System:
- Directories where the same sources files are used to build different
objects in the first and second pass kernel builds need to keep those
objects in separate directories so that they are not constantly
rebuilt.
* Applications:
- apps/system/ramtest: Add a simple memory test that can be built
as an NSH command.
* Tools:
- kconfig2html is a new tool which will replace the hand-generated
documentation of the NuttX configruation variables with auto-
generated documentation.
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.28.
* A port to the Freescale Freedom KL25Z is complete but not yet stable
enough. The KL25Z is a low-cost Cortex-M0+ part with 128KB of FLASH
and 16KB of SRAM. This is is the effort of Alan Carvalho de Assis.
* Conversion of old configurations to use the kconfig-frontends
tool is an ongoing effort that will continue for some time.
At this time, only 32% of the configurations have been converted
to use the kconfig-frontends tools.
Bugfixes (see the ChangeLog for details). Some of these are very important:
* Tasking:
- Fixed a critical bug: When there is pending C buffered output
and the system is very busy, the a pthread may be blocked at
a critical point when trying to exit. Blocking at this critical
point would cause crashes. All entire task/thread exit logic
paths were reviewed and failsafe mechanisms were put in place
to assure that exitting tasks never block after task teardown
has been started.
* ARMv6-M:
- Fixed parameter passing for all system call inline functions with > 3
parameters
- Fixed a major problem: The Cortex-M0 has no BASEPRI register but the
logic of NuttX-6.26 was using it to manage interrupts. Switch to
using the PRIMASK instead. This means that hardfaults will (again)
occur when SVC instructions are executed
* ARMv7-M:
- Corrected Correct MPU sub-region settings for unaligned regions.
- In exception handling with CONFIG_NUTTX_KERNEL, need to explicitly
set and clear the privilege bit in the CONTROL
- Fixed parameter passing for all system call inline functions with > 3
parameters
* Drivers:
- Support for O_NONBLOCK was not supported in the "upper half"
serial driver.
- PL2303 compilation errors
* Stellaris LM3S/4F
- Corrected typos in alternate function definitions.
* LPC17xx Drivers:
- Added a work-around for an ADC errata. From Chris Taglia
- Only one ADC pin was configured. Need to configure all that
are in the ADC0 set. From MKannan
* File Systems:
- The FAT logic was not making a distinction between directory
non-existence and file non-existence so when it you try to
create a file in a non-existent directory, it would create a
file with the name of the missing directory. Reported by Andrew
Tridgell
- Several fixes to the FAT file system from Ronen Vainish. These
fixes mostly involve the logic to extend directory clusters for
the case of long file names but also include a few important
general fixes (such as for storing 32 bit FAT values)
- mkfatfs was writing the boot code to the wrong location. From
Petteri Aimonen
* Networking:
- Fixed a compilation error when socket options are are disabled.
Reported by Daniel O'Connor
* C Library:
- Corrected an error in sscanf. If %n occurs in the format statement
after the input data stream has been fully parsed, the %n format
specifier will not be handled. Reported by Lorenz Meier
- strchr(str, '\0') should return a pointer to the end of the string,
not NULL. From Petteri Aimonen
* Build System:
- Fix naming of NuttX target if EXEEXT is defined.
* Applications:
- OS test: Fix timing error in non-cancelable thread test.
- NSH: Correct the test of the skip input parameter. Was limiting the
range to <= count. From Ken Petit.