| NuttX-7.14 |
| ---------- |
| |
| The 114th release of NuttX, Version 7.14, was made on January 28, 2016, |
| and is available for download from the Bitbucket.org website. Note |
| that release consists of two tarballs: nuttx-7.14.tar.gz and |
| apps-7.14.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: |
| |
| - modules: Add support for kernel modules: insmod, rmmod, support |
| functions. procfs support for user lsmod functioniality. |
| - SIGEV_THREAD: Add support for the SIGEV_THREAD notification method |
| in struct sigevent. This initial implementation will only work in |
| the FLAT build since it utilizes the work queue for signal |
| callbacks. See the top-level TODO file for additional details. |
| - 64-Bit Timer: If the 64-bit timer is selected, then use it whenever |
| clock_systimer() is called rather then chopping the 64-bit timer |
| down to 32-bits. Add a new type, systime_t to represent the 32- or |
| 64-bit system timer. This eliminates clock_systimer32() and |
| clock_systime64(); there is now only clock_systimer(). |
| |
| * Common Device Drivers: |
| |
| - Telnet Driver: Move the Telnet driver from apps/ to |
| nuttx/drivers/net. It is a driver a belongs in the OS. Now works |
| like the loop device: A new interface called telnet_initialize() |
| registers a telnet session "factory" device at /dev/telnet. Via |
| ioctl, the factory device can create instances of the telnet |
| character devices at /dev/telnetN to support Telnet sessions. |
| - PCA9635PW: Add a driver for the PCA9635PW I2C LED driver IC which |
| can be used to control the intensity of up to 16 LEDs. From |
| Alexander Entinger. |
| - MCP9844: Driver for the MCP9844 I2C digital temperature sensor with |
| a selectable resolution. From Alexander Entinger. |
| - PN532: Add driver for the NXP PN532 NFC-chip. From Janne Rosberg |
| and others at Offcode Ltd. |
| - LSM9DS1: Add driver for the STMicro LSM9DS1 chip. The LSM9DS1 is a |
| system-in-package featuring a 3D digital linear acceleration sensor, |
| a 3D digital angular rate sensor, and a 3D digital magnetic sensor. |
| From Paul Alexander Patience. |
| - CAN Interface: Add more extensive error reporting capaibility to |
| the CAN interface definitions. From Frank Benkert. |
| - SPI Interface: Add an optional hwfeatures() method to the SPI |
| interface. |
| |
| * Simulation Platform: |
| |
| - NSH configuration uses the custom start up scriptwith a read-only |
| passwd file. Includes hooks for an MOTD message. |
| |
| * ARMv7-R |
| |
| - ARMv7-R: Add basic architecture support for the ARMv7-R processor |
| family. |
| |
| * Atmel AVR: |
| |
| - Atmega2560: Add support for the Atmega2560. From Dimitry Kloper. |
| - debug.h: Add an AVR-specific header file used when the AVR MEMX |
| pointer is used. From Dimitri Kloper. |
| |
| * Atmel AVR Boards: |
| |
| - Arduino-Mega2560: Add support for the Arduino-Mega2560. From |
| Dimitry Koper. |
| |
| * Atmel SAMV7 Drivers: |
| |
| - Port the TRNG driver from the SAMA5D3/4 to the SAMV7. |
| - Port the WDT driver from the SAMA5D3/4 to the SAMV7. |
| - Add an RSWDT driver. |
| |
| * Atmel SAMV7 Boards: |
| |
| - SAMV71-XULT: Add configuration for testing OS modules. |
| |
| * Freescale Kinetis: |
| |
| - MK60N512VLL100: Add support for the MK60N512VLL100 Kinetis part. |
| From Andrew Webster. |
| |
| * Freescale Kinetis Boards: |
| |
| - ENET: Numerous updates to the Kinetis ENET driver. That driver is |
| now functional. From Andrew Webster. |
| |
| * NXP LPC43xx Boards: |
| |
| - WaveShare LPC4337-WS: Support for the WaveShare LPC4337-WS board. |
| From Lok Tep. |
| |
| * STMicro STM32 Drivers: |
| |
| - Timer Capture: Add timer input capture driver. From Pierre-Noel |
| Bouteville. |
| |
| * STMicro STM32 Boards: |
| |
| - Olimex STM32 H407: Added a port to the Olimex STM32 H407 board. |
| This board features the STMicro STM32F407ZGT6 (144 pins). |
| Contributed by Neil Hancock. |
| |
| * TI TMS550 Boards: |
| |
| - TI LaunchXL-TMS57004: Add basic board support for TI LaunchXL- |
| TMS57004. Still a work in progress. |
| |
| * C Library/Header Files: |
| |
| - sys/time.h: Add timeradd(), timersub(), timerclear(), timerisset(), |
| and timercmp() as macros. These are non-POSIX interfaces, but |
| included in most BSD deriviatives, including Linux. From Manuel St??. |
| - AVR support: Introduce support for Atmel toolchain in-flash strings. |
| Atmel toolchain AVR compiler provides a transparent in-flash object |
| support using __flash and __memx symbols. The former indicates to |
| compiler that this is a flash-based object. The later used with |
| pointer indicates that the referenced object may reside either in |
| flash or in RAM. The compiler automatically makes 32-bit pointer |
| with flag indicating whether referenced object is in flash or RAM |
| and generates code to access either in run-time. Thus, any function |
| hat accepts __memx object can transparently work with RAM and flash |
| objects. |
| For platforms with a Harvard architecture and a very small RAM like |
| AVR this allows to move all constant strings used in trace messages |
| to flash in the instruction address space, releasing resources for |
| other things. This change introduces IOBJ and IPTR type qualifiers. |
| The 'I' indicates that the object may lie in instruction space on a |
| Harvard architecture machine. For platforms that do not have __flash |
| and __memx or similar symbols IOBJ and IPTR are empty, making the |
| types equivalent to, for example, 'const char' and 'const char*'. |
| For Atmel compiler these will become 'const __flash char' and |
| 'const __memx char*'. All printf() functions and syslog() functions |
| are changed so that the qualifier is used with the format parameter. |
| From Dimitry Kloper. |
| - debug.h: Add configuration to support an architecture-specific |
| debug.h header file. From Dimitri Kloper. |
| - netdb: Add support for the use of a DNS resolver file like |
| /etc/resolv.conf. |
| - TEA: Add an implementation of the Tiny Encryption Algorithm. |
| - math32.h: Add some utilities to support 64-bit arithmetic |
| operations for platforms that do not support long long types. |
| |
| * Tools: |
| |
| - tools/cnvwindeps.c: Add a tool that will convert paths in |
| dependencies generated by a Windows compiler so that they can be |
| used with the Cygwin make. |
| - tools/mkwindeps.sh: A script that coordinates use of cnvwindeps.exe. |
| Dependencies now work on the Cygwin platform when using a Windows |
| ative toolchain. |
| |
| * Applications: NSH |
| |
| - Module Commands: Add module commands: insmod, rmmod, and lsmod. |
| - Time Command: Add a 'time' command that may be used to time the |
| execution of other commands. |
| - Password Commands: Add useradd, userdel, and passwd commands. |
| - MOTD: Now supports a Message of the Day (MOTD) that will be |
| presented after the NSH greeting. |
| - Session Logins: All sessions may be protected with logins using the |
| encrypted password in /etc/passwd. |
| - Extended Logins. Added optional platform-specific function to |
| perform password verification and optional delay after each failed |
| login attempt. |
| |
| * Applications: apps/fsutils: |
| |
| - apps/fsutils/passwd: Utility library for accessing a password file |
| like /etc/passwd. |
| |
| * Applications: apps/netutils: |
| |
| - apps/netutils/telnetd: Now creates Telnet sessions by opening a new |
| factory device at /dev/telnet and then using ioctl calls to create |
| the session character drivers at /dev/telnetN. |
| - apps/netutils/netlib: Add netlib_get_dripv4addr() and |
| netlib_get_ipv4netmask(). From Pelle Windestam. |
| |
| * Applications: apps/examples: |
| |
| - apps/examples/module: Add a test harness for verifying NuttX kernel |
| modules. |
| - apps/examples/pca9635: Add a simple test of PCA9635PW PWM LED driver. |
| From Alan Carvalho de Assis. |
| - apps/examples/ostest: Add a test of POSIX timers using SIGEV_THREAD. |
| |
| 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: |
| |
| - pthreads: CRITICAL BUGFIX: Logic was wiping out the indication that |
| of the type of a pthread. Hence, it could be confused as a task. |
| - waitpid: CRITICAL BUGFIX. Add a reference count to prevent waitpid |
| from using stale memory released by the waited-for task group. |
| - clock_systimespec(): Fix an error in a time conversion. |
| |
| * File System/Block Drivers: |
| |
| - poll(): Fix handling of sem_tickwait() return value sem_tickwait() |
| does not return an -1+errno, it returns a negated errno value. |
| Noted by Freddie Chopin. |
| |
| * Common Drivers: |
| |
| - TUN Driver: Fix a compile time error in the TUN driver. From |
| Vladimir Komendantskiy. |
| - USB Host HID Parser: Wrong size used in memcpy(). From Hang Xu. |
| - PCA9555: Fixed a bug in the function pca9555_setbit which occurs if |
| someone tries to set one of the pins 8-15. The problem is that |
| after the check if the pin is greater than 7 the variable addr is |
| incremented and used in the Call I2C_WRITEREAD. But later in the |
| call to the I2C_WRITE buf[0] is used as address but this address is |
| not incremented as it should be. Note address does mean the address |
| to the register in the ioexpander and not the I2C address. From |
| Stefan Kolb. |
| |
| * Networking: |
| |
| - TCP/IOB: Numerous fixes, mostly relate to TCP and IOB buffering |
| and race conditions. These were necessary for for the NuttX |
| networking later to be stable in some stress testing. From Andrew |
| Webster. |
| |
| * Atmel SAMV7 Drivers: |
| |
| - USBHS Device: In USBHS device driver, fix check if zero length |
| packet is needed. |
| |
| * STMicro STM32 Drivers: |
| |
| - OTG FS Host: Fix some backward arguments to stm32_putreg(). Note |
| by Hang Xu. |
| |
| * Tools: |
| |
| - tools/mkdeps.c: Extended/fixed support for --winpath option. |
| Dependencies now work under Cygwin with a native Windows toolchain. |
| |
| * Build System: |
| |
| - apps/platform/Makefile: Use a relative path to the board directory |
| link rather than the absolute path. For Cygwin, the absolute would |
| would need converted with cygpath. But just using the relative path |
| is a simpler solution. |