mirror of
https://github.com/apache/nuttx.git
synced 2025-12-08 02:32:54 +08:00
Preparation for NuttX-6.33 release (maybe tomorrow)
This commit is contained in:
313
ReleaseNotes
313
ReleaseNotes
@@ -5346,7 +5346,7 @@ Additional new features and extended functionality:
|
||||
- Many new drivers including CAN, PWM, SSC/I2S
|
||||
- PCK: Add support for programmable clock outputs.
|
||||
- NAND: Driver with hardware ECC and DMA support
|
||||
|
||||
|
||||
* Atmel AT91 SAMA5D3x Boards:
|
||||
|
||||
- SAMA5D3x-EK: Add support for the apps/examples/i2schar test.
|
||||
@@ -5478,7 +5478,7 @@ Bugfixes (see the ChangeLog for details). Some of these are very important:
|
||||
* MTD Drivers
|
||||
|
||||
- MTD Partitions: Fix erase block vs page block confusion. From Ken
|
||||
Pettit
|
||||
Pettit
|
||||
- SST25 Serial Flash: Improved write performance by fixing a bug that
|
||||
prevented operation in the faster write mode. From David Sidrane.
|
||||
|
||||
@@ -5487,7 +5487,7 @@ Bugfixes (see the ChangeLog for details). Some of these are very important:
|
||||
- USB MSC Device: pthread_join() does not work if called from a
|
||||
different task group than the pthread. This is correct behavior,
|
||||
but still a problem. The correct solution would be configure the
|
||||
USB MSC thread to a task, however, this workaround from David
|
||||
USB MSC thread to a task, however, this workaround from David
|
||||
Sidrane plugs the hole for now.
|
||||
- USB CDC/ACM, USB MSC, and Composite Device Classes: Un-initialization
|
||||
logic caused re-use of a stale pointer. Changed to a two pass
|
||||
@@ -5519,3 +5519,310 @@ Bugfixes (see the ChangeLog for details). Some of these are very important:
|
||||
correctly.
|
||||
- apps/system/composite/composite_main.c: The wrong handle was getting
|
||||
nullified. From David Sidrane.
|
||||
|
||||
NuttX-6.32
|
||||
----------
|
||||
|
||||
The 100th release of NuttX, Version 6.33, was made on January 30, 2014,
|
||||
and is available for download from the SourceForge website. Note
|
||||
that release consists of two tarballs: nuttx-6.33.tar.gz and
|
||||
apps-6.33.tar.gz. Both may be needed (see the top-level nuttx/README.txt
|
||||
file for build information).
|
||||
|
||||
Additional new features and extended functionality:
|
||||
|
||||
* Core OS Interfaces
|
||||
|
||||
- nanosleep() added. sleep() and usleep() are not longer core OS
|
||||
interfaces. These have been moved into the library and re-implemented
|
||||
as simple wrappers around nanosleep().
|
||||
|
||||
* File Systems
|
||||
|
||||
- procfs restructure by Ken Pettit. Added files for MTD status.
|
||||
- procfs extended to show uptime and task group status.
|
||||
- procfs now shows stack information.
|
||||
|
||||
* Networking
|
||||
|
||||
- Add support for the SO_LINGER socket option. Extended from logic
|
||||
provided by Jason Jiang. Enabled with CONFIG_NET_SOLINGER.
|
||||
- TCP write buffering support added. From Jason Jiang.
|
||||
- Changes from Max Holtzberg to improve how network status is
|
||||
reported. New controls to manage carrier detect.
|
||||
|
||||
* Graphics
|
||||
|
||||
- Massive reshuffling of files with little or no logic changes. This
|
||||
reshuffling was necessary to build graphics applications with the
|
||||
kernel builds where the graphics application lie in user space and
|
||||
the core graphic server likes in kernel space. Moved much logic out
|
||||
of nuttx/graphics to a new user library, libnx.
|
||||
|
||||
* Cortex-A5/A8/A9
|
||||
|
||||
- Existing Cortex-A5 support updated to include Cortex-A8/9.
|
||||
- Add the syscall.h header file needed for the Cortex-A architecture.
|
||||
- Start-up logic now supports execution from FLASH with .data and
|
||||
.bss in SDRAM. This was not possible prior to this because .bss
|
||||
and .data were initialized before SDRAM was configured.
|
||||
|
||||
* Allwinner A10:
|
||||
|
||||
- Basic support for the Allwinner (A10 Cortex-A8) is in place.
|
||||
|
||||
* Allwinner A10 boards
|
||||
|
||||
- Support for the pcDuino v1 board has been added. This support
|
||||
is not yet very mature and still lacks many drivers. It is a
|
||||
good starting point, however, if anyone wants to develop A10
|
||||
support.
|
||||
|
||||
* Atmel SAMA5D3X
|
||||
|
||||
- Start-up logic now supports execution from FLASH with .data and
|
||||
.bss in SDRAM. This was not possible prior to this because .bss
|
||||
and .data were initialized before SDRAM was configured.
|
||||
|
||||
* Atmel SAMA5D3X Boards
|
||||
|
||||
- Partial logic in place to support the OV2640 camera. Still needs
|
||||
quite a bit of additional logic to be useful.
|
||||
|
||||
* ARMv7-M
|
||||
|
||||
- Add support for high priority, nested interrupts. This change
|
||||
effects not only core ARMv-7M logic, but all ARMv7-M MCU logic:
|
||||
LM3S, LM4F, LPC17xx, LPC43xx, SAM3, SAM4, and STM32. See
|
||||
http://www.nuttx.org/doku.php?id=wiki:nxinternal:highperfints
|
||||
|
||||
* STMicro STM32
|
||||
|
||||
- Add clocking support for STM32F107 USB OTG FS (which does not yet
|
||||
work)
|
||||
- Single-wire UART support for the F1 series from Thomas Grubler.
|
||||
|
||||
* STMicro STM32 Boards
|
||||
|
||||
- The Viewtool board can now be configured to support either the
|
||||
STM32F103VCT6 or the STM32F107VCT6.
|
||||
- The Viewtool STM32F107VCT6 now supports networking with the
|
||||
DP83848C module installed.
|
||||
- Add support for Viewtool SSD1289-based LCD on the Viewtool
|
||||
STM32F103VCT6 board (untested)
|
||||
- Add support for the XPT2046 touchscreen controller on the Viewtool
|
||||
LCD module connected to the Viewtool STM32F103 board.
|
||||
- Added kernel mode build support for the STM3240G-EVAL board. Added
|
||||
a new kernel mode NxWM build configuration
|
||||
- C++ static constructor logic from the nuttx/configs/stm3240g-eval/
|
||||
directory to the apps/platform/stm3240g-eval/up_cxxinitialize.c
|
||||
where is belongs so that it is available in user-space in the kernel
|
||||
mode build.
|
||||
- Add native Windows build support for the Olimex STM32 P107. From
|
||||
Max Holtzberg
|
||||
- Support for the STM32VL-Discovery board. Contributed by Alan
|
||||
Carvalho de Assis
|
||||
- Added a configuration for testing simple configurations on the
|
||||
PX4FMU v2.
|
||||
|
||||
* ZiLOG ZNEO Boards
|
||||
|
||||
- Add an NSH configuration for the Z16F2800100ZCOG ZNEO board.
|
||||
- Added support for the Toyaga 16Z ZNEO board. The 16Z board is
|
||||
based on the ZiLOG ZNEOZ16F2811AL20EG part. See
|
||||
https://github.com/toyaga/16z for further information
|
||||
- Developed a patch to work around a compiler error that is revealed
|
||||
when building the NSH configuration.
|
||||
|
||||
* Architecture-Independent Drivers
|
||||
|
||||
- OV2640 Camera Driver.
|
||||
- Support for the Sharp Memory LCD from Librae.
|
||||
|
||||
* Library
|
||||
|
||||
- Pattern matching logic extended to handle set of characters and
|
||||
ranges of character values. From Ken Pettit.
|
||||
- sleep() and usleep() move library. These are not longer core OS
|
||||
interfaces; they are simple wrappers for the nanosleep().
|
||||
- Add an implementation of gets_s().
|
||||
- Extend fopen() to include support for C11 exclusive open ("x")
|
||||
open mode.
|
||||
- Add an implementation of stpcpy()
|
||||
- strtol(), strtoll, strtoul(), strtoull(), and strtod() from
|
||||
libc/string to libc/stdlib where they belong.
|
||||
|
||||
* Header Files
|
||||
|
||||
- Add rsize_t to include/sys/types.h
|
||||
- Add the C11 thread.h header file
|
||||
|
||||
* Configuration/Build System
|
||||
|
||||
- Top level Makefile now supports qconfig and/or gconfig targets that
|
||||
may be used for configuration. These may be used if you build
|
||||
kconfig-frontends with support for kconfig-qconf and/or
|
||||
kconfig-gconf.
|
||||
- Add CONFIG_DEBUG_NOOPT. Now you can independently enable/disable
|
||||
debug symbols and optimization
|
||||
- File system related header files moved to include/nuttx/fs
|
||||
- Video related header files moved to include/nuttx/video
|
||||
- Changes for native Windows build: fix creation of a .version file
|
||||
if one does not exist. Make sure that the APPDIR environment
|
||||
variable is set before configuring. From Max Holtzberg.
|
||||
- Board configuration sub-directory can now be specified. The default
|
||||
need not be used. This is only useful when CONFIG_ARCH_BOARD_CUSTOM
|
||||
is selected and there is no meaningful default sub-directory.
|
||||
- Many functions renamed to better conform with the naming standard:
|
||||
up_buttoninit() renamed to board_button_initialize(), up_buttons()
|
||||
renamed to board_buttons(), up_irqbutton() renamed to
|
||||
board_button_irq(), up_ledinit() renamed to board_led_intialize(),
|
||||
up_ledon() renamed to board_led_on(), and up_ledoff() renamed to
|
||||
board_led_off(). All prototypes removed from board.h header files.
|
||||
Now ONLY prototypes in include/nuttx/arch.h.
|
||||
|
||||
* Applications
|
||||
|
||||
- NSH: Refactor. Separate NSH command handling and command execution
|
||||
from NSH line parsing.
|
||||
- NSH: Will now support multiple commands on a command line, each
|
||||
separated with a semi-colon.
|
||||
- NSH: Add support of commands enclosed in back quotes as command
|
||||
arguments.
|
||||
- NSH: Can now handle arguments that are concatenations of constant
|
||||
strings, command return data, application return data, and
|
||||
environment variables.
|
||||
- NSH: Add true and false commands.
|
||||
- NSH: Add support for while-do-done and until-do-done loops. These
|
||||
only work when executing a script file because they depend on the
|
||||
ability to seek in the file to implement the looping behaviors.
|
||||
Can be conditionally compiled out to reduce footprint.
|
||||
- NSH: Loosen up if-then-else-fi syntax to allow a command to be on
|
||||
the same line as the then or else tokens like:
|
||||
"if true; then echo true; else echo false; fi". More like bash.
|
||||
- NSH: Add a break command that can be executed with a loop to
|
||||
terminate the loop immediately.
|
||||
|
||||
- system/inifile: A simple .INI file parser.
|
||||
- system/vi: Add support for a tiny, VI work-alike editor. This is
|
||||
a minimal full screen editor that words with a terminal emulator
|
||||
that using VT100 commands.
|
||||
|
||||
Efforts In Progress. The following are features that are partially
|
||||
implemented but present in this release. They are not likely be be
|
||||
completed soon.
|
||||
|
||||
* kconfig-fronted Configuration:
|
||||
|
||||
- Conversion of old configurations to use the kconfig-frontends
|
||||
tool is an ongoing effort that will continue for some time.
|
||||
At this time, only 53% of the configurations have been converted
|
||||
to use the kconfig-frontends tools.
|
||||
|
||||
Bugfixes (see the ChangeLog for details). Some of these are very important:
|
||||
|
||||
* Core OS
|
||||
|
||||
- Added missing sem_timedwait() system call.
|
||||
|
||||
* Networking
|
||||
|
||||
- Prevent tcp_connect callback from being double freed. From Max
|
||||
Holtzberg
|
||||
- uiplib: Support new definitions and state passing for network
|
||||
device status. From Maz Holtzberg.
|
||||
|
||||
* File Systems
|
||||
|
||||
- FAT: (1) A correction to FAT cluster allocation, and (2) Fix to some
|
||||
root directory logic that was conditionally done only for FAT 32.
|
||||
Apparently this needs to done for all FAT types. Both from Andrew
|
||||
"Tridge" Tridgell via Lorenz Meier.
|
||||
|
||||
* Binary Formats
|
||||
|
||||
- Fix a small memory leak when attempting to load a program from a file.
|
||||
|
||||
* Cortex-A8/9
|
||||
|
||||
- Fix some errors in the cache invalidation logic (only seem to matter
|
||||
for Cortex-A8).
|
||||
- Add more nop's after enabling the MMU. The cortex-a8 seems to need
|
||||
these
|
||||
|
||||
* Graphics
|
||||
|
||||
- Fix a typo that caused a compilation error when
|
||||
CONFIG_NXCONSOLE_BPP < 8. From Librae
|
||||
|
||||
* ARMv7-M
|
||||
|
||||
- Correct alignment of RAM vector table.
|
||||
- Interrupt handling: Do not disable and enable the IRQ on each
|
||||
entry, (2) this interferes with controlling the IRQ interrupt
|
||||
setting from interrupt handlers, and (3) up_disable_irq() does
|
||||
not work anyway so that this has never done anything.
|
||||
- Fix all implementations of up_disable_irq() for all Cortex-M3 and
|
||||
M4 architectures: To enable an interrupt on the Cortex-M3/4 CPU,
|
||||
you need to set a bit in the ISER register. To disable the
|
||||
interrupt, you need to set a bit in the ICER register. Existing
|
||||
logic was trying to disable interrupts by clearing the bit in the
|
||||
ISER register. That will not work; writing a '0' to the ISER
|
||||
register has no effect. That means that up_disable_irq() was
|
||||
doing nothing! It turns out that that is not really important
|
||||
because up_disable_irq() is not really used for that purpose. But
|
||||
some spurions STM32 ADC interrupts have been reported to me and this
|
||||
turned out to be the cause in that case. Thanks to Manuel St<53>hn for
|
||||
the tip.
|
||||
|
||||
* STMicro STM32
|
||||
|
||||
- Fix configuration and pin definitions that would prevent building
|
||||
USB for the connectivity and performance lines.
|
||||
- STM32L15xx: Fix a typo in USB pin definitions
|
||||
- Fix pin definition names for SPI2 MOSI and MISO. Noted by Brian Webb
|
||||
- Various fixes for STM32F103ZE SPI3 pin mapping definitions. From
|
||||
Steve Redler IV
|
||||
|
||||
* STMicro STM32 Boards
|
||||
|
||||
- Olimex STM32-P107: Failed to build if SPI3 for UEXT is not remapped.
|
||||
From Max Holtzberg
|
||||
|
||||
* x86 Boards
|
||||
|
||||
- Add a configuration option to select the -m32 compiler option when
|
||||
building for a 32-bit target on a native 64-bit compiler. So far,
|
||||
only used for the qemu/i486 configuration.
|
||||
- Patch from Matt Campbell to fix 'Error: .size expression for idle_stack
|
||||
does not evaluate to a constant".
|
||||
|
||||
* Library
|
||||
|
||||
- strftime(): Needs null termination on the generated string. From
|
||||
Max Holtzberg.
|
||||
- Typo in ctype.h macro name: iscntrl(), not iscontrol().
|
||||
- If there are no arguments (argc == 1), then getopt() will leave the
|
||||
optind variable in an undefined state (2014-1-20).
|
||||
- ARMv7-M memcpy(): Assembler changes with the gcc-47 distribution
|
||||
from ARM mean that we need to be explicit about branch sizes; one
|
||||
or more of the wide branch opcodes results in bad table branching.
|
||||
From Mike Smith.
|
||||
|
||||
* Configuration/Build System
|
||||
|
||||
- Fixes for some tools/ for Windows build issues from Max Holtzberg.
|
||||
- Config.mk: 'cypath' must be called if we are using a Windows native
|
||||
toolchain with the Cygwin 'make' to convert paths to proper
|
||||
Windows paths. From Richard Cochran.
|
||||
- ARM Makefile: Dependency directory list is now computed from the
|
||||
VPATH. From Richard Cochran.
|
||||
- builtin/Makefile: Fixes for native Windows build from Max Holtzberg.
|
||||
- Refactor some configuration dependencies: NSH networking features
|
||||
should depend on netutil selections; netutil selections, in turn,
|
||||
should depend on networking selections.
|
||||
|
||||
* Applications
|
||||
|
||||
- NSH: Modified the df -h logic to eliminate truncating numbers in
|
||||
conversion (like 7900 -> 7M). From Ken Pettit.
|
||||
|
||||
Reference in New Issue
Block a user