| 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. |