Prep for 6.25 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5594 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
4587760eee
commit
d51e81d34f
27
ChangeLog
27
ChangeLog
@ -3800,7 +3800,7 @@
|
||||
* configs/stm32f4discovery/elf: Enable support/test of the PATH
|
||||
to find executables using a relative path.
|
||||
|
||||
6.25 2013-xx-xx Gregory Nutt <gnutt@nuttx.org>
|
||||
6.25 2013-02-01 Gregory Nutt <gnutt@nuttx.org>
|
||||
|
||||
* graphics/: Adds 5x8 monospace font. This tiny font is useful for graph
|
||||
labels and for small bitmapped display. Contributed by Petteri
|
||||
@ -3833,7 +3833,7 @@
|
||||
* drivers/usbhost/usbhost_hidkbd.c: Correct a logic error in how
|
||||
tasks waiting for read data are awakened.
|
||||
* libc/misc/lib_kbdencode.c and lib_kbddecode.c: Now handles keypress
|
||||
events too. However, the USB HID keyboard drier has not yet been
|
||||
events too. However, the USB HID keyboard driver has not yet been
|
||||
updated to detect key release events. That is kind of tricky in
|
||||
the USB HID keyboard report data.
|
||||
* configs/mcu123-214x/nsh: Converted to use the kconfig-frontends
|
||||
@ -3857,7 +3857,7 @@
|
||||
buildroot toolchains: They may be EABI or OABI.
|
||||
* include/nuttx/progmem and arch/arm/src/stm32/stm32_flash.c:
|
||||
Fix a counting bug plus change interface to use either relative
|
||||
or absolut FLASH addressing (from Freddie Chopin).
|
||||
or absolute FLASH addressing (from Freddie Chopin).
|
||||
* libc/misc/Make.defs: Fix error in conditional for KBD CODEC.
|
||||
* libc/Kconfig and configs/*/defconfig (several): The default
|
||||
setting should be CONFIG_LIB_KBDCODEC=n
|
||||
@ -3868,7 +3868,7 @@
|
||||
* tools/configure.bat: configure.bat is a small Windows batch
|
||||
file that can be used as a replacement for configure.sh in a
|
||||
Windows native environment. configure.bat is actually just a
|
||||
thin layer that execuates configure.exe if it is available. If
|
||||
thin layer that executes configure.exe if it is available. If
|
||||
configure.exe is not available, then configure.bat will attempt
|
||||
to build it first.
|
||||
* arch/arm/src/lpc17xx/lpc17_syscon.h: Correct some typos in bit
|
||||
@ -3918,12 +3918,12 @@
|
||||
the scenario: (1) sched_lock() is called increments the lockcount
|
||||
on the current TCB (i.e., the one at the head of the ready to run
|
||||
list), (2) sched_mergepending is called which may change the task
|
||||
at the head of the readytorun list, then (2) sched_unlock() is called
|
||||
at the head of the ready-to-run list, then (3) sched_unlock() is called
|
||||
which decrements the lockcount on the wrong TCB. The failure case
|
||||
that I saw was that pre-emption got disabled in the IDLE thread,
|
||||
locking up the whole system.
|
||||
* sched/sched_waitpid.c: Use SIGCHLD instead of a semaphore. This
|
||||
is a much more spec-compliant implemenation. However, there are
|
||||
is a much more spec-compliant implementation. However, there are
|
||||
some issues with overruning signals because NuttX does not support
|
||||
queueing of signals (POSIX does not require it). I think it may
|
||||
need to.
|
||||
@ -3959,7 +3959,7 @@
|
||||
CONFIG_APPS_BINDIR rename CONFIG_FS_BINFS
|
||||
* include/nuttx/binfmt/builtin.h: Some of the content of
|
||||
apps/include/apps.h moved to include/nuttx/binfmt/builtin.h
|
||||
* binfmt/libbuiltin/libbuiltin_utils.c: Move utility builtin
|
||||
* binfmt/libbuiltin/libbuiltin_utils.c: Move builtin
|
||||
utility functions from apps/builtin/exec_builtins.c to
|
||||
binfmt/libbuiltin/libbuiltin_utils.c
|
||||
* binfmt/builtin.c and binfmt/libbuiltin: Add a binary "loader"
|
||||
@ -3985,7 +3985,7 @@
|
||||
* arch/arm/src/[many]: More LPC1788 definitions from Rommel
|
||||
Marcelo incorporated.
|
||||
* configs/open1788: Board configuration for the Wave Share
|
||||
Open1788 board. Still fragmentary (contribnuted by Rommel
|
||||
Open1788 board. Still fragmentary (contributed by Rommel
|
||||
Marcelo, adapted to use kconfig-frontends.
|
||||
* net/send(): Add logic to work around delayed ACKs by splitting
|
||||
packets (contributed by Yan T.).
|
||||
@ -4011,7 +4011,7 @@
|
||||
* arch/armv7-m/up_hardfault.c: Fail if a hardfault occurs
|
||||
while CONFIG_ARM7VM_USEBASEPRI=y.
|
||||
* arch/arm/src/stm32/stm32_serial.c: Add support for USART
|
||||
single wire more (Contributed by the PX4 team).
|
||||
single wire mode (Contributed by the PX4 team).
|
||||
* sched/: Implement support for retaining child task status after
|
||||
the child task exists. This is behavior required by POSIX.
|
||||
But in NuttX is only enabled with CONFIG_SCHED_HAVE_PARENT and
|
||||
@ -4022,7 +4022,7 @@
|
||||
use the kconfig-frontends tools.
|
||||
* net/net_poll.c: Split net_poll() to create psock_poll() too.
|
||||
* net/net_poll.c: Fix poll/select issure reported by Qiang:
|
||||
poll_interrupt() must cat call net_lostconnection() when a
|
||||
poll_interrupt() must call net_lostconnection() when a
|
||||
loss of connection is reported. Otherwise, the system will
|
||||
not know that the connection has been lost.
|
||||
* sched/group_create.c, group_join.c, and group_leave.c: Add
|
||||
@ -4051,7 +4051,7 @@
|
||||
* configs/stm32f4discovery/nsh: Converted to use the kconfig-frontends
|
||||
tools.
|
||||
* configs/*/src/up_userleds.c: Fix a error that was cloned into
|
||||
all STM32 user LED code. The wrong defintions were being used
|
||||
all STM32 user LED code. The wrong definitions were being used
|
||||
to set LEDs on or off.
|
||||
* arch/*/common/up_internal.h and arch/*/common/up_initialize.c:
|
||||
Serial was driver was not being built if there is no console
|
||||
@ -4072,8 +4072,7 @@
|
||||
* drivers/serial/serial.c, include/nuttx/serial/serial.h,
|
||||
drivers/usbdev/cdcacm.c, and drivers/pl2303.c: Add support for
|
||||
removable serial devices (like USB serial). This support is enabled
|
||||
by CONFIG_SERIAL_REMOVABLE and requires VBUS sensing support from
|
||||
the board-specific logic.
|
||||
by CONFIG_SERIAL_REMOVABLE.
|
||||
* arch/*/src/*/Toolchain.defs: Change assignment so that we can
|
||||
override CROSSDEV with a make command line argument.
|
||||
* include/assert.h: Mark assertion functions as non-returning.
|
||||
@ -4096,3 +4095,5 @@
|
||||
* arch/arm/src/stm32/stm32_spi.c: Fixes for SPI DMA work on the
|
||||
STM32F4. Includes untested additions for the F1 implementation as
|
||||
well. From Petteri Aimonen.
|
||||
|
||||
6.26 2013-xx-xx Gregory Nutt <gnutt@nuttx.org>
|
||||
|
File diff suppressed because it is too large
Load Diff
320
ReleaseNotes
320
ReleaseNotes
@ -3440,3 +3440,323 @@ Bugfixes (see the change log for details). Some of these are very important
|
||||
* Applications: Modbus fixes from Freddie Chopin.
|
||||
|
||||
As well as other, less critical bugs (see the ChangeLog for details)
|
||||
|
||||
NuttX-6.25
|
||||
^^^^^^^^^^
|
||||
|
||||
The 92nd release of NuttX, Version 6.25, was made on February 1, 2013,
|
||||
and is available for download from the SourceForge website. Note
|
||||
that release consists of two tarballs: nuttx-6.25.tar.gz and
|
||||
apps-6.25.tar.gz. Both may be needed (see the top-level nuttx/README.txt
|
||||
file for build information).
|
||||
|
||||
This release corresponds with SVN release number: r5594
|
||||
|
||||
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 r5594 should equivalent to release 6.25 of NuttX:
|
||||
|
||||
svn checkout -r5594 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
|
||||
|
||||
Or (HTTP):
|
||||
|
||||
svn checkout -r5594 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
|
||||
|
||||
Additional new features and extended functionality:
|
||||
|
||||
* OS Initialization
|
||||
|
||||
- Removed support for CONFIG_BUILTIN_APP_START. This is not really a
|
||||
useful feature and creates a violation of the OS layered
|
||||
architecture.
|
||||
|
||||
* Task Creation:
|
||||
|
||||
- Implement a simple vfork(). In NuttX-6.25, this interface is
|
||||
available only for ARM7/9, ARMv7-M (Cortext-M3/4), and MIPS32
|
||||
(PIC32MX) platforms.
|
||||
- exec() now sets the priority of the new task to the same priority as
|
||||
the parent task (instead of the arbirtrary value of 50).
|
||||
- New, partially complient implementations of execv() and execl().
|
||||
These are only partially compliant because they do not overlay any
|
||||
existing "process space" but rather create the new task and exit().
|
||||
- Add a complete implementation of posix_spawn(). This standard
|
||||
interface is a better match for an MMU-less architecture than are
|
||||
vfork() plus execv() or execl().
|
||||
- Add a task start hook that will be called before the task main
|
||||
is started. This can be used, for example, to schedule C++
|
||||
static constructors to run automatically in the context of the
|
||||
new task.
|
||||
|
||||
* Task Parentage
|
||||
|
||||
- Repartitioned tasking data structures. All shared resources are now
|
||||
collected together in a "task group". A task group includes the
|
||||
original task plus all of the pthreads created by the task.
|
||||
- Added support for remember the parent "task group" when a new task is
|
||||
started.
|
||||
- Added optional support to record the membership of each thread in
|
||||
the "task group".
|
||||
- Implement support for retaining child task status in the "task group"
|
||||
after the child task exists. This is behavior required by POSIX.
|
||||
But in NuttX is only enabled with CONFIG_SCHED_HAVE_PARENT and
|
||||
CONFIG_SCHED_CHILD_STATUS
|
||||
- Add internal logic to "reparent" a task. This is useful,
|
||||
for example, where the child task is created through a trampoline
|
||||
task that redirects I/O. Reparenting allows the caller of posix_spawn()
|
||||
to be reparented for the eventual child thread.
|
||||
- Added support for SIGCHLD. Sent to all members of the parent task
|
||||
group when the file member of the child task group exits.
|
||||
- If SIGCHLD and retention of child task exist status are enabled, then
|
||||
a more spec-compliant version of waitpid() is enabled.
|
||||
- New interfaces waitid() and wait() are also enabled when SIGCHLD
|
||||
is enabled.
|
||||
|
||||
* File System
|
||||
|
||||
- dup() and dup2() can new be used with opened files in a mounted file
|
||||
system. This supports re-direction of output in NSH to files.
|
||||
- The binfs file system was moved from apps/builtin to fs/binfs. The
|
||||
binfs file system was extended to support execution of "builtin
|
||||
applications" using exec(), execv(), execl(), or posix_spawn().
|
||||
- Added logic based on SIGCHLD to automatically unload and clean-up
|
||||
after running a task that was loaded into memory.
|
||||
|
||||
* Binary Formats
|
||||
|
||||
- Much of the logic for "builtin applications" was moved from
|
||||
apps/builtin to nuttx/binfmt/libbuiltin. Includes some extensions
|
||||
contributed by Mike Smith.
|
||||
- A binary loader was added for builtin applications to support
|
||||
execution of "builtin applications" using exec(), execv(),
|
||||
execl(), or posix_spawn().
|
||||
|
||||
* Drivers:
|
||||
|
||||
- Added logic to marshal and serialized "out-of-band" keyboard
|
||||
commands (such as cursor controls and key release events) intermixed
|
||||
with normal ASCII keypress data. The encoding is partially integrated
|
||||
in the HID keyboard driver and the decoding full integrated into the
|
||||
apps/examples hidkbd and keypadtest (the latter contributed by Denis
|
||||
Carlikli).
|
||||
- Driver for the UG-2864HSWEG01 OLED contributed by Darcy Gong.
|
||||
- Add support for removable serial devices (like USB serial). This
|
||||
support is enabled by CONFIG_SERIAL_REMOVABLE.
|
||||
|
||||
* ARMv7-M:
|
||||
|
||||
- Added an option to use the BASEPRI register to disable interrupts
|
||||
(instead of the PRIMASK). This eliminates some innocuous hardfaults
|
||||
that interfere with some debug tools. You need to switch to the
|
||||
BASEPRI method only if you have such tool interference.
|
||||
|
||||
* STM32 Drivers
|
||||
|
||||
- Bring STM32 F1 DMA capabilities up to par with the STM32 F2/F4
|
||||
(contributed by Mike Smith).
|
||||
- Add support for USART single wire mode (Contributed by the PX4
|
||||
team).
|
||||
- Updates to support for SPI DMA on the STM32 F1/F2/F4. From
|
||||
Petteri Aimonen.
|
||||
|
||||
* STM32 Boards:
|
||||
|
||||
- New configuration to support the UG-2864HSWEG01 OLED on the
|
||||
STM32F4Discovery board.
|
||||
- Added a posix_spawn() test configuration for the STM32F4Discovery.
|
||||
|
||||
* LM3S/LM4F
|
||||
|
||||
- Files and directories repartitioned to support both LM3S and LM4F
|
||||
using the STM32 organization as a model.
|
||||
- Partial definitions for the LM4F contributed by Jose Pablo Carballo
|
||||
(this is still a work in progress).
|
||||
|
||||
* LM3S Boards
|
||||
|
||||
- Added scripts and documentation to use OpenOCD with the LM3S (from
|
||||
Jose Pablo Carballo).
|
||||
|
||||
* LPC176x/LPC178x
|
||||
|
||||
- Files and directories repartitioned to support both LPC175x/LPC176x
|
||||
and the LPC177x/LPC178x families using the STM32 organization as a
|
||||
model. The LPC1788 port is a work in progress by Rommel Marcelo.
|
||||
|
||||
* LPC176x/LPC178x Boards:
|
||||
|
||||
- Added a configuration to support the Wave Share Open1788 board.
|
||||
This is still a work in progress by Rommel Marcelo.
|
||||
|
||||
* LPC2148 Boards:
|
||||
|
||||
- Add basic support for the The0.net ZP213x/4xPA board (with the LPC2148
|
||||
and the UG_2864AMBAG01 OLED).
|
||||
- Add an nxlines configuration for the ZP213x/4xPA (with the LPC2148
|
||||
and the UG_2864AMBAG01).
|
||||
|
||||
* Simulator:
|
||||
|
||||
- Add an nxlines configuration for the simulator.
|
||||
|
||||
* Networking:
|
||||
|
||||
- Add logic to work around delayed ACKs by splitting packets
|
||||
(contributed by Yan T.).
|
||||
- Split net_poll() to create the internal interface psock_poll().
|
||||
|
||||
* LCDs:
|
||||
|
||||
- Added support for LCD1602 alphanumeric LCD (HD4468OU controller).
|
||||
|
||||
* Graphics:
|
||||
|
||||
- Added 5x8 monospace font. This tiny font is useful for graph
|
||||
labels and for small bitmapped display. Contributed by Petteri
|
||||
Aimonen.
|
||||
|
||||
* Build System:
|
||||
|
||||
- Add an options to better manage toolchain prefixes.
|
||||
- Redesigned how the context targer works in the apps/ directory.
|
||||
The old design caused lots of problems when changing configurations
|
||||
because there is no easy way to get the system to rebuild the
|
||||
context. This change should solve most the problems and eliminate
|
||||
questions like "Why don't I see my builtin application in NSH?"
|
||||
|
||||
* Kconfig Files:
|
||||
|
||||
- There are several new configurations that use the kconfig-frontends
|
||||
tools and several older configurations that have been converted to
|
||||
use these tools. There is still a long way to go before the conversion
|
||||
is complete:
|
||||
|
||||
configs/sim/nxwm
|
||||
configs/sim/nsh
|
||||
configs/stm3220g-eval/nxwm
|
||||
configs/stm32f4discovery/posix_spawn
|
||||
configs/olimex-lpc1766stk/nsh
|
||||
configs/olimex-lpc1766stk/hidkbd
|
||||
configs/olimex-lpc1766stk/nettest
|
||||
configs/open1788/ostest
|
||||
configs/stm32f4discovery/nsh
|
||||
configs/stm32f4discovery/usbnsh
|
||||
configs/lm326965-ek (all configurations)
|
||||
configs/mcu123-214x/nsh
|
||||
configs/ubw32/ostest
|
||||
|
||||
* Tools:
|
||||
|
||||
- tools/kconfig.bat: Kludge to run kconfig-frontends from a DOS shell.
|
||||
- tools/configure.c: configure.c can be used to build a work-alike
|
||||
program as a replacement for configure.sh. This work-alike
|
||||
program would be used in environments that do not support Bash
|
||||
scripting (such as the Windows native environment).
|
||||
- tools/configure.bat: configure.bat is a small Windows batch
|
||||
file that can be used as a replacement for configure.sh in a
|
||||
Windows native environment. configure.bat is actually just a
|
||||
thin layer that executes configure.exe if it is available. If
|
||||
configure.exe is not available, then configure.bat will attempt
|
||||
to build it first.
|
||||
|
||||
* Applications:
|
||||
|
||||
- New and modified examples:
|
||||
|
||||
apps/examples/wlan: Remove non-functional example.
|
||||
apps/examples/ostest: Added a test of vfork(). Extend signal
|
||||
handler test to catch death-of-child signals (SIGCHLD). Add a
|
||||
test for waitpid(), waitid(), and wait().
|
||||
apps/exampes/posix_spawn: Added a test of posix_spawn().
|
||||
|
||||
- NSH:
|
||||
|
||||
NSH now supports re-direction of I/O to files (but still not from).
|
||||
The block driver source argument to the mount command is now
|
||||
optional for file systems that do not require a block driver.
|
||||
NSH can now execute a program from a file system using posix_spawn().
|
||||
Added support for a login script. The init.d/rcS script will be
|
||||
executed once when NSH starts; the .nshrc script will be executed
|
||||
for each session: Once for serial, once for each USB connection,
|
||||
once for each Telnet session.
|
||||
|
||||
- Supports a new daemon that can be used to monitor USB trace outpout.
|
||||
- Removed non-functional wlan example.
|
||||
|
||||
Bugfixes (see the ChangeLog for details). Some of these are very important:
|
||||
|
||||
* Tasking:
|
||||
|
||||
- Fixed a *critical* task exit bug. Here is the failure scenario:
|
||||
(1) sched_lock() is called increments the lockcount on the current
|
||||
TCB (i.e., the one at the head of the ready to run list), (2)
|
||||
sched_mergepending is called which may change the task at the head
|
||||
of the ready-to-run list, then (3) sched_unlock() is called which
|
||||
decrements the lockcount on the wrong TCB. The failure case that
|
||||
I saw was that pre-emption got disabled in the IDLE thread, locking
|
||||
up the whole system.
|
||||
|
||||
* Signals:
|
||||
|
||||
- sigtimedwait() would return a bad signal number if the signal was
|
||||
already pending when the function was called.
|
||||
|
||||
* Drivers:
|
||||
|
||||
- Some SD cards will appear busy until switched to SPI mode for
|
||||
first time. Having a pull-up resistor on MISO may avoid this
|
||||
problem, but this fix from Petteri Aimonen makes it work also
|
||||
without pull-up.
|
||||
|
||||
* STM32 Drivers:
|
||||
|
||||
- STM32 FLASH driver counting error (from Freddie Chopin).
|
||||
- STM32 F4 maximum SPI frequency was wrong (corrected by Petteri
|
||||
Aimonen).
|
||||
|
||||
* STM32 Boards
|
||||
|
||||
- Due to cloning of untested code, the logic to control on-board
|
||||
LEDs did not work on any STM32 boards.
|
||||
- Serial devices number /dev/ttyS0-5 is there is a serial console,
|
||||
but /dev/ttyS1-6 if there is no serial console.
|
||||
|
||||
* Binary Formats
|
||||
|
||||
- C++ static constructors execute now using a start taskhook
|
||||
so that they execute in the context of the child task (instead
|
||||
of in the context of the parent task).
|
||||
|
||||
* File Systems:
|
||||
|
||||
- Several FAT-related bugs fixed by Petteri Aimonen.
|
||||
|
||||
* Networking:
|
||||
|
||||
- Fix poll/select issure reported by Qiang: poll_interrupt() must call
|
||||
net_lostconnection() when a loss of connection is reported. Otherwise,
|
||||
the system will not remember that the connection has been lost and will
|
||||
hang waiting on a unconnected socket later.
|
||||
- Similar issues corrected for recvfrom() and send().
|
||||
- Telnetd would hang in a loop if recv() ever returned a value <= 0.
|
||||
|
||||
* Libraries:
|
||||
|
||||
- fread() could hang on certain error conditions.
|
||||
- Can't handle SYSLOG output to a character device from the IDLE task
|
||||
(because the IDLE task can't block).
|
||||
|
||||
* Build System:
|
||||
|
||||
- Serial was driver was not being built if there is no console
|
||||
device. Obviously, the serial driver may be needed even in
|
||||
this case.
|
||||
|
||||
* Additional Bugfixes:
|
||||
|
||||
- sig_timedwait() and clock_time2ticks.c: Timing "rounding" logic
|
||||
- ARM9 Compilation issue with low vectors.
|
||||
- readline() return value
|
||||
- Others as detailed in the ChangeLog: HID keyboard, LPC17xx bit
|
||||
definitions, strndup(), PL2303, SYSLOG error handling, AT25,
|
||||
apps/examples.
|
||||
|
Loading…
Reference in New Issue
Block a user