278 lines
11 KiB
Plaintext
278 lines
11 KiB
Plaintext
|
NuttX-7.13
|
||
|
----------
|
||
|
|
||
|
The 113th release of NuttX, Version 7.13, was made on December 5, 2015,
|
||
|
and is available for download from the Bitbucket.org website. Note
|
||
|
that release consists of two tarballs: nuttx-7.13.tar.gz and
|
||
|
apps-7.13.tar.gz. These are available from:
|
||
|
|
||
|
https://bitbucket.org/patacongo/nuttx/downloads
|
||
|
https://bitbucket.org/nuttx/apps/downloads
|
||
|
|
||
|
Both may be needed (see the top-level nuttx/README.txt file for build
|
||
|
information).
|
||
|
|
||
|
Additional new features and extended functionality:
|
||
|
|
||
|
* Core OS:
|
||
|
|
||
|
- External RTC: Added OS support for external RTC chips.
|
||
|
- boardctl(): Add a command to the boardctl() interface to obtain a
|
||
|
board unique ID.
|
||
|
|
||
|
* File Systems:
|
||
|
|
||
|
- TMPFS: Add support for a new TMPFS, RAM file system. The TMPFS
|
||
|
file system does not require any significant amount of memory
|
||
|
itself. It will grow dynamically as files are added and shrink back
|
||
|
when files are deleted. A very low overhead way to retain temporary
|
||
|
files.
|
||
|
- VFS: The VFS was extended to support standard file operations on
|
||
|
block drivers (open, close, read, write, etc.). The open() interface
|
||
|
accomplishes this by creating a temporary character driver to mediate
|
||
|
the character oriented accesses to the block driver.
|
||
|
- HOSTFS: Added a HOSTFS file system for use with the simulator. The
|
||
|
HOSTFS file system mounts in the simulated NuttX context by provides
|
||
|
proxied access to the file system on the host PC. This is useful for
|
||
|
providing file system content and nonvolatile storage of files in the
|
||
|
simulation environment. From Ken Pettit.
|
||
|
- MTD/PROCFS: Add an interface to un-register an MTD procfs entry.
|
||
|
From Ken Pettit.
|
||
|
- filemtd: A new MTD conversion layer that will convert a regular file
|
||
|
(or driver file) to an MTD device. This is useful for testing on the
|
||
|
simulation using the HOSTFS. From Ken Pettit.
|
||
|
- PROCFS: Extended to include networking entries in the procfs. Device
|
||
|
status, device statistics, and network statistics are now available
|
||
|
from the PROCFS.
|
||
|
- PROCFS: The PROCFS file system can now be configured so that it
|
||
|
supports runtime registration of PROCFS entries with
|
||
|
CONFIG_FS_PROCFS_REGISTER=y.
|
||
|
|
||
|
* Graphics/Graphic Drivers:
|
||
|
|
||
|
- ST7565 Driver: Extend to include support for the ERC12864-3. From
|
||
|
Pierre-noel Bouteville.
|
||
|
|
||
|
* Common Device Drivers:
|
||
|
|
||
|
- User buttons: Added a character driver to support application access
|
||
|
to board buttons. Supports notification of button activity via
|
||
|
signals.
|
||
|
- User LEDs: Added a character driver to support application access
|
||
|
to on-board LEDs.
|
||
|
- Zero Cross: Added a Zero Cross device driver support. From Alan
|
||
|
Carvalho de Assis.
|
||
|
- MAX6675: Added support to Thermocouple-to-Digital converter MAX6675.
|
||
|
From Alan Carvalho de Assis.
|
||
|
- BCH: Block-to-character (BCH) driver should forward ioctl() calls
|
||
|
to the contained block driver.
|
||
|
- S25FL1xx: Added a S25FL1xx QuadSPI FLASH driver.
|
||
|
- On-Chip FLASH: Added an upper half MTD device that can use the
|
||
|
interfaces defined in included/nuttx/progmem.h to provide a
|
||
|
standard MTD driver.
|
||
|
- Serial: Implemented high level DMA infrastructure for serial
|
||
|
devices. From Max Neklyudov.
|
||
|
- AT24XX: Add support for multiple AT24xx EEPROM parts, each with
|
||
|
unique I2C addresses, but otherwise identical.
|
||
|
- External RTC: Added drivers for external I2C RTC chips: DS3102,
|
||
|
DS1307, DS3231, DS3232, and NXP PCF85263.
|
||
|
- W25: Added support for byte write mode to the W25 FLASH driver. From
|
||
|
Ken Pettit.
|
||
|
- dev/loop: Added a loop character device. losetup() and loteardown()
|
||
|
should not be called directory from applications. Rather, these
|
||
|
functions are now available as IOCTL commands to the loop driver.
|
||
|
- dev/smart: Added support for a /dev/smart loop device. From Ken
|
||
|
Pettit.
|
||
|
|
||
|
* Networking:
|
||
|
|
||
|
- Driver Statistics: Most network drivers do not support statistics.
|
||
|
Those that do only supported them when DEBUG is enabled. Each
|
||
|
driver collected an architecture specific set of statistics and
|
||
|
there was no common mechanism to view those statistics. Thus,
|
||
|
the driver feature was mostly useless. This release standardizes
|
||
|
the driver statistics and puts the definition in the common network
|
||
|
device structure defined in netdev.h where they can be accessed by
|
||
|
network applications. All Ethernet drivers that collect statistics
|
||
|
have been adapted to use these common statistics.
|
||
|
|
||
|
* Simulation Platform:
|
||
|
|
||
|
- W25 FLASH: Added support for W25 FLASH simulation. From Ken Pettit.
|
||
|
- HOSTFS: Added support for the HOSTFS file system (see "File Systems",
|
||
|
above).
|
||
|
|
||
|
* Atmel SAMV7:
|
||
|
|
||
|
- SAME70: Added support for the SAME70 family of chips.
|
||
|
- Tickless: SAMV7 now supports the tickless mode of operation.
|
||
|
|
||
|
* Atmel SAMV7 Drivers:
|
||
|
|
||
|
- MPU: Added MPU and protected build support.
|
||
|
- QSPI: Added a QuadSPI FLASH driver. This driver operates in the
|
||
|
memory-mapped, Serial Memory Mode (SMM).
|
||
|
- FLASH: Added support to write on-chip FLASH.
|
||
|
- Timer/Counter: TC driver ported to SAMV7 from the SAMA5. Free-running
|
||
|
and one-short timer logic also ported.
|
||
|
- PCK: Brought programmable clock (PCK) logic from SAMA5 into SAMV7.
|
||
|
- Timer/Counter: Support PCK6 as an optional source for the timer/
|
||
|
counter clock.
|
||
|
|
||
|
* Atmel SAMV7 Boards:
|
||
|
|
||
|
- SAME70-Xplained: Add NSH and networking configurations for the
|
||
|
SAME70 Xplained board. Includes verified support for serial console,
|
||
|
LEDs, buttons, SDRAM, HSMCI SD card, and networking.
|
||
|
- SAMV7-XULT and SAME70-Xplained: If Tickless mode is selected then
|
||
|
enable PCK6 as a timer/counter clock source
|
||
|
|
||
|
* STMicro STM32:
|
||
|
|
||
|
- CCM PROCFS: Is no longer a part of the 'base' procfs entries and can
|
||
|
now only be supported via run time registration with
|
||
|
CONFIG_FS_PROCFS_REGISTER=y.
|
||
|
|
||
|
* STMicro STM32 Drivers:
|
||
|
|
||
|
- Timers: Add a compatible lower-half timer driver for use with the
|
||
|
common timer upper-half driver. From Wail Khemir.
|
||
|
|
||
|
* STMicro STM32 Boards:
|
||
|
|
||
|
- STM32F4-Discovery: Add low level support for the Zero Cross driver
|
||
|
for the STM32F4-Discovery. From Alan Carvalho de Assis.
|
||
|
- STM32F4-Discovery: Add board config to support for the MAX6675. From
|
||
|
Alan Carvalho de Assis.
|
||
|
|
||
|
* C Library/Header Files:
|
||
|
|
||
|
- bsearch(): Added the bsearch() function from NetBSD.
|
||
|
- freopen(): Added support for freopen().
|
||
|
- strftime(): Added day-of-week support (when available).
|
||
|
|
||
|
* Tools:
|
||
|
|
||
|
- nxstyle: Add crappy style checking tool nxstyle.c. See thee tools/
|
||
|
README file for more info.
|
||
|
|
||
|
* Applications: NSH
|
||
|
|
||
|
- mksmartfs command: Add configuration option to supported multiple
|
||
|
rootdirectories. From Ken Pettit.
|
||
|
- Add support for 'basename' and 'dirname' commands.
|
||
|
- set command: Like bash, NSH set command now strips off any leading
|
||
|
or trailing whitespace.
|
||
|
- mount command: The mount commands now accepts mount options
|
||
|
(currently needed only for the hostfs file system). From Ken
|
||
|
Pettit.
|
||
|
- losetup command: NSH no longer calls losetup() and loteardown
|
||
|
directly. Now it opens /dev/loop and accomplishes these things
|
||
|
using ioctl() calls.
|
||
|
- ifconfig command: If CONFIG_NETDEV_STATISTICS=y, then print the
|
||
|
network driver statistics in the ifconfig.
|
||
|
- ifconfig, ifup, and ifdown: These commands now uses /proc/net/<dev>
|
||
|
to view network device configuration and status and /proc/net/stat
|
||
|
to show network statistics. A consequence of this is that you
|
||
|
cannot view this network information if the procfs is not enabled
|
||
|
and mounted at /proc.
|
||
|
- losmart command: Added a new NSH losmart command. losmart setups
|
||
|
up a loop device for the smart MTD driver similar to losetup but
|
||
|
with different syntax. From Ken Pettit.
|
||
|
- ps command: The 'ps' command now uses /proc/<pid>/ to obtain task
|
||
|
status information. A consequence of this is that you cannot use
|
||
|
the 'ps' command if the procfs is not enabled and mounted at /proc.
|
||
|
|
||
|
* Applications: apps/system:
|
||
|
|
||
|
- apps/system/hexed: Port the hexed command line hexadeciamal editor
|
||
|
to NuttX. See http://apps.venomdev.net/hexed/.
|
||
|
|
||
|
* Applications: apps/fsutils:
|
||
|
|
||
|
- apps/fsutils/smartfs: Move into apps/fsutils from kernel, now uses
|
||
|
only open and ioctl. From Ken Pettit.
|
||
|
|
||
|
* Applications: apps/examples:
|
||
|
|
||
|
- apps/examples/fstest: Add a generic file system test. This is
|
||
|
essentially the same as examples/smart, but has all of the SmartFS
|
||
|
specific logic ripped out. This was created for testing the new
|
||
|
TMPFS.
|
||
|
- apps/examples/zerocross: Add a Zero Cross application example. From
|
||
|
Alan Carvalho de Assis.
|
||
|
- apps/examples/media: Add a simple test for access of media via a
|
||
|
block driver or MTD driver.
|
||
|
|
||
|
Bugfixes. Only the most critical bugfixes are listed here (see the
|
||
|
ChangeLog for the complete list of bugfixes and for additional, more
|
||
|
detailed bugfix information):
|
||
|
|
||
|
* Core OS:
|
||
|
|
||
|
- Fixed an error in clock_timespec_subtract(). Found by Lok.
|
||
|
- pthreads: CRITICAL BUGFIX: Logic was wiping out the indication that
|
||
|
of the type of a pthread. Hence, it could be confused as a task.
|
||
|
Found because this was causing a crash when /proc/nnn/cmdline was
|
||
|
printed.
|
||
|
|
||
|
* File System/Block Drivers:
|
||
|
|
||
|
- SMART MTD: Fix some Smart wear-leveling bugs. Fixed SmartFS wear
|
||
|
level error that occurs when the logical sector size is too small to
|
||
|
save all wear level status bytes in a single sector. Logical
|
||
|
sectors 1 and 2 were simply not being allocated and then the
|
||
|
read_sector and write_sector routines were failing. From Ken
|
||
|
Pettit.
|
||
|
|
||
|
* Graphics/Graphic Drivers:
|
||
|
|
||
|
- ILI9432: Fixed errors in orientation. Portrait, RPortrait, and
|
||
|
Landscript should work correly now. They were displayed mirrored.
|
||
|
From Marco Krahl.
|
||
|
|
||
|
* Common Drivers:
|
||
|
|
||
|
- CAN: Fix a problem in the CAN upper-half driver that occurs only
|
||
|
for CAN hardware that support a H/W FIFO of outgoing CAN messages.
|
||
|
In this case, there can be a hang condition if both the H/W and
|
||
|
S/W FIFOs are both full. In that case, there may be no event to
|
||
|
awaken the upper half driver. Add a new (conditional) CAN upper
|
||
|
half interface called can_txready() that can be used by the lower
|
||
|
half driver to avoid this hang condition.
|
||
|
- MS58xx: Fix some issues with initialization and with CRC
|
||
|
calculation. From Karim Keddam.
|
||
|
- W25: Fixed W25 FLASH driver page read/write logic. From Ken Pettit.
|
||
|
|
||
|
* Atmel SAMV7 Drivers:
|
||
|
|
||
|
- USART1 pin configuration: Reconfigure System I/O when using USART1.
|
||
|
From Frank Benkert.
|
||
|
- MCAN: Added a call to can_txready() to the MCAN driver.
|
||
|
|
||
|
* STMicro STM32 Drivers:
|
||
|
|
||
|
- stm32 F4: Fix some TIM12 pin mappings. From Max Kriegleder.
|
||
|
|
||
|
* STMicro STM32 Boards:
|
||
|
|
||
|
- STM32F429i-Disco: Calculated partition boundaries based on page
|
||
|
block sizes but mtd_partition() is expecting calculations based on
|
||
|
erase block size. From Alan Carvalho de Assis.
|
||
|
|
||
|
* C Library/Header Files:
|
||
|
|
||
|
- sys/types.h: When building on a 64-bit machine, the size of size_t
|
||
|
should be 64-bits. In general, I believe that sizeof(size_t) should
|
||
|
be the same as sizeof(uinptr_t). mmsize_t should always be 32-bits
|
||
|
in any event. The last change to stddef has been backed out. With
|
||
|
these changes, the simulator builds without errors or warnings an a
|
||
|
64-bit machine.
|
||
|
|
||
|
* Applications: apps/nshlib:
|
||
|
|
||
|
- The I/O buffer, g_iobuffer, should not be a global buffer. That
|
||
|
will not work in an environment where there are multiple NSH
|
||
|
sessions. The I/O buffer must, instead, be a part part of the
|
||
|
session-specific data defined in nsh_console.h.
|