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 | |
parent | 21d81e62c0c9cdb59c59d0e3d3f9160db3d380d4 (diff) | |
download | px4-nuttx-ca3c3585d5fb432b0c3ab6156b8758ce9c06c527.tar.gz px4-nuttx-ca3c3585d5fb432b0c3ab6156b8758ce9c06c527.tar.bz2 px4-nuttx-ca3c3585d5fb432b0c3ab6156b8758ce9c06c527.zip |
Prep for NuttX-7.7 release
-rw-r--r-- | apps/ChangeLog.txt | 8 | ||||
-rwxr-xr-x | nuttx/ChangeLog | 39 | ||||
-rw-r--r-- | nuttx/Documentation/NuttX.html | 124 | ||||
-rw-r--r-- | nuttx/ReleaseNotes | 363 |
4 files changed, 494 insertions, 40 deletions
diff --git a/apps/ChangeLog.txt b/apps/ChangeLog.txt index 0b7c044d2..a6761c905 100644 --- a/apps/ChangeLog.txt +++ b/apps/ChangeLog.txt @@ -1140,7 +1140,7 @@ * apps/examples/bridge/host_main.c, host_net1.c, host_net2.c, Kconfig, and Makefile: Add host-side test driver (2014-11-21). -7.7 2015-xx-xx Gregory Nutt <gnutt@nuttx.org> +7.7 2015-01-26 Gregory Nutt <gnutt@nuttx.org> * apps/examples/romfs/Makefile: fix romfs example builtin app registry issue. From Librae (2014-11-27). @@ -1187,10 +1187,12 @@ * 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. Iff accept() is awakened by a signal, do + is not awakened by a signal. If accept() is awakened by a signal, do not do anything crazy like exit. Most from Rony Xln (2015-01-22). * apps/examples/udp: The UDP test example has been extend to support IPv6 domain sockets (2015-01-22). * apps/nshlib: Add the ping6 command to support checking IPv6 networks. - NSH logic is complete but still nissing (2015-01-23). + (2015-01-23). * apps/nsh: Clean up network status presentation for IPv6 (2015-01-24). + +7.8 2015-xx-xx Gregory Nutt <gnutt@nuttx.org> diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 208f7a675..22b41cd61 100755 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -4926,7 +4926,7 @@ Finally finished the SAM4L clock configuration logic; Added a WDT register definition header file (2013-6-8). * nuttx/arch/arm/src/sam34/chip/sam4l_usart.h and sam4l_picouart.h: - Add UART/USART register defintion files for the SAM4L (2013-6-8). + Add UART/USART register definition files for the SAM4L (2013-6-8). * arm/src/sam34/chip/sam3u_periphclks.h: More macros and definitions to generalize peripheral clocking and to hide differences between the SAM3U and the SAM4L (2013-6-8). @@ -5217,7 +5217,7 @@ will (eventually) support reconfiguration of NOR flash when NuttX boots from NOR FLASH (2013-7-29). * arch/arm/src/sama5/chip/sam_hsmc/h: SAMA5 HSMC register - defintion file (2013-7-29) + definition file (2013-7-29) * configs/sama5d3x-ek/src/sam_norflash.c: Add board specific logic to re-configure the SAMA5D3x-EK NOR FLASH before while running out of NOR FLASH. We need to change the NOR FLASH @@ -6194,7 +6194,7 @@ * include/nuttx/fs/ramdisk.h: Move ramdisk.h to include/fs/ramdisk.h (2013-12-10). * arch/arm/src/a1x/chip/a1x_pio.h and a10_piocfg.h: PIO register - defintion header files (2013-12-10). + definition header files (2013-12-10). * arch/arm/src/a1x/a1x_pio.c and .h: Support for PIO configuration (2013-12-11). * libc/misc/lib_match.c: Pattern matching logic extended to handle @@ -8902,7 +8902,7 @@ PDC or DMAC support is required (2014-10-29). * configs/sam4e-ek/src/sam4e-ek.h: Fix an error in a USART1 pin number (2014-10-29). - * configs/efm32gg-stk3700: Board support for the SiLbas EFM32GG + * configs/efm32gg-stk3700: Board support for the SiLabs EFM32GG Giant Gecko Starter kit. Current with basic NSH configuration only. Testing is on hold until I receive hardware (2014-11-03). * libc/Kconfig: Move CONFIG_NSH_TMPDIR to CONFIG_LIBC_TMPDIR (2014-11-05). @@ -9025,7 +9025,7 @@ * arch/arm/src/stm32/stm32_otghs.c, Make.defs, configs/stm32f429i-disco/src/stm32_usb.c and Makefile: STM32 F4 OTGHS device controller driver from Brennan Ashton (2014-11-20). - * configs/sama5d3-xplained/bridge: Add a simple test for the the EMAC + * configs/sama5d3-xplained/bridge: Add a simple test for the EMAC and GMAC on the SAMA5D3 working together (2014-11-20). * libnx/nxtk/nxtk_drawframe.c: Remove warnings when CONFIG_NXTK_BORDERWIDTH is set to zero. From Pierre-Noel Bouteville (2014-11-20). @@ -9056,7 +9056,7 @@ * include/nuttx/fs/fs.h: Fix typo in conditional compilation. From Alan Carvalho de Assis (2014-11-23). -7.7 2015-xx-xx Gregory Nutt <gnutt@nuttx.org> +7.7 2015-01-26 Gregory Nutt <gnutt@nuttx.org> * nuttx/drivers/eeprom and include/nuttx/eeprom/: Add support for generic EEPROM access via a character driver. Add also the EEPROM driver itself. @@ -9155,7 +9155,7 @@ * arch/sim/Kconfig: Allow building the simulated framebuffer driver even if NX is not enabled (12014-12-8). * configs/sim/traveler and README.txt: Add a configuration build and test - the Traveler firt person game using the simualtor (2014-12-8). + the Traveler first person game using the simulator (2014-12-8). * arch/arm/src/stm32/chip/stm32f20xxx_pinmap.h and stm32f40xxx_pinmap.h: 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 @@ -9166,7 +9166,7 @@ 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 - he stack so that the second call to lib_vsprintf() fails. This appears + the stack so that the second call to lib_vsprintf() fails. This appears to be an issue with x86 only so far (2014-12-8). * stdint.h: Don't use hex values to specify minimum values of fixed width, signed values. Hex values are inherently unsigned and not @@ -9183,7 +9183,7 @@ smartfs_procfs.c, smartfs_utils.c, smartfs.h, Kconfig, include/nuttx/fs/ioctl.h, smart.h, and mtd/smart.h: Implements wear- leveling in the SmartFS. From Ken Pettit (2014-12-9). - * arch/arm/src/tiva/tiva_i2c.c: Drive is code complete but still + * arch/arm/src/tiva/tiva_i2c.c: Driver is code complete but still untested (2014-12-10). * configs/tm4c123g-launchpad/src/tm4c_at24.c, tm4c_bringup.c, and other files: Add initialization logic for an external AT24 EEPROM. This @@ -9215,7 +9215,7 @@ 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. - Th problem was fixed by re-initializing the semaphores on the last + The problem was fixed by re-initializing the semaphores on the last uart_close() on the device. From Harald Welte (2014-12-13). * sched/semaphore/sem_recover.c, Make.defs, seamphore.c, sched/wdog/wd_recover.c, Make.defs, wdog.h, sched/task/task_recover.c: @@ -9354,7 +9354,7 @@ * arch/arm/src/stm32/stm32_ltdc.c: Clean up documentation, some formatting improvements. From Marco Krahl (2014-12-29). * arch/arm/src/tiva/chip/tiva_ethernet.h, lm3s_ethernet.c, and - tm4c_ethernet.h: Add logic to discriminate betwen LM3S class Ethernet + tm4c_ethernet.h: Add logic to discriminate between LM3S class Ethernet register definitions and TM4C129X class Ethernet register definitions. Add TM4C129X Ethernet register definitions (2014-12-30). * arch/arm/src/tiva/tm4c_ethernet.c, lm3s_ethernet.c, Kconfig, and @@ -9377,7 +9377,7 @@ 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 the SD D0 pin which + 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 @@ -9419,7 +9419,7 @@ * arch/ and drivers/net: All Ethernet drivers: Call ipv6_input() if IPv6 is enabled and an IPv6 packet is received (2015-01-15). * net/devif, net/tcp, net/ucp, include/nuttx/net: Separate tcp_input() - and udp_input() into seprate functions tcp_ipv4_input(), + and udp_input() into separate functions tcp_ipv4_input(), tcp_ipv6_input(), udp_ipv4_input(), and upd_ipv6_input() than can deal will the data offsets caused by the differing sizes of the IP header (2015-01-15). @@ -9477,9 +9477,9 @@ destination address in the output Ethernet header OR to send an ICMPv6 Neighbor Solicitation if there is no entry in the Neighbor table for the IPv6 address (2015-01-20). - * arch/ and drivers/net: Add missing raw/packet socket support toi + * arch/ and drivers/net: Add missing raw/packet socket support to all Ethernet driverss (2015-01-20). - * arch/ and drivers/net: "Networking: Modify all Ethernet drivers: + * arch/ and drivers/net: Networking: Modify all Ethernet drivers: Do neighbor look-up on all outgoing IPv6 packs in order to properly set the destination link layer address (2015-01-20). * Networking: When sending ICMPv6 advertisements and solicitations, @@ -9491,9 +9491,9 @@ case where net_lockingwait() is called. It was returning -1 and losing the errno value. Noted by Rony Xln (2015-01-22). * net/: After some significant effort, ICMPv6 and TCP are both - functional when IPv6 is selected. UDP still requies testing + functional when IPv6 is selected. UDP still requires testing (2015-01-22). - * configs/dk-tm4c129x/ipv6: Add an IPv6-enabled NSH configruation + * configs/dk-tm4c129x/ipv6: Add an IPv6-enabled NSH configuration (2015-01-23) * include/nuttx/net/icmpv6.h and net/icmpv6/icmpv6_ping.c: First cut at ICMPv6 ping logic. It works in both directions! (2015-01-23). @@ -9509,3 +9509,8 @@ * Remove CONFIG_DEBUG_STACK. Adding CONFIG_STACK_COLORATION makes this configuration option pointless (2015-01-24). * net/: Clean up network status collection for IPv6 (2015-01-24). + * arch/ and configs/: Changes to get USART 2 & 3 working on + lpc4357-evb. These changes are required to get USART 2 and 3 working + on the Embest development board. From Toby Duckworth. + +7.8 2015-xx-xx Gregory Nutt <gnutt@nuttx.org> diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html index a18b628af..bebe841de 100644 --- a/nuttx/Documentation/NuttX.html +++ b/nuttx/Documentation/NuttX.html @@ -8,7 +8,7 @@ <tr align="center" bgcolor="#e4e4e4"> <td> <h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1> - <p>Last Updated: January 24, 2014</p> + <p>Last Updated: January 26, 2014</p> </td> </tr> </table> @@ -1233,11 +1233,11 @@ <h2>Released Versions</h2> <p> In addition to the ever-changing GIT repository, there are frozen released versions of NuttX available. - The current release is NuttX 7.6. - NuttX 7.6 is the 106<sup>th</sup> release of NuttX. - It was released on November 26, 2014, and is available for download from the + The current release is NuttX 7.7. + NuttX 7.7 is the 107<sup>th</sup> release of NuttX. + It was released on Januay 26, 2015, and is available for download from the <a href="http://sourceforge.net/projects/nuttx/files/">SourceForge</a> website. - Note that the release consists of two tarballs: <code>nuttx-7.6.tar.gz</code> and <code>apps-7.6.tar.gz</code>. + Note that the release consists of two tarballs: <code>nuttx-7.7.tar.gz</code> and <code>apps-7.7.tar.gz</code>. Both may be needed (see the top-level <code>nuttx/README.txt</code> file for build information). </p> @@ -1246,7 +1246,7 @@ <ul> <li><b>nuttx</b>. <ul><p> - Release notes for NuttX 7.6 are available <a href="http://sourceforge.net/projects/nuttx/files/nuttx/nuttx-7.6/">here</a>; + Release notes for NuttX 7.7 are available <a href="http://sourceforge.net/projects/nuttx/files/nuttx/nuttx-7.7/">here</a>; release notes for all released versions on NuttX are available in the <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/ReleaseNotes">SourceForge GIT</a> The ChangeLog for all releases of NuttX is available in the ChangeLog file that can viewed in the <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/ChangeLog">SourceForge GIT</a>. The ChangeLog for the current release is at the bottom of that file. @@ -1254,7 +1254,7 @@ </li></ul> <li><b>apps</b>. <ul><p> - Release notes for NuttX 7.6 are available <a href="http://sourceforge.net/projects/nuttx/files/nuttx/nuttx-7.6/">here</a>; + Release notes for NuttX 7.7 are available <a href="http://sourceforge.net/projects/nuttx/files/nuttx/nuttx-7.7/">here</a>; release notes for all released versions on NuttX are available in the <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/ReleaseNotes">SourceForge GIT</a> The ChangeLog for the all releases of apps is available in the ChangeLog file that can viewed in the <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/apps/ChangeLog.txt">SourceForge GIT</a>. The ChangeLog for the current release is at the bottom of that file. @@ -1308,8 +1308,8 @@ <li><a href="#armcortexa5">ARM Cortex-A5</a> (2)</li> <li><a href="#armcortexa8">ARM Cortex-A8</a> (1)</li> <li><a href="#armcortexm0">ARM Cortex-M0/M0+</a> (3)</li> - <li><a href="#armcortexm3">ARM Cortex-M3</a> (29)</li> - <li><a href="#armcortexm4">ARM Cortex-M4</a> (17)</li> + <li><a href="#armcortexm3">ARM Cortex-M3</a> (30)</li> + <li><a href="#armcortexm4">ARM Cortex-M4</a> (18)</li> </ul> <li>Atmel AVR <ul> @@ -1449,6 +1449,7 @@ <li><a href="#stm32l152">STMicro STM32L152</a> <small>(STM32 L "EnergyLite" Line, ARM Cortex-M3)</small></li> <li><a href="#stm32l162">STMicro STM32L162</a> <small>(STM32 L "EnergyLite" Medium+ Density, ARM Cortex-M3)</small></li> <li><a href="#stm32f100x">STMicro STM32F100x</a> <small>(STM32 F1 "Value Line"Family, ARM Cortex-M3)</small></li> + <li><a href="#stm32f102x">STMicro STM32F102x</a> <small>(STM32 F1 Family, ARM Cortex-M3)</small></li> <li><a href="#stm32f103cx">STMicro STM32F103C4/C8</a> <small>(STM32 F1 "Low- and Medium-Density Line" Family, ARM Cortex-M3)</small></li> <li><a href="#stm32f103x">STMicro STM32F103x</a> <small>(STM32 F1 Family, ARM Cortex-M3)</small></li> <li><a href="#stm32f107x">STMicro STM32F107x</a> <small>(STM32 F1 "Connectivity Line" family, ARM Cortex-M3)</small></li> @@ -1476,7 +1477,8 @@ <li><a href="#tilms8962">TI/Stellaris LM3S8962</a> <small>(ARM Cortex-M3)</small></li> <li><a href="#tilms9b96">TI/Stellaris LM3S9B96</a> <small>(ARM Cortex-M3)</small></li> <li><a href="#tilm4f120x">TI/Stellaris LM4F120x</a> <small>(ARM Cortex-M4)</small></li> - <li><a href="#titm4c123x">TI/Tiva TM4C123G</a> <small>(ARM Cortex-M4)</small></li> + <li><a href="#titm4c123g">TI/Tiva TM4C123G</a> <small>(ARM Cortex-M4)</small></li> + <li><a href="#titm4c129x">TI/Tiva TM4C129X</a> <small>(ARM Cortex-M4)</small></li> <li><a href="#ticc3200launchpad">TI/Tiva CC3200 Launchpad</a> <small>(ARM Cortex-M4)</small></li> </ul> </li> @@ -2403,7 +2405,7 @@ nsh> </p> Board support is available for the following: </p> - <ol> + <ul> <li> <p> <b>SiLabs EFM32 Giant Gecko Starter Kit t (EFM32GG-STK3700)</b>. @@ -2429,12 +2431,21 @@ nsh> </ul> <p> <b>STATUS</b>. - As of this writing, the basic board support is available for the <i>Giant Gecko</i> in the NuttX source tree. - A verified configuration is available for the basic NuttShell (NSH) using LEUART0 for the serial console. - Development of USB support is in progress. </p> + <ul> + <li> + The basic board support for the <i>Giant Gecko</i> was introduced int the NuttX source tree in NuttX-7.6. + A verified configuration was available for the basic NuttShell (NSH) using LEUART0 for the serial console. + </li> + <li> + Development of USB support is in started, but never completed. + </li> + <li> + Reset Management Unit (RMU) was added Pierre-noel Bouteville in NuttX-7.7. + </li> + </ul> </li> - </ol> + </ul> </td> </tr> <tr> @@ -2564,6 +2575,26 @@ nsh> <td><br></td> <td> <p> + <a name="stm32f102x"><b>STMicro STM32F102</b>.</a> + Architecture support (only) for the STM32 F102 family was contributed by the PX4 team in NuttX-7.7. + </p> + <ul> + <p> + <b>STATUS:</b> + Architecture support only is provided. + No specific STM32 F102 boards are supported. + </p> + </ul> + </td> +</tr> +<tr> + <td><br></td> + <td><hr></td> +</tr> +<tr> + <td><br></td> + <td> + <p> <a name="stm32f103cx"><b>STMicro STM32F103C4/8 (STM32 F1 Low- and Medium-Density Family)</b>.</a> This port is for "STM32 Tiny" development board. This board is available from several vendors on the net, and may be sold under different names. @@ -3303,8 +3334,27 @@ nsh> <p> <a name="stm32f429x"><b>STMicro STM32 F429</b>.</a> Support for STMicro STM32F429I-Discovery development board featuring the STM32F429ZIT6 MCU was contributed in NuttX-6.32 by Ken Pettit. - The F429 port adds support for the STM32F439 LCDC and OTG HS (in FS mode). The STM32F429ZIT6 is a 180MHz Cortex-M4 operation with 2Mbit Flash memory and 256kbytes. + </p> + <p> + <b>STATUS</b>: + </p> + <ul> + <li> + The intial release included support from either OTG FS or OTG HS in FS mode. + </li> + <li> + The F429 port adds support for the STM32F439 LCD and OTG HS (in FS mode). + </li> + <li> + In Nutt-7.6, Brennan Ashton added support for concurrent OTG FS and OTG HS (still in FS mode) and Marco Krahl added support for an SPI-based LCD . + </li> + <li> + In Nutt-7.7, Marco Krahl included support for a framebuffer based driver using the LTDC and DMA2D. + Marcos's implementation included extensions to support more advance LTDC functions through an auxiliary interface. + </li> + </ul> + <p> Refer to the STM32F429I-Discovery board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/stm32f429i-disco/README.txt">README</a> file for further information. </p> </td> @@ -3419,7 +3469,7 @@ nsh> <td><br></td> <td> <p> - <a name="titm4c123x"><b>TI Tiva TM4C123G</b>.</a> + <a name="titm4c123g"><b>TI Tiva TM4C123G</b>.</a> This port uses the TI Tiva TM4C123G LaunchPad. </p> <ul> @@ -3428,8 +3478,8 @@ nsh> <ul> <li> Initial architectural support for the TI Tiva TM4C123G was implemented and was released in NuttX 7.1. - Basic board support support the TM4C123G LaunchPad was also included in that relese but was not fully tested. - This basic board supprted included a configuration for the NuttShell <a href="http://www.nuttx.org/Documentation/NuttShell.html">NSH</a>). + Basic board support the TM4C123G LaunchPad was also included in that release but was not fully tested. + This basic board support included a configuration for the NuttShell <a href="http://www.nuttx.org/Documentation/NuttShell.html">NSH</a>). </li> <li> The fully verified port to the TM4C123G LaunchPad is provided in NuttX-7.2. @@ -3452,6 +3502,40 @@ nsh> <td><br></td> <td> <p> + <a name="titm4c129x"><b>TI Tiva TM4C129X</b>.</a> + This port uses the TI Tiva DK-TM4C129X Connected Development Kit. + </p> + <ul> + <p> + <b>STATUS:</b> + <ul> + <li> + A mature port to the DK-TM4C123G was implemented and was released in NuttX 7.7. + </li> + <li> + At the initial release, verified drivers were available for Ethernet interface, I2C, and timers as well as board LEDs and push buttons. + Other Tiva/Stellaris drivers should port to the TM4C129X without major difficulty. + </li> + <li> + This board supports included two configurations for the NuttShell (<a href="http://www.nuttx.org/Documentation/NuttShell.html">NSH</a>). + Both are networked enabled: One configured to support IPv4 and one configured to supported IPv6. + Instructions are included in the board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/dk-tm4c129x/README.txt">README</a> file for configuring both IPv4 and IPv6 simultaneously.. + </li> + </ul> + </p> + Refer to the TM4C129X LaunchPad board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/dk-tm4c129x/README.txt">README</a> file for more detailed information about this port. + </p> + </ul> + </td> +</tr> +<tr> + <td><br></td> + <td><hr></td> +</tr> +<tr> + <td><br></td> + <td> + <p> <a name="ticc3200launchpad"><b>TI/Tiva CC3200 Launchpad</b>.</a> TI/Tiva CC3200 Launchpad </p> @@ -3460,7 +3544,7 @@ nsh> <b>STATUS:</b> This is very much a work in progress. The basic port was released in NuttX-7.5. - This basic board supprted includes an verified configuration for the NuttShell <a href="http://www.nuttx.org/Documentation/NuttShell.html">NSH</a>). + This basic board supported includes an verified configuration for the NuttShell <a href="http://www.nuttx.org/Documentation/NuttShell.html">NSH</a>). Key wireless networking capability is still missing. Refer to the CC3200 LaunchPad board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/cc3200-launchpad/README.txt">README</a> file for more detailed information about this port. </p> 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 |