| NuttX-7.1 |
| --------- |
| |
| The 101st release of NuttX, Version 7.1, was made on March 15, 2014, |
| and is available for download from the SourceForge website. Note |
| that release consists of two tarballs: nuttx-7.1.tar.gz and |
| apps-7.1.tar.gz. Both may be needed (see the top-level nuttx/README.txt |
| file for build information). |
| |
| The previous NuttX version was 6.33. The NuttX minor version number is |
| incremented on each release, but the major version number is incremented |
| only when an incompatibility with previous versions is included in the |
| release. In this case, the legacy, manual configuration is no longer |
| supported by the NuttX build system beginning with NuttX 7.1. Only the |
| newer configurations generated by the kconfig-frontends tools will generate |
| viable NuttX configurations. |
| |
| All board configurations in the NuttX source tree have been converted to |
| use the newer configuration, but if you have some older style configurations |
| for you board, you will need to convert those configurations to use the |
| kconfig-frontends tools before taking any new code from the repository. See |
| https://cwiki.apache.org/confluence/display/NUTTX/Converting+Legacy+Configurations+to+Use+kconfig-mconf |
| for some guidelines. |
| |
| Additional new features and extended functionality: |
| |
| * Core OS: |
| |
| - System time logic now includes logic to measure and calculate the |
| CPU load percentage (from David Alessio). This CPU load logic |
| extended to keep counts on each thread. The per-thread CPU is |
| now reported in the procfs under <pid>/loadavg An asynchronous, |
| "external" clock may be used to drive the CPU load calculations |
| for more accurate measurements when needed. |
| |
| * File Systems: |
| |
| - As mentioned above, the per-thread CPU load information is now |
| reported in the procfs under <pid>/loadavg. |
| - Many file system interfaces have been extended to operate on the |
| top-level NuttX pseudo filesystem. These include rmdir, mkdir, |
| rename, and unlink. This capability can be disabled with |
| CONFIG_DISABLE_PSEUDOFS_OPERATIONS in order to keep the footprint |
| small. |
| |
| * Networking: |
| |
| - Numerous updates and improvements to the CC3000 driver from David |
| Sidrane. |
| |
| * Common Drivers: |
| |
| - Defined a mouse interface that is very similar to a touchscreen |
| interface, but allows reporting of all mouse buttons. Also, unlike |
| touchscreen drivers, mouse drivers need to report positional data |
| with no button is pressed so that the mouse position can drive a |
| cursor. |
| - Added support for a USB HID boot mouse device. Cursor support is |
| not integrated and must be provided by the application based upon |
| the reported mouse data. |
| - Support added for the MIO283QT9A LCD from Toby Duckworth. |
| |
| * Atmel SAMA4E: |
| |
| - Added complete architecture support for the Atmel AT91 SAM4E |
| Cortex-M4F parts. |
| |
| * Atmel SAM4E Board Support: |
| |
| - Add board support for the SAM4E-EK board. |
| |
| * Atmel SAM4E Drivers: |
| |
| - Added logic to manage the Cortex-M Cache Control block. |
| - Developed and integrated an Ethernet MAC driver for the SAM4E. |
| - Backported the SAMA5 SPI driver to the SAM3/4 architecture. The |
| SAMA5 version supports both multiple SPI peripherals as needed by the |
| SAM3A and SAM3X and also supports DMAC (but not PDC) needed by the |
| SAM4E. |
| |
| * Atmel SAM D20: |
| |
| - Added basic architecture support for the Atmel AT91 SAM D20 |
| Cortex-M0+ parts. |
| |
| * Atmel SAM D20 Board Support: |
| |
| - Added basic support for SAM D2 Xplained Pro board. Currently, the |
| NuttShell (NSH) works reliably over a serial port. An SPI driver |
| has also been developed. Work with the SAM D20 has been temporarily |
| stopped, however, in order to focus on the SAM4E-EK. |
| |
| * TI Tiva TMC4C123G: |
| |
| - Added architecture support for the TI Tiva TM4C123G parts. This was |
| merged into the existing support for the LM3S and LM4F families. |
| All directory, file, and function references changed from lm to tiva. |
| |
| * TI Tiva TMC4C123G Board Support: |
| |
| - Added basic board support for the TM4C123G-Launchpad. As of this |
| release the TM4C123G-Launchpad board support is untested and likely |
| incomplete. |
| |
| * STMicro STM32 Boards: |
| |
| - The Mikroe STM32F4 can now support the newer MIO283QT9A LCD. From |
| Toby Duckworth. |
| - Miscellaneous changes to better support FPU on STM32F429 Discovery |
| from David Alessio. |
| |
| * NXP LPC2378 Drivers: |
| |
| - Incorporated I2C and SPI drivers for the LPC23xx from Lizhuoyi. |
| |
| * QEMU i486 Drivers: |
| |
| - New QEMU keyboard and VGA drivers from Lizhuoyi. |
| |
| * Documentation: |
| |
| - Added a coding standards document. See |
| https://nuttx.apache.org/docs/latest/contributing/coding_style.html |
| |
| * Configuration/Build System: |
| |
| - A configuration option, CONFIG_DEFAULT_SMALL, was added to select |
| default values for configuration variables based upon whether you |
| want a smaller footprint or more features. This is not very useful |
| if you are modifying existing configurations because then the |
| default values do not apply. |
| - CONFIG_DEFAULT_SMALL has been defined on all tiny MCU configurations |
| so that they do not grow so rapidly when new, optional features are |
| added. |
| - The legacy, manual configuration is no longer supported by the |
| NuttX build system. Only the newer configurations generated by |
| the kconfig-frontends tools will generate viable NuttX |
| configurations. All board configurations in the NuttX source tree |
| have been converted to use the newer configuration, but if you have |
| some older style configurations for you board, you will need to |
| convert those configurations to use the kconfig-frontends tools. See |
| https://cwiki.apache.org/confluence/display/NUTTX/Converting+Legacy+Configurations+to+Use+kconfig-mconf |
| for some guidelines. |
| |
| * Applications: |
| |
| - NSH can now use an EMACS-like command line editor. This CLE, is |
| really more like the traditional readline than is the default, tiny |
| the NuttX readline . |
| - The touchscreen example can now be configured to work with either a |
| touchscreen or a mouse device. |
| - Several NSH commands can now be used to operate on objects in the |
| top-level pseudo-filesystem: rmdir, mkdir, mv, and rm. This |
| capability can be disabled with CONFIG_DISABLE_PSEUDOFS_OPERATIONS |
| in order to keep the footprint small. |
| - If both the CPU load feature and the procfs features are enabled, |
| then the NSH 'ps' command will show the CPU load used by each |
| thread. |
| |
| Bugfixes (see the ChangeLog for details). Some of these are very important: |
| |
| * Core OS: |
| |
| - task_terminate() always returned an error because the return value |
| was not being set correctly (from Gosha). |
| - nanosleep() Fix a missing call to re-enable interrupts (from Jason |
| Jiang). |
| |
| * File Systems: |
| |
| - Fixed an error in the FAT logic that can cause file corruption. The |
| error conditions are rare and only seen with very large files (from |
| Andrew Tridgell). This replaces a previous, partial fix for the same |
| problem. |
| - Fixed memory leaks in the NXFFS open() and stat() implementations |
| (from Lzyy). |
| - The interfaces include opendir(), readdir(), et al, were modified so |
| that errors will not be reported if you attempt to list a empty |
| pseudo-directory. |
| |
| * Networking: |
| |
| - Fix one place where the connection reference count was not being |
| decremented in the socket close() logic. This is really a cosmetic |
| change BUT when CONFIG_DEBUG_NET is enabled, it will cause assertions. |
| - Backed out a small part of the NuttX 6.33 write buffering changed. |
| David G says that this causes problems in connecting to a server. |
| - In DHCPD, there was a place where the logic was calling ntohl() |
| inappropriately; the address was already in the correct order. How |
| could DHCPD have worked with this bug? |
| |
| * TI Tiva/Stellaris Drivers: |
| |
| - Fixed cut'n'paste error that prevented UARTS2-7 from being used with |
| the LM4F120 Launchpad. |
| - Fixed several errors there were unmasked with UARTs > UART2 are |
| enabled (grom Gosha). |
| |
| * Allwinner A10 Drivers: |
| |
| - Fixed cut'n'paste error that prevented UARTS2-7 from being used with |
| the pcDuino. |
| |
| * NXP LPC17xx Drivers: |
| |
| - Fix an compilation error that crept into the LPC17xx USB host driver. |
| |
| * STMicro STM32 Drivers: |
| |
| - Fix cloned typo in the serial driver: FLOWCONTROL vs FLOWCONROL. |
| - Disable SPI before changing DPI CR1 register (from David Sidrane). |
| - stm32 TIM: Set the timer CCMR when selecting timer channel. From |
| David Sidrane. |
| - Fix typo in a Makefile: stm32_pwm.c not stm32_psm.c. Noted by Max |
| Kriegleder. |
| |
| * Library: |
| |
| - More sscanf() bug fixes from David Sidrane. |
| |
| * Header files: |
| |
| - cstdbool: Ignore _Bool8 if CONFIG_C99_BOOL8=y |
| |
| * Configuration/Build System: |
| |
| - Several changes to restore the broken native Windows build |
| |
| * NuttShell (NSH): |
| |
| - Use strncpy vs strcpy in the Telnet console logic to avoid |
| overrunning the username and password buffers (from Bertold Van den |
| Bergh). |
| - Add a newline after printing the file in the 'cat' command. This |
| prevents the NSH prompt from be in the same line as the final line |
| of the file in the case where there is no newline at the end of the |
| file. |