diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2015-01-26 09:35:27 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2015-01-26 09:35:27 -0600 |
commit | ca3c3585d5fb432b0c3ab6156b8758ce9c06c527 (patch) | |
tree | 63bcb81be0b8eb0c65a6a508e3ea93cfd517efda /nuttx/ReleaseNotes | |
parent | 21d81e62c0c9cdb59c59d0e3d3f9160db3d380d4 (diff) | |
download | px4-nuttx-ca3c3585d5fb432b0c3ab6156b8758ce9c06c527.tar.gz px4-nuttx-ca3c3585d5fb432b0c3ab6156b8758ce9c06c527.tar.bz2 px4-nuttx-ca3c3585d5fb432b0c3ab6156b8758ce9c06c527.zip |
Prep for NuttX-7.7 release
Diffstat (limited to 'nuttx/ReleaseNotes')
-rw-r--r-- | nuttx/ReleaseNotes | 363 |
1 files changed, 363 insertions, 0 deletions
diff --git a/nuttx/ReleaseNotes b/nuttx/ReleaseNotes index c5dee539e..d4f781ab7 100644 --- a/nuttx/ReleaseNotes +++ b/nuttx/ReleaseNotes @@ -7735,3 +7735,366 @@ operation. My thanks to the developers of cppcheck! I am impressed! - Examples: These examples all set the IP address of eth1 but the netmask and gateway of eth0 if DHCP is enabled: discover, tcpecho, webserver, xmlrpc. That can't be right. + +NuttX-7.7 +--------- + +The 107th release of NuttX, Version 7.7, was made on January 26, 2015, +and is available for download from the SourceForge website. Note +that release consists of two tarballs: nuttx-7.7.tar.gz and +apps-7.7.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: + + - Task exit handling: Add logic to clean up after task_delete() or + pthread_cancel() if the task happens to be waiting on a semaphore + when was is cancelled. + - Stack coloration: Removed CONFIG_DEBUG_STACK and replaced it with + CONFIG_STACK_COLORATION that does the same thing but without enabling + debug. From David Sidrane. + + * Common Drivers: + + - Discrete joystick driver: Added an interface definition and upper + half driver for a discrete joystick device (where X/Y changes are + indicated with button presses). + - Analog joystick driver: Added an interface definition and upper + half driver for a analog joystick device (where X/Y positions are + sampled, numeric values). + - Add driver support for the ADXL345 accelerometer. From Alan + Carvalho de Assis + - Generic serial driver: Add watermark levels to the serial RX flow + control logic. Modify the rxflowcontrol method to accept the number + of bytes in the buffer and a boolean indication of which watermark + was crossed. + + * File Systems/Block Drivers/MTD: + + - Add procfs write support. From Ken Petit. + - Implemented wear-leveling in the SmartFS. From Ken Pettit. + - MMC/SD Interface: MMCSD SDIO: Add support for a new + SDWAIT_WRCOMPLETE condition. The previous logic used a busy-wait + loop to poll the card R1 status to determine when the card was + ready for the next transfer. That busy-wait can be quite long -- + up to hundreds of milliseconds. An alternative is to look the SD D0 + pin which will change state when the card is no longer busy. This + change avoids the busy-wait poll by reconfiguring the SD D0 pin as a + GPIO interrupt, then waiting for the card to become ready without + taking up CPU cycles. From David Sidrane. + + * Drivers: + + - Add support for a generic EEPROM driver that accesses EEPROM as a + character driver (vs. an MTD driver). From Sébastien Lorquet. + + * Graphics Support: + + - Many new fonts converted for use with NuttX and added by + Pierre-noel Bouteville + + * Networking: + + - IPv4 support is now conditioned on CONFIG_NET_IPv4. + - Implemented and verified IPv6 support conditioned on + CONFIG_NET_IPv6. Either IPv4 or IPv4 or both may be selected. + Sockets, of course, must be bound to one or the other. Added support + for IPv6 ioctls to manipulate IP addresses. + - Integrated support for ICMPv6 and the ICMPv6 Neighbor Discovery + Protocol and ICMPv6 ECHO request/reply needed to support ping logic. + - All Ethernet drivers: Modified to support. Most, however, are + still missing address filtering logic required for ICMPv6 Neighbor + Discovery Protocol. See + http://www.nuttx.org/doku.php?id=wiki:howtos:ipv6#ethernet_driver_requirements + - Also added missing raw/packet socket support to all Ethernet drivers. + + * Host Simulation: + + - Add a configuration build and test the Traveler first person game + using the simulator. + - Add an X11 mouse-based simulation of an analog joystick device + + * Atmel SAMA5D Boards: + + - Add analog Joystick shield support for the SAMA5D3 Xplained board. + + * Freescale KL Drivers: + + - Add GPIO interrupt capability for the KL architecture. From Alan + Carvalho de Assis + + * Freescale KL Boards: + + - Freedom-KL25Z: Add board support for the ADXL345 accelerometer. From + Alan Carvalho de Assis + - Freedom-KL25Z: Update the Freedom KL25Z board CC3000 support to use + the current CC300 interfaces. From Alan Carvalho de Assis + + * NXP LPC43xx Boards: + + - A port of NuttX to the LPC4357-EVB from Toby Duckworth. This port + is a leverage of the LPC3330-Xplorer port and still have a some + misinformation from that port that needs to be updated for the + LPC4357-EVB. + + * SiLabs EFM32 Drivers: + + - Serial: Add support for serial termios TCGET and TCSET. For the + moment, only set/get speed is implemented. From Pierre-noel + Bouteville. + - RMU: Add support for the EFM32 reset management unit (RMU). From + Pierre-noel Bouteville. + + * SiLabs EFM32 Boards: + + - Add support for timer/PWM on the EFM32GG. From Pierre-noel + Bouteville + + * STMicro STM32: + + - Enable support for the STM32 F102. From the PX4 team. + + * STMicro STM32 Drivers: + + - STM32 F429 LTDC: Add interface to perform hardware accelerated layer + operation. Provides access to a reference of a specific ltdc layer. + From Marco Krahl + - STM32 F429 LTDC support: Implemented LTDC framebuffer support for the + generic nuttx framebuffer interface. Also implements the interface to + perform hardware accelerated layer operation by the ltdc controller + and dma2d controller later. From Marco Krahl. + - STM32: Add support for the internal low speed clock (LSI) as a + source of the RTC clock. Some boards do not have the external + 32kKhz oscillator installed, for those boards we must fallback to + the crummy internal RC clock. From Kevin Hester + - STM32 SDIO: Add support for the new SDWAIT_WRCOMPLETE condition. + From David Sidrane + + * STMicro STM32 Boards: + + - Add a discrete Joystick support for the STM3210E-EVAL. + - Add analog Joystick shield support for the Nucleo F4x1RE boards. + - STM32 F429i-Disco: Add support for initializing of the ltdc + controller and the lcd device connected on the stm32f429i-disco. + From Marco Krahl. + - Removed the px4-v2_upstream configuration. This was not the + official configuration for the PX4 board and has led to confusion + by NuttX users. The board configuration also requires some ongoing + maintenance and customization to support ongoing PX4 testing and + evaluation. It is best retained the PX4 repositories where it can + be properly maintained and not in the upstream NuttX repository. + + * TI Tiva: + + - Add support for the TI Tiva TM4C 129X family. Some unverified + support for the TM4C 1294 is also in place. + + * TI Tiva Drivers: + + - Added support for Tiva I2C driver. Verified on the Tiva TM4C123G + and TM4C129X. + - Added a Tiva TM4C129X Ethernet driver. + - Add a timer library for generic support of Tiva timers + - Add a driver lower half for drivers/timer.c. Only 32-bit periodic + timers are supported. This provides userspace access to timers. + + * TI Tiva Boards: + + - TM4C123G Launchpad: Add initialization logic for an external AT24 + EEPROM. This is intended only to support testing of the Tiva I2C + driver. + - Board support for the Tiva DK-TM4C129x Connected Development Kit. + - DK-TMC129X: Add an IPv6-enabled NSH configuration. + + * C Library/Header Files: + + - Added support for a variadic ioctl() function. The ioctl() + interface is a non-standard, Unix interface. NuttX has always used + the older, three-parameter version. Most contemporary systems now, + however, use a variadic form of the ioctl() function. Added an + option to insert a shim layer to adapt the three-parameter ioctl() + to use the variadic interface form. Internally, the ioctl handling + is the same three-parameter logic. The only real complexity to the + shim is in how the system calls must be handled. + - Added sys/custom_file.h. Used when CUSTOM_FILE_IO is define and + avoids re-definition errors about the FILE define. From Thomas + Gruber via the PX4 repository + - Add CRC8 support to the C library. From Ken Pettit. + - math.h: Added support for the expm1 functions. From Brennan Ashton + + * Applications: + + - apps/examples/djoystick: Add a test of the discrete joystick + driver. + - apps/examples/ajoystick: Add a test of the analog joystick + driver. + - apps/examples/ltdc: Add ltdc test example. From Marco Krahl + - apps/system/lm75: Add a tiny application to read the temperature + from an LM-75 (or compatible) temperature sensor + - apps/examples/timer: Add a trivial test of the timer driver + + - apps/system/cu: Add a minimalist implementation of the 'cu' + terminal program (part of Taylor UUCP for ages). Using it, you can + simply open a serial port and interact with it. Using '~.' you can + leave the terminal program and drop back to nsh. This might come + in handy for people that have e.g. GSM modems, GPS receivers or + other devices with text based serial communications attached to + their Nuttx systems. From Harald Welte + - apps/interpreters/micropython: A port of Micro Python to NuttX. + Contributed by Dave Marples + + - apps/netutils/dnsclient: Can select to be either IPv4 or IPv6, but + not both (IPv6 still does not compile) + - apps/netutils/netlib: Add new library functions to manipulate IPv6 + addresses. + - apps/examples/nettest: Update test so that it can be used to test + IPv6 TCP sockets + - apps/examples/udp: The UDP test example has been extend to support + IPv6 domain sockets + + - apps/nshlib: Add logic to initialize IPv6 addresses + - apps/nshlib: Add the ping6 command to support checking IPv6 networks. + - apps/nshlib: Clean up network status presentation for IPv6 + +Efforts In Progress. The following are features that are partially +implemented but present in this release. They are not likely to be +completed soon. + + * IPv6. While basic IPv6 support was completed in NuttX-7.7, + there are lingering issues with getting IPv6 compatibility + with applications and network utilities. + + * Processes. Much of the work in this release is focused on the + realization of Unix-style user processes in NuttX. There is more to + be done, however. The full roadmap and status is available at: + http://www.nuttx.org/doku.php?id=wiki:nxinternal:memconfigs#the_roadmap_toward_processes + + * XMega: There are some fragments in place for an XMega port. That + port has not really started, however. + + * Galileo: Similarly, there are fragments in place for an Intel Galileo + port. The port probably will not happen (I gave my Galileo board away!). + +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: + + - POSIX message queues: msg type should be char * not void * in + mq_send, mq_timedsend, mq_receive, and mq_timedreceive. Noted by + Pierre-Noel Bouteville + - POSIX message queues: In message queue creation return ENOSPC error + if size exceeds the configured size of pre-allocated messages; Use + ENOSPC vs ENOMEM per OpenGroup.org. From Pierre-Noel Bouteville. + - Task Names: strncpy() will not copy the terminating \0 into the + destination if the source is larger than the size of the + destination. Ensure that the last byte is always zero and let + strncpy() only copy CONFIG_TASK_NAME_SIZE bytes. The issue of + unterminated names can be observed in ps when creating a pthread + while CONFIG_TASK_NAME_SIZE is set to 8. From Daniel Willmann + + * Memory Management: + + - Granule allocator: Fixes some issues found by the PX4 team using + Coverity. From Pavel Krienko + + * Networking: + + - Several fixes correcting issues with the CC3000 networking. From + Jussi Kivilinna + - CC3000 Fix: Data can be unaligned. When dereferenced as an input + ntosh(), a bad value is returned. Reported by Alan Carvalho de + Assis + - Correct naming of fields in struct sockaddr_in6: sin6_port and + sin6_family, not sin_port and sin_family. + - accept(): Correct the value returned by accept() in the case where + net_lockingwait() is called. It was returning -1 and losing the + errno value. Noted by Rony Xln + + * Common Drivers: + + - Loop device should return -EINTR is interrupted by a signal. + - M25P serial flash driver: Add subsector size of the M24P16 part. + From Lazlo + - Common serial driver: In case a thread is doing a blocking operation + (e.g. read()) on a serial device, while it is being terminated by + pthread_cancel(), then uart_close() gets called, but the semaphore + is still blocked. This means that once the serial device is opened + next time, data will arrive on the serial port (and driver + interrupts handled as normal), but the received characters never + arrive in the reader thread. The problem was fixed by re- + initializing the semaphores on the last uart_close() on the device. + From Harald Welte + - Pipes: Fixes some issues found by the PX4 team using Coverity. From + Pavel Krienko + - CDC/ACM driver: Fixes some issues found by the PX4 team using + Coverity. From Pavel Krienko + + * NXP LPC43xx Drivers: + + - LPC4357: Changes required to get USART 2 & 3 working on the + lpc4357-evb. From Toby Duckworth. + + * STMicro STM32: + + - Several fixes correcting issues with the STM32 header files from + Jussi Kivilinna + + * STMicro STM32 Drivers: + + - Ported Tridge's STM32 I2C noise resilience logic from the PX4 + repository. + - STM32 F2 and F4: Set the GPIO_SPEED_50MHz on all F2 and F4 SPI pin + configurations. This is based on an F411 SPI1 errata but the fixed + is generalized to all SPI and all F2 and F4. Discovered and fixed + by Sebastien Lorquet. + - Fix for STM32 OTGHS device driver working in FS mode. From Ken + Pettit. + - For STM32 OTG HS DEV (in FS mode): Disable ULPI clock enable in RCC + AHB1 Register. If Both ULPI and the FS clock enable bits are set in + FS mode, then the ARM never awakens from WFI due to a chip issue. + This is only an issue if you are using the internal PHY. From Ken + Pettit. + - STM32 F429 LTDC: Add missing clut register definition. From Marco + Krahl + - STM32 serial: fix declaration and definition of up_receive() and + up_dma_receive() to match fields in the interface definition of + struct uart_ops_s. From Freddie Chopin. + + * TI Tiva Drivers: + + - Fix Tiva IRQ control logic; was limited to only 64 IRQs. That is a + problem for higher numbered IRQs on many platforms + + * C Library/Header Files: + + - avsprintf(): Fix a bug in usage of va_list on x86. On x86, + va_list is a pointer to a single copy on the stack. avsprintf() + calls lib_vsprintf() twice and so traverses the va_list twice using + va_start. va_start modifies that single copy on the stack so that + the second call to lib_vsprintf() fails. This appears to be an + issue with x86 only so far. + - stdint.h: Don't use hex values to specify minimum values of fixed + width, signed values. Hex values are inherently unsigned and not + usable for this purpose in all contexts. + - strncpy(): Would trash a lot of memory if n == 0. From Yasuhiro + Osaki. + - sscanf(). Accept %X and %F as well as %x %f as a format specifiers. + From Sébastien Lorquet + + * Applications: + + - apps/examples/romfs: fix romfs example builtin app registry issue. + From Librae + - apps/system/cdcacm, composite and usbmsc: Fix some strangely placed + conditional compilation. Looks like an automated update went awry + - apps/netutils/telnetd: Add protection when CONFIG_SCHED_HAVE_PARENT + is enabled: Call sigaction with SA_NOCLDWAIT so that exit status is + not retained (no zombies) and block receipt of SIGCHLD so that + accept is not awakened by a signal. If accept() is awakened by a + signal, do not do anything crazy like exit. Most from Rony Xln + - apps/nshlib/: NSH TFTP get command: Wrong file name used for the + destination. From Lazlo |