211 lines
7.7 KiB
Plaintext
211 lines
7.7 KiB
Plaintext
|
NuttX-6.29
|
||
|
----------
|
||
|
|
||
|
The 96th release of NuttX, Version 6.29, was made on July 31, 2013,
|
||
|
and is available for download from the SourceForge website. Note
|
||
|
that release consists of two tarballs: nuttx-6.29.tar.gz and
|
||
|
apps-6.29.tar.gz. Both may be needed (see the top-level nuttx/README.txt
|
||
|
file for build information).
|
||
|
|
||
|
Additional new features and extended functionality:
|
||
|
|
||
|
* Drivers:
|
||
|
|
||
|
- Generalized the SSD1306 driver and added support UG-2832HSWEG04
|
||
|
which is very similar to the existing support for the
|
||
|
UG-2864HSWEG01.
|
||
|
- Added support for a generic bit-bang SPI driver. This includes
|
||
|
both a common "upper half" driver as well as a platformp-specific
|
||
|
"lower half" dirvers based on a common "template."
|
||
|
|
||
|
* ARMv7-A, Cortex-A5
|
||
|
|
||
|
- Added support for the ARMv7-A architecture and the Cortex-A5 in particular.
|
||
|
|
||
|
* ARMv7-M, Cortex-M3/4
|
||
|
|
||
|
- Modified how some registers are copied during a context switch (with
|
||
|
lazy FPU register saving). This should save some context switching
|
||
|
time when the context switch is due to interrupt level processing.
|
||
|
|
||
|
* STM32:
|
||
|
|
||
|
- Added support for a separate CCM heap. This may be useful for
|
||
|
segregating allocations for CCM (which cannot be used for DMA)
|
||
|
from other allocations (that may be used used for DMA).
|
||
|
|
||
|
* STM32 Drivers:
|
||
|
|
||
|
- DAC: Added support for DAC DMA (contributed by John Wharington).
|
||
|
- I2C: An I2C driver for the STM32 F3 family (from John Wharington).
|
||
|
|
||
|
* Atmel AT91 SAM/4:
|
||
|
|
||
|
- Add support for SAM3X and SAM3A chips
|
||
|
|
||
|
* Atmel AT91 SAM/4 Drivers:
|
||
|
|
||
|
- Re-architect the SAM3/4 SPI driver so that is it compatible with the
|
||
|
SPI drivers of other MCUs.
|
||
|
- Added register definition file for the SAM4L LCD peripheral.
|
||
|
- Added SAM4L PDCA register definition file
|
||
|
|
||
|
* Atmel AT91 SAM/4 Boards:
|
||
|
|
||
|
- SAM4L-Xplained: Added support for the SPI-based SD card on the I/O1
|
||
|
module.
|
||
|
- SAM4L-Xplained: Added a driver for the LED1 segment LCD module.
|
||
|
- SAM4L-Xplained: Added support for the UG-2832HSWEG04 OLED on the
|
||
|
SAM4L Xplained Pro's OLED1 module
|
||
|
- SAM4S-Xplained: Added support for on-board 1MB SRAM
|
||
|
- Arduino Due: Basic support for the Arduino Due (SAM3X) is now
|
||
|
included.
|
||
|
- SAM3U-EK: The touchscreen is now functional.
|
||
|
|
||
|
* Atmel AT91 SAMA5D3
|
||
|
|
||
|
- Added support for the Atmel AT91SAMA5D3 Cortex-A5 chip family.
|
||
|
|
||
|
* Atmel AT91 SAMA5D3 Boards
|
||
|
|
||
|
- Added support for the Atmel SAMA5D3x-EK boards which use the AT9
|
||
|
SAMA5D3x chips (x=1,3,4,5).
|
||
|
|
||
|
* Freescale KL25Z Drivers
|
||
|
|
||
|
- Freescale KL25Z TSI register definitions and example TSI driver for
|
||
|
the Freedom KL25Z board from Alan Carvalho de Assis.
|
||
|
- Added SPI driver and register definitions for the Freescale KL25Z.
|
||
|
- Added a framework for controlling SPI-related discrete inputs and
|
||
|
outputs. Taken from work by Alan Carvalho de Assis
|
||
|
|
||
|
* Build System:
|
||
|
|
||
|
- New sub-directories to hold SPI-related files: includes/nuttx/spi.h
|
||
|
moved to include/nuttx/spi/.; SPI-related Kconfig info moved from
|
||
|
drivers/Kconfig to drivers/spi/kconfig.
|
||
|
- Finally... I changed the naming of configuration variables like
|
||
|
CONFIG_DRAM_ to CONFIG_RAM_. This has bothered me for a long time
|
||
|
since most boards don't have DRAM. The more generic RAM naming
|
||
|
should not produce so much cognitive dissonance
|
||
|
|
||
|
* Libraries:
|
||
|
|
||
|
- Added CRC16 support.
|
||
|
|
||
|
* Applications:
|
||
|
|
||
|
- Added Zmodem file transfer support. This may be used as an embedded
|
||
|
library or may be built as 'sz' and 'rz' commands that can be
|
||
|
executed from NSH.
|
||
|
- C++ initializers should be set once and, preferably, in the context
|
||
|
of the task that uses any C++ statically initialized classes. This
|
||
|
only becomes an issue if cxxtest or helloxx are built as NSH builtin
|
||
|
applications. Then you want the initialization done in cxxtext or
|
||
|
helloxx and not in NSH (and certainly not twice). Added
|
||
|
configuration options to control who does the C++ initialization.
|
||
|
NSH now does not do C++ initialization be default and must be
|
||
|
configured to do otherwise. Conversely, cxxtest and helloxx
|
||
|
will always do C++ initialization unless configured do otherwise.
|
||
|
- examples/cxxtext: Add ostream test as provided by Michael.
|
||
|
- NSH: Added a 'cmp' command that can be used to compare two files
|
||
|
for equivalence. Returns an indication if the files differ.
|
||
|
Contributed by Andrew Tridgell (via Lorenz Meier).
|
||
|
|
||
|
Efforts In Progress. The following are features that are partially
|
||
|
implemented but present in this release. They are not likely to be
|
||
|
completed soon.
|
||
|
|
||
|
* Audio System:
|
||
|
|
||
|
- A complete audio subsystem include CODECs, higher level management,
|
||
|
interface definitions, and audio drivers was contributed by Ken
|
||
|
Pettit. This work has not been completely verified as of this
|
||
|
release and so is categorized as a work-in-progress. At present,
|
||
|
progress is blocked due to issues interfacing with the VS1053
|
||
|
audio DAC on the Mikroe STM32F4 board.
|
||
|
|
||
|
* 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 45% of the configurations have been converted
|
||
|
to use the kconfig-frontends tools.
|
||
|
|
||
|
Bugfixes (see the ChangeLog for details). Some of these are very important:
|
||
|
|
||
|
* File Systems:
|
||
|
|
||
|
- Fixed compilation error if no file systems are enabled: Change
|
||
|
error to ERROR.
|
||
|
- Read-Ahead/Write buffering: Correct typos that can cause failures
|
||
|
in some configurations (From Chia Cheng Tsao).
|
||
|
|
||
|
* Drivers
|
||
|
|
||
|
- Remove the wait for the touchscreen busy bit in the ADS7843E driver.
|
||
|
From my reading of the ADS7843 spec, it would not be appropriate to
|
||
|
wait for the BUSY bit to de-asserted anyway (since it is only de-
|
||
|
asserted when we read the data). Most boards do not even bother to
|
||
|
provide the BUSY bit.
|
||
|
- MMC/SD SPI based driver: Driver needs to make sure that the SPI
|
||
|
mode and data width are correct.
|
||
|
- ENC28J60: Change buffer ordering to work around Errata. From Dave
|
||
|
(ziggurat29).
|
||
|
|
||
|
* USB Device Controller Drivers:
|
||
|
|
||
|
- Fixed a typo in the composite device driver unitialization logic.
|
||
|
DEV1 should be DEV2 in one case.
|
||
|
- usbdev.h: Fix some typos that cause compiler errors when
|
||
|
CONFIG_USBDEV_DMA and CONFIG_USBDEV_DMAMEMORY are selected (From
|
||
|
Chia Cheng Tsao).
|
||
|
|
||
|
* ARM9:
|
||
|
|
||
|
- Fix a bug (uninitialized register error) that crept in the ARM9
|
||
|
boot-up code several years ago. Obviously no one has used the
|
||
|
ARM9 NuttX port for years!
|
||
|
|
||
|
* STM32 Drivers:
|
||
|
|
||
|
- Fix STM32 OTF FS endpoint allocation logic. Apparently the same
|
||
|
endpoint can be allocated as both an IN or an OUT endpoint. The
|
||
|
existing implementation only supported one allocation, either IN or
|
||
|
OUT. This resulted in failures to allocate endpoints when used with
|
||
|
the CDC/ACM + MSC composite driver (From Chia Cheng Tsao).
|
||
|
- SDIO: Add support for the data block end (DBCKEND) interrupt to
|
||
|
terminate transfers (From Chia Cheng Tsao).
|
||
|
- DAC: Fixed numerous DAC driver errors and added support for DAC
|
||
|
DMA (contributed by John Wharington).
|
||
|
|
||
|
* SAM3/4:
|
||
|
|
||
|
- SAM4S: Correct configuration of PIO pins for SAM4S B and C peripherals.
|
||
|
- Need to disable write protection before configuring PIO pins.
|
||
|
- GPIO configuration logic must protect against re-entrancy.
|
||
|
- Clocking must be applied to the SMC module for the 3X and 3A family in
|
||
|
order for the NFC SRAM to be functional.
|
||
|
- Fixed some errors for interrupts on ports D-F.
|
||
|
|
||
|
* SAM3/4 Drivers:
|
||
|
|
||
|
- Common SPI driver: Fix SPI mode setting. In the SAM3/4 family, the
|
||
|
clock phase control (CPHA) is inverted (NPHA). Also fixed an
|
||
|
incorrect pointer test. Was checking if the wrong pointer was NULL.
|
||
|
|
||
|
* SAM3/4 Boards:
|
||
|
|
||
|
- SAM3U-EK: Fix polarity of the /PENIRQ signal (it is active low).
|
||
|
The SAM3U-EK board now runs at 96MHz.
|
||
|
|
||
|
* Applications:
|
||
|
|
||
|
- apps/examples/nxhello: Minor fix for compilation error when the
|
||
|
display resolution is low (< 8bpp) due to a typo that has been there
|
||
|
for a long time. Also Correct default colors when in Y1 code mode.
|
||
|
- apps/system/ramtest: The RAM test was not correctly built
|
||
|
into the configuration and build system.
|
||
|
- apps/examples/composite: Change to prevent some false alarm debug
|
||
|
assertions (From Chia Cheng Tao).
|