• Home
  • Raw
  • Download

Lines Matching +full:ipv4 +full:- +full:simple +full:- +full:service +full:- +full:config +full:- +full:txt +full:- +full:disabled

14 "nuttx-6.27").
16 NuttX-0.1.0
17 -----------
23 This release has been verified on both the Linux user-mode and C5471
25 for the C5471 can be found in arch/c5471/doc/test-results.txt.
29 NuttX-0.1.1
30 -----------
42 This release has been verified on the Linux user-mode platform, the
51 NuttX-0.1.2
52 -----------
66 This release has been verified on the Linux user-mode
72 NuttX-0.2.1
73 -----------
85 This release has been verified on the Linux user-mode
93 NuttX-0.2.2
94 ------------
105 This release has been verified on the Linux user-mode
114 NuttX-0.2.3
115 ------------
124 This release has been verified on the Linux user-mode
127 the source tree under configs/ntosd-dm320/doc/test-results.
135 NuttX-0.2.4
136 ------------
147 This release has been verified on the Linux user-mode platform
150 configs/ntosd-dm320/doc/test-results and under configs/sim/doc/test-results.
156 NuttX-0.2.5
157 ------------
173 This release has been verified only on the Linux user-mode
179 NuttX-0.2.6
180 -----------
193 This release has been verified only on the Linux user-mode platform.
197 NuttX-0.2.7
198 -----------
203 FAT filesystem logic including stat(), statfs(), and non-standard
209 This release has been verified only on the Linux user-mode platform.
213 NuttX-0.2.8
214 -----------
224 This release has been verified only on the Linux user-mode platform.
228 NuttX-0.3.0
229 -----------
238 open issues (see the TODO file). The network subsystem is pre-alpha
243 post-beta (as long as the network is not used).
252 NuttX-0.3.1
253 -----------
259 Many network-related problems have been fixed and the implementation
261 is probably still at the pre-alpha or early level. It is sufficiently
267 post-beta (as long as the network is not used).
276 NuttX-0.3.2
277 -----------
283 Many network-related problems have been fixed and the implementation
286 o TCP-related bug-fixes
297 post-beta.
304 NuttX-0.3.3
305 -----------
311 Many network-related problems have been fixed and the implementation
314 o TCP-related bug-fixes for disconnecting sockets
315 o Correction of some TCP read-ahead logic
322 post-beta. Open network-related issues include only:
336 NuttX-0.3.4
337 -----------
343 This release is primarily a bug-fix release. New features include
346 o TELNET front-end to NSH,
356 post-beta or production level.
366 NuttX-0.3.5
367 -----------
369 This is the 17th release of NuttX this release is primarily a bug-fix
379 NuttX-0.3.6
380 -----------
384 the release of the pascal-0.1.0 add-on package.
391 * Add support for the add-on Pascal P-Code interpreter (pcode/)
392 (see the pascal-0.1.0 package)
403 a successful build unless the Pascal add-on was present. The
405 the nuttx-0.3.6.1.tar.gz version to avoid this problem.
407 NuttX-0.3.7
408 -----------
411 preliminary port of NuttX to the ZiLOG z16f 16-bit microcontroller.
413 and the ZiLOG ZDS-II toolchain. See http://www.zilog.com for
417 is only alpha or, perhaps, pre-alpha quality as of this writing.
428 found and corrected in NuttX: The thread-specific errno value of one
437 NuttX-0.3.8
438 -----------
442 continues the integration of the ZiLOG Z18F and of the Pascal P-Code
443 add-on. This release is synchronized with the release of Pascal-0.1.2.
447 NuttX-0.3.9
448 -----------
451 release. This release includes support for the ZiLOG Z8Encore! micro-
453 the Z80, XTRS platform (http://www.tim-mann.org/xtrs.html).
455 This released has been verified only on the ZiLOG ZDS-II Z8Encore!
460 NuttX-0.3.10
461 ------------
471 NuttX-0.3.11
472 ------------
494 NuttX-0.3.12
495 ------------
516 NuttX-0.3.13
517 ------------
523 * Fixed problems with Cygwin-based console input. NSH now works
526 * Corrected detection of End-of-File in fgets()
535 * uIP port now supports multi-threaded, concurrent socket access.
543 - New commands: mkfatfs, mkfifo, sleep, usleep, nice, sh, cd, and pwd
544 - New memory inspection commands and heap usage commands
545 - New capabilities:
546 - Execution of commands in background
547 - Execution of simple scripts
548 - Redirection of command output
549 - Last command status ($?)
550 - Now supports if-then[-else]-fi construct
551 - Other features as noted in the ChangeLog.
559 nutt-0.3.14
560 -----------
577 * Corrected an error in multi-threaded socket handling in send() and
601 nutt-0.3.15
602 -----------
608 * NuttShell (NSH) can be configured to use ROMFS to provide a tiny read-only
620 nutt-0.3.16
621 -----------
634 A controller-independent class driver is also included for:
636 serial-to-USB adapter). This driver has only been verified with
647 (off by 20x in nuttx-0.3.15)
659 ------
660 This release does not build for the ARM target when USB is disabled.
667 diff -u -r1.13 up_internal.h
668 --- arch/arm/src/common/up_internal.h 6 Oct 2008 16:20:52 -0000 1.13
669 +++ arch/arm/src/common/up_internal.h 13 Oct 2008 20:48:21 -0000
670 @@ -200,7 +200,8 @@
674 -# define up_netinitialize()
681 NuttX-0.3.17
682 ------------
688 * Added support for SPI-based MMC/SD cards (with an SPI driver
696 race conditions that occur only with debug features disabled.
711 NuttX-0.3.18
712 ------------
719 STR-P711 board.
720 * The Hitachi SH-1 using the SH1_LCEVB1 (SH-1/US7032EVB1) board
745 1 - The sectors-per-cluster value was being reset to "1".
746 2 - Important lseek logic was omitted when the seek position was zero.
758 NuttX-0.3.19
759 ------------
767 select() to wake-up on new connections to a listener socket.
770 as of the initial check-in).
775 is under development but not ready for check-in yet.
782 TCP/IP read-ahead is enabled and not recv() is in-place when a
783 TCP/IP packet is received, the packet is placed into a read-ahead
784 buffer. However, the old contents of the read-ahead buffer
798 NuttX-0.4.0
799 -----------
813 added, Pascal P-code runtime support was added, FAT and ROMFS
820 NuttX-0.4.1
821 -----------
825 errors that have accumulated for the ZiLOG ZDS-II based targets.
826 All ZDS-II targets now build correctly (but have not been re-tested).
827 In addition to platform-specific build failures, this release also
839 NuttX-0.4.2
840 -----------
846 for the ez80f910200zcog-d board (eZ80F91-based). That basic
849 next release nuttx-0.4.2. eZ80Acclaim! support has been in the
858 These changes were verified only on the ZiLOG eZ80910200zcog-d
863 NuttX-0.4.3
864 -----------
874 * ez80Acclaim! Corrected several critical, show-stopping bugs on that
876 - Errors in the serial driver interrupts.
877 - An error in the eZ80 table.
880 These changes were verified only on the ZiLOG eZ80910200zcog-d board
881 and on Cygwin-based simulation platform in various configurations.
886 NuttX-0.4.4
887 -----------
901 These changes were verified only on the ZiLOG eZ80910200zcog-d board
902 using the ZDS-II toolchain in Cygwin-based environment. Please
907 NuttX-0.4.5
908 -----------
916 * Add basic support for C++ applications. Very simple C++
926 NuttX-0.4.6
927 -----------
930 for the Micromint Eagle-100 development board. This board is based
931 around, the Luminary LM3S6918 MCU. This is the first ARM Cortex-M3
939 work has been set aside until I complete work on the Eagle-100 (I
943 definition in order to handle 9-bit interfaces to displays. Several
948 NuttX-0.4.7
949 -----------
952 up and extending the Eagle100/LM3S6918 port released in nuttx-0.4.6
955 * Improved reliably and additional drivers for the Eagle-100 board
956 (LM3S6918 ARM Cortex-M3). Additional drivers include Ethernet,
957 SSI, and support for the on-board LEDs and microSD cards.
959 * The SPI-based MMC/SD driver was extended to support SDHC Version
963 the LM3S6918, the LPC2148, the SPI-based MMC/SD driver, and to
968 NuttX-0.4.8
969 -----------
984 * Support for the CodeSourcery and devkitARM Windows-native GNU
990 NuttX-0.4.9
991 -----------
1004 NuttX-0.4.10
1005 -----------
1011 related bug-fixes and functional additions for THTTPD were added:
1013 * Several new standard C-library functions (fileno, strstr,
1018 non-blocking sockets.
1025 NuttX-0.4.11
1026 ------------
1031 THTTPD have been tested on the Micromint Eagle-100 development board
1032 (Cortex-M3). These tests verify:
1053 NuttX-0.4.12
1054 ------------
1057 for the STMicro STM32, Cortex-M3 MCU. The specific port is to the
1058 STMicro STM3210E-EVAL development board based around the STM32F103ZET6
1061 * This basic port includes boot-up logic, interrupt driven serial
1064 perform basic STM32 board bring-up (due to RIDE7 size limitations,
1065 it cannot be used for the full NuttX bring-up).
1077 NuttX-0.4.13
1078 ------------
1082 STM3210E-EVAL development board based around the STM32F103ZET6 MCU
1083 was released in NuttX-0.4.12. This release adds:
1085 * A simple interface definition to support some FLASH, EEPROM,
1089 * Improved Cortex-M3 context switching. This should improve
1091 * Added a USB device-side driver for the STM32. This is an early
1101 * Fixed and optimization-dependent race condition in the clock
1109 NuttX-4.14
1110 ----------
1114 STM3210E-EVAL development board based around the STM32F103ZET6 MCU
1115 was released in NuttX-0.4.12 and extended in Nuttx-0.4.13 to include
1121 to provide read-ahead buffering and write buffering for improved
1127 * Implemented a an SDIO-based MMC/SD driver using this new SDIO
1134 * Added support for buttons on the STM3210E-EVAL board.
1142 * Fixed several STM32 DMA-related issues. Integrated and debugged
1144 * Fixed several bugs in the STM32 USB device-side driver.
1156 NuttX-5.0
1157 ---------
1159 This is 47th release of NuttX and the successor to nuttx-4.14. This
1166 If you have applications running on NuttX-4.14, those applications
1167 should continue to build and execute without problem on NuttX-5.0.
1168 However, if you have device drivers or other OS-internal logic, you
1172 * If you include sys/types.h to get the non-standard, fixed width
1179 uint32 -> uint32_t
1180 uint16 -> uint16_t
1181 ubyte -> uint8_t
1182 uint8 -> uint8_t
1183 sint32 -> int32_t
1184 sint16 -> int16_t
1185 sint8 -> int8_t
1187 * In addition, the non-standard type 'boolean' must replaced with
1193 correctly (other than the SDCC-based configurations). Regression
1214 NuttX-5.1
1215 ---------
1222 This release adds support for the SAM3U-EK development board with
1228 NuttX-5.1 includes the basic port for the SAM3U-EK board. This
1230 OS implementation. It supports the basic boot-up, serial console
1234 The extended port will also include support for SDIO-based SD
1246 basic port will be available in NuttX-5.2.
1248 The extended release will follow and should include SDIO-based
1254 NuttX-5.2
1255 ---------
1261 This basic port includes basic boot-up, serial console, and timer
1265 An extended release will follow and should include SDIO-based SD
1268 NuttX-5.3
1269 ---------
1274 * A basic port for the NXP LPC2378 MCU on the Olimex-LPC2378
1279 * David Hewson contributed a dual-speed (full/high) USB device-side
1292 NuttX-5.4
1293 ---------
1306 the LCD device via its serial or parallel interface. No in-memory
1311 extensions plus a driver for the HX8347, 16-bit parallel LCD. This
1312 LCD supports 16-bit RGB (5:6:5).
1314 NuttX-5.5
1315 ---------
1334 * The Olimex STR-P711 NuttX port was extended to support the
1336 The ENC28J60 has not been tested on the STR-P711, however,
1342 the STMicro STR-P711 port and some important bugs were fixed
1343 in the STR-P711 SPI driver.
1352 NuttX-5.6
1353 ---------
1358 * This port adds support for the RiT displays P14201 4-bpp,
1359 greyscale OLED. 4-bpp greyscale support was integrated into
1360 the NX graphics sub-system and verified using the TI/Luminary
1370 As well as a few, important USB-related bugfixes (See the ChangeLog
1378 NuttX-5.7
1379 ---------
1382 for one new ARM Cortex-M3 architecture:
1385 2G board from 2G Engineering (http://www.2g-eng.com).
1397 (2) SPI-based MMC/SD support
1401 NuttX-5.8.
1403 NuttX-5.8
1404 ---------
1439 NuttX-5.9
1440 ---------
1443 categorize; NuttX-5.9 was really released because there were too
1444 many changes accumulating in CVS -- a few important, some unfinished
1448 of on-demand paging support. This feature will allow you to
1450 FLASH) in a small RAM. All of the core on-demand paging logic
1452 and support was implemented for the ARM-9 family. A test
1455 fixed-page ARM9 operation, but otherwise this new on-demand
1457 * Add support for the CodeSourcery toolchain to the Olimex-lpc2378
1466 * NXP LPC17xx - Fixed a critical bug in the GPIO configuration
1467 logic: When attempting to set no pull-up or pull-down (floating),
1468 it would, instead, select pull-down.
1470 * TI/Luminary LM3Sxxxx - Fixed:
1480 NuttX-5.10
1481 ----------
1492 * On-Demand Paging Support:
1493 The basic logic for the On-Demand Paging feature is complete,
1497 verification. See configs/ea3131/README.txt for details.
1503 only used to support the On-Demand paging feature: The first
1505 the second pass builds the NuttX executable more-or-less as
1510 CONFIG_EXAMPLE. CONFIG_EXAMPLE used to identify the sub-directory
1520 - Replace all occurrences of CONFIG_EXAMPLE=foobar with
1523 - Replace any occurrences of examples/$(CONFIG_EXAMPLE) with
1525 - Replace any occurrences of lib$(CONFIG_EXAMPLE)$(LIBEXT)
1527 - Check any other occurrences of CONFIG_EXAMPLE.
1532 NuttX-5.11
1533 ----------
1551 NuttX-5.12
1552 ----------
1557 Essentially, interrupts are re-enabled while the signal handler
1558 executes, but the logic to re-disable the interrupts before
1563 ARM to Cortex-M3, AVR32, M16C, SH1, ZNEO, eZ80, Z8, and Z80 --
1567 Other notable changes in NuttX-5.12:
1577 NuttX-5.13
1578 ----------
1591 bumped by the Olimex LPC1766-STK port -- see below)
1601 devices -- like SPI and USB --- and will be available in a
1604 * LPC1766, Olimex LPC1766-STK
1606 Support for the Olimex-LPC1766 is newly added to NuttX and is
1611 they have not yet been verified. Goals for NuttX-5.14 include:
1617 NuttX-5.14
1618 ----------
1620 The 61st release of NuttX, NuttX-5.14, was made on November 27,
1628 * Cortex-M3 Hard Fault. Fixed a hard fault problem that can occur
1632 Ethernet interrupt). However, it is assumed that all Cortex-M3
1643 (and with no re-transmission requests). This was due to
1648 * One-Shot POSIX Timer Bug. Fixed an error in set-up of a one-shot
1650 is zero in the one-shot case), always resulting in a 10Ms timer!
1653 Additional support has been included for the Olimex-LPC1766. Support
1660 for NuttX-5.15 (and beyond) include: (1) Verified USB support, (2)
1663 NuttX-5.15
1664 ----------
1666 The 62nd release of NuttX, NuttX-5.15, was made on December 12,
1668 enhancements, primarily for the Olimex LPC1766-STK board.
1673 "fixed" in NuttX-5.14.
1689 the amount of SRAM used for packet buffering and to re-use any
1693 LPC1766-STK NuttShell (NSH) configuration.
1697 devices require an additional out-of-band bit to specify if the
1703 an NX graphics configuration for the Olimex LPC1766-STK have
1707 NuttX-5.16
1708 ----------
1720 6.3.9 USB Host-Side Drivers
1722 work with USB host-side drivers are provided in this header
1757 * Binding USB Host-Side Drivers. USB host-side controller drivers
1762 on-board devices. For example, the USB host mass storage class
1782 in the file configs/olimex-lpc1766stk/src/up_nsh.c.
1794 NuttX-5.17
1795 ----------
1803 support for low-speed devices, (2) handle multiple concurrent
1813 NuttX-5.18
1814 ----------
1823 * Incorporate several important uIP patches -- including the well
1836 NuttX-5.19
1837 ----------
1851 initialization process. It supports a set of end-user applications
1854 of it this way: In a buckled-up embedded application, your
1855 end-user programs will probably have their own dedicated start-up
1858 This apps/ add-on (and NSH hooks) was contributed by Uros to
1861 /etc/init.d/rcS start-up scripts. This feature, as well, as
1862 all of the above-mentioned apps/ directory support was contributed
1867 driver should support point-to-point network communications to
1872 * Cortex-M3 Power improvements: Waits for Interrupt (WFI) in idle
1873 loop for reduced power consumption (LPC17xx and STM32 only -
1878 NuttX-6.0
1879 ---------
1886 functionality has been separated from NuttX application-related
1889 * nuttx-6.0.tar.gz, and
1890 * apps-6.0.tar.gz
1894 for incorporation of end-user applications with Nuttx.
1900 * CONFIG_APPS_DIR - This should not be set. The default is
1902 product-specific application directory in some different location.
1904 * appconfig - Each board configuration now requires a new file
1913 re-designed. Now you can have an Ethernet connection to you
1925 NuttX-6.1
1926 ---------
1930 6.0 release introduced a detach-able application environment to
1939 * The apps/ directory build system would not handle Windows-native
1948 in kernel-mode. This provides a secure environment for NuttX. This
1949 feature is fully coded in NuttX-6.1, but has not been tested due
1952 Related to this change, support for the Cortex-M3 memory protection
1967 * An I2C-based driver for the LIS331DL MEMS motion sensor.
1973 8-bit types (int8_t), and USB serial device. See the ChangeLog for
1976 NuttX-6.2
1977 ---------
1983 * NXFFS: The obvious new feature is NXFFS, the NuttX wear-leveling
1986 documentation of NXFFS yet exists. See the fs/nxffs/README.txt
1988 http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/fs/nxffs/README.txt?view=log)
1993 * Support for the Univision UG-9664HSWAG01 OLED with Solomon
2004 NuttX-6.3
2005 ---------
2009 back-to-back release was made so that the current released version
2015 on multi-processor platforms. See
2025 NuttX-6.4
2026 ---------
2032 * A new, full-featured FTP client. This client may be used as a library
2039 * A PCI-based E1000 Ethernet driver (contributed by Yu Qiang)
2058 NuttX-6.5
2059 ---------
2063 6.5 release is all about support for the Atmel 8-bit AVR family.
2082 (http://www.soc-robotics.com/index.htm). Is only partially in
2097 STATUS: The basic port was released in NuttX-6.5. This basic
2099 initialization of the OS, creation of a simple task, and serial
2111 STATUS: The basic port was released in NuttX-6.5. This basic
2118 configuration is not fully debugged as of the NuttX-6.5 release.
2120 AVR-specific issues. The basic AVR port is solid and biggest issue
2128 Most NuttX test applications are console-oriented with lots of
2131 smallest console-oriented applications can quickly fill a 4-8K
2142 NuttX-6.6
2143 ---------
2152 * Fixed several NX Graphics bugs: Rendering fonts at >8 bits-per-pixel,
2159 * Changes for a clean compilation under the ZDS-II toolchain.
2168 * Added several new configurations for the STMicro STM3210E-EVAL
2170 * Added support for the STM3210E-EVAL board: (1) LCD in either
2174 with CR-LF expansion and character echo if NSH is not run on
2179 the background while pop-up windows occur. Text should continue
2185 NuttX-6.7
2186 ---------
2190 that release consists of two tarballs: nuttx-6.7.tar.gz and
2191 apps-6.7.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2199 and disconnected when not needed (or re-connected as a different
2213 * STM32: New NX-related configurations to exercise text and
2221 NuttX-6.8
2222 ---------
2226 that release consists of two tarballs: nuttx-6.8.tar.gz and
2227 apps-6.8.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2231 * NuttX has been ported to run on the Freescale Cortex-M4 "Kinetis"
2233 KwikStik-K40 and (2) the Kinetis TWR-K60N512 tower.
2249 NuttX-6.9
2250 ---------
2254 that release consists of two tarballs: nuttx-6.9.tar.gz and
2255 apps-6.9.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2261 * Analog Support/ NXP LPC17xx: New DAC sub-system including ADC and DAC
2265 * Power Management: Added a new NuttX power management sub-system for
2280 * Kinetis Cortex-M4: Added a SDHC driver for the Kinetis parts.
2284 * Other new drivers: Driver for I2C-based at24cxx EEPROM submitted by
2285 Li Zhuoyi (Lzyy); Driver for the LM-75 temperature sensor. Support
2286 for the LM-75 temperature sensor integrated into the SM3210E-EVAL
2296 architecture-specific header files and include these in the NuttX
2313 only config CONFIG_RTC is enabled
2315 * Build System: Use of -print-libgcc-file-name to get path to
2319 NuttX-6.10
2320 ----------
2324 that release consists of two tarballs: nuttx-6.10.tar.gz and
2325 apps-6.10.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2333 * CDC ACM serial class device-side driver
2335 * RTC: Now supports hi-res and lo-res hardware RTC. The lo-res RTC
2341 * ADS7843E touchscreen driver. As used on the SAM3U-EK development
2350 * System Timer. Added support for a 64-bit system timer.
2359 repititions and auto-address increment for most commands.
2383 * STM32 SDHC driver. Interrupts were being left disabled.
2385 NuttX-6.11
2386 ----------
2390 that release consists of two tarballs: nuttx-6.11.tar.gz and
2391 apps-6.11.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2423 NuttX-6.12
2424 ----------
2428 that release consists of two tarballs: nuttx-6.12.tar.gz and
2429 apps-6.12.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2437 verified for the STMicro STM3250G-EVAL board.
2439 * SDIO-Based SD Card support. Add support for large (>4Gb) devices
2450 * C Library. wchar_t is a built-in type for C++
2452 NuttX-6.13
2453 ----------
2457 that release consists of two tarballs: nuttx-6.13.tar.gz and
2458 apps-6.13.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2471 * STM32 Boards. Added STM3240G-EVAL DHPCD and nettest configuration.
2472 Support for a new STM32 board, the HY-Mini STM32v board, was
2477 * Tests: New re-usable tests (in apps/examples) for PWM, ADC, and
2478 CAN loopback. Several existing tests can now be built as NSH built-in
2490 NuttX-6.14
2491 ----------
2495 that release consists of two tarballs: nuttx-6.14.tar.gz and
2496 apps-6.14.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2503 * Drivers. The upper-half PWM driver will now support a pulse count (as
2507 support for the STM32 F4. Add support for UART4-5 and USART6
2509 count for TIM1 and TIM8. Timer driver now supports the F4's 32-bit
2512 * STM32F4Discovery. Support for the STM32F4-Discovery board contributed
2515 * STM3240G-EVAL. Add support for user control of LEDs.
2521 * LPC1766-STK. Add support for on-board buttons. Add support for user
2524 * LM3S. Add support for the LM3S6432S2E on the TI RDK-S2E (Contributed
2527 * PIC32MX. USB device-side driver (needs further testing). A partial
2538 * Drivers. Fixed a buffer-full test in the upper-half CAN driver.
2554 NuttX-6.15
2555 ----------
2559 that release consists of two tarballs: nuttx-6.15.tar.gz and
2560 apps-6.15.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2567 * General Drivers: Add support for (29-bit) extended CAN IDs. Add an
2589 (essentially) unlimited. Add support for (29-bit) extended CAN IDs.
2595 (29-bit) extended CAN IDs.
2604 tcgetattr(). Moved the old, too-smart fgets() to a new application
2609 * Build system: Support for building a 32-bit simulation executable on
2610 a 64-bit Linux machine. Correct a dependency issue in the arch/*/src/board
2630 NuttX-6.16
2631 ----------
2635 that release consists of two tarballs: nuttx-6.16.tar.gz and
2636 apps-6.16.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2643 * ARMv7M Support: Includes new, streamlined Cortex-M exception
2645 Cortex-M4 FPU registers is now provided (in both "lazy" and "non-lazy"
2657 for the STM3220G-EVAL board (contributed by Gary Teravskis).
2660 STM3240G-EVAL board.
2666 * Networking. Added a lower-level, thread-independent socket layer.
2679 * Networking: Fixed a "leak" in the TCP/IP read-ahead buffering logic.
2681 occurred when read-ahead buffering memory is exhausted.
2698 NuttX-6.17
2699 ----------
2703 that release consists of two tarballs: nuttx-6.17.tar.gz and
2704 apps-6.17.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2711 * Networking: Additional low-level, thread-independent socket
2716 system re-awakens from certain deep-sleep modes.
2719 wraps an NX window and can be re-directed for stdout. This allows,
2720 for example, a pop-up graphics window that contains a NuttShell (NSH)
2726 * Calypso: Support for TI Calypso-based cellphones (as supported by
2727 the Osmocom-BB project) was contributed by members of the Osmocom-BB
2743 * PIC32 boards: Added support for the Sure DB-DP11212 PIC32 General
2748 The goal is to move any non-standard header files to include/nuttx
2764 kconfig-frontends tool is being incorporated into the build
2777 the file is opened write-only.
2780 multi-user NX server because of lack of use.
2793 NuttX-6.18
2794 ----------
2798 that release consists of two tarballs: nuttx-6.18.tar.gz and
2799 apps-6.18.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2818 * STM3240G-EVAL Board. Add support for the LCD and for the STMPE811
2841 kconfig-frontends tool is being incorporated into the build
2857 that Rx interrupts are disabled.
2866 debug output is disabled.
2869 need to return non-zero values on success.
2871 * graphics: Many multi-use mode fixes added to support NxWM (see the
2872 ChangeLog for details). Auto-raise is temporarily disabled in multi-
2877 NuttX-6.19
2878 ----------
2882 that release consists of two tarballs: nuttx-6.19.tar.gz and
2883 apps-6.19.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2901 nfsmount <server-address> <mount-point> <remote-path>
2903 That command will mount the remote NFS server directory <remote-path> at
2904 <mount-point> on the target machine. <server-address> is the IP address of
2923 The STM3220G-EVAL board support is now equivalent to the STM3240G-EVAL
2941 kconfig-frontends tool is being incorporated into the build
2959 NuttX-6.20
2960 ----------
2964 that release consists of two tarballs: nuttx-6.20.tar.gz and
2965 apps-6.20.tar.gz. Both may be needed (see the top-level nuttx/README.txt
2978 * Drivers: Added a driver for the SST 25 SPI-based FLASH parts.
2985 * PIC32 boards: Added support for the DTX1-4000L "Mirtoo" module
2988 * NXP LPC43XX Boards: Added support for NGX LPC4330-Xplorer board.
2994 EKK-LM3S3B96 development board. Contributed by Jose Pablo Rojas V.
2996 * Library: NuttX now supports platform-specific stdarg.h header
3003 kconfig-frontends tool is being incorporated into the build
3014 * LM3S: Fixed an optimization related but that caused slow start-up
3015 times if optimization was disabled.
3022 NuttX-6.21
3023 ----------
3027 that release consists of two tarballs: nuttx-6.21.tar.gz and
3028 apps-6.21.tar.gz. Both may be needed (see the top-level nuttx/README.txt
3038 * Drivers: Added support for the TI PGA112-7 amplifier/multiplexor.
3039 * LPC43xx: Added clock ramp-up logic to run at 204 MHz
3040 * LPC43xx Drivers: SPIFI block driver, RS-485 support, Minimal termios
3050 Add support for the Olimex STM32-P107 (contributed by Max Holtzberg).
3057 * Applications: Port of freemodbus-v1.5.0. Add support for testing
3075 * STM32: Pinmap fixes, SPI driver re-initialization
3078 * PM: Fix a place where interrupts were not be re-enabled.
3079 * Applications: NSH application start-up race conditions.
3086 NuttX-6.22
3087 ----------
3091 that release consists of two tarballs: nuttx-6.22.tar.gz and
3092 apps-6.22.tar.gz. Both may be needed (see the top-level nuttx/README.txt
3101 svn checkout -r5206 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
3105 svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
3114 * Memory Management: Added a new granule-based allocated that can be
3127 * ARMv7-M: Added logic to reset the MCU using the NVIC.
3131 * STM32 Drivers: Add logic to re-initialize UARTs a second time to
3139 * Build System: Kconfig string de-quoting logic. Remove comments from
3140 defconfig files (Kate). Add tool to create NuttX-style symbol tables.
3141 Numerous changes to configuration logic as needed for the new mconf-based
3143 Make.defs logic into tools/Config.mk (Richard Cochran).
3151 …XML-RPC Server (http://www.drdobbs.com/web-development/an-embeddable-lightweight-xml-rpc-server/18…
3159 * FAT File System: Improper Boolean expression caused un-necessary writes
3162 * Networking: Remove an un-necessary delay from recvfrom(). This greatly
3167 * Drivers: Fix double release of memory in SDIO-based, MMC/SD driver
3186 Vainish). Fix some field-width handling issues in sscanf()
3190 NuttX-6.23
3191 ----------
3195 that release consists of two tarballs: nuttx-6.23.tar.gz and
3196 apps-6.23.tar.gz. Both may be needed (see the top-level nuttx/README.txt
3205 svn checkout -r5313 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
3209 svn checkout -r5313 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
3227 * C Library: Support is now included for the add-on uClibc++ C++
3229 STL, RTTI, exceptions -- the complete C++ environment. (uClibc++ is
3230 provided as a separate add-on package due to licensing issues).
3232 Optimized generic and ARM-specific memcpy() function. Optimized
3244 with very long round-trip times. Extensions to the ifconfig command
3268 NuttX-6.24
3269 ----------
3273 that release consists of two tarballs: nuttx-6.24.tar.gz and
3274 apps-6.24.tar.gz. Both may be needed (see the top-level nuttx/README.txt
3283 svn checkout -r5447 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
3287 svn checkout -r5447 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
3293 - Implemented the POSIX pause() function (still has some compiance
3295 - Tasking logic is extended to support the notion of address
3300 - If support for the PATH variable is enabled, the OS start up logic
3307 - The NuttX binary loaders have been updated to support the PATH
3313 - The NXFLAT and ELF binary loaders have been extended to create
3319 * Drivers: LCD driver for the Univision UG-2864AMBAG01 OLED
3324 * STM32 Drivers: Added optional RS-485 direction bit control (from
3329 - Support for generic STM32F100RC board contributed by Freddie Chopin.
3330 - stm32f4discovery/nxlines: STM32F4Discovery support for the
3331 UG-2864AMBAG01 OLED.
3332 - stm32f4discovery/winbuild: A version of the NuttX OS test
3334 - stm32f4discovery/elf: Now uses the PATH variable to find ELF
3336 - configs/cloudctrl: Added for Darcy Gong's CloudController board
3345 - Add support for the z180 chip family and, specifically, for
3347 - All ZiLOG configurations updated to use the current ZDS-II
3352 - Add a semaphore handshake so that operations on buffers from
3355 - nxtk_subwindowmove() and nxtk_getwindow(): Improvements to clipping
3358 * C Library: lib/ sub-directory renamed libc/ (there is a new lib/ sub-
3365 - Add NSH hexdump command to dump the contents of a file (or character
3367 - Extend the NSH ifconfig command plus various DHCPC improvements
3372 - ostest: Replace large tables with algorithmic prime number
3375 - keypadtest: A new keypad test example contributed by Denis Carikli.
3376 - elf and nxflat: If CONFIG_BINFMT_EXEPATH is defined, these examples
3383 - New top-level Makefiles: Makefile.unix and Makefile.win (along with
3384 numerous changes to other make-related files). This adds basic
3386 window (rather than in a POSIX-like environment). This build: (1)
3392 and (2) still lacks some of the creature-comforts of the more
3396 - Example Windows native builds for STM32F4Discovery, eZ80, z16f, z8,
3398 - Several configurations have been converted to work the kconfig-
3401 - Architectures now include a common Toolchain.defs file that can be
3407 - Renamed tools/winlink.sh to tools/copydir.sh.
3408 - Several new tools/scripts to support the Windows native build:
3411 - tools/incdir.sh and incdir.bat now support an -s option to generate
3413 - tools/b16.c: Fixed precision math conversion utility.
3430 - Qencoder driver and TIM3 driver fixes from Ryan Sundberg.
3431 - Fix timeout delay calculation in the STM32 OTG FS host driver.
3434 driver is un-initialized.
3438 - Fix logic when the mouse drags outside of the window; fix
3440 - nxtk_filltrapwindow(): Correct an offset problem (also from Peterri
3442 - nxglib_splitline(): Correct the "fat flat line" bug.
3446 - nrand() changes to prevent coefficients from becoming zero which
3448 - Add rounding functions to the math library (contributed by Petteri
3452 to avoid integer overflows. For example from (-128) to (-127 - 1)
3459 NuttX-6.25
3460 ----------
3464 that release consists of two tarballs: nuttx-6.25.tar.gz and
3465 apps-6.25.tar.gz. Both may be needed (see the top-level nuttx/README.txt
3474 svn checkout -r5595 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
3478 svn checkout -r5595 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
3484 - Removed support for CONFIG_BUILTIN_APP_START. This is not really a
3490 - Implement a simple vfork(). In NuttX-6.25, this interface is
3491 available only for ARM7/9, ARMv7-M (Cortext-M3/4), and MIPS32
3493 - exec() now sets the priority of the new task to the same priority as
3495 - New, partially complient implementations of execv() and execl().
3498 - Add a complete implementation of posix_spawn(). This standard
3499 interface is a better match for an MMU-less architecture than are
3501 - Add a task start hook that will be called before the task main
3508 - Repartitioned tasking data structures. All shared resources are now
3511 - Added support for remember the parent "task group" when a new task is
3513 - Added optional support to record the membership of each thread in
3515 - Implement support for retaining child task status in the "task group"
3519 - Add internal logic to "reparent" a task. This is useful,
3523 - Added support for SIGCHLD. Sent to all members of the parent task
3525 - If SIGCHLD and retention of child task exist status are enabled, then
3526 a more spec-compliant version of waitpid() is enabled.
3527 - New interfaces waitid() and wait() are also enabled when SIGCHLD
3532 - dup() and dup2() can new be used with opened files in a mounted file
3533 system. This supports re-direction of output in NSH to files.
3534 - The binfs file system was moved from apps/builtin to fs/binfs. The
3537 - Added logic based on SIGCHLD to automatically unload and clean-up
3542 - Much of the logic for "builtin applications" was moved from
3545 - A binary loader was added for builtin applications to support
3551 - Added logic to marshal and serialized "out-of-band" keyboard
3557 - Driver for the UG-2864HSWEG01 OLED contributed by Darcy Gong.
3558 - Add support for removable serial devices (like USB serial). This
3561 * ARMv7-M:
3563 - Added an option to use the BASEPRI register to disable interrupts
3570 - Bring STM32 F1 DMA capabilities up to par with the STM32 F2/F4
3572 - Add support for USART single wire mode (Contributed by the PX4
3574 - Updates to support for SPI DMA on the STM32 F1/F2/F4. From
3579 - New configuration to support the UG-2864HSWEG01 OLED on the
3581 - Added a posix_spawn() test configuration for the STM32F4Discovery.
3585 - Files and directories repartitioned to support both LM3S and LM4F
3587 - Partial definitions for the LM4F contributed by Jose Pablo Carballo
3592 - Added scripts and documentation to use OpenOCD with the LM3S (from
3597 - Files and directories repartitioned to support both LPC175x/LPC176x
3603 - Added a configuration to support the Wave Share Open1788 board.
3608 - Add basic support for the The0.net ZP213x/4xPA board (with the LPC2148
3610 - Add an nxlines configuration for the ZP213x/4xPA (with the LPC2148
3615 - Add an nxlines configuration for the simulator.
3619 - Add logic to work around delayed ACKs by splitting packets
3621 - Split net_poll() to create the internal interface psock_poll().
3625 - Added support for LCD1602 alphanumeric LCD (HD4468OU controller).
3629 - Added 5x8 monospace font. This tiny font is useful for graph
3635 - Add an options to better manage toolchain prefixes.
3636 - Redesigned how the context targer works in the apps/ directory.
3644 - There are several new configurations that use the kconfig-frontends
3651 configs/stm3220g-eval/nxwm
3653 configs/olimex-lpc1766stk/nsh
3654 configs/olimex-lpc1766stk/hidkbd
3655 configs/olimex-lpc1766stk/nettest
3659 configs/lm326965-ek (all configurations)
3660 configs/mcu123-214x/nsh
3665 - tools/kconfig.bat: Kludge to run kconfig-frontends from a DOS shell.
3666 - tools/configure.c: configure.c can be used to build a work-alike
3667 program as a replacement for configure.sh. This work-alike
3670 - tools/configure.bat: configure.bat is a small Windows batch
3679 - New and modified examples:
3681 apps/examples/wlan: Remove non-functional example.
3683 handler test to catch death-of-child signals (SIGCHLD). Add a
3687 - NSH:
3689 NSH now supports re-direction of I/O to files (but still not from).
3698 - Supports a new daemon that can be used to monitor USB trace outpout.
3699 - Removed non-functional wlan example.
3705 - Fixed a *critical* task exit bug. Here is the failure scenario:
3709 of the ready-to-run list, then (3) sched_unlock() is called which
3711 I saw was that pre-emption got disabled in the IDLE thread, locking
3716 - sigtimedwait() would return a bad signal number if the signal was
3721 - Some SD cards will appear busy until switched to SPI mode for
3722 first time. Having a pull-up resistor on MISO may avoid this
3724 without pull-up.
3728 - STM32 FLASH driver counting error (from Freddie Chopin).
3729 - STM32 F4 maximum SPI frequency was wrong (corrected by Petteri
3734 - Due to cloning of untested code, the logic to control on-board
3736 - Serial devices number /dev/ttyS0-5 is there is a serial console,
3737 but /dev/ttyS1-6 if there is no serial console.
3741 - C++ static constructors execute now using a start taskhook
3747 - Several FAT-related bugs fixed by Petteri Aimonen.
3751 - Fix poll/select issure reported by Qiang: poll_interrupt() must call
3755 - Similar issues corrected for recvfrom() and send().
3756 - Telnetd would hang in a loop if recv() ever returned a value <= 0.
3760 - fread() could hang on certain error conditions.
3761 - Can't handle SYSLOG output to a character device from the IDLE task
3766 - Serial was driver was not being built if there is no console
3772 - sig_timedwait() and clock_time2ticks.c: Timing "rounding" logic
3773 - ARM9 Compilation issue with low vectors.
3774 - readline() return value
3775 - Others as detailed in the ChangeLog: HID keyboard, LPC17xx bit
3779 NuttX-6.26
3780 ----------
3784 that release consists of two tarballs: nuttx-6.26.tar.gz and
3785 apps-6.26.tar.gz. Both may be needed (see the top-level nuttx/README.txt
3794 svn checkout -r5745 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
3798 svn checkout -r5745 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
3804 - Add an additional call-out to support board-specific driver
3805 initialization during the boot-up phase (available with
3810 - New interface task_spawn() that is like posix_spawn(), but uses
3812 - Additional data restructuring as a continuation of the task group
3817 - TCBs for tasks and pthreads are now separate structures. This
3823 - Extensive changes were made to support the kernel build mode. In
3830 - Extensive changes were made to the syscall, SVCall, and trapping
3832 - The memory manager was extended to support both kernel- and user-
3834 correct kernel- or user-space allocator, depending upon the user
3836 - The user-space blob now contains a header built in at the beginning
3838 provided by a kludgy, auto-generated header file (user_map.h).
3839 - Basic support implemented for the ARMv7-M family with fragments
3840 also implemetned for the ARMv6-M and MIPS32 families.
3841 - Kernel build supported added for the LPC17xx Open1788 and for
3842 the Atmel SAM3U-EK board. All testing is being performed on the
3847 - Delivery of signals to threads within a task group is now compatible
3852 - Add a driver for the SST29VF NOR FLASH parts.
3853 - USB device trace/debug feature extended to decode device-specific
3856 - USB MSC device driver can not support names of differing sizes
3858 - Locking added to MMC/SD SPI drivers so that MMC/SD can co-exist on
3862 * ARMv6-M (Cortex-M0):
3864 - Added support for the ARM Cortex-M0 family.
3868 - Added support for the nuvoTon NUC120 MCU (Cortex-M0).
3872 - Added basic support for the nuvoTon NuTiny-SDK-NUC120 board (Cortex-M0).
3876 - Added support for the LPC177x and LPC178x families. Most of this is
3881 - Added support for Zilogic System's ARM development Kit, ZKIT-ARM-1769.
3883 - The port for the WaveShare Open1788 board is now functional. Basic
3889 - Added an SD card MSI driver for the LPC178x. The driver is marginally
3894 - Support extended to handle the STM32 F3 family (Cortex-M4 with F1-like
3899 - Added support the STMicro STM32F3Discovery board (STM32 F3).
3903 - Basic support for the LM4F120 family is in place, but untested (mostly
3908 - Add support for the LM4F120 LaunchPad (untested).
3912 - select() should now allocate a little less memory.
3916 - Extended to support multiple heaps. This is used as part of
3917 the kernel build in order to support separater user- and
3918 kernel-mode heaps.
3919 - The stand-alone memory manger test had to be removed. It
3925 - Several configurations converted to use the kconfig-frontends
3931 - Move the workqueue logic into the C library. There is now a
3932 special user-space version of the work queue (which will only
3934 - Implementation of itoa() contributed by Ryan Sundberg.
3938 - The NSH builtin task logic now uses task_spawn() to start builtin
3940 - The OS test now includes a test cased to verify task_restart().
3956 * Conversion of old configurations to use the kconfig-frontends
3963 - The wrong PID was being signalled with SIGCHILD. It should be
3966 - Added logic so that some internal resources and states are recovered
3970 * ARMv7-M:
3972 - Several fixes to the MPU control logic.
3976 - Removable serial drivers race conditions fixed.
3977 - MAX11802 timing bug (from Petteri Aimonen).
3981 - Handle cases were SPI DMA logic fails if sem_wait is awakened
3985 - Fixes to the OTG FS device driver from Petteri Aimonen.
3986 - Fix typos in DMA register header file (from Yan T.)
3990 - Correction to the hyphen in the SANS 17x22 font (from Petteri
3995 - Corrected errors in the socket poll/select logic. Additional
4001 - mallinfo() should hold the memory manager semaphore (from Petteri
4006 - Resolved several build errors reported by Mike Smith.
4010 - Fixed an NSH memory leak: Needed to detach after creating each
4012 - readline() now returns EOF on any failure (instead of a negated
4014 logic similar to getc. The value zero (meaning end-of-file)
4019 NuttX-6.27
4020 ----------
4024 that release consists of two tarballs: nuttx-6.27.tar.gz and
4025 apps-6.27.tar.gz. Both may be needed (see the top-level nuttx/README.txt
4032 - Add missing registration of /dev/zero. Registration of /dev/null
4037 - Added a new interface to set aside memory on the task's stack. This
4039 - Remove up_assert_code(). One assertion routine is enough.
4043 - Extensive changes were made to support the kernel build mode. In
4050 - Kernel build configurations for the Open1788 board and for the
4052 - Changes were made to task and thread start-up routines, signal
4053 handling, data structures, ARMv7-M SVCalls, stack management
4058 - Driver for the ST7567 LCD Display Module from Univision Technology
4060 - SPI initialize functions renamed so that multiple SPI blocks can
4062 - Extended to support the RAMTRON FM25V01 device. Contributed by
4064 - Serial drivers: TIOCSERGSTRUCT ioctls now conditioned on
4067 * ARMv7-M (Cortex-M3/4):
4069 - Added support for modifiable interrupt vectors in RAM
4073 - Added kernel build support
4077 - Add kernel build support
4078 - Add support for the Kinetis L family of Cortex-M0+ MCUs. Contributed
4083 - Now holds off sleep mode in the IDLE loop is DMA is in progress
4088 - ZKIT-ARM-1769: Now supports the ST7567 LCD display module. Added
4090 - ZKIT-ARM-1769: Add support for both CAN1 and CAN2. Contributed by
4093 - Open1788: Basic support for the WaveShare Open1788 board is complete
4095 - Open1788: Integrated the LPC178x LCD driver with the WaveShare display.
4098 - Open1788: Now supports SDRAM (used to provide the LCD framebuffer).
4099 - Open 1788: Reversed sense of the IDLE LCD. It is now off when the
4105 - Added an LCD framebuffer driver for the LPC177x/8x family.
4106 - Implemented LPC17xx GPDMA support.
4107 - Integrated the LPC17xx GPDMA support into the SD card driver.
4108 - SSP driver adapted to work with the LPC178x family.
4109 - Separate LPC176x and LPC178x GPIO logic; this logic is too different
4111 - Re-design of the GPIO logic for the LPC178x family by Rommel Marcelo.
4115 - Added kernel build support
4119 - Added support for kernel mode build.
4120 - Added architecure support for the STM32 F427/F437 chips. Contributed
4125 - Added a configuration to support a kernel mode build of the OS test
4130 - Added kernel build support
4131 - Added support for the 7 UARTs on the LM4F120
4135 - Added scripts and instructions to simplify use of OpenOCD with ICDI
4137 - The basic for the Stellaris LM4F120 Launchpad is complete. This
4143 - Directories where the same sources files are used to build different
4150 - apps/system/ramtest: Add a simple memory test that can be built
4155 - kconfig2html is a new tool which will replace the hand-generated
4156 documentation of the NuttX configruation variables with auto-
4164 enough. The KL25Z is a low-cost Cortex-M0+ part with 128KB of FLASH
4167 * Conversion of old configurations to use the kconfig-frontends
4170 to use the kconfig-frontends tools.
4176 - Fixed a critical bug: When there is pending C buffered output
4184 * ARMv6-M:
4186 - Fixed parameter passing for all system call inline functions with > 3
4188 - Fixed a major problem: The Cortex-M0 has no BASEPRI register but the
4189 logic of NuttX-6.26 was using it to manage interrupts. Switch to
4193 * ARMv7-M:
4195 - Corrected Correct MPU sub-region settings for unaligned regions.
4196 - In exception handling with CONFIG_NUTTX_KERNEL, need to explicitly
4198 - Fixed parameter passing for all system call inline functions with > 3
4203 - Support for O_NONBLOCK was not supported in the "upper half"
4205 - PL2303 compilation errors
4209 - Corrected typos in alternate function definitions.
4213 - Added a work-around for an ADC errata. From Chris Taglia
4214 - Only one ADC pin was configured. Need to configure all that
4219 - The FAT logic was not making a distinction between directory
4220 non-existence and file non-existence so when it you try to
4221 create a file in a non-existent directory, it would create a
4224 - Several fixes to the FAT file system from Ronen Vainish. These
4228 - mkfatfs was writing the boot code to the wrong location. From
4233 - Fixed a compilation error when socket options are are disabled.
4238 - Corrected an error in sscanf. If %n occurs in the format statement
4241 - strchr(str, '\0') should return a pointer to the end of the string,
4246 - Fix naming of NuttX target if EXEEXT is defined.
4250 - OS test: Fix timing error in non-cancelable thread test.
4251 - NSH: Correct the test of the skip input parameter. Was limiting the
4254 NuttX-6.28
4255 ----------
4259 that release consists of two tarballs: nuttx-6.28.tar.gz and
4260 apps-6.28.tar.gz. Both may be needed (see the top-level nuttx/README.txt
4267 - SMART FLASH file system (contributed by Add Ken Pettit).
4271 - Add support of MTD partitions via a new MTD driver that manages a
4274 - Extended the MTD interface to provide an (optional) method to
4276 - M25Px driver re-architected to use the byte write capability (when
4282 - New interface definitions to support audio devices (from Ken Pettit)
4287 - Added new driver for the wireless nRF24L01+ transceiver (from
4292 - Added support for the Pirelli DP-L10 phone (from Craig Comstock via
4297 - Added an option to conditionally disable the "wfi" sleep mode. This
4300 - Added support for the STM32L (STM32L15X/STM32L16x) family.
4301 - Added STM32F103C4 and F103C8 chip support (from Laurent Latil).
4302 - Added a new interface function, stm32_dmacapable() that can be used
4308 - If CONFIG_STM32_DMACAPABLE is defined, the STM32 SPI driver now uses
4316 - Support added for the MikroElektronika Mikromedia for STM32F4
4319 - The HY-mini STM32v board now uses the common SSD1289 driver
4322 - Support added for the R65105-based LCD that comes with some
4323 HY-Mini STM32v boards (from Christian Faure).
4324 - Added basic support for the STM32L-Discovery board. Drivers
4325 for the on-board segment LCD are included.
4326 - Added support for the STM32 Tiny development board based on the
4332 - Support added for a TI/Stellaris internal FLASH MTD driver (from Max
4337 - The LM3S6965-EK now has configurations for the UDP discovery tool and
4342 - Reorganized, renamed, and updated directory structure to better
4344 - Added support for both the ATSAM4S and ATSAM4L families. The
4347 with a Cortex-M4.
4351 - Added support for the Atmel SAM4L Xplained Pro development board.
4352 This board features the ATSAM4LC4C MCU (Cortex-M4 with 256KB FLASH +
4354 - Added support for the Atmel SAM4S Xplained developement board. This
4355 board features the ATSAM4S16C MCU (Cortex-M4 with 1MB FLASH + 128KB
4360 - Added support for the 1602 segment LCD on-board the Sure PIC32MX
4366 - Clean-up of almost all .gitignore files: Made scope of ignore to be
4370 - Standardize and consolidated all build-as-an-NSH-application
4374 - Added support for a generic ARM, ARMv6-M and ARMv7-M Windows EABI
4379 - Added encoder/decoder logic to marshal and serialize special segment
4383 - Add dprintf() and vdprintf() (the latter from Andrew Tridgell).
4384 - Add an application that may be built as an NSH builtin command that
4389 - Added an MTD partition test/examples. Currently used with (1) the a
4392 - Added a test/example to verify alphanumeric, segment LCDs.
4393 - Added a simple single threaded, poll based TCP echo server based
4396 - Added several tests of the SMART block driver and file system (from
4398 - Added a runtime configuration for the UDP discover utility (from
4400 - Added an example application to demo the nRF24L01 driver (from
4402 - New and modified NSH commands:
4403 Added a -h option to the df command to show the volume information
4413 - A complete audio subsystem include CODECs, higher level management,
4416 release and so is categorized as a work-in-progress. At present,
4420 * kconfig-fronted Configuration:
4422 - Conversion of old configurations to use the kconfig-frontends
4425 to use the kconfig-frontends tools.
4431 - Modify assertion in the priority inheritance logic that is reported
4436 - Typo in syscall proxying logic corrected by Ken Pettit.
4440 - Poll setup/teardown logic should ignore invalid (i.e., negative)
4442 - When readahead data is available, the network poll() logic should
4447 - Correct power controls in the MIO283QT2 LCD driver.
4451 - Change the default IN request buffer size from 64 to 96. This will
4458 - Correct some bad STM32 F1 DMA definitions that crept into the system
4460 - Fixed an error in NULL packet handling in the STM32 F1 USB device
4461 controller driver: If the NULL-packet needed flag ever got set,
4467 - Correct some bad condition compilation in the RCC logic (CONFIG_
4468 missing from setting names). This affects some STM32 FLASH pre-
4470 - Change for hardware flow control support for STM32. The change also
4473 - Fixed a backward conditional in USB OTG FS host controller driver
4478 - I2C interrupt control. Also correction for a single byte read
4483 - Freedom KL25Z pin multiplexing and LED control corrections (from
4488 - Fix NULL packet handling in the PIC32 USB device driver. Without
4495 - Default priorities for NxWidget and NxWM threads should be 100,
4500 - Remove the CONFIG_EXAMPLES_NXTEXT_NOGETRUN option from the NXTEXT
4503 - C++ name mangling was occurring when this example is built as an NSH
4504 built-in application causing the entry to be undefined when called
4506 - Add some missing NSH library configuration values (from Lorenz
4509 NuttX-6.29
4510 ----------
4514 that release consists of two tarballs: nuttx-6.29.tar.gz and
4515 apps-6.29.tar.gz. Both may be needed (see the top-level nuttx/README.txt
4522 - Generalized the SSD1306 driver and added support UG-2832HSWEG04
4524 UG-2864HSWEG01.
4525 - Added support for a generic bit-bang SPI driver. This includes
4526 both a common "upper half" driver as well as a platformp-specific
4529 * ARMv7-A, Cortex-A5
4531 - Added support for the ARMv7-A architecture and the Cortex-A5 in particular.
4533 * ARMv7-M, Cortex-M3/4
4535 - Modified how some registers are copied during a context switch (with
4541 - Added support for a separate CCM heap. This may be useful for
4547 - DAC: Added support for DAC DMA (contributed by John Wharington).
4548 - I2C: An I2C driver for the STM32 F3 family (from John Wharington).
4552 - Add support for SAM3X and SAM3A chips
4556 - Re-architect the SAM3/4 SPI driver so that is it compatible with the
4558 - Added register definition file for the SAM4L LCD peripheral.
4559 - Added SAM4L PDCA register definition file
4563 - SAM4L-Xplained: Added support for the SPI-based SD card on the I/O1
4565 - SAM4L-Xplained: Added a driver for the LED1 segment LCD module.
4566 - SAM4L-Xplained: Added support for the UG-2832HSWEG04 OLED on the
4568 - SAM4S-Xplained: Added support for on-board 1MB SRAM
4569 - Arduino Due: Basic support for the Arduino Due (SAM3X) is now
4571 - SAM3U-EK: The touchscreen is now functional.
4575 - Added support for the Atmel AT91SAMA5D3 Cortex-A5 chip family.
4579 - Added support for the Atmel SAMA5D3x-EK boards which use the AT9
4584 - Freescale KL25Z TSI register definitions and example TSI driver for
4586 - Added SPI driver and register definitions for the Freescale KL25Z.
4587 - Added a framework for controlling SPI-related discrete inputs and
4592 - New sub-directories to hold SPI-related files: includes/nuttx/spi.h
4593 moved to include/nuttx/spi/.; SPI-related Kconfig info moved from
4595 - Finally... I changed the naming of configuration variables like
4602 - Added CRC16 support.
4606 - Added Zmodem file transfer support. This may be used as an embedded
4609 - C++ initializers should be set once and, preferably, in the context
4618 - examples/cxxtext: Add ostream test as provided by Michael.
4619 - NSH: Added a 'cmp' command that can be used to compare two files
4629 - A complete audio subsystem include CODECs, higher level management,
4632 release and so is categorized as a work-in-progress. At present,
4636 * kconfig-fronted Configuration:
4638 - Conversion of old configurations to use the kconfig-frontends
4641 to use the kconfig-frontends tools.
4647 - Fixed compilation error if no file systems are enabled: Change
4649 - Read-Ahead/Write buffering: Correct typos that can cause failures
4654 - Remove the wait for the touchscreen busy bit in the ADS7843E driver.
4656 wait for the BUSY bit to de-asserted anyway (since it is only de-
4659 - MMC/SD SPI based driver: Driver needs to make sure that the SPI
4661 - ENC28J60: Change buffer ordering to work around Errata. From Dave
4666 - Fixed a typo in the composite device driver unitialization logic.
4668 - usbdev.h: Fix some typos that cause compiler errors when
4674 - Fix a bug (uninitialized register error) that crept in the ARM9
4675 boot-up code several years ago. Obviously no one has used the
4680 - Fix STM32 OTF FS endpoint allocation logic. Apparently the same
4685 - SDIO: Add support for the data block end (DBCKEND) interrupt to
4687 - DAC: Fixed numerous DAC driver errors and added support for DAC
4692 - SAM4S: Correct configuration of PIO pins for SAM4S B and C peripherals.
4693 - Need to disable write protection before configuring PIO pins.
4694 - GPIO configuration logic must protect against re-entrancy.
4695 - Clocking must be applied to the SMC module for the 3X and 3A family in
4697 - Fixed some errors for interrupts on ports D-F.
4701 - Common SPI driver: Fix SPI mode setting. In the SAM3/4 family, the
4707 - SAM3U-EK: Fix polarity of the /PENIRQ signal (it is active low).
4708 The SAM3U-EK board now runs at 96MHz.
4712 - apps/examples/nxhello: Minor fix for compilation error when the
4715 - apps/system/ramtest: The RAM test was not correctly built
4717 - apps/examples/composite: Change to prevent some false alarm debug
4720 NuttX-6.30
4721 ----------
4725 that release consists of two tarballs: nuttx-6.30.tar.gz and
4726 apps-6.30.tar.gz. Both may be needed (see the top-level nuttx/README.txt
4733 - Extended TERMIOS support for serial and CDC/ACM drivers. From
4735 - Added option to disable serial port reordering. From Lorenz Meier.
4736 - Several changes to the USB host control interface and extensions to
4739 - USB device tracing: Extended decoding and stringifying of USB trace
4741 - USB host tracing: Added support for USB host tracing similar in
4748 - Support for the Microchip ENCX24J600 Ethernet driver from Max
4750 - CC3000 Networking. Initial support for the TI CC3000 network
4751 module on the Freescale Freedom-KL25Z board from Alan Carvalho
4754 * ARMv7-A, Cortex-A5
4756 - Restructured some MMU-related logic and header files.
4757 - Hooks added for Cortex-A8, but not yet used.
4761 - STM32 SPI: nbits() interface extended to control bit order as well
4766 - Olimex STM32-P107: Incorporate ENCX24J600 networking for the Olimex
4768 - LeafLabs Maple Board: Add board support for the LeafLabs Maple and
4773 - Added support for the SAMA5 DMAC controllers.
4774 - DMA-capable drivers for the SAMA5 SPI peripherals.
4775 - DMA-capable HSCMCI 0/1/2 drivers.
4776 - Support for PIO interrupts
4777 - Utilities for intelligent conversions between physical and virtual
4779 - Added USB host controller drivers for both the OHCI (low- and full-
4780 speed) peripheral and the ECHI (high-speed) peripheral.
4781 - Added USB device controller for the SAMA5 UDPHS peripheral (full-
4782 and high-speed).
4783 - Added a Two Wire (TWI) driver. This is a variant of I2C.
4785 * Atmel AT91 SAMA5D3x-EK Development Boards
4787 - Now supports onboard SDRAM. Modified heap initialization logic
4789 - Integrated a FAT file system on the on-board SPI-based AT25 serial
4791 - Integrated HSMCI0 and HSMCI1 support for the microSD and full file
4793 - Integrated USB OHCI and ECHI host and high-speed peripheral support.
4796 - Integrated the TWI driver and the I2C tool. Added support for an
4801 - apps/examples/cc3000. Initial support for the TI CC3000 network
4802 module on the Freescale Freedom-KL25Z board from Alan Carvalho de
4804 - apps/examples/usbmsc: apps/examples/usbstorage renamed usbmsc for
4806 - apps/system/usbmonitor: The USB monitor has been extended so that
4815 - CC3000 Networking. Initial support for the TI CC3000 network
4816 module on the Freescale Freedom-KL25Z board from Alan Carvalho
4819 * kconfig-fronted Configuration:
4821 - Conversion of old configurations to use the kconfig-frontends
4824 to use the kconfig-frontends tools.
4830 - ROMFS: Fix an error where long (>15) file names were read
4832 - NXFFS: Clean up some compiler warnings.
4836 - MMC/SD driver: Correction for a bad return value when multiple
4838 - USB HID keyboard and mass storage host-side class drivers: Fix some
4839 compilation errors and warnings when pre-allocated data structures
4841 - USB device-side class drivers: Fix some compilations errors when
4842 DUALSPEED (i.e., full- and high-sped) support is enabled.
4843 - CDC/ACM and PL2303: Don't use max packetsize assigned to the endpoint
4846 been configured. Really only an issue for high-speed endpoints.
4847 - USB Host Mast Storage Class: Fixed a problem that was causing some
4852 - USB Host Mast Storage Class: Correct a reference counting error:
4857 - USB Device CDC/ACM: Fix backward conditional compilation in the
4858 CDC/ACM driver with regard to remote wakeup and self-powered
4863 - ARP IP harvesting: Correct backward condition in netmask task.
4865 - Network connection monitor: Fixes a race condition where a loss of
4868 - TCP/IP Backlog: Fix a critical bug in the TCP/IP backlog
4871 - ENC28J60: Fixes and improvements back-ported from the ENCX24J600
4876 - STM32 I2C fixes for the STM32 F3 family from John Wharington.
4877 - STM32 I2C Correct an error that crept into the STM32 F1 I2C
4879 - STM32 F4: Added some missing CONFIG_SERIAL_TERMIOS support; Fixed
4881 - STM32 SDIO: If CONFIG_SDIO_BLOCKSETUP defined, OS would crash. Now
4884 - STM32 I2C Timers: Some CCER bit settings changed. Submitted by
4886 - STM32 CAN: Fix access to CAN filter registers. From the PX4 team
4888 - STM32 Kconfig: Fix STM32 UART7/8 Kconfig names and UART DMA. From
4893 - Fix #endif with missing #if in USB host header file. Reported
4898 - Corrected DMA-related problems: Bad register definitions, parameters
4900 - Correct a race condition in the HSMCI driver when an interrupt
4902 - Peripheral clock setup: Correct a typo in a register name.
4906 - Order of some operations changed in boot-up logic to defer
4908 - Correct handling of spurious interrupts.
4912 - KL25Z SPI: Correct typo in name of a function. From Alan Carvalho
4917 - apps/examples/composite: Fix a typo that can cause a configuration
4919 - apps/examples/pwm: Clean-up some configuration confusion.
4920 - apps/netutils/dhcpd/dhcpd.c: Fixed calculation of the next lease
4922 - apps/examples/usbmsc: Don't try to control USB trace if we are
4923 an NSH built-in task. In that case our attempts are inadequate
4926 - apps/examples/usbmsc: IMPORTANT bug fix: Change how the msconn
4928 This was because the USB MSC start-up logic creates a pthread;
4932 a pthread, but we are stuck with that for now. The work-around
4935 - apps/nshlib: Fix NSH listing output for the case of a single file.
4938 NuttX-6.31
4939 ----------
4943 that release consists of two tarballs: nuttx-6.31.tar.gz and
4944 apps-6.31.tar.gz. Both may be needed (see the top-level nuttx/README.txt
4951 - Standardized stack checking logic so the interfaces can be used
4956 - Ken Pettit has finally released his long awaited audio subsystem.
4960 - Ken Pettit's VS1053 audio CODEC driver is now functional.
4964 - Add the prefix ETH0 to all PHY configuration selections. This
4967 - Add MII/RMII PHY definitions for the Micrel KSZ8051 PHY.
4968 - Add GMII/GRMII PHY definitions for the Micrel KSZ9021/31 PHY.
4969 - New network-optimized, higher-performance sendfile() implementation
4971 - Added a simple routing table. This table is currenly only used (1)
4972 when we need to look-up an Ethernet device based on an IP address,
4975 - Make net_close() nonblocking and free unestablished connections if
4977 - Changed the meaning of the uip_*input functions. They now return
4981 - David Sidrane has completed integration of the CC3000 networking.
4983 replacement for the NuttX networking with off-chip networking support
4985 - Numerous enhancements to the ENCX24J600 driver from Max Holtberg.
4989 - The SST25 serial FLASH MTD driver now includes support for the
4991 - Add a preflight method to the SDIO interface to support the STM32
4993 - Enhanced the MMC/SD SDIO driver to perform DMA preflight operations
4996 - Add an ioctl command that can be used to trigger ADC/DAC conversion
5001 - Enhanced the FAT32 filesystem code to understand DMA preflight
5003 a user-supplied buffer is not suitable for DMA. From Mike Smith.
5007 - Add support so that subsets of the total DRAM (and other external
5013 - Use more descriptive task names when starting the EHCI and OHCI
5015 - Added a 10/100Base-T Ethernet (EMAC) driver.
5016 - Added a 1000Base-T Ethernet (GMAC) driver.
5017 - Added a Real Time Clock (RTC) driver and integrated with the NuttX
5019 - Added support for /dev/random using the SAMA5D3x True Random Number
5021 - Added a Watchdog Timer (WDT) driver.
5022 - Added a Timer/Counter (TC) library with interface that make be used
5024 - Added an ADC driver that can collect multiple samples using the
5027 - Added a touchscreen driver based on the special features of the
5029 - Added an LCD controller (LCDC) frame buffer driver.
5030 - Added a CAN driver. However, testing has been delayed because of
5032 - Basic header file support is available for the Image Sensor
5036 * Atmel AT91 SAMA5D3x-EK Development Boards
5038 - Add OS test support for the FPU test.
5039 - Enable the task name feature board configuration sto provide
5041 - Added NX and NxWM configurations to verify the LCD and touchscreen.
5044 - The TRNG and /dev/random are now enabled by default in the demo
5049 - Add configuration to select revision 3 of the Arduino Due which has
5054 - Add support for the STM32F207ZE chip. From Martin Lederhilger.
5058 - Add configuration for the Spark Core. The initial check-in is
5062 - Support for the Olimex STM32 P207 board added by Martin Lederhilger.
5063 - Configuration for the Mikroe STM32F4 board configuration updated for
5068 - zkit-arm-1769: LED1 is now user controllable after booting. From
5073 - PIT and TPM register definitions header files for the from Alan
5075 - Added low-level getc() function for operation with no file system.
5081 - A new configuration called minnsh was added is an experiement to
5087 - Basic board support for the Motorola C139 (Compal E86) phone. From
5092 - Moved several useful examples from apps/examples to apps/system.
5094 - New addroute and delroute commands added to NSH in order to manage
5096 - Numerous enhancements and updates to the CC3000 example from David
5098 - Add a new stack monitor daemon that can be used to constantly
5100 - Numerous changes to get NSH working with no file system. Basically
5102 low-level console read/write functions. Suggested by Alan Carvalho
5104 - apps/system/nxplayer: A new, command-line media player called
5106 - apps/examples/random: Add a simple test that dumps values from
5108 - apps/examples/adc: Add support so that a ADC driven by software
5113 - The MKDEP tools now support a new argument that identifies the
5120 * kconfig-fronted Configuration:
5122 - Conversion of old configurations to use the kconfig-frontends
5125 to use the kconfig-frontends tools.
5131 - IDLE thread initialization logic should not call group_setupidlefiles()
5133 - Fix some cornercase error handling logic: If sched_releasetcb() is
5140 - Look up of a device using subnet will fail if the packet is being
5143 was extended to handle multiple Ethernet devices by adding a simple
5145 - Fix some backward conditional logic in send() that enabled the
5147 - Notify the socket layer from the network monitor if a connection is
5150 - send(): Reset the send timeout when the data is ACKed, not when the
5153 - Correct how the TCP/IP initial minimum MSS is calculated. Max
5155 - TCP state machine: Move tcp connection into SYN_RCVD state after
5158 - Numerous fixes to the ENCX24J600 driver from Max Holtberg.
5162 - Change naming of SELFPOWERED and REMOTEWAKEUP to avoid name
5165 - CDC/ACM class driver: Change the interval for the interrupt
5170 * ARM Cortex-A5:
5172 - Fix an error in data cache clean and invalidate functions: Fix of
5177 - Correct some inconsistencies in the way that USB configuration
5180 - When 480MHz UPLL is used to drive OHCI, it should have a divider
5182 - OHCI HCD: Fix a place where DMA-related data needed to be flushed
5185 - HSMCI Driver: TX DMA disabled. It is just not reliable. No idea
5187 - STM32F103C pinmapping corrections from David Sidrane.
5189 * Atmel SAMA5D3x-EK Board
5191 - Increase the number of pre-allocated watchdog timers. The default
5197 - STM32 F4 DMA definitions: Typo fixes for UART7 and UART8 DMA
5199 - DMA priority configuration corrections from Mike Smith.
5200 - Changes to the stm32_dmacapable API. In order to correctly
5206 - STM32 F1 DMA fix from David Sidrane: The DMA_CNDTRx register
5207 cannot be modified if the DMA channel is disabled.
5211 - Fix compilation errors from bad bit definitions in ADC and PWM
5213 - DMA-related fixes to the SPI driver from Ken Pettit.
5217 - Remove undefined spi_select() prototype. This was causing compile
5222 - zkit-arm-1768: MMC/SD is on SPI, not SSP0. From Rashid Fatah.
5226 - scanf() fixes from kfrolov: 1) sscanf() function hangs in the
5235 - Dependency generation generation was broken for directories that
5236 keep objects in a sub-directory. The MKDEP tools now support a new
5238 - tools/define.sh: 'cut' no longer works as it once did. Script
5243 - Remove a warning from the NSH library when DHCP is not enabled.
5244 - Default NSH IP address should be 0x0a000001 (10.0.0.1), not
5246 - Add some missing options to the OS test Kconfig file
5247 - Fix some bad conditional compilation in the USB monitor.
5248 - Fix default I2C frequency used by the I2C tool: 400KHz instead
5250 - Increase stack size for the system/info command. Ken Petit
5251 reports that this simple command can exceed its 768 stack size
5254 - apps/Makefile: Needs to include external/Make.defs if we want
5257 - apps/netutils/telnetd: Missing argument to debug statement
5260 - apps/examples/can: Correct an error in a debug statement. From
5263 NuttX-6.32
5264 ----------
5268 that release consists of two tarballs: nuttx-6.32.tar.gz and
5269 apps-6.32.tar.gz. Both may be needed (see the top-level nuttx/README.txt
5276 - Extension and standardization of stack debug logic. Now includes
5282 - I2S interface definition. Integrates with audio sub-system.
5283 - VS1053 worker thread stack size is now configurable and assigned a
5288 - Updates and adaptations to support for TI CC3000 wireless module
5289 from David Sidrane. These updates include multi-threading support
5295 - procfs: Add support for a tiny procfs file system. The initial
5298 - NXFFS: An initial attempt was made to integrate NXFFS with the NAND
5301 is re-writes blocks is incompatible with the NAND ECC handling.
5302 These changes were backed-out so as not to introduce turmoil, but
5303 can be re-enabled if needed via configuration option.
5304 - NXFFS: Make the start up scan of the media a configuration option.
5311 - I2S: A simple character driver was added to support I2S accesses.
5318 - Add a container for an MTD device that can be used to provide a
5319 simple, lightweight interface to configuration data storage that
5322 - New interface definition for lower half NAND drivers.
5323 - MTD Nand: Add MTD NAND driver that will support ONFI devices,
5324 non-ONFI devices (via table lookup), bad block checking, software
5325 ECC (Hamming), and will interact with the lower-half, hardware-
5326 specific, NAND driver. Based on BSD-compatible Atmel sample code.
5327 - MTD geometry structure is now packed so that it can support larger
5330 - SST25: Add another SST25 SerialFlash driver, sst25xx.c. This one
5337 - STM32 F1 USB Device: Add support for decoded USB trace strings.
5342 - Add more ARM9 cache management functions to flush and invalidate
5343 D-Cache for DMA support.
5347 - Many new drivers including CAN, PWM, SSC/I2S
5348 - PCK: Add support for programmable clock outputs.
5349 - NAND: Driver with hardware ECC and DMA support
5353 - SAMA5D3x-EK: Add support for the apps/examples/i2schar test.
5354 - SAMA5D3x-EK: Provides board-specific memory controller initialize
5356 - SAMA5D3x-EK: Add support for "auto-mounting" NAND MTD block driver
5361 - Basic support for the Atmel SAM4E family. From Mitko.
5365 - Added support for the STM32F429. From Ken Pettit.
5366 - Added support for GPIOK and GPIOJ. From Ken Pettit.
5370 - STM32 F4 OTG FS/HS Device: OTG FS device and host drivers extended
5374 - Added header files and driver framework for the STM32F429 LTDC
5379 - Support for the Spark board was completely by Davide Sidrane. The
5384 - The Mikroe-stm32f4 now uses /dev/config for configuration data
5386 - Added support for the STM32F429I-Discovery board from Ken Pettit.
5387 - Added board support for the ViewTool STM32F103/F107 board with the
5392 - USB ECHI HCD: Add a driver for the low-/full-/high-speed variant
5397 - Board-specific USB host support for the Emedded Artists EA3131 board.
5399 - Add support for the Olimex LPC-H3131 board. Including USB host
5404 - PWM driver for the Freescale Kinetis KL family from Alan Carvalho
5409 - Freedom-KL25Z: Add PWM support from Alan Carvalho de Assis.
5413 - Don't initialize .data in start-up logic if not running from FLASH.
5417 - apps/platform: A new home for platform-specific application code.
5418 - Define a common interface that can be used to manage platform-
5420 - apps/examples/configdata: A unit test for the MTD configuration
5422 - Aapps/platform/mikroe-stm32f4: dd platform-specific storage of
5423 configuration data for the Mikroe-stm32f4. From Ken Pettit.
5424 - apps/examples/cc3000: Fine tuning of memory usage from David Sidrane.
5425 - apps/system/nxplayer: Play thread stack size is now configurable.
5428 - apps/examples/i2schar: The I2S test based on the I2S character
5430 - apps/examples/hidkbd/hidkbd_main.c: Now calls a function named
5431 arch_usbhost_initialize() that must be provided by the platform-
5433 - NSH:
5435 - hexdump: Add skip= and count= options to the hexdump command. From Ken Pettit.
5436 - Allow USB trace without a USB console. From David Sidrane.
5437 - Mount command updates from Ken Pettit.
5438 - Add an option to the mkfatfs command to specify FAT12, FAT16, or FAT32.
5442 - tools/mkctags.sh: A script for creating ctags from Ken Pettit.
5448 * kconfig-fronted Configuration:
5450 - Conversion of old configurations to use the kconfig-frontends
5453 to use the kconfig-frontends tools.
5459 - FAT: In one error return case, the error return value was not being
5461 - mount: SMART FS must be included in the conditional compilation for
5464 - SmartFS: Fixed a minor bug with SMART partition number reporting
5465 that would only be seen if both partition support and multi-root
5467 - Deadlock: The inode semaphore must be re-entrant. Here is the re-
5475 deadlock if the inode semaphore is not re-entrant.
5476 - FAT: Fix a typo in the FAT16 formatting logic. Was this ever able to
5481 - MTD Partitions: Fix erase block vs page block confusion. From Ken
5483 - SST25 Serial Flash: Improved write performance by fixing a bug that
5488 - USB MSC Device: pthread_join() does not work if called from a
5493 - USB CDC/ACM, USB MSC, and Composite Device Classes: Un-initialization
5494 logic caused re-use of a stale pointer. Changed to a two pass
5495 un-initialization for the case of the composite driver: Memory
5496 resources are not freed until the second un-initialization pass.
5501 - STM32 F1 USB Device: Fix some errors that cause crashes when the USB
5503 - STM32 F1 USB Device: Correct EP0 state handling logic when buffers
5505 - STM32 F1 USB Device: The long outstanding bug involving the handling
5508 - Kconfig: Add missing setup of CAN TSEG1 and TSEG2 values. From
5513 - tools/mkconfig.c: SMART FS must be included in the conditional
5519 - apps/platform/Makefile: Was not dealing with the bin sub-directory
5521 - apps/system/composite/composite_main.c: The wrong handle was getting
5524 NuttX-6.33
5525 ----------
5529 that release consists of two tarballs: nuttx-6.33.tar.gz and
5530 apps-6.33.tar.gz. Both may be needed (see the top-level nuttx/README.txt
5537 - nanosleep() added. sleep() and usleep() are no longer core OS
5538 interfaces. These have been moved into the library and re-implemented
5539 as simple wrappers around nanosleep().
5543 - procfs restructured by Ken Pettit. Added files for MTD status.
5544 - procfs extended to show uptime and task group status.
5545 - procfs now shows stack information.
5549 - Add support for the SO_LINGER socket option. Extended from logic
5551 - TCP write buffering support added. From Jason Jiang.
5552 - Changes from Max Holtzberg to improve how network status is
5557 - Massive reshuffling of files with little or no logic changes. This
5563 * Cortex-A5/A8/A9
5565 - Existing Cortex-A5 support updated to include Cortex-A8/9.
5566 - Add the syscall.h header file needed for the Cortex-A architecture.
5567 - Start-up logic now supports execution from FLASH with .data and
5573 - Basic support for the Allwinner A10 (Cortex-A8) is in place.
5577 - Support for the pcDuino v1 board has been added. This support
5584 - Start-up logic now supports execution from FLASH with .data and
5590 - Partial logic in place to support the OV2640 camera. Still needs
5593 * ARMv7-M
5595 - Add support for high priority, nested interrupts. This change
5596 effects not only core ARMv-7M logic, but all ARMv7-M MCU logic:
5602 - Add clocking support for STM32F107 USB OTG FS (which does not yet
5604 - Single-wire UART support for the F1 series from Thomas Grubler.
5608 - The Viewtool board can now be configured to support either the
5610 - The Viewtool STM32F107VCT6 now supports networking with the
5612 - Add support for Viewtool SSD1289-based LCD on the Viewtool
5614 - Add support for the XPT2046 touchscreen controller on the Viewtool
5616 - Added kernel mode build support for the STM3240G-EVAL board. Added
5618 - C++ static constructor logic from the nuttx/configs/stm3240g-eval/
5619 directory to the apps/platform/stm3240g-eval/up_cxxinitialize.c
5620 where is belongs so that it is available in user-space in the kernel
5622 - Add native Windows build support for the Olimex STM32 P107. From
5624 - Support for the STM32VL-Discovery board. Contributed by Alan
5626 - Added a configuration for testing simple configurations on the
5631 - Add an NSH configuration for the Z16F2800100ZCOG ZNEO board.
5632 - Added support for the Toyaga 16Z ZNEO board. The 16Z board is
5635 - Developed a patch to work around a compiler error that is revealed
5638 * Architecture-Independent Drivers
5640 - OV2640 Camera Driver.
5641 - Support for the Sharp Memory LCD from Librae.
5645 - Pattern matching logic extended to handle set of characters and
5647 - sleep() and usleep() moved intot the C library. These are not
5648 longer core OS interfaces; they are simple wrappers for the
5650 - Add an implementation of gets_s().
5651 - Extend fopen() to include support for C11 exclusive open ("x")
5653 - Add an implementation of stpcpy()
5654 - strtol(), strtoll, strtoul(), strtoull(), and strtod() from
5659 - Add rsize_t to include/sys/types.h
5660 - Add the C11 thread.h header file
5664 - Top level Makefile now supports qconfig and/or gconfig targets that
5666 kconfig-frontends with support for kconfig-qconf and/or
5667 kconfig-gconf.
5668 - Add CONFIG_DEBUG_NOOPT. Now you can independently enable/disable
5670 - File system related header files moved to include/nuttx/fs
5671 - Video related header files moved to include/nuttx/video
5672 - Changes for native Windows build: fix creation of a .version file
5675 - Board configuration sub-directory can now be specified. The default
5677 is selected and there is no meaningful default sub-directory.
5678 - Many functions renamed to better conform with the naming standard:
5688 - NSH: Refactor. Separate NSH command handling and command execution
5690 - NSH: Will now support multiple commands on a command line, each
5691 separated with a semi-colon.
5692 - NSH: Add support of commands enclosed in back quotes as command
5694 - NSH: Can now handle arguments that are concatenations of constant
5697 - NSH: Add true and false commands.
5698 - NSH: Add support for while-do-done and until-do-done loops. These
5702 - NSH: Loosen up if-then-else-fi syntax to allow a command to be on
5705 - NSH: Add a break command that can be executed with a loop to
5708 - system/inifile: A simple .INI file parser.
5709 - system/vi: Add support for a tiny, VI work-alike editor. This is
5717 * kconfig-fronted Configuration:
5719 - Conversion of old configurations to use the kconfig-frontends
5722 to use the kconfig-frontends tools.
5728 - Added missing sem_timedwait() system call.
5732 - Prevent tcp_connect callback from being double freed. From Max
5734 - uiplib: Support new definitions and state passing for network
5739 - FAT: (1) A correction to FAT cluster allocation, and (2) Fix to some
5746 - Fix a small memory leak when attempting to load a program from a file.
5748 * Cortex-A8/9
5750 - Fix some errors in the cache invalidation logic (only seem to matter
5751 for Cortex-A8).
5752 - Add more nop's after enabling the MMU. The cortex-a8 seems to need
5757 - Fix a typo that caused a compilation error when
5760 * ARMv7-M
5762 - Correct alignment of RAM vector table.
5763 - Interrupt handling: Do not disable and enable the IRQ on each
5767 - Fix all implementations of up_disable_irq() for all Cortex-M3 and
5768 M4 architectures: To enable an interrupt on the Cortex-M3/4 CPU,
5782 - Fix configuration and pin definitions that would prevent building
5784 - STM32L15xx: Fix a typo in USB pin definitions
5785 - Fix pin definition names for SPI2 MOSI and MISO. Noted by Brian Webb
5786 - Various fixes for STM32F103ZE SPI3 pin mapping definitions. From
5791 - Olimex STM32-P107: Failed to build if SPI3 for UEXT is not remapped.
5796 - Add a configuration option to select the -m32 compiler option when
5797 building for a 32-bit target on a native 64-bit compiler. So far,
5799 - Patch from Matt Campbell to fix 'Error: .size expression for idle_stack
5804 - strftime(): Needs null termination on the generated string. From
5806 - Typo in ctype.h macro name: iscntrl(), not iscontrol().
5807 - If there are no arguments (argc == 1), then getopt() will leave the
5808 optind variable in an undefined state (2014-1-20).
5809 - ARMv7-M memcpy(): Assembler changes with the gcc-47 distribution
5816 - Fixes for some tools/ for Windows build issues from Max Holtzberg.
5817 - Config.mk: 'cypath' must be called if we are using a Windows native
5820 - ARM Makefile: Dependency directory list is now computed from the
5822 - builtin/Makefile: Fixes for native Windows build from Max Holtzberg.
5823 - Refactor some configuration dependencies: NSH networking features
5829 - NSH: Modified the df -h logic to eliminate truncating numbers in
5830 conversion (like 7900 -> 7M). From Ken Pettit.
5832 NuttX-7.1
5833 ---------
5837 that release consists of two tarballs: nuttx-7.1.tar.gz and
5838 apps-7.1.tar.gz. Both may be needed (see the top-level nuttx/README.txt
5846 newer configurations generated by the kconfig-frontends tools will generate
5852 kconfig-frontends tools before taking any new code from the repository. See
5860 - System time logic now includes logic to measure and calculate the
5862 extended to keep counts on each thread. The per-thread CPU is
5869 - As mentioned above, the per-thread CPU load information is now
5871 - Many file system interfaces have been extended to operate on the
5872 top-level NuttX pseudo filesystem. These include rmdir, mkdir,
5873 rename, and unlink. This capability can be disabled with
5879 - Numerous updates and improvements to the CC3000 driver from David
5884 - Defined a mouse interface that is very similar to a touchscreen
5889 - Added support for a USB HID boot mouse device. Cursor support is
5892 - Support added for the MIO283QT9A LCD from Toby Duckworth.
5896 - Added complete architecture support for the Atmel AT91 SAM4E
5897 Cortex-M4F parts.
5901 - Add board support for the SAM4E-EK board.
5905 - Added logic to manage the Cortex-M Cache Control block.
5906 - Developed and integrated an Ethernet MAC driver for the SAM4E.
5907 - Backported the SAMA5 SPI driver to the SAM3/4 architecture. The
5914 - Added basic architecture support for the Atmel AT91 SAM D20
5915 Cortex-M0+ parts.
5919 - Added basic support for SAM D2 Xplained Pro board. Currently, the
5922 stopped, however, in order to focus on the SAM4E-EK.
5926 - Added architecture support for the TI Tiva TM4C123G parts. This was
5932 - Added basic board support for the TM4C123G-Launchpad. As of this
5933 release the TM4C123G-Launchpad board support is untested and likely
5938 - The Mikroe STM32F4 can now support the newer MIO283QT9A LCD. From
5940 - Miscellaneous changes to better support FPU on STM32F429 Discovery
5945 - Incorporated I2C and SPI drivers for the LPC23xx from Lizhuoyi.
5949 - New QEMU keyboard and VGA drivers from Lizhuoyi.
5953 - Added a coding standards document. See
5958 - A configuration option, CONFIG_DEFAULT_SMALL, was added to select
5963 - CONFIG_DEFAULT_SMALL has been defined on all tiny MCU configurations
5966 - The legacy, manual configuration is no longer supported by the
5968 the kconfig-frontends tools will generate viable NuttX
5972 convert those configurations to use the kconfig-frontends tools. See
5978 - NSH can now use an EMACS-like command line editor. This CLE, is
5981 - The touchscreen example can now be configured to work with either a
5983 - Several NSH commands can now be used to operate on objects in the
5984 top-level pseudo-filesystem: rmdir, mkdir, mv, and rm. This
5985 capability can be disabled with CONFIG_DISABLE_PSEUDOFS_OPERATIONS
5987 - If both the CPU load feature and the procfs features are enabled,
5995 - task_terminate() always returned an error because the return value
5997 - nanosleep() Fix a missing call to re-enable interrupts (from Jason
6002 - Fixed an error in the FAT logic that can cause file corruption. The
6006 - Fixed memory leaks in the NXFFS open() and stat() implementations
6008 - The interfaces include opendir(), readdir(), et al, were modified so
6010 pseudo-directory.
6014 - Fix one place where the connection reference count was not being
6017 - Backed out a small part of the NuttX 6.33 write buffering changed.
6019 - In DHCPD, there was a place where the logic was calling ntohl()
6025 - Fixed cut'n'paste error that prevented UARTS2-7 from being used with
6027 - Fixed several errors there were unmasked with UARTs > UART2 are
6032 - Fixed cut'n'paste error that prevented UARTS2-7 from being used with
6037 - Fix an compilation error that crept into the LPC17xx USB host driver.
6041 - Fix cloned typo in the serial driver: FLOWCONTROL vs FLOWCONROL.
6042 - Disable SPI before changing DPI CR1 register (from David Sidrane).
6043 - stm32 TIM: Set the timer CCMR when selecting timer channel. From
6045 - Fix typo in a Makefile: stm32_pwm.c not stm32_psm.c. Noted by Max
6050 - More sscanf() bug fixes from David Sidrane.
6054 - cstdbool: Ignore _Bool8 if CONFIG_C99_BOOL8=y
6058 - Several changes to restore the broken native Windows build
6062 - Use strncpy vs strcpy in the Telnet console logic to avoid
6065 - Add a newline after printing the file in the 'cat' command. This
6070 NuttX-7.2
6071 ---------
6075 that release consists of two tarballs: nuttx-7.2.tar.gz and
6076 apps-7.2.tar.gz. Both may be needed (see the top-level nuttx/README.txt
6083 - Add support for CLOCK_REALTIME. From Macs N.
6087 - Add a very primitive NTP client.
6088 - DNS resolver: Long needed major clean up for coding style and
6093 - Add a new MTD driver that can be used to contain another driver and
6095 - If DCD can support queuing of stall requests, then the USB MSC stall
6097 - Redesign threading module used with the USB MSC driver. It was using
6104 - Update the MIO183QT-9A LCD driver to support reading from the LCD.
6106 - Timer "upper half" driver and l"lower half" interface definition from
6111 - All SAM4E configurations updated to run with 120MHz CPU speed and
6113 - Support for the SAM4S Xplained Pro board from Bob Doiron.
6114 - Add watchdog driver. From Bob Doiron.
6118 - Add a USB full speed device driver (UDP) for the SAM4E.
6119 - Add support in HSMCI and SPI drivers to invalidate cached memory if
6121 - Add logic to handle SPI word widths > 8
6122 - Port RTC driver from SAMA5 to SAM3/4. From Bob Doiron.
6123 - HSMCI: Extensions from Bob Doiron needed to support PDC-based HSMCI
6128 - Add support for the SAMA5D36 chip.
6129 - Add functions to calculate PLLACK, PCK, and MCK frequencies given
6131 - Implemented RAM functions. When booting directly into NOR flash,
6139 - Add support for the SAMA5D3 DBGU.
6143 - Add a board support configuration for the Atmel SAMA5D3 Xplained
6144 board running out of SDRAM. When booting from SDRAM, start-up logic
6146 - For all SAMA5 boards, added support for 528MHz clocking.
6150 - Modify the logic to disables the interrupts and sets the default
6158 - Add support for the STM401RE. From Frank Bennett.
6162 - STM32F4Discovery: Add support to register keyboard and mouse
6164 - Add support for the Nucleo-F401RE board. From Frank Bennett.
6168 - Add STM32 Ethernet IGMP hashing support. From Manuel St�hn.
6169 - OTG FS Host: USB host tracing added by Leo.
6173 - Modify the logic to disables the interrupts and sets the default
6181 - Modify the logic to disables the interrupts and sets the default
6189 - Added ZNEO ESPI driver.
6193 - Finish incomplete support for ferror(). From Macs N.
6197 - UsbTrace.html: Add some discussion of the USB monitor.
6201 - compiler.h: Add macro UNUSED() that can be used to eliminate
6207 - Add a configuration option to enable dumping of the USB trace buffer
6212 - IGMP Example: Fill out Kconfig file; update makefile so that the
6213 IGMP example can be used as an NSH built-in application. From Manuel
6215 - lcdrw Example: Fill out empty Kconfig file.
6216 - touchscreen Example: Add a configuration option to indicate if
6217 architecture-specific initialized is required, yes or no.
6218 - System usbmsc: Back out the USBMSC daemon... it is no longer needed
6220 - NSH: malloc/free IOBUFFER for 'cat' and 'hexdump' commands instead of
6222 - cpuhog, serialblaster, and serialrx Examples: Stress test examples
6229 - errno_get_errno_ptr() and getpid(): Add some checks. If these
6235 - IGMP-related bug fixes from Manuel St�hn.
6236 - In netdev_findbyaddr(), skip network devices that are in the "down"
6242 - DHCPD: The correct value of the PAD option. Should be zero, not
6244 - Corrections to the NTP client from Manuel Stuehn.
6248 - usbhost.h: Fix some USB HID-related conditional compilation. From Leo.
6249 - USB HID mouse driver: Don't include NAKs from the device in the error
6254 - Add corrected control logic for TM4C125GXL based on logic from Daniel
6260 - STM32 F2 SPI: Correct a mapping for SPI MOSI pin. From dlsitzer.
6261 - OTG FS Host: Fixes related to low-speed devices and interrupt
6264 - STM32 SDIO: The dmaflight method must be conditioned on
6266 - Sourceforge Ticket #26. up_prioritize_irq should not be called
6271 - Fix some backward conditional compilation in the start-up logic.
6272 - Fix initialization of the default interrupt priorities. This is
6274 - SAM4S: Fix error in macros that disable peripheral clocking. From
6279 - Fix double mapping of SDRAM when executing out of SDRAM. In this
6281 - In clock configuration, the BMS bit handling was fixed to match
6283 - TLB Bufferable bit did not do what I thought it was going to do.
6284 I though I was selecting a write-through cache, but the result was
6285 that all caching was disabled and NOR FLASH accesses were very slow.
6286 - Move the un-definitions of __ramfuncs__ from the clock configuration
6293 - Fix a case in the UDPHS driver where received status was not being
6295 - TWI data sending fails to increment the number of bytes transferred
6297 - If running from SDRAM, then BOARD_MCK_FREQUENCY is not a constant
6304 - SAMA5D3x-EK: The red LED is controlled by PE24 which is also the
6308 - Header files reference type xcpt_t in certain configurations and
6314 - arm/src/lpc17xx/Kconfig and lpc17_ethernet.c: The default interrupt
6315 priority should be default, not the highest priority (2014-4-19).
6319 - Fix calculation of timer reload and prescaler. The timer frequency
6324 - strncpy(): Change ordering of test and copy. Logic would have
6327 - Fix a counting error in the return value from sscanf(). Noted by
6330 - Fix a logic error in ftell(). It was simply using the file offset
6332 - sccanf(): Use stroul() vs strol() with %u format otherwise, range
6337 - Fix a build error that occurs when only USB device tracing is enabled.
6341 - Fix NuttShell version number display in the NSH welcome message.
6346 - sysinfo: CONFIG_VERSION_BUILD is a string an needs to be
6348 - nxplayer: Compilation failure in one configuration reported by
6350 - System sdcard: Remove an STM32 dependency. From Bob Doiron.
6351 - telnetd Example: Naming is confused. In someplaces 'telnetd',
6355 NuttX-7.3
6356 ---------
6360 that release consists of two tarballs: nuttx-7.3.tar.gz and
6361 apps-7.3.tar.gz. Both may be needed (see the top-level nuttx/README.txt
6368 - Dynamic loader: Framework to support Pascal P-Code as a binary
6370 - Dynamic Loader: Extend the binfmt interface to handle error
6371 conditions where format-specific clean-up is needed in the event
6372 of error conditions. This is needed by the P-Code binfmt.
6376 - IOB: Add a generic I/O buffer chain logic. This logic uses small,
6377 pre-allocated buffers that can be chained together to support
6382 - TCP Write Buffering: TCP write buffering logic converted to use
6384 - TCP Read-Ahead Buffering: TCP read-ahead buffering logic converted
6386 - Includes logic to support throttling of read-ahead buffering if
6387 the read-ahead buffering is competing with write buffering for
6389 - Raw Sockets: Add support for the AF_PACKET socket family. From
6394 - W25 Serial FLASH driver extended by Mark Whitehorn to support the
6396 - Add support for Fujitsu MB85RS1MT RAMTRON part. From Charles Ash.
6397 - Enhancements to the generic timer interface to support capture mode
6399 - Add an rxflowcontrol method to the serial interface to better
6400 …ontrol. This involves common changes in addition to minor updates to all MCU-specific serial drive…
6404 - Add support for the SAM4CM family. From Max Neklyudov.
6408 - RTT driver from Bob Doiron. Also added high resolution RTC
6409 emulation using the RTT for the sub-second counter.
6413 - The SAM4S Xplained Pro now uses the extended timer/counter
6415 - Added a touchscreen and LCD driver for the SAM4E-EK board (the LCD,
6420 - Optimized, high performance, assembly language memcpy(). This is
6422 for the ARMv7-M with minor tweaks by David Sidrane to work with
6423 the ARMv7-A.
6424 - Basic support added for the SAMA5D4 family.
6428 - SAMA5D4: New drivers unique to the SAMA5D4: XDMAC, SAIC, and
6433 - SAMA5D4-MB: Initial board support for the SAMA5D4-MB/EK boards.
6437 - Add support for the STM32152 and STM32162 Medium+ density parts
6443 - Support for the Olimex STM32 H405 board contributed by Martin
6448 - Implement the rxflowcontrol method to the serial interface to better
6453 - Added support for the RTC, ADC, DAC, Timers, PWM and MCPWM
6458 - Support for the RTC, ADC, DAC, Timers, PWM and MCPWM integrated
6463 - Add support for seek-able streams.
6467 - Restructured network directories, header files, and naming to
6473 - prun: An NSH built-in application that can be used to run
6474 Pascal P-Code programs either programatically or from the NSH
6476 - netpkt: A "raw" socket test from Lazlo Sitzer.
6477 - hex2bin: A library and built-in task to convert from
6484 - Dynamic Loader: Fix an error in a symbol table search function.
6486 - Dynamic Loader: Fix a critical error in exec(); argv was not
6488 - mq_notify: Test for a valid signal number was inverted; this
6491 - Fix typo in conditional compilation: CONFIG_CLOCK_MONOTONIC vs.
6496 - Fix typos in several RGB conversion macros.
6500 - Modify TCP timout handling to provent situations where connections
6502 - Improved TCP fallback allocation logic from Max Holtzberg. Also,
6503 fallback mechanism is disabled when SO_LINGER is to prevent
6505 - Write Buffering: Add checks from buffer allocation failures. From
6510 - webserver: httpd_fs_open() should return OK on success and ERROR on
6515 - Make sure that all references to up_prioritize_irq() are
6517 - CC3000: Correct SPI mode for CC3000 is CPOL=0 CHPA=1. From Jussi
6519 - CC3000: Fix a race condition in thread start-up logic. From Jussi
6521 - CC3000: Additional fixes including a compilation failure if POLL is
6526 - CDC/ACM and PL2303 device: Reset RX head to avoid resending last
6527 serial data when USB cable disconnected/re-connected. From
6532 - The Nucleo-F401RE has no on-board crystals and, hence, needs to run
6533 with the PLL input from the on-chip HSI clock.
6537 - Serial: Handle configuration for the case of 8-bit data with
6542 - There was a cloned error in all SAM3/4 board configurations (and
6544 being disabled after being detached. As a result, unexpected
6550 - Fix some critical typos in the SAMA5D3 DMA definitions.
6554 - I2C: Add an alternative I2C implementation for the STM32 F103 that
6556 - RTCC: Add retry logic to RTC initialization. It sometimes takes
6562 - GPDMA: Fix an error when DMA is started: The read-modify-write
6570 - snprintf(): If the size passed to snprintf() is zero, then
6576 - The alternate console device CONFIG_NSH_CONDEV must not be defined
6581 - Many files: Convert all old-style GCC variadic macros to the C99
6585 - tools/configure.sh: In-place SED edit messes up permissions on
6590 - tools/mkfsdata.pl: Apparently, the trailing the 0x00 in http
6596 - I2C Tool: Fix to show the updated register address on each
6599 - CLE was not returning the terminating newline character. But
6602 NuttX-7.4
6603 ---------
6607 that release consists of two tarballs: nuttx-7.4.tar.gz and
6608 apps-7.4.tar.gz. Both may be needed (see the top-level nuttx/README.txt
6615 - Beginnings of a crypto/ subsystem from Max Neklyudov
6616 - Tickless operation: NuttX now supports a mode with no periodic
6622 - Restructured the OS files under sched/ to better support the already
6627 - Substantial directory and header file reorganization and renaming to
6629 - Add network device ioctl to access PHY registers. From Daniel Lazlo
6634 - Various changes associated with symbol tables from Pelle Windestam.
6638 - colorcmp(): New utility to compare two colors.
6639 - The initial background color is now configurable. Includes logic to
6641 - Minor configuration changes to handle mouse X/Y and touchscreen
6646 - SmartFS: Increase some variables from uint16_t to uint32_t to handle
6648 - Add configurable AES encryption support to the block-to-character
6651 - Add an MTD layer that will add read-ahead or write buffering to any
6653 - Automounter: Add support for an auto-mounter that will automatically
6658 - WM8904 audio CODEC driver.
6659 - PCM .WAV file decoder. Fast forward implemented with sub-sampling
6661 - Add a NULL audio device that can be used to simply unit-level testing
6663 - Audio subsystem now supports interfaces for fast-forward and rewind
6669 - MTD: Extend erase block size to 18-bits in order (decrease block
6670 size to 14-bits) to handle parts with large erase blocks. From Kosma
6672 - maxTouch: Add support for the Atmel maXTouch touchscreen controller.
6676 - Provides the timers needed to support the Tickless mode of operation.
6680 - Add SAM4CM IPC register header file. From Max Neklyudov
6681 - Various fixes PMC and clock configuration for the SAM4CM port from
6686 - SAM4 AES driver. Contributed by Max Neklyudov
6690 - Add logic to redirect all SAMA5D4 interrupts to the AIC
6691 - Add a configuration option to reserve DRAM for a framebuffer when
6695 - Add SAMA5 slow (32.768KHz) clock support.
6696 - Add support for the ARM L2CC-PL310 L2 cache. The system runs with
6700 - Provides the timers needed to support the Tickless mode of operation.
6704 - XDMAC-based HSCMI driver for the SAMA5D4
6705 - Adapt the SAMA5D3 LCDC driver to work with the SAMA5D4 which has
6707 - PIO: Add a new interface sam_pio_forceclk() that can be used to
6710 - TWI: Now supports the up_i2creset() method.
6711 - TWI: Use sam_pio_forceclk() so that we can read the current state
6712 of an open-drain output in the TWI reset logic.
6713 - SSC: SCC Frame Synch Delay and Start Delay are now configurable.
6714 - PCK: Add the slow clock and the main clocks as options for the
6716 - Timer/Counter: Can now handle non-constant BOARD_MCK_FREQUENCY. Also
6718 - One shot and free-running timers. These are wrappers around the low
6719 level timer/counter logic to provide one-shot and free-running
6725 - Add a boot loader that runs from ISRAM and loads an Intel HEX file
6727 - Add a configuration that will load a bootloader into AT25 Serial
6729 - SAMA5D4-EK NSH configuration supports many more features: RTC, HSCMI
6733 - SAMA5D4-EK: Add an NxWM configuration using the TM7000 LCD with
6734 the maXTouch multi-touch touchscreen.
6735 - SAMA5D4-EK NxWM: Uses new, larger icons in configuration instead of
6737 - SAMA5D4-EK NxWM: The NxPlayer and audio system are now enabled in
6741 - SAMA5D3x-EK: Add a configuration to support the command line
6746 - Add support for the STM32F103RC and RD. From Kosma Moczek
6747 - Add a procfs entry to show the state of the CCM heap usage.
6752 - Unconfigure GPIO pins when closing a serial port to prevent back
6753 effects from back-powering on the TX pin. From Kosma Moczek
6757 - ADC: Added burstmode ADC conversion mode, with CONFIG_ADC_BURSTMODE
6759 - Ethernet: Added option to use the kernel worker thread to do most of
6761 - Ethernet: Critical bugfix: From time to time (after some hours) the
6768 - mbed: Port ADC, DAC, and PWM logic from the configs/zkit-arm-1769.
6770 - mbed: Eliminated a problem with PHY DP83848C : it doesn't need a
6775 - Adds support for localtime. From Max Neklyudov
6779 - Make variable definitions 'static const' when possible to save RAM
6784 - sysem/mdio: New PHY tool from Daniel Lazlo Sizter.
6785 - NSH: Networking logic modified to handler the case of SLIP
6787 - NSH: Add a configuration to use a USB keyboard for the stdin
6789 - NSH: Software assigned MAC address is now configurable. From Lazlo.
6790 - NSH: Also add an option to let platform-specific logic select the
6792 - NSH: There is now a configuration option that will bring up the
6793 network on an separate thread. Since the network bring-up is
6794 asynchronous, there are no serial console start-up delays due
6796 - NxPlayer: Changes to integrate with Ken's NxWM::CMediaPlayer.
6797 - NxPlayer: Add interfaces for fast-forward and rewind needed by
6800 - NxPlayer: Supports new way of identifying the end of the audio
6802 - Sudoku: Add a sudoku game.
6808 - NxConsole: Fix scrolling for the case of the framebuffer device. In
6815 - Important fix to the read-ahead buffer queue management: Consumed
6818 - Fix an error in SLIP escaping. From Max Neklyudov
6822 - Fix an include file ordering problem when CONFIG_NET_STATISTICS=y.
6823 - Move statistics from uip.h to new netstats.h to remove a circular
6825 - Various fixes for networking and tiny webserver from Max
6826 - webclient: Fix to offset calculation from Rony Xln. Prevents 0x0a
6828 - webserver: Fix some configuration usage issues. From Max.
6829 - webserver: Missing logic to close sockets on loop termination.
6833 - SmartFS: Fix for a bug that would show up if CONFIG_MTD_BYTE_WRITE
6840 - Change how the end of the audio stream is detected by the leaf audio
6842 buffer. That does not work with the in-place sub-sampling performed
6850 - RAMLOG putc() method needs to set the errno and return EOF on a
6852 - Add missing configuration option to select the MAX11802 touchscreen
6857 - Fix logic in conversion of physical and virtual DRAM addresses when
6860 - Critical SAMA5D3 and 4 bug fix: PIO clocking must be enabled for
6865 - OHCI: Fix an error in a DEBUGASSERT statement. Caused an
6866 assertion to fire inappropriately when a low- or full-speed device
6868 - OHCI: Pointers to allocated port values were not being
6871 - SSC: Needs to account for data offset in audio buffer
6873 * ARMv7-M:
6875 - Correct the initial value of the BASEPRI register. This was
6880 - I2C: Fix missing configuration of GPIO pins in I2C driver. Fix
6882 - STM32 OTGFS device: Various changes to try to reduce that amount of
6883 time in interrupts handles and with interrupts disabled. From
6888 - Ethernet: Wrong bits being cleared before OR-ing in new settings.
6889 - Ethernet: Fix an error in the function that determines the number
6892 - I2C: Test for read or write operation was reversed. How could
6897 - SAM4S Xplained-Pro: Correct description of LEDs and usage. From
6902 - PIO: Fix definitions that could disable PIO interrupt support if only
6904 - PIO: Macro SAM_PION_VBASE is not define-able for the SAMA5D4 and must
6906 - PIO: Fix a typo in Schmitt trigger configuration; Configure pin as a
6907 vanilla input first so that final pin configuration is more read-able
6909 - PIO: Logic for Schmitt trigger selection backward
6910 - SAMA5D4: Correct system timer frequency. Input clock is MCK/2, not MCK.
6914 - Ethernet: Wrong bits being cleared before OR-ing in new settings.
6915 - Ethernet: Fix an error in the function that determines the number
6918 - HSMCI: The 8-byte SCR transfer was failing silently with the DMA
6920 a non-DMA read transfer mode.
6921 - HSMCI: Fix a problem on card insertion/removal callback handling.
6923 interrupts disabled. This resulted in loss of some interrupts and
6924 some not-so-good behaviors. The solution is to perform all
6929 - PIO: Fix some cloned errors in SAM GPIO interrupt setup
6933 - Ethernet: Comment out an assertion that is reported to fire
6938 - stdint.h: Correct naming of [U]INT_LEASTn_{MAX|MIN} and
6940 - unistd.h: POSIX definitions should be defined to a value. rom Kosma
6942 - Fixes associated with rint() and related interfaces in the math
6947 - NAME_MAX not available on SunOS; use FILENAME_MAX or MAXNAMELEN.
6952 - NSH: if # appears on line, need to comment ignore additional
6954 - NxPlayer: Check for file read errors and end-of-file with zero
6956 - NxPlayer: NxPlayer needs to set curbyte field to zero before
6960 NuttX-7.5
6961 ---------
6965 that release consists of two tarballs: nuttx-7.5.tar.gz and
6966 apps-7.5.tar.gz. Both may be needed (see the top-level nuttx/README.txt
6973 - Watchdog Timer Allocation: (1) If we run out of pre-allocated
6975 from the heap. A reserve of pre-allocated watchdog timers is
6979 - Address Environment Support: (2) New OS APIs integrated into all
6980 platform-specific context switching logic (up_block_task(),
6982 - Kernel Build Support: (1) The MPU based "kernel build" renamed to a
6984 new MMU-based "kernel build" (CONFIG_BUILD_KERNEL), (2) The system
6987 - System Startup: Add configuration options to start the system from
6989 - Startup Parameter Passing. There used to be two ways to pass
6996 - Board Initialization: Add capability to perform initial board
6999 the start-up/IDLE thread. That is because blocking or waiting is
7004 - Granule Allocator: (1) Add a new function to reserve un-allocatable
7006 un-initializing a granule allocator.
7007 - Page Allocator: Add a simple physical page allocator based on the
7011 - Remove CONFIG_MM_MULTIHEAP. Non-multiheap operation is no longer
7013 - sbrk(): sbrk() is now supported in the kernel build to permit
7014 dynamically sized, per-process heaps.
7015 - Per-Process Heaps: Space at the beginning of the process data space
7018 use code in order to allocate user-specific data.
7019 - User Heap Management: When a privileged thread exits, we have to
7023 - Inter-Process Shared Memory Support: (1) Add implementation and
7026 memory interfaces. (3) Add platform-specific interface definitions
7028 - Virtual Page Allocator: Add support for a per-process virtual page
7037 - SMART FS and SMART FS procfs updates from Ken Pettit.
7038 - The MTD Read-ahead/Write buffer layer appears is now functional.
7042 - Add logic to initialize the per-process user heap when each user
7047 - Change all occurrences of NxConsole to NxTerm.
7051 - PHY Interrupts: (1) Standardize a PHY interrupt attachment
7055 - Improved Send Logic: In the past, the first packet send to a new
7068 - Emulated SPI FLASH driver for the sim target from Ken Pettit.
7072 - The default host is now x86_64 and the -m32 option will be
7077 - Removed all support for the 8051 family architecture from the NuttX
7088 - configs/16z: Support for this board has been removed from the NuttX
7095 - SAM4E-EK: Add (1) a fully-functional ILI9341-based LCD driver and
7096 (2) a fully-functional NxWM configuration.
7098 * ARMv7-A:
7100 - Address Environments: Add support for application address
7101 environments using the Cortex-A MMU. Implement standardized
7102 platform-specific interfaces of NuttX address environment
7104 - Cache Operations: Implement standardized, platform-specific cache
7106 D-cache and invalidate I-cache after an ELF module has been loaded
7108 SAMA5/Cortex-A platform.
7109 - Kernel Build: (1) Add implementations of system call gate. (2) Add
7110 CRT0 start-up file that can be linked with separately built user
7111 programs. (3) Add support for delivery of use-mode signals in the
7112 kernel build. (4) Add logic to initialize the per-process user heap
7113 when each user process is started. (5) ARMv7-A exception handling
7117 - Shared Memory Support: (1) Add logic necessary to handle remapping
7120 implementation of platform-specific shared memory support.
7124 - Implement all network ioctls, including the new ioctl to setup PHY
7126 - In kernel build with address environment, need logic to map user
7131 - SAMA5D3 Xplained, SAMA5D3-EK, and SAMA5D4-EK: Convert existing
7134 - SAMA5D4-EK: Add a configuration for testing the kernel build
7136 card or from and in-memory ROMFS file system.
7137 - SAMA5D4-EK: Add documentation/support for Rev E. board.
7141 - Ethernet: Modified to support the change to the network ioctl
7147 - STM32F4Discovery with STM32F4DIS-BB: Add a network enabled NSH
7148 configuration for the STM32F4Discovery board with the STM32F4DIS-BB
7150 the STM32F4DIS-BB base board.
7154 - Add support for the TI CC3200. From Jim Ewing.
7158 - Add support for the TI CC3200 Launchpad. From Jim Ewing.
7162 - Re-implemented poll() delay using sem_timedwait().
7166 - Export Target: In the kernel or protected builds, (1) only the user
7171 - Add logic that will permit us to build user libraries with different
7173 -fno-common option when building ELF code to prevent SHN_COMMON
7178 - NSH: Extend the NSH network initialization logic. There is now an
7184 - ELF Example: The ELF test/example has been extended so the
7188 - Change all occurrences of NxConsole to NxTerm.
7189 - MTDRWB Example: Add an example to test MTD R/W buffering.
7190 - OS Test Example: Add a trivial test of sem_timedwait.
7194 - Import Target: (1) Add logic that will allow building applications
7196 Add .config file to export package. (3) Create apps/import. Create
7198 requires -fno-common in CFLAGS. Copy some base logic from
7199 nuttx/tools/Config.mk to apps/import/Make.defs. (4) Add
7200 apps/import/scripts/gnu-elf.ld GCC linker script for ELF import
7202 - All Makefiles: (1) Add an install target to all makefiles. For
7203 the import build, the top-level Makefile now does two passes: (1)
7209 - All Built-In Programs: With kernel build (CONFIG_BUILD_KERNEL),
7211 - NSH: Several commands must be disabled in the kernel build because
7214 - apps/tools/: (1) Add mkimport.sh to expload an NuttX import package
7217 - ELF and NxFLAT Examples: Do not build test cases that use
7222 - refresh.sh: Add a tool to make refreshing configurations easier
7224 - mksyscall.c: Build syscalls that do not need header files.
7225 - mkexport.sh: Add .config file to export package.
7226 - See above for new apps/tools scripts.
7233 realization of Unix-style user processes in NuttX. There is more to
7247 - Kernel build fixes: (1) IDLE TCB setup needs to indicate that the
7252 - Several pthread interfaces: Add const storage class to phthread
7254 - sched/clock: Remove vestiges of g_tickbias; need, instead, to apply
7256 - System Calls: (1) Several typos fixed; corrected integration of
7263 - procfs: Fix some procfs breakage introduced by reorganizing some
7264 non-reorganizable data structures. From Ken Pettit.
7265 - AT45: In at45db_bwrite , the buffer is not increased when writing
7270 - ELF relocations. Some relocation types do not have a named symbol
7272 - ELF Loader: Critical bugfix.. BSS was not being cleared.
7276 - Granule allocator initialization uses wrong allocator to setting
7278 - Add a flag to group structure: If the group is created by a kernel
7283 - crypto/cryptodev.c: Path segments reversed in include file path. Noted by Brennan Ashton.
7287 - Common CAN upper-half: In can_txdone, waiters on the semaphore
7289 it returns -EIO if there are no new packets, and second the
7295 - System Calls: Fix a typo in system call when fetching parameter from
7300 - STM32 F401 UART: Correct support for USART6 on this chip. From
7302 - STM32 FLASH fixes: use size_t instead of uint16_t, make interface
7304 - Fix for UART7 and UART8 on STM32 clock enable from Aton.
7305 - CAN: At the end of the interrupt handler, the interrupts were being
7306 disabled, if all packets have been transferred when the interrupt
7312 - Additional STM32 CAN correction suggested by Max Holtzberg.
7316 - configs/mikroe-stm32f4: Fix a few compile bugs and minor corrections
7317 to the mikroe-stm32f4 configuration source. From Ken Pettit.
7319 * ARM9/ARMv7-A:
7321 - System Calls: Fix ARM7/9 and Cortex-A SYSCALLs: For threads in SVC
7324 - Task Setup: All tasks, even user mode tasks, must start in
7325 supervisor mode until they get past the start-up trampoline.
7326 - ARMv7-A: Modify up_fullcontextrestore() for CONFIG_BUILD_KERNEL.
7337 - SAM3X/Arduino Due: Fix typo in sam3x_periphclks.h; add SCLK
7339 - SAM3 RTT: Only SAM4 family has RTTDIS bit in the MR register.
7344 - sscanf(): NuttX libc tried to guess how many characters to parse,
7350 - Corrected atan2 implementations from Denis Arnst.
7351 - Change to lib_dtoa() to fix precision error from trailing zeroes.
7356 - Fix NSH PS command: If there are no arguments, it could print
7361 - Null Example: Need to include config.h it order know if this is or
7365 NuttX-7.6
7366 ---------
7370 that release consists of two tarballs: nuttx-7.6.tar.gz and
7371 apps-7.6.tar.gz. Both may be needed (see the top-level nuttx/README.txt
7378 - Moved name semaphore and message queue support out of the OS and
7384 - Add SIGPOLL for use as part of the AIO implementation.
7385 - Remove CONFIG_MAX_TASK_ARGS configuration. There is now no
7387 to a new task on start-up.
7391 - Add support for priority inheritance on the low priority worker
7398 - Add support for multiple low-priority work queue threads. This
7404 - Implement create() (as a macro).
7405 - Add pread() and pwrite(). Also added pread() and pwrite()
7407 - AIO: Add aio_read(), aio_write(), aio_return(), aio_error(),
7414 - Implement standard syslogmask() to control logging (also removing
7415 the non-standard syslog_enable()).
7419 - Extend MTD support to the M25P16. From S�bastien Lorquet.
7423 - BCH (Block-to-Character): Add support for seeking in BCH. From
7426 * Graphics Support/Graphics-Related Drivers:
7428 - Add support for a generic ILI9341 LCD driver. From Marco Krahl.
7429 - Add ANSI/VT100 foreground and background color commands.
7430- Add driver for ST7565 LCD that works with NHD-C12864KGZ display. From Pierre-noel Bouteville.
7434 - Verify that multiple networks can be supported.
7435 - Add support for the case where there are multiple networks: One
7441 - Extensions to UDP and TCP connection structures for the case of
7448 - Removed the old, strange up_stdio.c and implemented a simulated UART
7453 - Add support for 64-bit longjmp/setjmp in simulator platform. This
7454 will permit operation of the simulation natively on a 64-bit
7457 * ARMv7-M:
7459 - Add ARMv7-M CMSIS ITM header file and library. From Pierre-noel
7461 - Add ARMv7-M CMSIS DWT and TPI header files. From Pierre-noel
7463 - Add ARMv7-M support to use ITM for SYSLOG debug output. Includes
7464 logic from Pierre-noel Bouteville.
7468 - Add support for SAM3/4 basic serial TERMIOS and flow control.
7474 - SAM4E-EK: Add support for PHY interrupt.
7478 - SAMA5D3-Xplained: Add a configuration that provides a simple test
7480 - SAMA5D4-EK: Add a configuration that provides a simple test for the
7485 - Add an I2C header file for the Freescale KL family. From Alan
7490 - Add support for tickless operation using the NXP LPC43xx. From
7495 - Add a basic port for the SiLabs EFM32 family. Includes many files
7496 contributed by Pierre-noel Bouteville .
7500 - Add board support for the EFM32 Gecko Starter Kit.
7501 - Add board support for the Olimex EFM32G8809128 STK. NOTE: I am
7502 unable to test this configuration due to tool-related issues.
7503 - Add board support for the SiLbas EFM32GG Giant Gecko Starter kit.
7507 - Add support for the STM32 F411RE from Serg Podtynnyi.
7508 - Add support for the STM32F103RG. From Murilo Ponte.
7512 - STM32 F4: Add logic that implement true high speed support for the
7519 - STM32 Nucleo-F411RE: Extend this board configuration to also support
7520 the Nucleo-F411RE. From Serg Podtynnyi.
7521 - Add support for the STM32F429i Discovery's LCD (SPI based). From
7523 - configs/stm32f100rc_generic: Removed this generic board configuration.
7531 - Add a mostly bogus wchar.h header file. This file is mostly bogus
7535 - Add isatty() function. From Alan Carvalho de Assis.
7536 - Add mktemp(), mkstemp(), tmpnam() and tempnam().
7540 - Add a PRELINK macro to Config.mk. From Kriegleder.
7541 - compiler.h: Defines inline functions as not instrumented - this is
7546 - apps/interpreter/bas: Added in the Michael Haardt's BAS 2.4 adapted
7549 - Examples: Added bastest/ which holds a special version of Michael
7552 - Examples: Add a simple UDP relay bridge for testing configurations
7553 with multiple networks. Includes a host-side test driver for
7555 - Netutils: Add implementation of timeouts for the netutils webclient.
7557 - NSH: Add support for a custom NSH ROMFS startup image header file
7559 - OS test: Add a simple test of named semaphores.
7560 - OS test: Add AIO test case in OS test.
7567 realization of Unix-style user processes in NuttX. There is more to
7583 were be disabled but never re-enabled, and errors in the Tickless mode of
7588 - vfork(): Now that arguments are kept on the stack, the way that
7592 - vfork() problem: If we get to vfork() via system call, then we
7595 - Fixes to tickless operation code, especially in alarm mode. From
7597 - Fix an important bug in the watchdog timer creation logic.
7598 - Calling mq_timedreceived() with immediate timeout was getting stuck
7609 - Fix a place in the memory manager where it explicitly assumed that
7613 - Granule Allocator: If the INTR granule allocator mode is enabled,
7618 - Network routing: I don't think that the net_route() function has
7621 - Move and rename IP header flag definitions. The problem fixed here
7623 was disabled. The IP flags are used in ICMP and IGMP.
7624 - Network routing: Refuse to perform routing table lookups for the
7626 - Network routing: Add logic to netdev_findbyaddr() to return the
7634 - NXFFS Dump: Fix problems with redefinitions of fdbg macro. With the
7639 - poll() was not waking up from signals (for example mq_notify()
7641 - poll(): Add proper handling for sem_timedwait errnos. From Jussi
7643 - include/nuttx/fs/fs.h: Fix typo in conditional compilation. From
7646 * Graphics/Graphic-Related Drivers:
7648 - Remove warnings when CONFIG_NXTK_BORDERWIDTH is set to zero. From
7649 Pierre-Noel Bouteville.
7653 - Make standard syslog and vsyslog POSIX compliant (also modify
7654 non-standard syslog functions for compatibility).
7655 - R/W buffering: Fix typo that can cause compilation error.
7659 - SAM4S: Add missing SPI0 clock configuration macro for the SAM4S. From spasbyspas.
7663 - SAM4E-EK: Fix an error in a USART1 pin number.
7667 - SAMA5DF4: Fix several typos that will prevented EMAC1 from
7672 - Fixes to allow compile of lpc43_gpioint.c. From Brandon Warhurst.
7676 - Add missing ADC pinmap definitions for the STM32 F103R from Martin
7681 - STM32 EXTI: Correct STM32 RTC EXTI bit definition. From Lazlo.
7682 - STM32 IWDG, WWDG, DBGMCU: Fix watchdog stop bit usage. From Lazlo.
7683 - STM32 OTGFS: Correct a typo in the STM32 OTGFS register bit definitions.
7687 - ARM up_internal.h: Add protection from C++ name mangling in the
7692 - PIC32MX7: DEVCFG0 bit 2 must be set. Writing bit 2 as zero can
7697 - The implementation of access() as vararg macro has the issue that
7702 - The definition of strncpy() is that empty space should be zero-
7706 - limits.h: Remove the definition of INT_FAST32_MIN which is already
7711 - apps/: Correct everything under apps to use the corrected syslog
7712 interfaces. Remove any non-portable uses of syslog.
7713 - NSH: Fix ls -l output for regular files.
7714 - NSH: Fix reversed in/out file closing in DD command when an error
7716 - NSH: Add logic to restart the console wait if an error occurs
7722 - Netutils: Fix memcpy of host address in netlib_gethostaddr(). From
7724 - Netutils: If you make a DNS request before the DNS address it would
7728 - Netutils: Fix md5 hashing when digest[$i] islower that 16. From
7730 - Stack Monitor: Fix compile problems introduced when the syslog()
7733 - Examples: Update NxTerm makefile for kernel-build issues. From
7735 - Examples: Fixes to keypadtest from Pierre-Noel Bouteville.
7736 - Examples: These examples all set the IP address of eth1 but the
7740 NuttX-7.7
7741 ---------
7745 that release consists of two tarballs: nuttx-7.7.tar.gz and
7746 apps-7.7.tar.gz. Both may be needed (see the top-level nuttx/README.txt
7753 - Task exit handling: Add logic to clean up after task_delete() or
7756 - Stack coloration: Removed CONFIG_DEBUG_STACK and replaced it with
7762 - Discrete joystick driver: Added an interface definition and upper
7765 - Analog joystick driver: Added an interface definition and upper
7768 - Add driver support for the ADXL345 accelerometer. From Alan
7770 - Generic serial driver: Add watermark levels to the serial RX flow
7777 - Add procfs write support. From Ken Petit.
7778 - Implemented wear-leveling in the SmartFS. From Ken Pettit.
7779 - MMC/SD Interface: MMCSD SDIO: Add support for a new
7780 SDWAIT_WRCOMPLETE condition. The previous logic used a busy-wait
7782 ready for the next transfer. That busy-wait can be quite long --
7785 change avoids the busy-wait poll by reconfiguring the SD D0 pin as a
7791 - Add support for a generic EEPROM driver that accesses EEPROM as a
7796 - Many new fonts converted for use with NuttX and added by
7797 Pierre-noel Bouteville
7801 - IPv4 support is now conditioned on CONFIG_NET_IPv4.
7802 - Implemented and verified IPv6 support conditioned on
7803 CONFIG_NET_IPv6. Either IPv4 or IPv4 or both may be selected.
7806 - Integrated support for ICMPv6 and the ICMPv6 Neighbor Discovery
7808 - All Ethernet drivers: Modified to support. Most, however, are
7812 - Also added missing raw/packet socket support to all Ethernet drivers.
7816 - Add a configuration build and test the Traveler first person game
7818 - Add an X11 mouse-based simulation of an analog joystick device
7822 - Add analog Joystick shield support for the SAMA5D3 Xplained board.
7826 - Add GPIO interrupt capability for the KL architecture. From Alan
7831 - Freedom-KL25Z: Add board support for the ADXL345 accelerometer. From
7833 - Freedom-KL25Z: Update the Freedom KL25Z board CC3000 support to use
7838 - A port of NuttX to the LPC4357-EVB from Toby Duckworth. This port
7839 is a leverage of the LPC3330-Xplorer port and still have a some
7841 LPC4357-EVB.
7845 - Serial: Add support for serial termios TCGET and TCSET. For the
7846 moment, only set/get speed is implemented. From Pierre-noel
7848 - RMU: Add support for the EFM32 reset management unit (RMU). From
7849 Pierre-noel Bouteville.
7853 - Add support for timer/PWM on the EFM32GG. From Pierre-noel
7858 - Enable support for the STM32 F102. From the PX4 team.
7862 - STM32 F429 LTDC: Add interface to perform hardware accelerated layer
7865 - STM32 F429 LTDC support: Implemented LTDC framebuffer support for the
7869 - STM32: Add support for the internal low speed clock (LSI) as a
7873 - STM32 SDIO: Add support for the new SDWAIT_WRCOMPLETE condition.
7878 - Add a discrete Joystick support for the STM3210E-EVAL.
7879 - Add analog Joystick shield support for the Nucleo F4x1RE boards.
7880 - STM32 F429i-Disco: Add support for initializing of the ltdc
7881 controller and the lcd device connected on the stm32f429i-disco.
7883 - Removed the px4-v2_upstream configuration. This was not the
7892 - Add support for the TI Tiva TM4C 129X family. Some unverified
7897 - Added support for Tiva I2C driver. Verified on the Tiva TM4C123G
7899 - Added a Tiva TM4C129X Ethernet driver.
7900 - Add a timer library for generic support of Tiva timers
7901 - Add a driver lower half for drivers/timer.c. Only 32-bit periodic
7906 - TM4C123G Launchpad: Add initialization logic for an external AT24
7909 - Board support for the Tiva DK-TM4C129x Connected Development Kit.
7910 - DK-TMC129X: Add an IPv6-enabled NSH configuration.
7914 - Added support for a variadic ioctl() function. The ioctl()
7915 interface is a non-standard, Unix interface. NuttX has always used
7916 the older, three-parameter version. Most contemporary systems now,
7918 option to insert a shim layer to adapt the three-parameter ioctl()
7920 is the same three-parameter logic. The only real complexity to the
7922 - Added sys/custom_file.h. Used when CUSTOM_FILE_IO is define and
7923 avoids re-definition errors about the FILE define. From Thomas
7925 - Add CRC8 support to the C library. From Ken Pettit.
7926 - math.h: Added support for the expm1 functions. From Brennan Ashton
7930 - apps/examples/djoystick: Add a test of the discrete joystick
7932 - apps/examples/ajoystick: Add a test of the analog joystick
7934 - apps/examples/ltdc: Add ltdc test example. From Marco Krahl
7935 - apps/system/lm75: Add a tiny application to read the temperature
7936 from an LM-75 (or compatible) temperature sensor
7937 - apps/examples/timer: Add a trivial test of the timer driver
7939 - apps/system/cu: Add a minimalist implementation of the 'cu'
7946 - apps/interpreters/micropython: A port of Micro Python to NuttX.
7949 - apps/netutils/dnsclient: Can select to be either IPv4 or IPv6, but
7951 - apps/netutils/netlib: Add new library functions to manipulate IPv6
7953 - apps/examples/nettest: Update test so that it can be used to test
7955 - apps/examples/udp: The UDP test example has been extend to support
7958 - apps/nshlib: Add logic to initialize IPv6 addresses
7959 - apps/nshlib: Add the ping6 command to support checking IPv6 networks.
7960 - apps/nshlib: Clean up network status presentation for IPv6
7966 * IPv6. While basic IPv6 support was completed in NuttX-7.7,
7971 realization of Unix-style user processes in NuttX. There is more to
7987 - POSIX message queues: msg type should be char * not void * in
7989 Pierre-Noel Bouteville
7990 - POSIX message queues: In message queue creation return ENOSPC error
7991 if size exceeds the configured size of pre-allocated messages; Use
7992 ENOSPC vs ENOMEM per OpenGroup.org. From Pierre-Noel Bouteville.
7993 - Task Names: strncpy() will not copy the terminating \0 into the
8002 - Granule allocator: Fixes some issues found by the PX4 team using
8007 - Several fixes correcting issues with the CC3000 networking. From
8009 - CC3000 Fix: Data can be unaligned. When dereferenced as an input
8012 - Correct naming of fields in struct sockaddr_in6: sin6_port and
8014 - accept(): Correct the value returned by accept() in the case where
8015 net_lockingwait() is called. It was returning -1 and losing the
8020 - Loop device should return -EINTR is interrupted by a signal.
8021 - M25P serial flash driver: Add subsector size of the M24P16 part.
8023 - Common serial driver: In case a thread is doing a blocking operation
8029 arrive in the reader thread. The problem was fixed by re-
8032 - Pipes: Fixes some issues found by the PX4 team using Coverity. From
8034 - CDC/ACM driver: Fixes some issues found by the PX4 team using
8039 - LPC4357: Changes required to get USART 2 & 3 working on the
8040 lpc4357-evb. From Toby Duckworth.
8044 - Several fixes correcting issues with the STM32 header files from
8049 - Ported Tridge's STM32 I2C noise resilience logic from the PX4
8051 - STM32 F2 and F4: Set the GPIO_SPEED_50MHz on all F2 and F4 SPI pin
8055 - Fix for STM32 OTGHS device driver working in FS mode. From Ken
8057 - For STM32 OTG HS DEV (in FS mode): Disable ULPI clock enable in RCC
8062 - STM32 F429 LTDC: Add missing clut register definition. From Marco
8064 - STM32 serial: fix declaration and definition of up_receive() and
8070 - Fix Tiva IRQ control logic; was limited to only 64 IRQs. That is a
8075 - avsprintf(): Fix a bug in usage of va_list on x86. On x86,
8081 - stdint.h: Don't use hex values to specify minimum values of fixed
8084 - strncpy(): Would trash a lot of memory if n == 0. From Yasuhiro
8086 - sscanf(). Accept %X and %F as well as %x %f as a format specifiers.
8091 - apps/examples/romfs: fix romfs example builtin app registry issue.
8093 - apps/system/cdcacm, composite and usbmsc: Fix some strangely placed
8095 - apps/netutils/telnetd: Add protection when CONFIG_SCHED_HAVE_PARENT
8100 - apps/nshlib/: NSH TFTP get command: Wrong file name used for the
8103 NuttX-7.8
8104 ---------
8108 that release consists of two tarballs: nuttx-7.8.tar.gz and
8109 apps-7.8.tar.gz. Both may be needed (see the top-level nuttx/README.txt
8112 This release is primarily a bugfix release for the NuttX-7.7 version that
8115 release follows close behind NuttX-7.7 in order to correct some the problems
8123 - Tickless Mode: added limit of maximum delay that can be request
8130 - VFS Unlink: Add an unlink method to both the character and block
8136 - Pipes and FIFOs: Implement the unlink method. If the pipe/FIFO is
8140 - Added an option to use the syslog'ing device as the system console.
8141 This option enables a low-level, write-only console device at
8142 /dev/console (similar to the low-level UART console device). From
8143 Pierre-noel Bouteville.
8147 - RAM/ROM disk: Add logic to dispose of the driver and RAM buffer
8150 specify what should be done with the RAM/ROM buffer in this case --
8156 - Add support for local, Unix domain sockets. Support included for
8158 - UDP enhancement: Add UDP read-ahead support. In addition to
8160 enables support for for poll/select on UDP sockets and also non-
8162 - SLIP interface improvements. From Macs Neklyudov.
8163 - IPv6 Neighbor Solicitation: Added logic to support verification
8169 - IPv6 Autonomous Auto-Configuration: Added support for sending
8171 local IPv6 address, mask, and router address are then auto-configured
8173 - IPv6 Router Support: Add logic to behave like a router (if so
8178 - Optional IPv6 address filtering added to all Ethernet drivers for
8179 the all-routers multicast address.
8183 - Added architecture support for the Atmel AVR ATMega1284P MCU. From
8188 - Added support for the LowPowerLab MoteinoMEGA that is based on the
8193 - Add support for Tickless mode of operation for the SAM4CM platform.
8198 - Ethernet: The SAM4E Ethernet driver can now be configuration to
8200 reduces the amount of interrupt level processing to service Ethernet
8202 - SAM4E Ethernet: Add support multicast address matching and IPv6.
8206 - SAM4E-EK: The nsh configuration now configures the Ethernet driver
8211 - SAMA5D4 Ethernet: The SAMA5D4 Ethernet driver can now be configuration
8213 reduces the amount of interrupt level processing to service Ethernet
8215 - SAMA5D3 and SAMA5D4 Ethernet: Add support multicast address matching
8220 - SAMA5D4-EK; Added a configuration to testing IPv6.
8221 - SAMA5D4-EK: Converted the nsh and ipv6 configurations to configure
8227 - Add architectural support for the K26Z128VLH4 chip. From Derek B. Noonburg.
8231 - Add board support for the Freedom KL26Z board. From Derek B. Noonburg.
8235 - Ethernet: Add support multicast address matching and IPv6.
8239 - Add configurable option to unconditionally enable LE clocking. Even
8242 should be enabled. From Pierre-noel Bouteville.
8246 - EFM32 RTC: RTC driver using BURTC. From Pierre-Noel Bouteville.
8250 - AES: Add driver for STM32L162XX AES peripheral. From Juha Niskanen.
8251 - Ethernet: The STM32 Ethernet driver can now be configuration to
8253 reduces the amount of interrupt level processing to service Ethernet
8255 - Ethernet: Add support multicast address matching and IPv6.
8259 - Added an IPv6 configuration for the STM32F4-Discovery board (with the
8260 STM32-DISCO_BB base board).
8261 - Converted all STM32F4-Discovery configurations (with base board) to
8267 - Added support for TM4C123G timers. From Calvin Maguranis.
8268 - Added a Tiva ADC driver. From Calvin Maguranis.
8272 - Added TM4C123G timers on the TM4C123G Launchpad. From Calvin Maguranis.
8273 - Added Tiva ADC support to the TM4C123G-Launchpad. From Calvin Maguranis.
8277 - Math Library: Added support for inverse hyperbolic functions,
8283 - apps/examples/ustream: Add a simple test of Unix domain stream
8285 - apps/examples/udgram: Add a simple test of Unix domain datagram
8287 - apps/netutils/netlib: Add utilities to convert to/from prefix
8288 lengths from/to 128-bit network masks.
8289 - apps/nshlib: Modify the NSH IPv6 ifconfig command to show the more
8290 standard post-pended prefix value, rather than the full 128-bit
8298 realization of Unix-style user processes in NuttX. There is more to
8311 - Work Queues: Fix a backward calculation when determining the time
8314 - clock_systimespec(): Fixes for compilation errors in certain
8319 - Fixed a problem with one of the font files. From Pierre-noel Bouteville.
8323 - IOB Deadlock: There were issues with the TCP write-ahead buffering
8326 wait for TCP read-ahead buffering space to be available. It should
8329 waited are still present (like iob_alloc()), but now there are non-
8331 TCP read-ahead logic now uses only these non-waiting interfaces.
8332 - TCP Deadlock: Fix another deadlock when CONFIG_NET_NOINTS is enabled.
8336 CONFIG_NET_NOINTS=y, the wait blocks with the network locked -- bad
8338 - ARP response waiting: Fixes another CONFIG_NET_NOINTS issue. When
8341 interrupts are re-enabled while we wait and all is well).
8342 - TCP accept(): Fix a major TCP bug introduced with the NuttX-7.7
8348 okay. So the symptom was connect-fail-connect-fail-...
8349 - Lots of build problems introduced into multiple NIC support with the
8350 IPv6 changes of NuttX-7.7. Many places where conditional logic based
8357 - Pipes and FIFOs: Fix a race condition between FIFO buffer operations
8362 in the FIFO will be lost. Some like UDP read-ahead is needed: The
8364 a chance to re-open the FIFO. Added an ioctl (PIPEIOC_POLICY) to
8368 - RAMTRON: Table of parts is not terminated properly if
8374 - Removed all occurrences of up_maskack_irq() that disables interrupts
8377 unconditionally re-enables interrupts with the interrupt exits. This
8384 - ARMv7-A and ARMv7-M memcpy(): Optimized ARM assembly language
8387 - ARMv7-A interrupt handler should not automatically re-enable interrupts
8394 - GPIO Interrupts: Disabling any of EXTI 5-9 interrupts was disabling
8395 interrupts for all EXTI 5-9. Same issue with EXTI 10-15. From Jussi
8400 - RTCC: Fix for recent changes that caused compilation failrues with
8402 - SPI: The source clock for SPI 4,5, and 6 should be PCLK2, not PCLK1
8407 - execl(): Fix bad logic in counting the number of arguments.
8409 Pierre-noel Bouteville.
8413 - Fix for building with parallel make. Build-server sometimes failed
8414 'make -j24' with errors in the builtin line or or sometimes silently
8422 NuttX-7.9
8423 ---------
8427 that release consists of two tarballs: nuttx-7.9.tar.gz and
8428 apps-7.9.tar.gz. Both may be needed (see the top-level nuttx/README.txt
8435 - Assertions: Add support for dumping board-specific information on
8437 - boardctl(): : Add a new non-standard OS interface called boardctl().
8447 - Line Joins: Line drawing graphic functions now take an argument that
8453 - SPI iInterface: Add an SPIDEV_USER so that there can be board-
8455 - I2C Interface: Add a user provided void * argument to the I2C
8458 - AT24 EEPROM Driver: Add support for (1) the byte-oriented read()
8460 devices that use 8-bit addressing.
8461 - Freescale MPL115A barometer: Add driver for the Freescale MPL115A
8463 - CS2100-CP: Add a driver for the CS2100-CP Fractional-N Multipler
8465 - RTC IOCTls: Added the definitions of a driver based RTC interfaces
8470 - umount2(): Added to support un-mount flags. umount() is now a macro
8472 - File system interface: Pass the umount2() flags to every unbind()
8475 - FAT unbind: Add support for umount2(target, MNT_FORCE) in the FAT
8480 - netdev_register(): Improve the network device registration logic.
8484 - Add TUN network device. Used to support the Netutils PPPD
8487 * ARMv7-M
8489 - ARM Cortex-M7: Add basic support for the Cortex-M7 architecture.
8490 - ARMv7 Common Lazy Exception handling. Add common support for lazy
8491 FPU state saving. MCU-specific lazy FPU saving was already in place.
8492 This change just makes the code share-able.
8496 - SAMA5 Serial: Backport support for flowcontrol and termios from
8501 - Atmel SAMV7: Add architecture support for the Atmel SAMV7 family
8502 (Cortex-M7)
8506 - Atmel SAMV71 Xplained Ultra: Add board support for this SAMV7 board.
8515 - EFM32 USB Device is now functional with the efforts of From Pierre-
8517 - EFM32 I2C: Add I2C driver. From Pierre-noel Bouteville.
8521 - STM32F372/F373: Adds architecture support for this STM32 parts.
8526 - STM32 RTCC: Break out a new internal interface, stm32_rtc_setdatetime().
8527 This eliminates some un-necessary time conversions. From Freddie Chopin.
8528 - STM32 RTCC: Add an implementation of the RTC lower half interface
8530 - STM32 RTCC: Extend the RTC interface to support reading subseconds.
8532 - STM32 BBSRAM: Adds the ability to use the STM32F2 and STM32F4 Battery
8538 - Olimexino-STM32: Board support for the Olimexino STM32 board from David
8540 - Viewtool-STM32F107: Add support for an optional, add-on Freescale
8545 - TM4C1294: Add support for the TM4C1294. Contributed by Frank Sautter.
8549 - Tiva ADC: Updated files to allow for ADC and PWM triggering by a
8551 - Tiva Timer: Refactoring by Calvin Maguranis
8555 - TM4C123G-launchpad: Add ADC support. From Calvin Maguranis.
8556 - TM4C123G-launchpad: Add board button interrupt support. From Calvin
8558 - TM4C1294 Launchpad: Add support for the TM4C1294 Launchpad.
8563 - PIC32MZ: Add architectural support for the PIC32MZ (MIPS32 M14k).
8568 - PIC32MZ Starter Kit: Add basic board support for the PIC32MZ.
8573 - gettimeofday(): This function is no longer a core OS interface. It
8575 - settimeofday(): Added. gettimeofday has been deprecated in POSIX
8578 - Day-of-Week: Add CONFIG_TIME_EXTENDED to support the last 3 members
8581 - sighold(), sigrelse(), sigignore(), sigset() and sigpause(): New
8583 - sys/select.h: Extend the fd_set type definition so that it can
8586 - netdb.h: Add a mostly-commented-out version of the standard netdb.h
8588 - include/nuttx/board.h: Remove common board function prototypes from
8593 - OS test: Improved error checking for sem_timedwait() from Juha
8595 - OS test: Add a simple test of sigprocmask, sighold, and sigrelse.
8596 - PPPD test: Add PPPD test case. Split out from the PPPD daemon by
8598 - Netutils: Add a PPP daemon. From Max Neklyudov.
8599 - NSH: NSH initialization now calls boardctl(BOARDIOC_INIT) instead
8602 - NSH: Allow NSH 'date' command with no hardware RTC. This command
8605 - apps/examples/: Several tests changed (touchscreen adc, pwm,
8608 - Modbus: Includes extensions to support RTU master mode by
8609 Armink(383016632@qq.com): https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32.
8611 - TZ database: All logic to build timezone database needed for
8619 realization of Unix-style user processes in NuttX. There is more to
8632 - atexit(): Fix compile failure due to reference to undefined variable
8634 - syscalls: Last changes to message queue prototypes did not make it
8637 - waitpid(): Do not use uninitialized boolean in waitpid(). From Juha
8639 - Timing functions: Fix some nanosecond comparisons. Comparisons should
8642 - Time initialization: Fix an error in time initialization when there
8649 - mq_timedsend(): Should not check for valid time if there is space
8651 - select() and sem_timedwait(): Fix places where the errno value was
8654 - clock_systimer64(): Fix a problem in clock_systimer64 that occurs
8655 when (1) the 64-bit system time is enabled, and (2) the value of
8658 time to 64-bit millisecond value in clock_systmer64() causes some
8661 conversion. The fix is to first convert time to a 64-bit microsecond
8663 - clock_systimespec(): When an RTC is used clock_systimespec() must
8667 - AIO: correct some backward tests in aio_read() and aio_write():
8674 - procfs: Fix potential NULL pointer dereference of 'node'. From
8676 - FAT: fat_unbind() was accessing 'fs->fs_sem' after freeing the 'fs'
8678 - mkfatfs: Use DMA memory for mkfatfs when needed. This makes mkfatfs
8682 - FAT unmount: Fix a bug in the FAT unbind() logic. There were
8688 - FAT mounting: Fix misthink when CONFIG_ENDIAN_BIG=y. From Lwazi Dube.
8692 - CAN upper half driver: Some lines had to be reordered in the can_open
8699 - crypto: Fix issues when AES support was added for the STM32L1.
8704 - Network initialization: Divide net_intiialize() into net_setup() and
8705 net_initialize() to solve a chicken-and-egg problem. net_setup()
8711 - netdev_unregister(): Fix a list handling error. From Max Neklyudov.
8712 - Socket dup: Do not call sockfd_socket() twice. From Juha Niskanen.
8716 - max11802 touchscreen: Fix possible unmatched IRQ restore (not
8719 - MMCSD SPI Multi-block transfers: ACMD23 must be preceded with CMD55
8723 - MMCSD SDIO: Fix some bad logic when file system debug is turned on:
8725 - Common upper-half serial driver: Report correct number of bytes free
8727 - Pipes/Fifos: Fix zero-lenth writes to pipes/FIFOs. From Jussi Kivilinna.
8728 - USB device MSC: Add NULL pointer check. From Juha Niskanen.
8729 - BCH driver: Avoid NULL pointer dereference when bch->refs == 255.
8731 - Various drivers: The inode unlink method should not be support if
8732 operations on the root pseudo-filesystem are disabled.
8734 * ARMv7-M
8736 - ARMv7M MPU: Bad syntax in ARMv7-M MPU logic would cause failure to
8741 - SAM3/4 Serial TERMIOS: A side-effect of changing serial settings
8743 left disabled. This is not a problem if the serial configuration is
8745 that case, serial interrupts are disabled and will not be enabled
8748 to receive data. In that case, the side-effect of disabling
8750 disabled.
8751 - SAM3/4 Serial: The IMR register is read-only. This means that
8752 sam_restoreints() did not actually re-enable UART interrupts
8754 - SAMA5 HSMCI: Fix a bug in SAMA5 HSMCI. The bitfield mask and shift
8761 - SAMA5 Timer/Counter: Fix typos in timer/counter header file. From
8766 - STM32 PWR and RTC: Changes to support fully write protecting the
8771 - STM32 SPI: Add missing SPI callback functions to the STM32 SPI
8773 - STM32 I2C: Add missing NULL check. From Juha Niskanen.
8774 - STM32 USB device: Fix stale initialization invalidating later NULL
8776 - STM32 UART: Fix RX DMA setup for UART5. From Jussi Kivilinna.
8777 - STM32 UART: Make input hardware flow-control work with RX DMA. From
8779 - STM32 RTC and clock control: The STM32F4Discovery board doesn't
8795 - Tiva GPIO driver needed small fixes in the configuration routines and
8796 discovered false-positive bugs in interrupt testing: interrupts are
8801 - mips32/Toolchain.mk: Current Pinguino toolchain uses the prefix p32-
8802 instead of mips-.
8806 - sigaddset() and sigdelset(): Need to set errno if a bad signal
8808 - sfrtime(): Missing implementation of %C in sfrtime() C (was being
8810 - pthread.h: Fix PTHREAD_COND_INITIALIZER.
8811 - ungetc.c: Fix NULL pointer dereference in ungetc() if 'stream' was
8812 NULL, 'stream->fs_oflags' was evaluated. From Juha Niskanen.
8813 - Fixes to asinh(), atanh(), and sinh(): The 'basic' expansions all
8814 exhibited bad cancellation errors near zero (<= 1E-10). This can be
8815 easily seen e.g. with x = 1E-30, the results are all zero though they
8816 should be extremely close to x. The cutoff values (1E-5, 1E-9) are
8820 - localtime(): Inconsistent configuration name: CONFIG_LIBC_TZDIR vs
8825 - Modbus: Fix some compile problems when TCP is enabled.
8827 NuttX-7.10
8828 ----------
8832 that release consists of two tarballs: nuttx-7.10.tar.gz and
8833 apps-7.10.tar.gz. Both may be needed (see the top-level nuttx/README.txt
8840 - ARMv-7M, binfmt/, STM32: Add support uClibc++ exceptions. This
8847 - RA8875 LCD driver contributed by Marten Svanfeldt.
8851 - Union File System: Add support for a union file system that can be
8856 - USB Hub Support: Bring in USB hub-related files from
8862 - USB host CDC/ACM class driver: Added initial implementation of a
8863 host-side CDC/ACM driver. Initial version was a great learning
8865 discussed in the top-level TODO file).
8866 - IPv6 Routing: Complete implementation of the IPv6 routing logic.
8871 - Local Sockets: Add poll support for Unix stream sockets. From Jussi
8873 - net/: ARP, ICMP, ICMPv6, PKT, TCP, and UDP now all receive event
8875 also from Device-specific events such as when the network goes down.
8883 - TUN: Misc. improvements to the TUN driver, mostly related to poll().
8888 - Simulator: Add logic to test localtime and TZ database. See
8889 apps/system/README.txt for info.
8890 - Simulation: Add a configuration for testing the Union File System.
8894 - Calypso Compal-E86: Updates for execution out of FLASH on the C139
8899 - SAML21 Support: And chip definitions, configuration framework,
8904 - SAML21-Xplained: Add a board support for the SAML21 Xplained Pro.
8909 - KL25Z64: Added support for the KL25Z64. The KL25Z64 is a lower
8915 - Teensy-LC: Add board support for the Teensy LC board. Support is
8922 - LPC111x: Support for the LPC11xx family (the LPC1115 MCU in
8927 - LPCXpresso LPC1115: Support for the LPCXpression LPC1115
8932 - LPC17xx Ethernet: Add support for the Micrel KSZ8041 PHY to the
8937 - Lincoln60: Add a network enabled configuration for the Lincoln60
8942 - SAM4CM: Add support for optical mode for the SAM4CM UART1. From
8947 - Kinetis K20: Basic support for the Kinetis K20 architecture. Taken
8952 - SAMV71-Xplained w/maXTouch Xplained Pro: A TWIHS fix was the last
8959 - STM32: Added support for STM32F302K8 and STM32F302K6. From Ben Dyer
8961 - STM32F205RG: Add basic support for the STM32F205RG. From SourceForge
8962 Ticket 40 (anonymous, 2015-05-31).
8963 - STM32 F3: Add DBGMCU register definitions for the F3 family. From
8968 - STM32 LCDC: Defined a second interface for the dma2d controller.
8972 - STM32 PVD: Added support for STM32's Programmable Voltage Detector
8977 - STM32F429i-Disco: Add support for the new DMA2D features to the LTDC
8982 - TM4C1294 Launchpad: Added TM4C1294NCPDT EN0_LED2 (10/100-Base-Tx);
8987 - libc: Add an option to disable support for long long formats in
8989 by omitting large libgcc.a libraries to perform the 64-bit
8994 - nuttx/zoneinfo: Add logic to build a ROMFS file system
8999 - Add poll support for Unix stream sockets. From Jussi Kivilinna.
9000 - Enhancements to NSH ifconfig for case of multi-link operation, TUN
9002 - Enhanced output to NSH ping command from Max Neklyudov.
9003 - The NSH mount command now recognizes the Union filesystem type when
9008 - apps/netutils/thttpd/ and apps/examples/thttpd/: Add support for
9016 - Modify/simpify apps/examples build files. From Roman Saveljev.
9017 - apps/examples/ltdc: Add testing support for the STM32 LTDC's 2D DMA.
9019 - apps/examples/ostest: Add a test of nested signals. There are no
9022 - apps/examples/elf: Add configuration options to support building the
9025 - apps/examples/unionfs: Add a test of the union file system to
9033 realization of Unix-style user processes in NuttX. There is more to
9046 - boardctl(): Add missing case causing that caused failures of PWM
9048 - pthread_kill(): Re-implemented pthread_kill(). It was just a simple
9050 for multi-threaded task groups has been implemented, calling kill()
9054 - uint32_t callbacks: Update the type passed to watchdog timer
9055 handlers. Using uint32_t is a problem for 64-bit machines because
9058 - mq_timedreceive(): move the location where the errno value is set;
9061 - POSIX message queues: Move mq_setattr() and mq_getattr() from
9070 - MTD: Increase the size of the fields in the geometry structure
9075 - poll(): Fix resource leak and memory corruption on poll failure.
9080 - LPC31xx and SAMA5Dx EHCI: Fix cache related problem in LPC31 and
9092 - All USB device class drivers: There needs to be a check to make
9099 - TCP: Correct failures in long Telnet sessions by increasing th
9103 - Network locks: Correct some network lock logic: Two error
9106 - Local Sockets: Local stream sockets had problem of double releasing
9108 pipe pair being closed in multi-client case. Solve by adding per
9110 - TCP: Fix an important TCP networking bug: 16-bit flags was being
9111 converted to 8-bits in a few locations, causing loss of status
9113 - TCP: net_startmonitor() always returned OK. In the race case
9120 - setsockopt() failed when setting timeouts to values less tha 100
9127 non-zero remainder to the next larger whole decisecond value. Bug
9129 - TCP: In the TCP connection operation, it was trying to setup the
9140 - SAM4CM and SAMA5D Free-running timer: Logic that samples the free
9148 - SAM3/4 Serial: When reconfigured, serial does not receive bytes
9149 from UART. This happens because RX interrupt was disabled in the
9155 - LPC176x GPIO: Reorder steps when an output GPIO is configured in
9158 - LPC17 USB OHCI: Correct some initialization of data structures.
9161 - LPC17xx Ethernet: Review, update, and modify the Ethernet driver so
9168 - EFM32 SPI: Add missing SPI GPIO pin initialization. From Pierre-noel
9173 - STM32 F3: Added missing EXTI definitions for the STM32 F3; Correct
9179 - STM23 RTC: Fix an error introduced into stm32_pwr_enablebkp().
9182 - STM32 RTC counter: Now need to enable backup domain write access
9184 - STM32 OTG FS and HS: Added protection in the event that out-of-bound
9189 - STM32F429i Disco: (1) Fix a bad return value if the LCD driver is
9197 - Fixes for Tiva TM4C1294NCPDT. From Frank Sautter.
9201 - SAMV7 TWIHS: Fix SAMV TWIHS logic that performs multi-message
9206 - SAMA5 CAN: Fix SAMA5 CAN frame construction. From Max Holtzberg.
9210 - stdlib.h: MAX_RAND should be RAND_MAX.
9211 - assert.h: Wrap definitions of assertion macros in do while so that
9215 - inetntoa(): Correct errors in printing IP address when type char is
9220 - Tools: Fix test for the existence of the apps/ directory in
9221 configure.c. Fix backward interpretation of options, -l was selecting
9222 Windows and -w was selecting Linux. This was SourceForege Ticket #39.
9226 - apps/nshlib/nsh_timcmds.c: Check return values from time functions.
9227 - apps/nshlib/: Fix handling of gmtime_r return value in time commands.
9232 - apps/netutils/ntp: Fix mismatched sched_lock/unlock. Noted by Juha
9237 - apps/examples/nxlines: Fix missing right bracket that causes
9239 - apps/examples: When boardctl() fails, need to print errno not the
9240 returned value which will always be -1.
9241 - apps/examples: Correct use of the BOARDIOC_GRAPHICS_SETUP boardctl()
9244 NuttX-7.11 Release Notes
9245 ------------------------
9249 that release consists of two tarballs: nuttx-7.11.tar.gz and
9250 apps-7.11.tar.gz. These are available from:
9255 Both may be needed (see the top-level nuttx/README.txt file for build
9262 - clock_gettime(): Use up_timer_gettime for CLOCK_MONOTONIC in
9264 - waitpid(): Implement WNOHANG for waitpid() only and for the case of
9266 - SCHED_SPORADIC: Add a sporadic scheduler to NuttX.
9267 - Extend the processor-specific interface to include information to
9269 - sem_tickwait(): Added this function for internal use within the OS.
9270 It is a non-standard but more efficient version of sem_timedwait()
9277 - Graphics: Implement anti-aliasing in order to clean the drawing of
9278 all edges. Anti-aliasing is supported in the horizontal, raster
9280 - SSD1306 LCD Driver: Modify the SSD1306 LCD driver to support either
9285 - mount: Add the ability to mount a file system on top of en existing
9286 node in the pseudo-file system.
9287 - epoll(): Add a very simple epoll layer just around poll calls. To
9292 - IOCTL: Add relay IOCTL definitions. From Max Neklyudov.
9293 - I/O Expander Framework: Add an I/O expander driver framework. From
9295 - NXP PCA9555 I/O Explander. Add PCA9555 driver.From Sebastien
9297 - BMP180 Barameter: Add support to Bosch BMP180 barometer. From
9299 - CAN IOCTLs: Add CAN IOCTL command definitions to manage CAN message
9301 - CAN Driver: Add configuration to support DLC to byte conversions
9303 - SPI Slave Interface: Add a definition of an SPI slave interface.
9304 - LM92 Temperature Sensor: Add a driver for the LM92 temperature
9306 - AS5048B Rotary Magnetic Sensor: Add support for an AS5048B rotary
9308 - Ramtron Driver: Update to include supportf for newer RAMTRON parts.
9310 - MB7040 Sonar Driver: Add support for a MB7040 sonar driver. From
9312 - ms5805 Altimeter Driver: Add support for an MS5805 altimeter. From
9317 - DNS Client: Implement the low-level network DNS packet protocol to
9319 - NetDB: Add support for a DNS host name resolution cache. This can
9322 - NetDB: Name resolution logic now supports lookups from a file like
9324 - Network Initialization: Add CONFIG_NETDEV_LATEINIT that can be
9327 - FTMAC100 Ethernet MAC Driver. Add support for Faraday FTMCA100
9329 - UDP Networking: Add support for send() for connected UDP sockets.
9333 - Add CFB and MAC AES modes. From Max Neklyudov.
9337 - Simulation: Implement board_power_off() for the simulation platform.
9342 - MoxaRT SoC: Add support for MoxaRT SoC found in the most Moxa serial
9347 - Moxa NP51x0: Moxa NP51x0 series of 2-port advanced RS-232/422/485
9350 * ARMv6-M:
9352 - ARMv6-M Assertions: Port some per-process stack dumping logic from
9353 ARMv7-M to ARMv6-M. From Alan Carvalho de Assis.
9357 - SAML21: DMA: Add SAML21 DMA support.
9358 - SAMD21: Add architecture support for the SAMD21 family.
9359 - SAMD21-Xplained: Board configuration for the SAMD21 Xplained board.
9363 - SAM4E: Add default loop optimization if EEFC_FMR is available in the
9365 - crypto/ and SAM4CM: Add CFB and MAC AES modes. From Max Neklyudov.
9366 - SAM3/4: Add a TWI driver for the SAM4CM. From Max Neklyudov.
9370 - Kinetis: Add support for MK20DN--VLH5 and MK20DX---VLH5. Needed
9371 for backward compatible support for Teensy-3.0.
9375 - Teensy 3.x: Add board support for the PJRC Teensy-3.0 and
9376 Teensy-3.1 boards.
9380 - SAMV7: Add an MCAN driver for the SAMV7 platform.
9381 - SAMV7 SPI Slave Driver: Add the an SPI slave driver.
9385 - STMicro STM32 F7: Add architecture support for the STMicro STM32
9387 - STM32 F446: Add support for the STMicro STM32 F446. From David
9392 - STM32 F7: Add an STM32 F7 Ethernet driver.
9393 - STM32 F7: Port the STM32 F4 DMA driver.
9394 - STM32 F4 ADC: Add DMA support to the ADC driver for STM32 F4. From
9399 - STM32F762G-Disco: Add support for the STMicro STM32 F7 Discovery
9401 - STM32F4-Disco: Add support to BMP180 driver on the STM32F4 Discovery.
9406 - Add asctime(), asctime_r(), ctime(), and ctime_r().
9407 - sethostname(): Add support for sethostname().
9408 - gethostbyname() and gethostbyaddr(): Add support for
9410 non-standard gethostbyname_r() and gethostbyaddr_r(). This moves
9415 - testbuild.sh: Add a script that can be used to perform building
9420 - apps/ Build System: No longer depends on hardcoded lists of
9426 - mkkonfig.sh: Add the tool mkkconfig.sh that dynamically builds the
9428 configuration file has been removed and now the top-level Makefile
9429 executes tools/mkkconfig.sh to auto-generate the top-level Kconfig
9431 this operation. Now you do not have to modify the top-level Kconfig
9432 file to add a new directory into the configuration; the top-level
9437 - mkkconfig.bat: Add the Windows script corresponding to
9442 - NSH shutdown command: NSH will now support an (optional) shutdown
9446 - NSH uname command: Add support for a uname command.
9447 - NSH nslookup command: Add an nslookup command.
9451 - NetDB: Add a system command to access the network database.
9452 - readline(): Add support for Unix-style tab complete to readline.
9454 - readline(): Extended the tab-completion support to also expand NSH
9456 - readline(): Add support for an in-memory command line history that
9462 - DNS client: Moved the DNS client logic into the NuttX C library.
9465 - Replace calls to the non-standard dns_gethotip() with calls to
9467 - NetLib: Create netlib wrapper functions around dns_getserver() and
9473 - OS test: Extend the OS test to include a test of
9475 - OS test: Add a test for the sporadic scheduler.
9483 - pthreads: Use -1 instead of 0 as PID for unclaimed mutexes. From
9485 - pthreads: Implement pthread_mutex_trylock() for recursive mutexes.
9487 - pthread_create(): Group binding needs to be cleared before
9489 group->tg_nmembers decremented or group being released. group_leave()
9492 - Protected Mode User Memory Allocator: Redesigned how the user space
9505 - pthread_create(): Fix an (unlikely) error in fallback value in the
9510 - STMPE811 Driver: In stmpe811_instanciate() when
9514 - CAN driver: Fix an issue in the CAN driver where the rx_sem count
9519 - NFS client: Fix prototype of unbind method. The function prototype
9525 - netconfig.h: Fix some backward compilation that was emitting #error
9527 - SLIP Driver: Fix a missed name change when many of network
9530 - Networking: Allow receipt of empty UDP packets. From Max Neklyudov.
9532 * ARMv6-M:
9534 - ARMv6-M: Fix Cortex-M0 assembly error when the interrupt stack is
9539 - SAMD20, D21, L21: In the SAML21, SERCOM5 uses a different SLOW clock
9543 - SAMD/L: Several fixes to register definitions and types. From
9548 - SAM3/4 UART: Back out an error introduced with commit
9551 - SAM4CM: Fix SUPC register definitions. From Max Neklyudov.
9552 - SAM3/4 WDT: Correct some problems with SAM3/4 watchdog driver.
9557 - SAMV7 UART: Also back the bad cloned change o sam_lowputc.c for
9562 - LPC4350: Correct some LPC4350 GPIO pin configurations. From
9567 - EFM32 SPI: Correct write to incorrect register in EFM32 SPI driver.
9568 From Pierre-noel Bouteville.
9572 - STM32 F15x: STM322 F15x stm32_stdclockconfig() was calling
9575 - STM32 Ethernet: Extend STM32 Ethernet operating frequency to 180MHz.
9580 - SAMV7 Xplained: In clock configuration, divider was set to 25 to get
9585 * ARMv7-A:
9587 - Cortex-A5 vfork(): Fix a Cortex-A compilation error when system
9592 - SAMA5Dx EHCI: Fix some bad conditional compilation that left a
9597 - getopt(): Uninitialized variable can cause hardfault from getopt()
9602 - NSH/THHPD: Change decoding to handle the increased size of the
9607 - THTTPD: Fix compilation problems when
9609 - THTTPD: Missing gci-src as a dependency path when building with
9614 - poll() example: Fix a few bit-rot compilation errors.
9615 - Nx Lines example: If CONFIG_NX_ANTIALIASING=y, then the nxlines
9618 applying the anti-aliasing algorithm twice. A better solution
9619 would be to make anti-aliasing an option for each graphics call so
9620 you would rend the line with anti-aliasing ON and clear it with
9621 anti-aliasing OFF. but I don't have the wherewithal for that change
9623 - OS test: Improve synchronization in round robin tests. On very fast
9628 NuttX-7.12 Release Notes
9629 ------------------------
9633 that release consists of two tarballs: nuttx-7.12.tar.gz and
9634 apps-7.12.tar.gz. These are available from:
9639 Both may be needed (see the top-level nuttx/README.txt file for build
9646 - Added SSD1351 OLED controller support. Contributed by Paul
9651 - MS58xx: Generalize the MS5805 altimeter driver to support other
9653 - CAN driver interface: Add an error indication bit to the CAN
9655 - Developed a new interface for QSPI. Most QSPI hardware (such as the
9659 - Added a driver for ST25L1*K QuadSPI parts.
9660 - Renamed the battery driver interface to battery_gauge since it
9663 - Added a new framework to support a batter charger interface. From
9665 - Added a BQ24250 battery charger driver. From Alan Carvalho de Assis.
9669 - Added support for the local loopback device (dev lo, hostname localhost).
9670 - Added NetDB support for the local loopback device.
9671 - Network initialization: Automatically initialize all the TUN and
9676 - The simulation now runs under Cygwin64. Modern Cygwin X86_64
9678 System 5 ABI would not work on X86_64-based Cygwin machines. Newer
9679 Cygwin tool chains do nor pre-pend symbol names with the underscore
9684 - Added architectural support for the Atmel SAMA5D2 parts. Not fully
9689 - Added support for the Atmel SAMA45D2 Xplained Ultra board. Not
9694 - SAMV7 USBHS DCD: The device controller driver is (finally)
9699 - Implement options to use external SDRAM and or SRAM for the heap.
9704 - Added architectural support for the LPC4370. From Lok Tep.
9708 - Added Ethernet support. From Ilya Averyanov.
9709 - Added LPC43xx EHCI driver from Ilya Averyanov.
9713 - Added support for the NXP LPC4370-Link2 development board from Lok
9718 - Added architectural for STM32F303K6, STM32F303K8, STM32F303C6,
9724 - Added OTG support for STM32F44x. From David Sidrane.
9728 - Added support for the STMicro Nucleo F303ERE board from Paul
9733 - stdlib: Add support for div() to the C library. From OrbitalFox.
9736 - Added an implementation of the standard shutdown function.
9740 - tools/mksymtab: declare g_symtab array as const to occupy RO section
9745 - Simplify configs/ Makefiles by combining common logic into a new
9750 - apps/system/symtab: Optional canned symtab inclusion to the build.
9760 - apps/canutils/uavcan: Add support for libuavcan. From Paul Alexander Patience.
9764 - apps/examples/can: Extend the CAN loopback test by adding more
9766 - apps/examples/usbserial: Can now be run as an NSH builtin-function.
9768 - apps/examples/nettest: Add option to suppress network initialization.
9771 - apps/examples/nettest: Extend test so that can be performed using
9773 - apps/examples/netloop: Add a test of the local loopback device.
9774 - apps/examples/udpblaster: Add a test to stress the network by
9776 - apps/examples/uavcan: libuavcan example from Paul Alexander Patience.
9784 - wd_create(): Correct a counting error in the number of available
9787 - mq_open(): When message queue is opened, inode_reserve() leaves the
9790 - work_queue(): Logic that sets the queued indication and the logic
9795 - Fix a memory leak in the built-in application logic: File was not
9800 - poll(): If we fail to setup the poll for any file descriptor, for
9802 - rwbuffer: Fix some logic errors. From Dmitry Nikolaev via Juha
9804 - ROMFS: One allocation was not being freed if there was a subsequent
9810 - Fix a bug in tun interface driver. From Max Neklyudov.
9811 - recvfrom(): Correct wait for new data when NET_UDP_READAHEAD is
9813 state.rf_recvlen == -1. I have not checked if data are accumulated
9815 - networking: Correct return value from psock_tcp_accept(). From
9817 - TCP: Fix a problem in when there are multiple network devices.
9825 - net/tcp: The logic that binds a specific network device to a
9832 - net/tcp: Fix unbuffered send compilation error when Ethernet is not
9835 * ARMv7-M:
9837 - All ARMV7-M IRQ setup: Always set the NVIC vector table address
9842 - Fix some H/W floating point logic: In the original implementation,
9847 - ARMv7-M, all "lazy" interrupt stack logic. Assembly instruction
9851 - All ARMV7-M: Force 8-byte stack alignment when calling from assembly
9853 - up_schedulesigaction(): Fix logic that determines if there is a
9856 problem was fixed on the ARMv7-M but also ported to other
9861 - LPC43xx: Fix NVIC_SYSH_PRIORITY_STEP define. From Ilya Averyanov.
9862 - LPC43xx: Fix missing #define in eeprom. From Ilya Averyanov.
9866 - Fixed the SPI driver. From Ilya Averyanov.
9870 - LPC31 and SAMA5D EHCI: Fix qh_ioccheck to move bp to next QH. From
9872 - LPC31 and SAMA5D EHCI: Performance improvement: Do not disable the
9878 - gethostbyname(): correct returned address format when DNS is used.
9883 - asin(): The function did not convert for some input values. asing()
9891 - Change all references from avsprintf to vasprintf. From Sebastien
9896 - Fix error handling in 'cat' command. On a failure to allocate
9898 - Fix error handling in 'mv' command. On a failure to expand the
9904 - apps/system/netdb: Failed to build if CONFIG_NET_HOSTFILE was not
9910 - Various Kconfig files in netutils: Fix some changes from from
9915 - Macros PR_BEGIN_EXTERN_C and PR_END_EXTERN_C were not defined in
9918 NuttX-7.13 Release Notes
9919 ------------------------
9923 that release consists of two tarballs: nuttx-7.13.tar.gz and
9924 apps-7.13.tar.gz. These are available from:
9929 Both may be needed (see the top-level nuttx/README.txt file for build
9936 - External RTC: Added OS support for external RTC chips.
9937 - boardctl(): Add a command to the boardctl() interface to obtain a
9942 - TMPFS: Add support for a new TMPFS, RAM file system. The TMPFS
9947 - VFS: The VFS was extended to support standard file operations on
9951 - HOSTFS: Added a HOSTFS file system for use with the simulator. The
9956 - MTD/PROCFS: Add an interface to un-register an MTD procfs entry.
9958 - filemtd: A new MTD conversion layer that will convert a regular file
9961 - PROCFS: Extended to include networking entries in the procfs. Device
9964 - PROCFS: The PROCFS file system can now be configured so that it
9970 - ST7565 Driver: Extend to include support for the ERC12864-3. From
9971 Pierre-noel Bouteville.
9975 - User buttons: Added a character driver to support application access
9978 - User LEDs: Added a character driver to support application access
9979 to on-board LEDs.
9980 - Zero Cross: Added a Zero Cross device driver support. From Alan
9982 - MAX6675: Added support to Thermocouple-to-Digital converter MAX6675.
9984 - BCH: Block-to-character (BCH) driver should forward ioctl() calls
9986 - S25FL1xx: Added a S25FL1xx QuadSPI FLASH driver.
9987 - On-Chip FLASH: Added an upper half MTD device that can use the
9990 - Serial: Implemented high level DMA infrastructure for serial
9992 - AT24XX: Add support for multiple AT24xx EEPROM parts, each with
9994 - External RTC: Added drivers for external I2C RTC chips: DS3102,
9996 - W25: Added support for byte write mode to the W25 FLASH driver. From
9998 - dev/loop: Added a loop character device. losetup() and loteardown()
10001 - dev/smart: Added support for a /dev/smart loop device. From Ken
10006 - Driver Statistics: Most network drivers do not support statistics.
10018 - W25 FLASH: Added support for W25 FLASH simulation. From Ken Pettit.
10019 - HOSTFS: Added support for the HOSTFS file system (see "File Systems",
10024 - SAME70: Added support for the SAME70 family of chips.
10025 - Tickless: SAMV7 now supports the tickless mode of operation.
10029 - MPU: Added MPU and protected build support.
10030 - QSPI: Added a QuadSPI FLASH driver. This driver operates in the
10031 memory-mapped, Serial Memory Mode (SMM).
10032 - FLASH: Added support to write on-chip FLASH.
10033 - Timer/Counter: TC driver ported to SAMV7 from the SAMA5. Free-running
10034 and one-short timer logic also ported.
10035 - PCK: Brought programmable clock (PCK) logic from SAMA5 into SAMV7.
10036 - Timer/Counter: Support PCK6 as an optional source for the timer/
10041 - SAME70-Xplained: Add NSH and networking configurations for the
10044 - SAMV7-XULT and SAME70-Xplained: If Tickless mode is selected then
10049 - CCM PROCFS: Is no longer a part of the 'base' procfs entries and can
10055 - Timers: Add a compatible lower-half timer driver for use with the
10056 common timer upper-half driver. From Wail Khemir.
10060 - STM32F4-Discovery: Add low level support for the Zero Cross driver
10061 for the STM32F4-Discovery. From Alan Carvalho de Assis.
10062 - STM32F4-Discovery: Add board config to support for the MAX6675. From
10067 - bsearch(): Added the bsearch() function from NetBSD.
10068 - freopen(): Added support for freopen().
10069 - strftime(): Added day-of-week support (when avaialable).
10073 - nxstyle: Add crappy style checking tool nxstyle.c. See thee tools/
10078 - mksmartfs command: Add configuration option to supported multiple
10080 - Add support for 'basename' and 'dirname' commands.
10081 - set command: Like bash, NSH set command now strips off any leading
10083 - mount command: The mount commands now accepts mount options
10086 - losetup command: NSH no longer calls losetup() and loteardown
10089 - ifconfig command: If CONFIG_NETDEV_STATISTICS=y, then print the
10091 - ifconfig, ifup, and ifdown: These commands now uses /proc/net/<dev>
10096 - losmart command: Added a new NSH losmart command. losmart setups
10099 - ps command: The 'ps' command now uses /proc/<pid>/ to obtain task
10105 - apps/system/hexed: Port the hexed command line hexadeciamal editor
10110 - apps/fsutils/smartfs: Move into apps/fsutils from kernel, now uses
10115 - apps/examples/fstest: Add a generic file system test. This is
10119 - apps/examples/zerocross: Add a Zero Cross application example. From
10121 - apps/examples/media: Add a simple test for access of media via a
10130 - Fixed an error in clock_timespec_subtract(). Found by Lok.
10131 - pthreads: CRITICAL BUGFIX: Logic was wiping out the indication that
10138 - SMART MTD: Fix some Smart wear-leveling bugs. Fixed SmartFS wear
10147 - ILI9432: Fixed errors in orientation. Portrait, RPortrait, and
10153 - CAN: Fix a problem in the CAN upper-half driver that occurs only
10160 - MS58xx: Fix some issues with initialization and with CRC
10162 - W25: Fixed W25 FLASH driver page read/write logic. From Ken Pettit.
10166 - USART1 pin configuration: Reconfigure System I/O when using USART1.
10168 - MCAN: Added a call to can_txready() to the MCAN driver.
10172 - stm32 F4: Fix some TIM12 pin mappings. From Max Kriegleder.
10176 - STM32F429i-Disco: Calculated partition boundries based on page
10182 - sys/types.h: When building on a 64-bit machine, the size of size_t
10183 should be 64-bits. In general, I believe that sizeof(size_t) should
10184 be the same as sizeof(uinptr_t). mmsize_t should always be 32-bits
10187 64-bit machine.
10191 - The I/O buffer, g_iobuffer, should not be a global buffer. That
10194 session-specific data defined in nsh_console.h.
10196 NuttX-7.14 Release Notes
10197 ------------------------
10201 that release consists of two tarballs: nuttx-7.14.tar.gz and
10202 apps-7.14.tar.gz. These are available from:
10207 Both may be needed (see the top-level nuttx/README.txt file for build
10214 - modules: Add support for kernel modules: insmod, rmmod, support
10216 - SIGEV_THREAD: Add support for the SIGEV_THREAD notification method
10219 callbacks. See the top-level TODO file for additional details.
10220 - 64-Bit Timer: If the 64-bit timer is selected, then use it whenever
10221 clock_systimer() is called rather then chopping the 64-bit timer
10222 down to 32-bits. Add a new type, systime_t to represent the 32- or
10223 64-bit system timer. This eliminates clock_systimer32() and
10228 - Telnet Driver: Move the Telnet driver from apps/ to
10234 - PCA9635PW: Add a driver for the PCA9635PW I2C LED driver IC which
10237 - MCP9844: Driver for the MCP9844 I2C digital temperature sensor with
10239 - PN532: Add driver for the NXP PN532 NFC-chip. From Janne Rosberg
10241 - LSM9DS1: Add driver for the STMicro LSM9DS1 chip. The LSM9DS1 is a
10242 system-in-package featuring a 3D digital linear acceleration sensor,
10245 - CAN Interface: Add more extensive error reporting capaibility to
10247 - SPI Interface: Add an optional hwfeatures() method to the SPI
10252 - NSH configuration uses the custom start up scriptwith a read-only
10255 * ARMv7-R
10257 - ARMv7-R: Add basic architecture support for the ARMv7-R processor
10262 - Atmega2560: Add support for the Atmega2560. From Dimitry Kloper.
10263 - debug.h: Add an AVR-specific header file used when the AVR MEMX
10268 - Arduino-Mega2560: Add support for the Arduino-Mega2560. From
10273 - Port the TRNG driver from the SAMA5D3/4 to the SAMV7.
10274 - Port the WDT driver from the SAMA5D3/4 to the SAMV7.
10275 - Add an RSWDT driver.
10279 - SAMV71-XULT: Add configuration for testing OS modules.
10283 - MK60N512VLL100: Add support for the MK60N512VLL100 Kinetis part.
10288 - ENET: Numerous updates to the Kinetis ENET driver. That driver is
10293 - WaveShare LPC4337-WS: Support for the WaveShare LPC4337-WS board.
10298 - Timer Capture: Add timer input capture driver. From Pierre-Noel
10303 - Olimex STM32 H407: Added a port to the Olimex STM32 H407 board.
10309 - TI LaunchXL-TMS57004: Add basic board support for TI LaunchXL-
10314 - sys/time.h: Add timeradd(), timersub(), timerclear(), timerisset(),
10315 and timercmp() as macros. These are non-POSIX interfaces, but
10317 - AVR support: Introduce support for Atmel toolchain in-flash strings.
10318 Atmel toolchain AVR compiler provides a transparent in-flash object
10320 compiler that this is a flash-based object. The later used with
10322 flash or in RAM. The compiler automatically makes 32-bit pointer
10324 and generates code to access either in run-time. Thus, any function
10339 - debug.h: Add configuration to support an architecture-specific
10341 - netdb: Add support for the use of a DNS resolver file like
10343 - TEA: Add an implementation of the Tiny Encryption Algorithm.
10344 - math32.h: Add some utilities to support 64-bit arithmetic
10349 - tools/cnvwindeps.c: Add a tool that will convert paths in
10352 - tools/mkwindeps.sh: A script that coordinates use of cnvwindeps.exe.
10358 - Module Commands: Add module commands: insmod, rmmod, and lsmod.
10359 - Time Command: Add a 'time' command that may be used to time the
10361 - Password Commands: Add useradd, userdel, and passwd commands.
10362 - MOTD: Now supports a Message of the Day (MOTD) that will be
10364 - Session Logins: All sessions may be protected with logins using the
10366 - Extended Logins. Added optional platform-specific function to
10372 - apps/fsutils/passwd: Utility library for accessing a password file
10377 - apps/netutils/telnetd: Now creates Telnet sessions by opening a new
10380 - apps/netutils/netlib: Add netlib_get_dripv4addr() and
10385 - apps/examples/module: Add a test harness for verifying NuttX kernel
10387 - apps/examples/pca9635: Add a simple test of PCA9635PW PWM LED driver.
10389 - apps/examples/ostest: Add a test of POSIX timers using SIGEV_THREAD.
10397 - pthreads: CRITICAL BUGFIX: Logic was wiping out the indication that
10399 - waitpid: CRITICAL BUGFIX. Add a reference count to prevent waitpid
10400 from using stale memory released by the waited-for task group.
10401 - clock_systimespec(): Fix an error in a time conversion.
10405 - poll(): Fix handling of sem_tickwait() return value sem_tickwait()
10406 does not return an -1+errno, it returns a negated errno value.
10411 - TUN Driver: Fix a compile time error in the TUN driver. From
10413 - USB Host HID Parser: Wrong size used in memcpy(). From Hang Xu.
10414 - PCA9555: Fixed a bug in the function pca9555_setbit which occurs if
10415 someone tries to set one of the pins 8-15. The problem is that
10425 - TCP/IOB: Numerous fixes, mostly relate to TCP and IOB buffering
10432 - USBHS Device: In USBHS device driver, fix check if zero length
10437 - OTG FS Host: Fix some backward arguments to stm32_putreg(). Note
10442 - tools/mkdeps.c: Extended/fixed support for --winpath option.
10447 - apps/platform/Makefile: Use a relative path to the board directory
10452 NuttX-7.15 Release Notes
10453 ------------------------
10457 that release consists of two tarballs: nuttx-7.15.tar.gz and
10458 apps-7.15.tar.gz. These are available from:
10463 Both may be needed (see the top-level nuttx/README.txt file for build
10470 - Add a state variable that provides the current level of OS
10472 run early in the start-up sequence but cannot run if a sufficient
10474 - Spinlocks: Add interface definitions for to support spinlocks as
10475 needed for multi-CPU configurations.
10476 - SMP support. Support for Symmetric Multi-Processing (SMP) added.
10479 interfaces to support CPU initialization and inter-actions, and
10487 - TLS: Basic definitions needed to support thread local storage
10490 - Performance Monitoring: Add a configuration option to buffer
10491 RTOS instrumentation data in an in-memory buffer.
10492 - boardctl(): Add boardctl() support that will permit applications
10497 - procfs: Add /proc/kmm entry that shows that state of the kernel
10500 - procfs: Add support for showing CPU in the tast status if SMP is
10505 - ARP: Add support for IOCTL commands to manage the ARP table.
10506 - IEEE 802.15.4 and 6LowPAN: There are some radio drivers and a
10509 NuttX repositories. Hopefully in NuttX-7.16.
10513 - ADS1242: Driver for the 24-Bit Differential Input ADC ADS1242 that
10518 - U-Blox Modem: Add an upper half driver for the U-Blox Modem. From
10520 - I2C: Add an I2C, "upper half", character drivers to support raw I2C
10522 - RGB LED: Add a driver to manage a RGB LED via PWM. From Alan
10524 - Performance Monitoring: Add a character driver that will allow an
10529 - SMP: Add multi-CPU support to the simulation to support SMP
10534 * ARMv7-A, ARMv7-R, and ARMv7-M:
10536 - ARMv7-A, ARMv7-R, and ARMv7-M: Add test-and-set logic and
10538 - ARMv7-A: Added MPCOre Generic Interrupt Controller (GICv2) and
10540 - ARMv7-A: Now includes in MCU-specific hooks needed for SMP support.
10544 - HSMSI: HSMCI driver can now be configured to handle unaligned data
10549 - I2C: Backported the LPC43XX I2C driver, replacing the LPC11XX,
10555 - Support for the u-blox GSM and GPS module evaluation board with
10556 NXP LPCExpresso LPC1768. The GSM module is one of LISA-C200,
10557 LISA-U200 or SARA-G350. The GPS module is one of MAX-M7 or
10558 MAX-M8. From Vladimir Komendantskiy.
10562 - Basic support is in place for the i.MX6 Quad/Dual MCUs.
10567 - Sabre-6Quad: Basic support for the NXP/Freescale Sabre 6Quad
10572 - STM32F46xx: Support for STM32F46xx from Paul Alexander Patience
10573 - STM32L4: Add support for the STM32L4 family. From Sebastien
10578 - STM32F4 Discovery: Add PWM support for the onboard RGB LED. From
10580 - Nucleo-L476: Add support for the Nucleo-L476 board. From Sebastien
10582 - STM32L476VG Discovery: Add support for the STM32L476VG Discovery
10587 - tools/refesh.sh now has a --silent option so that it can be used in
10592 - Added a 'make olddefconfig' target that will refresh a .config file
10597 - 'arp': Add an 'arp' command that will support access to the OS ARP
10599 - 'ps': The 'ps' command will show CPU if SMP is enabled.
10603 - apps/netutils/chat: Chat logic contributed by Vladimir
10605 - apps/netutils/netlib: Add utility functions to support accesses to
10610 - apps/examples/chat: Chat example contributed by Vladimir
10612 - apps/sysem/ubloxmodem: Example to control the power
10614 - apps/examples/leds: An example to demonstrate use of LED driver.
10615 - apps/examples/smp: Add a test to verify SMP configurations.
10616 - apps/examples/rgbled: Example using the RGB LED driver to drive an
10618 - apps/examples/ostest: Add a test of TLS.
10619 - apps/examples/sched_note: Add a simple example to exercise the
10628 - Signals: Move the list of signal actions from the TCB to the group
10632 - Semaphores: Add an internal, non-standard interface to reset a
10637 - Low-Priority Work Queue: Fix logic to find an IDLE worker thread;
10642 - FAT: Add an option to force all transfers to be performed
10646 - MTD: Increase block size in mtd_geometry_s to 32-bits.
10650 - I2C: Restructured the I2C interface as necessary to eliminate some
10651 thread-safety issues inherent in the legacy I2C interface design.
10652 This effects the interface definition, all I2C clients, and all low-
10656 - I2C_RESET: Eliminate up_i2creset(). It should not be a global
10658 - PCA555: Add logic to make the PCA555 driver thread safe.
10659 - syslog: If syslog timestamping is enabled, don't try to get the time
10661 - AT24xx driver: Correct missing address calculation logic. From Frank
10666 - Networking drivers that support CONFIG_NET_NOINTS: Fix a race
10669 - Timer Poll: Fix some logic when there are multiple network
10675 - SAMV7 USB HS device: The USB driver has had some issue that would
10686 - tools/testbuild.sh: .config files were not being updated because
10687 (a) kconfig-conf was being called in the wrong directory and (b)
10693 - apps/system/i2c: The I2C tool now obeys it OS interfacing: it now
10695 - apps/system/cdcacm, usbmsc, and composite: Use new boardctl()
10700 - apps/netutils/dhcpd: DHCPD no longer calls directly into the OS but
10705 - apps/modbus/nuttx/portserial.c: Was not returning an error on
10710 - apps/examples/usbserial, composite, usbterm: Use new boardctl()
10717 - Moved C++ initialization logic out of the RTOS and into the
10721 NuttX-7.16 Release Notes
10722 ------------------------
10726 that release consists of two tarballs: nuttx-7.16.tar.gz and
10727 apps-7.16.tar.gz. These are available from:
10732 Both may be needed (see the top-level nuttx/README.txt file for build
10739 - Power Management: Add activity domain to all PM interfaces and
10745 - board_app_initialize(): board_app_initialize() now accepts an
10751 - N25Qxxx: Add MTD support for Micron N25Qxxx family of QSPI flash.
10753 - SST26F: Add an MTD driver for SST26F spi/qspi flash devices (SPI
10755 - File Descriptor Detach: Add logic to detach a file structure from a
10761 - listen()/accept(): Separate out psock_listen() and psock_accepti()
10764 - VNC Server: Add support for a VNC server. This logic is code
10769 - Framebuffer driver: Add a display number to each interface in order
10771 - VNC Server: Add support for a VNC server. This logic is code
10773 - LCD Backpack: Add support for PCF8574 LCD Backpack driver. This
10775 expander and supports the HD44780-based (or compatible) LCD modules.
10783 - RTC: Simplify the RTC interface. The old interface was way too
10785 - BH1750FVI: Add a character driver for Rohm Ambient Light Sensor
10787 - CAN: Improve CAN error reporting. From Frank Benkert.
10788 - aes.h: Modifications to the crypto API needed for LPC43xx. From
10790 - ADC: Interface no longer uses global adc_receive() call. Added a
10792 driver will register its receipt-of-data callback. This change
10798 - Linux Host Networking: Enhance networking support for the
10802 * ARMv7-A, ARMv7-R, and ARMv7-M:
10804 - ARMv7-M: Convert more assembly language files for use with the IAR
10806 - ARMv7-A: Complete re-design of SMP-related logic to initialize each
10811 - Add a JTAG config and ERASE config to Kconfig to set the
10813 - System Reset: Add the up_systemreset interface to the samv7 arch. The
10817 really should be done in the config's src if CONFIG_BOARDCTL_RESET
10822 - SAMV71-XULT: Add configuration(s) that were be used to verify VNC
10827 - Sabre-6Quad: The basic i.MX6 port is complete. This is a minimal
10828 port at present and probably still has some as-of-yet-undiscovered
10830 - Sabre-6Quad: Basic SMP NSH configuration is now working. But this
10833 Sabre-6Quad README.txt file.
10837 - LPC4337jet100: Add definitions for the LPC4337jet100 chip. From
10842 - AES: Add AES support. From Alexander Vasiljev.
10846 - STM32 L4: Add configuration options to allow SRAM2 to be used for
10847 heap, or not at all, and to zero-initialize it on OS start, or not
10849 - STM32 L4: Add support for HSE and MSI clocks, and auto trim of MSI
10851 - STM32 L4: Add support for unique id function to arch; modified board
10856 - STM32 F4 RTC: Add a custom RTC driver with support for alarms. From
10858 - STM32 L4 QSPI: Add a QSPI driver with DMA support and (optional
10860 - STM32, STM32 L4, and STM32 F7 Serial: Add support for compliant
10861 SD-style breaks. From David Sidrane.
10862 - STM32 L4 CAN: Add CAN support for STM32L4. From Sebastien Lorquet.
10863 - STM32 1-Wire: Add support for a custom 1-wire driver. The serial
10864 driver already supports a 1-wire interface, but this driver uses the
10867 - STM32 L4 SPI: Add support for SPI 4 and 5 on stm32f411 chips. From
10869 - STM32 ADC: Allow omitting use of channels in a lower part of PWM.
10870 From Pierre-noel Bouteville.
10871 - STM32 L4 I2C: Get I2C working for STM32L4. From Dave (ziggurat29).
10875 - STM3220G-EVAL: Add support for both the IAR and uVision GCC IDEs.
10877 - STM32F429I Discovery: Add support for the uVision GCC IDE. From
10879 - STM32F4 Discovery: Integrate BH1750FVI driver in the STM32F4 Discovery
10881 - STM32L476VG Discovery: Add support for QSPI based N25Qxxx flash.
10883 - STM32L476VG Discovery: Add board ioctls for allowing user application
10887 - Nucleo-144: Basic port for the Nucleo-144 board with the STM32F746ZG
10889 - STM32F103 Minimum: Add support for this minimual STM32F103CBT6 "blue"
10891 - STM32F411E Discovery: Add basic configuration for stm32f411e-disco
10896 - Moved NuttX repository to https://bitbucket.org/nuttx/nuttx.
10897 Eliminated use of sub-modules.
10898 - Add support for the IAR toolchain for the limited case of the ARMv7-M
10900 - make export: Pass top-level make to the script to allow -j greater
10902 - fs/Kconfig: Allow CONFIG_FS_WRITABLE to be manually selectable. This
10905 - arch/*/Makefile: Add definitions that can be overrided to use GCC
10910 - apps/netutils/esp8266: ESP8266 driver application. From Pierre-noel
10915 - apps/examples/alarm: Add a simple test of the ALARM iotcl calls of
10917 - apps/examples/nximage: Add a configuration option to select
10922 - apps/platform/nucleo-144: Add platform files for NUCLEO-144
10923 (NUCLEO-F746ZG). From Mark Olsson.
10924 - apps/examples/media: You can now override the default device driver
10928 Works-In-Progress:
10931 introduced in NuttX-7.15. Work has continued on this effort on
10934 least NuttX-7.17.
10945 - Various places: Search for places where a stray semicolon following
10948 - enter/leave_critical_section() may attempt to access task lists
10953 - SMART MTD: Return code of smart_scan not checked, can cause success
10956 - mount: Fix a backward debug assertion. Noted by David Sidrane.
10960 - NRF24L01: Fix backward calculation of relative frequency. Noted by
10962 - PCA9555 I/O expander: Fix an error in the PCA9555 driver: Under
10963 certain error conditions, interrupts were not being re-enabled.
10965 - ADS1255: Must not do SPI access from interrupt handler. Use the
10967 - Several SPI-based drivers modified. All drivers that use SPI must
10969 - MS583730: Fix a bug in crc computation for ms583730. Implement
10974 - Fix typo in MATRIX register definitions. From Stefan Kolb.
10975 - SAMV7 Tickless Mode: This is a fix to a problem in the handling of
11005 - SAMA5: Stefan Kolb's change to the SAMV7 Oneshot Timer should also
11010 - SAM3/4: Stefan Kolb's change to the SAMV7 Oneshot Timer should also
11015 - SAMV7 TWIHS (as well as SAM3/4 and SAMA5: Ensure that the TWIHS
11019 while back in the stm32 family, so there may be more arch-es with
11023 - USBHS Device: Remove disabling of whole USB on suspend of USBHS.
11026 disabling the whole peripheral, the next wakeup-interrupt comes up
11027 with an disabled clocking. The unfreeze clock has no effect, because
11028 the master clock is disabled. This makes all registers, including
11032 - MCAN: Fix missing unlock of device in MCAN mcan_txempty(). From
11037 - STM32 L4 Clocking: Problem with resetting backup domain clears
11046 - STM32L4 SPI: That STM32Lr SPI driver is quite different. They now
11048 before a new bit has to be set (RX fifo threshold) to handle <= 8-bit
11049 transactions. If not set, the default is 16-bit packed >=8-bit
11050 frames and the RXNE bit is never set (it is set when 16-bits are
11051 received). weird things as always. This also add 8-bit access
11052 routines to the data register, because a 16-bit access to the data
11055 - STM32: Correct some bad commits that broke the LTDC display example.
11057 - STM32 F4 RTC: Fix logic in F4 RTCC driver that prevent ALARM
11059 - STM32 F1 ADC: Fix STM32 ValueLine ADC IRQ number selection. From
11064 - STM32F429I Discovery: Correct some bad commits that broke the LTDC
11069 - GPIO Interrupts: Fix a bug of GPIO falling-edge interrupt for tiva.
11074 - math: Add a NAN test on 'x' in asin function of lib_asin.c. Suggested
11075 by Pierre-noel Bouteville.
11079 - Several Makefiles: Add .PHONY definitions to prevent 'clean up to date'
11080 message weirdness when 'make clean' is done with no .config or
11083 NuttX-7.17 Release Notes
11084 ------------------------
11088 that release consists of two tarballs: nuttx-7.17.tar.gz and
11089 apps-7.17.tar.gz. These are available from:
11094 Both may be needed (see the top-level nuttx/README.txt file for build
11101 - drivers/mtd: Add a driver of IS25xP SPI flash devices. Based on
11106 - Break out internal interface psock_ioctl().
11110 - PTYs: Added support for pseduo-terminals: Device drivers that can be
11111 used for communications between tasks (usually with re-directed I/O).
11113 - Button upper half driver: Added support for poll().
11114 - CAN: Add support for poll. From Paul Alexander Patience.
11115 - GPIO: Add support for a simple GPIO driver. It supports only pre-
11119 - I/O Expander: Shadow-Mode: The output- and configuration registers of
11120 the IO-Expander are held in the microcontrollers memory and only
11121 written to the IO-Expander. This reduces bus traffic and is more
11122 error-proof than the normal read-modify-write operation. Retry Mode:
11123 If enabled and an error occurs while writing to the IO-Expander the
11126 - Pipes/FIFOs: Add support to allocating different sizes for pipe and
11128 and pipe(), but allow control of the size of the underlying, in-memory
11135 - SYSLOG: Consolidated all SYSLOG logic in drivers/syslog. Added an
11142 usable with other-than-FLAT builds.
11143 - SYSLOG: syslog() will now automatically redirect output to
11145 - Extended SYSLOG logic so that we can send SYSLOG output to a file.
11146 - SYSLOG character device channel will now expand LF to CR-LF.
11148 - Add a SYSLOG character device that can be used to re-direct output
11151 - Debug features are now enabled separately from debug output.
11162 - Since the SYSLOG layer now automatically handles low-level vs.
11163 high-level output, the low-level (ll) variants of the debug macros
11165 - Reviewed all uses of *err(). These macro family should indicate
11168 - _alert(): New debug macro: _alert(). This is high priority,
11171 - Many CONFIG_DEBUG_* options did not have matching macros defined in
11178 - Added the simulated QSPI (N25Q) flash to the simulation and extened
11179 flash simulation capabilities to run with MTD drivers based on config
11184 - SPI: SPI-Freq. 40MHz; VARSELECT; hw-features This change adds the
11187 o Increase the allowed SPI-Frequency from 20 to 40 MHz.
11199 the first bit, between the last bit and the de-assertion of the
11202 o Add three "hw-features" for the SAMV7, which controls the behavior
11204 - force CS inactive after transfer: this forces a (short) de-
11207 - force CS active after transfer: this forces the CS to stay
11211 - escape LASTXFER: this suppresses the LASTXFER bit at the end
11212 of the next transfer. The "escape"-Flag is reset automatically.
11215 - TWISHS: Driver improvements from Michael Spahlinger.
11216 - GPIO-Driver fixed for Open-Drain Pins:
11219 back. This is extremely important for Open-Drain Pins, which
11221 o Re-Implemented twi_reset-function and enhanced it so it can be
11223 o Glitch-Filter: Added a configuration option to enable the twi-
11224 built-in glitch filter
11225 o Added a "Single Master Mode": In EMC Testing the TWI-Bus got
11226 stuck because the TWI-Master detected a Multi-Master access (but
11232 With the above changes I�C-Bus reliability in harsh environments (eg.
11233 EMC) is greatly improved. The small change in the GPIO-Driver was
11235 status of Open-Drain Outputs and this is needed by the twi_reset
11240 - EMC: Extend LPC43xx EMC code to support SDRAM on a dynamic memory
11245 - Kinetis K64: Add basic support for the K64 family. I leveraged the
11246 changes from https://github.com/jmacintyre/nuttx-k64f and merged
11252 - Add a KinetisUSB device controller driver. Derived from the pic32mx
11254 - Kinetis pwm support, based on the KL pwm driver. From kfazz.
11255 - Kinetis Ethernet: Add support for the KSZ8081 PHY.
11256 - Kinetis Ethernet: Modified Ethernet driver to try all PHY addresses
11260 - Kinetis Ethernet: Add support for CONFIG_NET_NOINTS. The driver no
11262 work to the high-priority work queue.
11266 - Teensy-3.x: Add USB support and a usbnsh configuration.
11267 From kfazz (2016-06).
11268 - Freedom-K64F: Add support for the NXP Freedom-K64F board at 120MHz.
11270 code from https://github.com/jmacintyre/nuttx-k64f which was, itself,
11274 - Freedom-K64F: Added a configuration that supports networking.
11278 - STM32 F1-4: Added support for the STM32F105R. From Konstantin
11280 - STM32 F4: Added support for the STM32FF76xxx and STM32FF7xx
11282 - STM32 F1-4: Add support for Tickless mode (two timer
11284 - STM32 L4: Add support for tickless OS, and incidentally timers,
11285 PWM, oneshot, free-running.... From ziggurat29.
11289 - STM32 F1-4: Add the up_getc() function to STM32 in order to support
11291 - STM32 F7: Add SPI driver. From David Sidrane.
11292 - STM32 F7: Add SPI, I2C, and ADC drivers. From Lok Tep.
11293 - STM32 L4: Add ioctls to set/get CAN bit timing in stm32l4. Add
11296 - STM32 L4: Add some CAN mode IOCTL calls. These will be useful for
11300 - STM32 F1-4: Port STM32L4 CAN IOCTLs to STM32. From Sebastien Lorquet.
11301 - STM32 L4: Implementation of loopback IOCTLs. From Sebastien
11303 - STM32 F7: Added SDMMC1 support for stm32F7 74-75. From Lok Tep.
11304 - STM32 F7: Add USB support. From Lok Tep.
11305 - STM32 F7: Added PWR, RTC, and BBSRAM support for stm32f7. From David
11307 - STM32 F7: Added STMF7xxx RTC. From David Sidrane.
11308 - STM32 F7: Added STM32F7 DBGMCU. From David Sidrane.
11309 - STM32 L4: Port support for both RX FIFOs from STM32 CAN. From Paul
11314 - Added a minnsh configuration for the STM32F103-Minimum board. From
11316 - Added support for the Nucleo-F767ZI board. From David Sidrane.
11317 - Nucleo-144/Nucleo-F767ZI: Add test for STM32 F7 SPI. From David
11319 - Nucleo-144: Added SDMMC support to Nucleo-144. From David Sidrane.
11320 - Olimex STM32-E4077: Add support for Olimex STM32 E407 board. From
11322 - Nucleo-144: Added USB OTG device to Nucleo-144. From David Sidrane.
11323 - Nucleo-144: Added bbsram test to Nucleo-144. From David Sidrane.
11324 - STM32F4 Disovery: Add CAN support for STM32F4 Discovery. From
11326 - STM32F4 Disovery: added a canard configuration files. From
11328 - STM32F4 Discovery: Add FPU support for ostest for the STM32F4
11330 - STM32L476 Discovery: Update stm32l476 disco to include init code for
11336 - include/assert.h: Check if NDEBUG is defined. From Paul Alexander
11338 - assert.h: Define static assert for C++ usage. From Paul Alexander
11340 - Add crc64 support. From Paul Alexander Patience.
11341 - hex2bin: Move the portable library portion of apps/system/hex2bin
11343 boot-loader builds.
11344 - Add raise().
11345 - libm: This change should significantly improve the performance of
11351 - printf(): If there are no streams, let printf() fall back to use
11353 - Move pipe() and mkpipe() to nuttx/libc, they are no
11356 - Move driver-related files from include/nuttx to include/nuttx/drivers.
11359 - include /nuttx/lib: Move library-related files from include/nuttx to
11364 - Custom Board Configuration: Add logic to support custom board
11369 - Remove the includes/apps link to apps/include. It is no longer
11374 - tools/tesbuild.sh will now build NxWM configurations.
11378 - Change to the way that apps/ Kconfig files are generated in
11385 - apps/include directory structure reorganized. There are no longer
11386 any header files in the apps/include/. directory. Rather, sub-
11387 directories were added to match the partitioning of apps/ sub-
11389 sub-directory. This change is intended to help with some changes
11391 - Call all includes from <apps/bla/bla.h> to "bla/bla.h". From Sebastien
11393 - Add apps/include to include path in top-level Make.defs file.
11397 - Make NSH net-initialization be a configuration option. From Marten
11399 - Add NTP client initialization in NSH network startup logic. From
11401 - 'ps' command now prints out the stack usage if stack coloration is
11403 - Allow stack usage to be disabled on constrained systems. From David
11408 - NTP Client: Add retries. From David S. Alessio.
11409 - NTP Client: The NTP client will now optionally use pool.ntp.org as
11410 the NTP server; and reset the retry count upon success -- more robust.
11412 - ESP8266: Add logic to set the BAUD rate. From Pierre-noel Bouteville.
11413 - ESP8266: In Kconfig, select ARCH_HAVE_NET when NETUTILS_ESP8266 is
11415 output. From Pierre-noel Bouteville.
11419 - flash_eraseall: IOCTL wrapper for MDCIO_BULKERASE command. Was in
11425 - canlib: Basic CAN utility library. From Sebastien Lorquet.
11429 - flash_eraseall: Now uses the IOCTL wrapper at apps/fsutils/flash_eraseall.
11433 - Add platform files for Olimex STM32 E407. From Mateusz Szafoni.
11437 - apps/examples/canard: Add canard example application. From
11439 - apps/examples/pty_test: PTY test program. From Alan Carvalho de
11442 Works-In-Progress:
11445 introduced in NuttX-7.15. Work has continued on this effort on
11448 least NuttX-7.18.
11459 - semaphores: Need to set errno to EINVAL on errors in sem_post()
11464 - Several MTD FLASH drivers nullify the freed 'priv' structure and
11467 - VFS ioctl(). Per comments from David Sidrane, file_ioctl() should
11470 - SST26 Driver: Before accessing the sst26 flash, the "Global Unlock"
11471 command must me executed, which I do in the sst26 driver. BUT re-
11475 happen at all, the flash is half-enabled! From Sebastien Lorquet.
11476 - N25Qxx Driver: Alter the notion of 'blocksize' to be equivalent to
11482 - SmartFS: Fix a 32-byte memory leak. From Ken Pettit.
11483 - SMART MTD layer: Fixes freesector logic error when sectorsPerBlk=256,
11490 - USB CDC/ACM Device Class: cdcacm_unbind leaks write request objects.
11499 - Pipes and FIFOs: Add missing configuration for pipe ring buffer
11501 - UART 16550: Handle when CONFIG_SERIAL_UART_ARCH_IOCTL is not
11503 - Common Serial Upper Half: Fix a race condition noted by Stefan
11511 - USB MSC Device Class: Add locks when removing request from queue.
11513 - USB MSC Device Class: Fix reversed logic on waiting for SCSI thread
11522 - Correct conditional compilation in ST7565 LCD driver. From Pierre-
11527 - In both IPv6 and IPv4 incoming logic: (1) Should check if the
11533 - TCP Networking: While working with version 7.10 I discovered a
11546 to conn->isn + conn->sent, which is truth only if no further
11552 * ARMv7-M:
11554 - ARM stack check: Fix double fault on IDLE task with stack size = 0.
11559 - CAN: CAN Message Filtering fixed: (1) stdfilters didn't work because
11572 - Fix some errors in AFEC header file. From OrbitalFox.
11573 - DAC: DACC_WPMR_WPKEY_MASK -> DACC_WPMR_WPKEY. From Wolfgang
11575 - Timer: Fix ops check in TCIOC_STOP. From Wolfgang Reissnegge.
11576 - I2C: Fix reversed logic in twi_startmessage(). From Wolfgang
11578 - SAM3/4 UDP: Fix handling of endpoint RX FIFO banks. This fixes
11584 - USBHS Device: This change solves a problem which causes data loss
11596 - Timers: Support up to 8 channels per timer. From kfazz.
11600 - Teensy 3.x clock fixes: The High Gain bit in MCG_C1 was preventing
11603 restrictions in the k20 family reference manual on FEI -> FBE clock
11608 - LPC17 Ethernet: Needs to correctly ignore PHYID2 revision number
11613 - Fix errors in GPIO interrupt logic. From v01d (phreakuencies)
11614 - Ethernet: Correct auto-negotiation mode in the LPC43xx Ethernet.
11616 - Writing zero to NVIC_IRQ_ENABLE has no effect. Disable interrupts
11618 - SPIFI: If CONFIG_SPIFI_SECTOR512 undefined, lpc43_bwrite doesn't do
11623 * Qemu-i486:
11625 - Fix qemu-i486/ostest/Make.defs test for M32. From Heath Petersen.
11629 - Fix EFM32 FLASH conditional compilation. From Pierre-noel
11631 - Writing zero to NVIC_IRQ_ENABLE has no effect. Disable interrupts
11636 - STM32 F1-F4: In PWM driver, just update duty if frequency is not
11638 only duty is frequently changed. From Pierre-noel Bouteville.
11642 - STM32 F7: Fixed STM32F7 DMA stm32_dmacapable. DMA working on SDMMC.
11644 - STM32 F1-F4 Timer Driver: Change calculation of per- timer pre-scaler
11646 - STM32 F1-F4: Correct conditional compilation in STM32 timer capture
11647 logic. From Pierre-noel Bouteville
11648 - STM32 F1-F4: Fix STM32 DMA code and configuration for STM32F37X chips.
11650 - STM32 F1-F4: Fix compilation errors in debug mode of stm32_pwm.c.
11652 - STM32 F1-F4: Correct the CAN2 RX IRQ number for stm32f10xx chips.
11654 - STM32 F1-F4: Move backup domain reset to earlier in the
11657 - STM32 F1-F4: When configuring a GPIO via stm32_configgpio() the
11660 externaly pulled-up pin, this would lead to a glitch on the line
11664 - STM32 F7: Apply Pascal Speck's GPIO STM32 change to STM32 L4.
11665 - STM32 L4: Apply Pascal Speck's GPIO STM32 change to STM32 L4.
11667 - STM32 F7: BUGFIX: PLLs IS2 and SAI P Calculation. From David
11669 - STM32 L4: STM32 CAN fixes need to be backported to STM32L4 as well.
11670 - STM32 F1-F4 and L4: Writing zero to NVIC_IRQ_ENABLE has no effect.
11673 - STM32 F7: STMF7xxx RTC: (1) Remove proxy #defines, (2) Ensure the
11683 - STM32 F1-F4: STM32 BBSRAM fixed (and formatted) flags. From David
11685 - STM32 F7: STM32F7 BBSRAM fixed (and formatted) flags. From David
11687 - STM32 L4: Fix incorrect clock setup for LPTIM1. From ziggurat29.
11688 - STM32 F4/L4 RTC ALARM: were enabling interrupts too early in the
11689 power-up sequence, BEFORE the interrupt system was being
11694 - STM32 board.h: Fix STM32 timer input clock definitions. From David
11699 - Bug Fix in tiva_serial.c - UART5, UART6 and UART7 were not being
11705 - include/signal.h: Change type of SIG_ERR, SIG_IGN, ... to
11708 - crc16: fix error. From Paul Alexander Patience.
11709 - strtoul() and strtoull(): Fix errno settings required by function
11714 - Build system: This change fixes a build problem that only occurs
11715 when reconfiguring from Linux to Windows or vice-versa. It is a
11726 native toolchain cannot follow the Cygwin- style symbolic links.
11732 - Need to build the drivers/ directory even it file descriptors are
11735 - Remove all inclusion of header files from the apps/include
11743 - Make sure that APPNAME is defined in all Makefiles that generate
11748 - apps/builtins: exec_builtin was not using the provided open flags.
11754 - apps/nshilib: PS Command: When Priority Inheritance is enabled, the
11761 - apps/netutils, uIP webserver: Fix a data declaration in a header
11766 - apps/canutils/libuavcan: Fix for recent change to STM32 timer
11771 - apps/examples/alarm: ioctl call was clobbering file descriptor.
11772 - apps/examples/can: Some variables were not declared in all required
11774 - apps/examples/media: media example was intended to take either a
11775 command line argument, or a compiled-in default value from config.
11779 NuttX-7.18 Release Notes
11780 ------------------------
11784 that release consists of two tarballs: nuttx-7.18.tar.gz and
11785 apps-7.18.tar.gz. These are available from:
11790 Both may be needed (see the top-level nuttx/README.txt file for build
11797 - Add standard adjtime() interface and basic timekeeping support.
11800 - Use the oneshot timer with optional entropy to measure CPU load if
11805 - Add Fujistu MB85RS256B ramtron support. From Beat K�ng.
11806 - SPI-based MTD driver for Macronix MX25L3233F or MX25L6433F. From
11811 - SH1106 0.96 OLED module support (SSD1306 compatible) + I2C fixes.
11816 - Add KXTJ9 Accelerometer driver from the Motorola Moto Z MDK.
11817 - Add MFRC522 RFID ISO14443 and Mifare transceiver driver. From Alan
11819 - Add driver for the LIS3MDL 3 axis magnetometer. From Alexander
11821 - Add driver for the MLX90393 3 axis magnetometer. From Alexander
11823 - Add driver for the LIS3DSH 3 axis accelerometer. From Alexander
11825 - Add driver for the Bosch BMG160 3 axis gyroscope. From Alexander
11827 - Add support for the Sensixs XEN1210 3D-board. This sensor is used
11828 on NANOSATC-BR2 a Brazillian CUBESAT project. From Alan Carvalho
11830 - Add a new ioctl command (set MAXPOS) for Tiva QEI. From Young.
11834 - I/O Expander: Remove hard-coded PCA9555 fields from ioexpander.h
11837 - I/O Expander Interface: Encode and extend I/O expander options to
11839 - PCA9555 Driver: Replace the signalling logic with a simple callback
11842 the lower-lower part of any driver that uses GPIOs (include the GPIO
11849 - Add a skeleton I/O Expander driver (based on the PCA9555 driver).
11850 - Add PCF8574 I/O Expander driver.
11851 - GPIO driver: Add IOCTLs to get the pin type and to unregister a
11853 - Add a GPIO lower-half driver that can be used to register a GPIO
11855 - Add an SPI helper function that encapsulates and manages a sequence
11857 - Add an SPI character driver that will permit access to the SPI bus
11859 - Add oneshot timer lower half interface definition.
11860 - Add an upper-half, oneshot timer character driver.
11861 - Add Audio Tone Generator for NuttX. From Alan Carvalho de Assis.
11862 - Add USB host support for composite devices. This feature is not
11864 - drivers/ioexpander: Add an (untested) TCA64XX I/O Expander driver
11869 - Add a simulated I/O Expander driver.
11870 - Add simulator-based test support for apps/examples/gpio.
11871 - Add a configuration useful for testing Mini Basic.
11872 - Add a simulated oneshot lowerhalf driver.
11876 - SAM4CM: Add option to support oneshot timer without free-running
11881 - SAMA5D: Add option to support oneshot timer without free-running
11886 - SAMV71/SAME70: Add option to support oneshot timer without
11887 free-running timer. Add oneshot lower half driver.
11888 - Add support for SAMV7 DACC module. From Piotr Mienkowski.
11892 - Add support for I2C and RTC. From v01d (phreakuencies).
11896 - Add teensy 3.x I2C support. From v01d (phreakuencies).
11900 - Add IAR-style STM32F1xx vectors. Tested on STM32F103RB and
11905 - Add timekeeping support for the STM32 tickless mode. From Max
11907 - Add a oneshot, lower-half driver for STM32.
11908 - STM32 L4: Add oneshot lower half driver for STM32 L4.
11909 - STM32 L4: Add support for quadrature encoders on STM32L4. Sebastien
11914 - stm32f103-minimum: Add board support to MFRC522 driver. From Alan
11916 - Add oneshot board initialization to stm32f103-minimum. From Alan
11918 - stm32f103-minimum: Add board configuration to initialize Audio Tone
11920 - stm32bufferfly2: Add support for the Kamami stm32butterfly2
11922 - stm32f103-minimum: Add board config support to SPI LCD module
11923 JLX12864G-086. From Alan Carvalho de Assis.
11924 - stm32l476-mdk: Support basic booting and nsh on Motorola MDK. The
11927 - STM32 F4 Discovery: Add support for XEN1210 3D-board. From Alan
11929 - stm32f103-minimum: Add stm32_bringup support and userled example to
11931 - Add support for qencoders on various nucleo boards. From Sebastien
11933 - olimex-stm32-e407: Add some networking configurations. From Mateusz
11938 - Add tiva PWM lower-half driver implementation. From Young.
11939 - Tiva QEI: Add QEI lower-half driver for Tiva series chip. From
11944 - Separate XorShift128 PRNG from /dev/urandom and make it generally
11946 - Add POSIX type sig_atomic_t. From Sebastien Lorquet.
11947 - Add the difftime() function. The function depends on the toolchain-
11950 - Add support for remove(). From Sebastien Lorquet.
11951 - Add system() to stdlib.h. Actual implementation is in
11956 - Rename arch/sh to arch/renesas.
11957 - Remove contactless drivers from drivers/wireless to drivers
11959 - Move all modem-related IOCTL commands to a common file to assure
11964 - Add sethost.sh. This is a script that you can use to quickly
11970 - Add logic to support an NSH-specific system command.
11971 - Add printf command to NSH, e.g., controlling /dev/userleds from
11977 - Port tee command from NetBSD.
11978 - Add a generic system command. Current implentation cannot use
11983 - Add C++ support for STM32L476-MDK.
11987 - Add a port of Mini Basic, version 1.0, written by Malcom McLean and
11992 - Add a simple test of the GPIO driver.
11993 - Add RFID_READUID sample application. From Alan Carvalho de Assis.
11994 - Add Oneshot timer example.
11995 - Add a simple test of the system command.
11997 Works-In-Progress:
12000 introduced in NuttX-7.15. Work has continued on this effort on
12003 least NuttX-7.19.
12011 - Explicitly initialize the group tg_exitsem with sem_init(). The
12014 - The TCB nchildren field should not be incremented when pthreads are
12016 - Move fields related to parent/child task relationship out of TCB
12019 - mq_send() was not setting the errno value on certain failures to
12021 - Define 'group' even if HAVE_GROUPID is not set. From Mateusz
12023 - Vector table should have dimension NR_IRQS, not NR_IRQS+1. From
12025 - pthreads: When a pthread is started, there is a small bit
12040 - FAT performance improvement. In large files, seeking to a
12044 short-circuits fat_seek() in all cases where we attempt to seek to
12046 - MTD: Fixed cloned typos in several FLASH drivers. From Aleksandr
12048 - mount: Corrects a bad assertion noted by Pierre-noel Bouteville.
12056 - Various serial drivers: Fix FIONWRITE and add FIONSPACE. All
12061 - Add missing prototype for btn_lower_initialize().
12062 - Make DAC sample structure packed. From Marc Recht�.
12066 - TCP: tcp_ipvX_bind() not actually using the port selected with
12069 - drivers/net: NET_TUN=y => NET_MULTIBUFFER=y. From Vladimir
12071 - slip driver: Fix calculations using MSEC_PER_TICK. If
12077 - SAM3/4 GPIO: Enable peripheral clock for GPIO port when GPIO is
12082 - All SAM Ethernet Drivers: Add support so that the drivers can be
12084 - SAM3/4: Fix GPIO pull-up/down code. Enabling the pull-down resistor
12085 while the pull-up resistor is still enabled is not possible. In this
12087 Likewise, enabling the pull-up resistor while the pull-down resistor
12094 - All SAM Ethernet Drivers: Add support so that the drivers can be
12096 - SAM GPIO: Apply Wolfgang's change for SAM3/4 to SAMA5 and SAMV7.
12100 - Add missing oneshot max_delay method.
12101 - All SAM Ethernet Drivers: Add support so that the drivers can be
12103 - SAM GPIO: Apply Wolfgang's change for SAM3/4 to SAMA5 and SAMV7.
12107 - LPC43xx serial: Fix typos in LPC43 serial driver. Found by Vytautas
12109 - LPC43xx Serial: There are some small problems in LPC43xx RS485 mode
12121 - EFM32 SPI drivers adopted incompatible conventions (See STM32 for
12126 - STM32, STM32 L4, and EFM32 SPI drivers adopted incompatible
12128 to negative when calling SPI_SETBITS which had the magical side-
12139 - Add missing SPI2 and SPI3 support for STM32F3F3. Add STM32F37XX DMA
12142 - STM32: Make stm32_pwr_enablebkp thread safe. From Max Neklyudov.
12143 - Fix bad pllmul values for STM32F1XX connectivity line. STM32F1XX
12146 - STM32F3 SPI: Fix the number of bit setting for the F3. That and
12149 - STM32 and STM32 L4: Enabling SPI DMA loses other bits in CR2.
12150 - STM32F3 SPI: Cannot write always 16-bit value to DR register
12152 - STM32F411 and STM32F446 map i2c2_sda_4 to different alternate
12154 - STM32 DMA Fix: Change stm32 adc dma callback to send channel
12156 - STM32 OTGFS device: Fix for lost first word from FIFO
12172 - STM32 L4 OTGFS device: Apply stm32 fix to stm32l4. From Sebastien
12174 - STM32 F7: Remove duplicate call to pkt_input from Ethernet driver.
12176 - STM32 L4: Add support for USART3-USART5. For STM32L4 parts, the
12180 - STM32 USB: Set USB address to avoid a failed assertion. From
12181 Pierre-noel Bouteville.
12182 - STM32 L4 and L7 USB: Pierre's assertion-avoidance change should
12184 - STM32, L4, and F7: Remove GPIO_ETH_RMII_TX_CLK. TX_CLK is not
12186 - STM32 Ethernet: Correct typo in conditional logic. From Neil
12188 - STM32 L4 USB Device: Fixed L4 USB Driver by avoiding SETUPDONE and
12190 - STM32 SPI: stm32_modifycr2 should be available on all platforms if
12192 - STM32 DMA2D: fix an error in up_dma2dcreatelayer where an invalid
12198 - Fix two bugs of tiva pwm lower-half driver implementation. From
12200 - Tiva Ethernet: Needs support for CONFIG_NET_MULTIBUFFER=y.
12204 - lib_dumpbuffer() now prints a large on-stack buffer first to avoid
12206 Pierre-noel Bouteville.
12207 - libc/math: This fixes the following libc/math issues: (1) asin[f l]()
12216 x near -3.0. This patch fixes that problem. It should be noted that
12218 less than 1.2E-07 and that�s fine for the float version erff(), but
12224 - strtod() was not returning endptr on error conditions.
12225 - libc/math: floor(), floorf(), and floorl(): Fix logic error. Was
12227 - isatty() should be prototyped in unstid.h, not termios.h. From
12229 - nxglib: Fix handling of near-horizontal lines of width 1 in
12231 width 1 lines such as (0, 0) - (100, 10) to have gaps in the
12236 - Top-Level Makefiles: Fix a chicken-and-egg problem. In the menuconfig
12237 target, the context dependency was executed before kconfig-mconf. That
12240 Kconfig files would not be included. But this introduces the chicken-
12241 and-egg problem in some configurations. In particular: (1) An NX
12242 graphics configuration is used that requires auto-generation of
12245 In this case, POSIX-style symbolic links are set up but the Windows
12256 - CXXFLAGS: Add -fcheck-new whenever -fno-exceptions is used. From
12261 - tools/refresh.sh: Recent complexities added to apps/ means that
12264 - tools/kconfig2html.c: Update to handle absolute paths when sourcing
12266 - tools/mkfsdata.pl was still generating the old-style apps/include
12271 - Add DIRLINK and DIRUNLINK tool definitions to apps/Make.defs.
12275 - Fix FIFO_SIZE vs PIPE_SIZE.
12276 - Fix hex representation of IP address in Kconfig. Noted by Michal
12278 - nsh_syscmds.c: missing semicolon. From Mateusz Szafoni.
12279 - In system command, don't try to flush output streams if stdio
12284 - libuavcan: Under certain circumstances, DELIM is not be defined in
12286 - Add definition for APPNAME in apps/canutils/canlib. From Sebastien
12291 - Fix an error minmea. From Aleksandr Vyhovanec.
12295 - apps/examples/oneshot: If the requested delay is > max_delay, then
12298 NuttX-7.19 Release Notes
12299 ------------------------
12303 that release consists of two tarballs: nuttx-7.19.tar.gz and
12304 apps-7.19.tar.gz. These are available from:
12309 Both may be needed (see the top-level nuttx/README.txt file for build
12316 - sched/semaphore, sched/phread/, libc/semaphore, libc/pthread: Add
12317 pthread_mutexattr_get/set_protocol and non-standard
12320 - Spinlocks: Added capability to provide architecture-specific memory
12322 - SMP: Add spin_trylock(). Use this in conditions where other CPUs need
12324 - sched note: Extend OS instrumentation to include some SMP events.
12327 - sched note: Permit spinlock and critical section notes in in-memory
12328 buffer iff sched_not_get() interfaces is disabled.
12329 - sched note: Add additional note to see if/when CPU is started in SMP
12331 - sched note: Record ID enumeration now results on constant values; ID
12332 … values do not change with configuration. This makes writing post-processing software much easier.
12333 - boardctl: Add new boardctl() command, BOARDIOC_NX_START, to start the
12335 - pthreads: Add pthread_cleanup_push() and pthread_cleanup_pop().
12336 - pthreads: Added pthread_setcanceltype() and pthread_testcancel().
12337 - pthreads: Add support for cancellation points.
12338 - task_delete() now obeys all cancellation point semantics.
12339 - Add task_setcancelstate(), task_setcanceltype(), and
12340 task_testcancel(). These are non-standard interfaces analogous to the
12346 - boardctl: Add new boardctl() command, BOARDIOC_NX_START, to start the
12351 - Network drivers: Add option to use low-priority work queue to all
12353 - Network Drivers: Adapt all Ethernet (and other MAC) drivers to work
12356 - Eliminate CONFIG_NO_NOINTS. There is no longer any support for
12361 - Vishay VEML6070: Add Vishay VEML6070 driver. From Alan Carvalho de
12364 * ARMv7-A
12366 - ARMv7-A/i.MX6: Add SCU register definitions. Add some controls to
12368 -- cache still incoherent on i.MX6.
12369 - ARMv7 GIC: SGIs are non-maskable but go through the same path as
12375 - SAM3/4: Add SMP support for the dual-core SAM4CM. From Masayuki
12380 - Add support for the SAM5CMP-DB board. From Masayuki Ishikawa.
12384 - SAM4CMP-DB: Add support for the Atmel SAM4CMP-DB board running in an
12386 - SAM4CMP-DB: Add hooks to auto-mount the procfs file system on startup
12387 in board bring-up logic.
12391 - SAMv7: Register the watchdog device at the configured device path
12392 CONFIG_WATCHDOG_DEVPATH vs. hard-coded /dev/wdt. From Frank Benkert.
12396 - Calyps: Remove all Calypso board configurations. Remove Calypso
12401 - Misoc LM32: Adds basic support for the Misoc procoessors and the LM32
12403 - Misoc LM32: Add signal handling logic. From Ramtin Amin.
12404 - Misoc LM32: Add logic to flush/invalidate caches. From Ramtin Amin.
12408 - Misoc LM32 Serial: Add interrupting Misoc serial driver. From Ramtin
12410 - Misoc LM32 Timer: Add timer driver. From Ramtin Amin.
12411 - Misoc LM32: Add Misoc Ethernet driver From Ramtin Amin.
12415 - Misoc LM32 Qemu: Board support for testing Misoc LM32 with Qemu. From
12417 - Misoc LM32 Qemu: Integrate network support into configs/misoc/hello.
12419 - Misoc LM32 Qemu: Remove configs/misoc/include/generated directory. I
12425 architecture for a real-life build. From Ramtin Amin.
12429 - i.MX6: Add an untested SPI driver taken directly from the i.MX1 port.
12433 - Kinetis: Added missing headers. Kinetis broke out SPI to
12435 inclusion - still STUBS. Add Kinetis support for ARMV7-M Common
12442 - Kinetis: Add UID Unique ID. From Neil Hancock.
12446 - Freedom-K64F board: Add support for UID Unique ID. From Neil Hancock.
12450 - Olimex-LPC1766-STK: Enable procfs in NSH configuration. Automount
12455 - LPC43xx: Add timer driver: From Alan Carvalho de Assis.
12456 - LPC43xx GPDMA driver: The GPDMA block is basically the same as the
12463 - Bambino 200E: Add basic support to Micromint Bambino 200E board.
12466 - Bambino 200E: Add support for timer driver. From Alan Carvalho de
12471 - Remove RGMP and RGMP drivers.
12473 * RISC-V:
12475 - RISC-V: Add support for the RISC-V architecture and
12476 configs/nr5m100-nexys4 board. The board support on this is pretty
12477 thin, but it seems like maybe a good idea to get the base RISC-V stuff
12482 - STM32 F3: Implemention of the STM32 F37xx SDADC module. There are
12486 - STM32 F3: Add PWM driver support for STMF37xx. The changes have been
12489 - STM32 F4: Support oversampling by 8 for the STM32 F4. From David
12491 - STM32 F4: Added Timers 2-5 and control of SAI and I2S PLLs. Added
12494 - STM32 F4: Expanded OTGFS support to stm32F469 and stm32f446. Added
12497 - STM32 F4: Allow dma in 1 bit mode in STM32F4xxx. From David Sidrane.
12498 - STM32 F7: Allow the config to override the clock edge setting. From
12500 - STM32 L4: Support Complementary PWM outputs on STM32L4. From
12502 - STM32 L4: Add implementation of dumpgpio for stm32l4, was required
12507 - STM32F103 Minimum: Add button support. From Alan Carvalho de Assis.
12508 - STM32F103 Minimum: Add support to PWM on STM32F103-Minimum board.
12510 - STM32F103 Minimum: Add RGB LED support on STM32F103 Minimum board.
12512 - STM32F103 Minimum: Add Vishay VEML6070 driver support to the
12513 STM32F103-Minimum board. From Alan Carvalho de Assis.
12514 - Nucleo-F303RE: Add STM32 F303RE hello configuration. From Marc
12516 - Nucleo-L476: Support PWM testing on board Nucleo L476. From
12518 - Nucleo L476: Add support for timers to Nucleo L476. From Sebastien
12520 - Hymini STM32v: Enable CONFIG_RTC in the hymini-stm32v/nsh2
12521 (kitchensink) config. From Maciej W�jcik.
12522 - Olimex STM32-p407: Add support for the Olimex STM32 P407 board.
12526 - Tiva PWM: Support PWM_PULSECOUNT feature for TI tiva. From Young.Mu.
12530 - Xtensa ESP32: Basic architectural support for Xtensa processors and
12532 - Xtensa ESP32: Add EXPERIMENTAL hooks to support lazy Xtensa
12533 co-processor state restore in the future.
12534 - Xtensa ESP32: Basic port is function in both single CPU and dual CPU
12539 - Xtensa ESP32: Add stack checking logic.
12543 - ESP32 Core v2: Basic support for Expressif ESP32 Core v2 board
12546 - ESP32 Core v2: Add configuration to support linking NuttX for
12548 - ESP32 Core v2: Automatically mount /proc at start-up.
12549 - ESP32 Core v2: Add an OS test to verify the port.
12553 - libc/locale: Add a dummy setlocale() function to avoid drawing the
12555 - include/locale.h: Modify locale.h to add localeconv() and lconv
12557 - libc/locale: Allows c++ code to compile with or without
12562 - libc/wchar: Add wcslen, wmemchr, wmemcmp, wmemcpy wmemset, btowc,
12565 - libc/wctype: Add functions wcrtomb, wcslcpy, wcsxfrm, wctob, wctomb,
12569 - include/ctype.h : Add isblank() macro to ctype.h. From Alan Carvalho
12571 - lic/stdlib: Add strtof() and strtold() as simply a copy of strtod
12573 - sscanf(): Use strtof() instead of strtod() if a short floating point
12575 32-bit FPU support with some additional code size.
12576 - sscanf(): Add scansets to the scanf function. Enabled
12578 - include/inttypes.h: Add architecture-specific inttypes.h. From Paul
12580 - C Library: Allow option to enable IP address conversions even when
12585 - The Smoothie project needs to compile C++ inside config/boardname/src/
12588 compilation, but if we execute "touch config/boardname/src/Pin.cxx"
12595 - tools/: Add tools/showsize.sh.
12599 - NSH: dd command will show statistics. From Masayuki Ishikawa.
12603 - apps/system/sched_note: Extend to include additions to instumentation
12605 - apps/system/sched_note: Add support for spinlock notes.
12606 - apps/system/sched_note: Add support for new scheduler instrumentation.
12610 - ESP32 Core v2: Add platform support for the ESP32 core v2 board.
12611 - Olimex STM32-p407: Add platform support for the Olimex STM32 P407.
12615 - graphics/traveler/tcledit and libwld: Add an X11 Tcl/Tk tool that can
12617 - Graphics: Remove all NX server taks. Instead, call boardctl() to the
12622 - examples/buttons: Add a new buttons example that uses the button
12625 - examples/cctype: Add an example to verify cctype functions.
12626 - Remove RGMP example.
12627 - examples/ostest: Extend the pthread cancellation test to exercise
12630 - examples/ostest: enhance pthread cancellation test some.
12632 Works-In-Progress:
12635 introduced in NuttX-7.15. Work has continued on this effort on
12638 least NuttX-7.20.
12646 - sched/semaphore: Within the OS, when a thread obtains a semaphore
12658 - Many files: Make sure that priority inheritance is not enabled for
12661 - sched/semaphore: sem_trywait() no longer modifies the errno value
12664 - sched/clock: Correct clock initialization. The correct range for the
12665 month is 0-11 but is entered as 1-12 in the .config file. Add ranges
12667 - sched/clock: Correct calculation for the case of Tickless mode with a
12668 32-bit timer. In that case, the calculation was returning millisecond
12671 - Work Queue: When queuing new LP work, don't signal any threads if
12673 - Work Queue: Signal sent from work_signal() may interrupt the low
12679 - Fix DEBUGASSERT() in group_signal.c. From Masayuki Ishikawa.
12680 - Eliminate bad boardctl() commands: Remove all references to
12685 - pthreads: Fix an error in pthread_mutex_destroy(). An error could
12688 - task_restart: Make sure new task starts with pre-emption disabled and
12690 - Enter/leave Critical Sections. Major redeign to
12692 interrupts are disabled only on the local CPU. In this case, some
12695 - SMP Critical Sections: Fixes for the SMP case: (1) Change order for
12699 - SMP wdogs: Wdog timers use a tasking interface that to manipulate
12703 are disabled and no conflicts can occur. But that may not be the case
12709 - SMP vfork(): Fix a race condition in the SMP case. Existing logic
12714 - SMP: This change adds a new internal interfaces and fixes a problem
12728 - SMP: Add logic to avoid a deadlock condition when CPU1 is hung waiting
12731 - SMP: Enforce this rule: Tasks which are normally restored when
12734 still have pre-emption disabled, i.e., g_cpu_schedlock is locked. In
12740 - AT24XX EEPROM MTD driver: Added EEPROM timeout. Fromo Aleksandr
12742 - fs/procfs: Fix procfs status for SMP case.
12746 - Fonts: Correct some default font IDs. From Pierre-Noel Bouteville.
12750 - usbhost/enumerate: Fix possible buffer overwrite. From Janne Rosberg.
12751 - usbhost/composite: Fix compile; missing semicolons. From Jann Rosberg.
12752 - syslog: Fixes required for file syslog output. From Max Kriegleder.
12753 - SPI configuration: Fix Kconfig warning. This change moves the
12761 - drivers/timer: Remove the timer driver TIOC_SETHANDLER IOCTL call.
12763 is non-standard, non-portable, and cannot be supported. Instead, add
12766 - All timer lower half drivers. Port Sebastien's changes to all other
12768 - USB MSC Device: Fix length of mode6 sense reply packet. From
12770 - USB Composite Host: Fix end offset in usbhost_copyinterface(). From
12772 - USB CDC/ACM Host: Add CDC_SUBCLASS_ACM and CDC_PROTO_ATM to
12774 - SSD1306: Fix errors in SPI mode configuration. From Gong Darcy.
12775 - CDC/ACM Device Class: uart_ops_s portion of cdcacm will not be
12780 - drivers/net/tun.c: Fix bug in TUN interface driver. From Max Nekludov.
12782 * ARMv7-A:
12784 - ARMv7-A SMP: Add SMP logic to signal handling.
12786 * ARMv7-M:
12788 - ARMv7-M: Fix double allocation of MPU region in mmu.h.
12790 * ARMv7-R:
12792 - ARMv7-R: Fix compilation error. This change fixes compilation errors
12793 on MPU support for ARMv7-R. From Heesub Shin.
12794 - ARMv7-R: fix invalid drbar handling. In ARMv7-R, [31:5] bits of DRBAR
12798 - ARMv7-R: Remove the redundant update on SCTLR. mpu_control() is
12801 - ARMv7-R: Add new Kconfig entries for D/I-cache. Unlike in ARMv7-A/M,
12803 in ARMv7-R. This change adds those missing Kconfig entries. Actual
12806 - ARMv7-R: Add cache handling functions. This change adds functions for
12807 enabling and disabling d/i-caches which were missing for ARMv7-R.
12809 - ARMv7-R: Fix typo in mpu support. s/ARMV7M/ARMV7R/g. From Heesub Shin.
12810 - ARMv7-R: Fix CPSR corruption after exception handling. A sporadic
12817 invalid value at power-on-reset. As it is not initialized at boot, the
12820 - ARMv7-R: Fix to restore the Thumb flag in CPSR. Thumb flag in CPSR is
12826 - SAM3/4 UDP: Add delay between setting and clearing the endpoint RESET
12832 1. If that happens the host will time-out and reset the bus. Adding
12835 - SAM3/4: Remove unused 'halted' flag from UDP driver. From Wolfgang
12837 - SAM3/4: Remove 'stalled' flag from the UDP driver. This flag is not
12843 - SAM4S Xplained Pro: Configuration uses old, improper timer interface.
12844 CONFIG_TIMER disabled in configuration. Remove obsolete timer
12849 - SAMv7 USBDEVHS: A problem occurred with the SAMV7 USBDEVHS driver if
12859 - SAMV7 MCAN: Prevent Interrupt-Flooding of ACKE when not connected to
12860 CAN-BUS. An Acknowledge-Error will occur every time no other CAN Node
12862 not connected to the can-bus. The CAN-Standard declares, that the Chip
12865 to resend the message an Acknowledge-Error-Interrupt is generated. At
12868 application). To prevent this Interrupt-Flooding we disable the ACKE
12871 - SAMV7 MCAN: Make delete_filter functions more robust. From Frank
12876 - SAMA5 PWM: Driver does not build when executing from SDRAM before
12884 - Misoc LM32: Corrects a bug that never occured in qemu on simulation or
12890 - i.MX6 interrupt handling: Additional logic needed to handle nested
12892 SGI interrupts are non-maskable.
12896 - LPC43xx serial: Fix a typo in ioctl TIOCSRS485 ioctl. From Vytautas
12898 - LPC43xx serial: Restore RS485 mode on serial port open (if RS485 is
12900 - LPC43xx SD/MMC: Correct some definitions on SMMC control register in
12902 - LPC43xx SD card: Correct pin configuration options needed for SD card
12907 - EFM32: Fix a compilation error. From Pierre-noel Bouteville.
12911 - STM32 CHxN channels are always outputs. From Sebastien Lorquet.
12912 - STM32 DAC: Fix shift value whenever there are is a DAC2 and, hence,
12914 - STM32 F1: Add TIM8 to STM32F103V pinmap. From Maciej W�jcik.
12915 - STM32 F1: Fix for F1 RTC Clock, tested on F103. From Maciej W�jcik.
12916 - STM32 F3: STM32F303xB and STM32F303xC chips have 4 ADCs. From Paul
12918 - STM32 F4: A new implementation of the STM32 F4 I2C bottom half. The
12922 - STM32 F4 OTGHS Host: If STM32F446 increase number of channels to
12924 - STM32 F4: I think, that Size is (highest address+1 - Base address).
12927 - STM32 F4: Fix ADC compilation error when DMA isn't enabled. From Paul
12929 - STM32 F4: STM32F427 was rebooting. Over reached family. From David
12931 - STM32 F4: Added STM32F469 RAM size and deliberated STM32F446 size.
12933 - STM32 F4: Typo in stm32f76xxxx_pinmap.h edited online with
12935 - STM32 F7: stm32_i2c.c Dejavu. Fixes a bug previously found in the
12937 - STM32 F7: OTGDEV fixed typo. From David Sidrane.
12938 - STM32 F7: Fix to SPI-Master driver. Without this the chip select
12940 - STM32 F7: STM32F7 SD/MMC driver depends on CONFIG_SDIO_DMA which is
12943 - STM32 F7: Fix some STM32F7 copy paste errors. From David Sidrane.
12944 - STM32 L4: Complementary PWM outputs on STM32L4" (1) too many
12947 - STM32 L4: Fix I2C devices RCC registers. From Sebastien Lorquet.
12948 - STM32 L4: Enable and renaming for 32l4 UARTs 4 and 5. From Sebastien
12950 - STM32 L4: Change the way to configure quadrature encoder prescalers.
12952 - STM32 L4: Correct USART1/2 definitions. Use default mbed UART4
12957 - STM32F103 Minimum: Fix Timers 2 to 7 clock frequencies. From Alan
12959 - Nucleo-F303RE: Remove duplicate setting from board.h. From Marc
12961 - Nucleo F303RE: Various fixes to get the ADC configuration building
12963 - Nucleo L476RG: Add better selection of timer.
12967 - DK-TM4C129x: Typo fix. From Wolfgang Rei�negger.
12971 - ESP32 core v2: Flush the UART TX buffer in the esp32 serial shutdown
12976 - Xtensa ESP32: Corrects a problem with dispatching to signal
12984 - ESP32 core v2: Changes the openocd config file's default flash
12986 save some hard-to-debug moments down the track (3.3V-only flash
12987 running at 1.8V often half-works and does weird things...). From
12992 - libc/stdio: Fixes sscanf() %sn where strlen(data) < n. From David
12994 - libc/stdio: Include wchar.h in lib_libvsprintf.c to fix compilation
12996 - include/sys/time.h: timersub macro modified per recommendations of
12998 - include/ctype.h and cxx/cctype: Implement ctype.h functions as inline
13000 - include/: Fix a number of header files with mismatched 'extern C {'
13002 - libc/unisted: Change brings strtol() and related functions more
13003 conformant with POSIX. Corner cases like strtol(-2147483648, NULL,
13004 10) now pass clang -fsanitize=integer without warnings. From Juha
13006 - libc/unistd: sleep() was returning remaining nanoseconds (kind of),
13008 - termios.h: Fix CRTSCTS define to include input and output flow. From
13013 - configs/*/defconfig: The buttons example was changed to archbuttons.
13016 - config/*/defconfgs: More fallout from name change of
13018 - configs: All QE encoder files. Last change made timer hard-coded to
13020 - configs: Remove all traces of the no-longer existent ARCHBUTTONS
13023 - minnsh Configurations: Remove minnsh configurations and support
13033 - Make.defs: Using wrong link script if native window tool used with
13038 - ESP32 Core v2 Platform: Fix some naming that prevented building the
13043 - NSH Library: nsh_getdirpath(), use snprint instead of sprintf to
13048 - Remove std_readline(). This called up_getc() and up_putc() directly,
13053 - FTPD: Fixed bug that didn't free ftpd ressources on exit. From Pascal
13055 - NTP client: Fix missing left parenthesis. From Pierre-Noel Bouteville.
13056 - cJSON: Import patch to fix:cJSON_PrintUnformatted() behaves unexpected
13058 2012-04-19. From Pierre-Noel Bouteville.
13059 - esp8266 update cosmetic and many bug fix. From Pierre-Noel Bouteville.
13060 - FTPD: Fix bug un ftpd file or socket may be not closed. From
13061 Pierre-Noel Bouteville.
13065 - Modbus Master is missing many files and doesn't compile at all. More
13072 - The examples/qencoder app was trying to init the encoder by a direct
13075 - apps/examples/timer: Should detach signal handler before exiting.
13076 - examples/qencode: The examples/qencoder app was trying to init the
13080 - apps/examples/archbuttons: Removed becaue it violates OS interface
13082 - examples/adc, pwm, can: Remove all usage of BOARDIOC_ADCTEST_SETUP,
13086 - examples/ostest: Add some delays to the pthread cancellation test.
13089 NuttX-7.20 Release Notes
13090 ------------------------
13094 that release consists of two tarballs: nuttx-7.20.tar.gz and
13095 apps-7.20.tar.gz. These are available from:
13100 Both may be needed (see the top-level nuttx/README.txt file for build
13107 - Kernel Modules: Module initializer may now return a symbol table.
13108 - Modules: Extend the module interface so that we can access symbols
13110 - Shared Libraries: In the FLAT build mode, kernel modules may be
13112 - Modules/Shared Libraries: Add support for dependencies between
13114 - Module Library: Add build a configuration logic for a shared module
13116 - Shared Libraries: Implement module based shared libraries for the
13118 - Interrupt handling: irq_attach() now includes an argument of type
13123 - Adapt many drivers to utilize the IRQ argument feature.
13124 - All functions that used to return an xcpt_t old handler value, now
13130 - IRQ subsystem: Add support for smaller interrupt tables as
13137 - Pseudo File System: Add support for soft links in the top-level
13139 - Soft links: Add an implementation of readlink().
13140 - Add fstat() support. Implement fstat() method in binfs, romfs,
13142 - fstat: Add fstat() support to FAT. From Alan Carvalho de Assis.
13146 - Fonts: Add support for Tom Thumb small mono-space font. From Alan
13148 - Graphics: Separated of font cache from graphics/nxterm. Now in
13154 - Ethernet drivers: Add framework for serialization in the case where
13155 multiple low-priority work queues are used.
13159 - Add capabilities() method to SDIO interface. Remove
13163 - Removed dmasupported() method from the SDIO interface. That is now
13165 - drivers/sensors: Add driver for the ST L3GD20 3 axis gyro. From
13170 - SAM3/4: Add support for ATSAM4S4C. From Wolfgang Rei�negger.
13174 - Sabre 6quad: Enable examples/smp test in i.MX6 SMP/NSH
13179 - Kinetis: Added support for CHIP_MK60FN1M0VLQ12 chip. From Maciej
13181 - Kinetis: Add support for K64/K66 RTC lower half driver. From Neil
13183 - Kinetis: Extensive modification of MCG support based feature
13185 - Kinetis: Add support for K66 family. From David Sidrane.
13186 - Kinetis: Created a kinetis SIM versioning scheme pulled in by
13188 - Created a kinetis PMC versioning scheme pulled in by Kinetis
13190 - Kinetis: Extend clock configuration logic. Refactor
13195 - Kinetis Ethernet: Kinetis Support RMII clock source select. This
13197 to be made via Kconfig. From David Sidrane. Freedom-K66F uses
13199 - Kinetis Serial: Added configurable 1|2 stop bits.
13200 HAVE_SERIAL_CONSOLE -> HAVE_UART_CONSOLE to be consistent with
13202 - Kinetis LPserial: Add LPUART serial driver and Clock
13203 configuartaion to freedom-k66f board. From David Sidrane.
13204 - Kinetis USB device: Refactor clocking in kinetis_usbdev. From
13209 - Add support for NXP Freedom-k66f development board. From David
13211 - Kinetis Freedom K66F: Add Ethernet support. From David Sidrane.
13212 - Add twr-k64f120m config. From Marc Recht�.
13216 - Bamboo-200E: Add netnsh configuration. From Alan Carvalho de Assis.
13217 - Add usbnsh config to Bambino 200E board. From Alan Carvalho de
13222 - STM32 F7: Allow board to configure HSE clock in bypass-mode. This
13223 is needed to enable HSE with Nucleo-F746ZG board. From Jussi
13225 - STM32 F7: stm32_allocateheap: allow use DTCM memory for heap.
13229 - Add basic support for the STM32F334. From Mateusz Szafoni.
13230 - STM32F33XX DAC, OPAMP, COMP, ADC, HRTIM headers. From Mateusz
13235 - STM32 F7 SDMMC: Add support for single bit operation on SDMMC2.
13236 - STM32 L4: Port STM32L4 SAI driver from MDK.
13237 - STM32 L4: Bring power management logic from Motrola MDK into NuttX.
13238 - STM32 L4: Bring LPTIM driver in from the Motorola MDK.
13239 - STM32 L4 COMP: Port from Motorola MDK.
13243 - STM32F429i Discovery: Add support for NxWM on STM32F429i-Disco
13245 - STM32F103 Minimum: Add support for nRF24 on STM32F103-Minimum
13247 - Olimex STM32 P407: Add a NSH protected build configuration; Enable
13249 - Olimex STM32 P407: Add support for on-board microSD slot.
13250 - STM32F429i Discovery: Add support for the L3GD20 driver. From
13252 - STM32F103 Minimum: Add support to QEncoder on STM32F103 Minimum
13254 - Olimex STM32 P407: Add external SRAM support.
13255 - Add basic support for the Nucleo F334R8 board. From Mateusz
13257 - STM32F103 Minimum: Add SDCard support over SPI on STM32F103-Minimum
13259 - STM32F103 Minimum: Add support to USB Device on STM32F103-Minimum
13264 - compiler.h: packed_struct replaced by begin_packed_struct and
13267 - Math library: Leverage optimized ARMv8-M functions from BSD license
13269 - Shared libraries: Add a non-standard dllfnc.h function to set the
13271 - C Library: Add a support for setvbuf(). This is a collaborative
13273 - C Library: Add setbuf() which is a trivial wrapper around setvbuf().
13274 - C library: Add swab().
13275 - C library: Add strtoimax and strtoumax.
13276 - C library: Add ffs(), rindex(), an index(). Add strings.h. Move
13281 - C library: Add fstatfs().
13282 - Update cwchar. Add cwctype.
13286 - Add configuration support for builds with Ubuntu under Windows 10.
13290 - tools/noteinfo.c: A hack tool that I use to analyze some sched_note
13292 - tools/mkconfig.c: Add logic to keep all of the buffering options in
13297 - NSH: Add support for the 'ln' command.
13298 - NSH ls command: if node is a symobolic link, use readlink() to get
13300 - NSH: Add readlink command.
13304 - apps/examples/nxtext: Make line spacing configurable.
13305 - apps/system/zmodem/host/nuttx/compiler.h synchronized with
13307 - apps/examples/sotest: Add a test for shared libraries.
13308 - apps/examples/ostest: Add a test of setvbuf().
13309 - apps/examples/stat: Add a simple test for stat(), fstat(),
13312 Works-In-Progress:
13315 introduced in NuttX-7.15. Work has continued on this effort on
13318 least NuttX-7.21.
13326 - SMP: There were certain conditions that we must avoid by preventing
13334 - SMP: Make checks for CPU lock set more robust. There are certain
13337 - sched_cpulocked: Avoid use of spinlock. That has been reported to
13338 cause a deadlock (2016-12-28).
13339 - SMP: Fix a gap where we may try to make modifications to the task
13345 - SMP: Fix an error in critical section logic when performing a
13349 - SMP Signals: Fix some SMP signal delivery logic. Was not handling
13352 - SMP: Fix timer related issues: Round robin and sporadic
13357 - sched_note: Fix spinlock instrumentation. From Masayuki Ishikawa.
13358 - In all implementations of _exit(), use enter_critical_section() vs.
13360 - sigtimedwait: When timer expires, up_unblock_task() is called.
13365 - Fix a compile error: in sched_cpuload.c:Line136, the variables ts
13369 - CPU load: Correct computation of the nominal period to use when the
13371 - Cancellation points: Fix some backward logic in conditional
13373 - Remove an unused variable when calling sigwaitinfo() and
13378 - procfs: Correct to snprintf-related errors in fs_procfsproc.c.
13380 - Add logic to VFS rename: If target of rename exists and is a
13384 - Fix open() a block device with
13386 - File System: Don't build block driver proxy if PSEUDOFS_OPERATIONS
13387 are disabled.
13388 - sendfile(): Fix error introduced with commit
13393 - NxWM configurations. If using a 7-bit character set, then the
13396 - NX server: Correct message queue names. Should not be at /dev,
13401 - MMCSD_SDIO: Only wait for card ejected if card detection is
13403 - Typos withim mtd/ with Macronix MX25L. In
13406 - USBMSC: Always set LUN readonly flag. From Wolfgang Rei�negger.
13407 - drivers/lcd: ssd1306_configspi() must have global scope.
13408 - MMC/SD SDIO: Some drivers need to start DMA before sending CMD24
13410 - drivers/tone.c: Handle configuration with multiple PWM channels.
13413 - drivers/tone.c: 50% duty needs to be expressed a a fixed precision
13415 - drivers/spi/Kconfig: There is too much SPI in the configuration
13417 - option to enable Memory Card debug output was hidden with SD cards
13419 - usbhost_cdcacm: fix tx outbuffer overflow and remove now invalid
13424 - Networking: Fixed some issues that prevented IPv6 from working with
13425 IPv4 enabled. From Pascal Speck.
13426 - Networking: fixed a nullptr-dereference on iob_clone. From Pascal
13428 - Ethernet: Need two work structures (minimum) in all Ethernet
13432 * ARMv7-R:
13434 - I found an issue inside the cp15_coherent_dcache function: The
13436 configurationa. In non-SMP configuration this instruction could
13441 - SAM3/4: GPIO bit numbering typo fixes. From Wolfgang Rei�negger.
13445 - Add missing sched_note_*() calls in sam4cm SMP functions.
13449 - Kinetis: Fixed wrong MCG VDIV calculation on new NXP K60. From
13451 - Kinetis: Need to set HAVE_UART_DEVICE when UART4 is selected. From
13453 - Kinetis MCG: Wrong FRDIV set in MCG_C1. From Maciej Skrzypek.
13457 - Kinetis Serial: Fixed compile error when UART5 is selected. From
13459 - Kinetis SDHC - Enable clock after selected. From David Sidrane.
13460 - Kinetis: Correct some SPI and I2C configuration issues. From
13462 - Kinetis Ethernet: Add #define for number of loops for auto
13464 - Kinetis Werial: Fixed up_rxint - did not disable the RX
13470 - LPC43 pinset definitions: Add more 1 bit to pinset to reach
13471 SFSCLK0-SFSCLK3. Remove PINCONFIG_DIGITAL. From Alan Carvalho de
13476 - LPC43 serial: Correct conditional logic that selects /dev/ttySN.
13481 - i.MX6: Fix clearing GPT status register. From Masayuki Ishikawa.
13485 - STM32, STM32L4 Oneshot: Fix logic so that it can support multiple
13487 - STM32 F7: Added missing ARCH_HAVE_RESET for F7. From David Sidrane.
13488 - STM32: Add missing STM32_BKP_BASE. From David Sidrane.
13489 - STM32 and STM32F7: Fixes the BKP reference counter issue. From
13494 - Fix for SAMv7 SPI: DLYBS value was calculated, but never written to
13497 - STM32 QEncoder: Fix QEncoder driver, based on STM32L4 driver. From
13499 - STM32 QEncoder: Enable clocking to the timer on QE setup; disable
13501 - STM32 Ethernet: Need two work structures so that pending poll work
13504 - STM32 OTGHS host: stm32_in_transfer() fails and returns NAK if a
13514 - STM32F4 Discovery: Fix issues with QEncoder support. From Alan
13519 - Add debug assertion in libdtoa to catch attempts to use floating
13522 to allocate memory. From Pierre-noel Bouteville.
13523 - libc: Fix ARMv7-A/R memcpy assembly.
13524 - Fix return value if x is NaN. From Aleksandr Vyhovanec.
13528 - NSH: Eliminate a warning when all memory inspection commands are disabled.
13532 - apps/graphics/traveler/tools: Fix linkage issue. The -lm should
13533 come after -o binname. From Alan Carvalho de Assis.
13537 - The CONFIG_NETUTILS_HTTPD_PATH constant is used by httpd_mmap.c and
13543 - Configurations that enable OSTEST must not disable signals.
13544 - apps/examples/ostest: Was ignoring
13546 - In apps/examples/mtdpart/mtdpart_main.c where
13550 NuttX-7.21 Release Notes
13551 ------------------------
13555 that release consists of two tarballs: nuttx-7.21.tar.gz and
13556 apps-7.21.tar.gz. These are available from:
13561 Both may be needed (see the top-level nuttx/README.txt file for build
13568 - pthread rwlocks: Add an implementation for read/write locks
13572 - pthread robust mutexes: Implement robust mutex support:
13583 - pthread cancellation points: Add logic to disable cancellation
13588 - clock: Add clock_resynchronize and use subseconds RTC. Add
13590 CLOCK_MONOTONIC to match RTC after resume from low-power state. Add
13595 - clock: Add new type ssystime_t for relative 64-bit ticks, change
13596 ticks<->time conversion functions to use ssystime_t. From Jussi
13598 - clock: Add testing for 32-bit overflow of 64-bit system timer. From
13603 - drivers/mtd/w25.c: Erase sector only if it is not in erased state.
13608 - drivers/lcd: Extend st7565 driver to include support for the
13610 - drivers/lcd: Add driver for Nokia 5110 (Philips PCD8544). From Alan
13615 - Extensive modifications to support wireless network (see below).
13616 - TUN driver: Implement TAP (OSI layer 2) mode. Enable by setting the
13619 - Add user-space networking stack API (usrsock). User-space
13620 networking stack API allows user-space daemon to provide TCP/IP
13622 allow use and seamless integration of HW-provided TCP/IP stacks to
13623 NuttX. For example, user-space daemon can translate /dev/usrsock
13624 API requests to HW TCP/IP API requests while rest of the user-space
13627 - net/: Network driver now retains Ethernet MAC address in a union so
13633 - BCM43362: Support for Broadcom's BCM43362 WiFi chip was contributed
13640 - IEEE 802.11 networking tools and support.
13641 - IEEE 802.15.4 MAC support. This is an effort that was started some
13645 the Mikroe Clicker2-STM32 board along with a PC-based IEEE 802.15.4
13648 - Microchip MRF24J40: As mentioned above, this IEEE 802.15.4 radio
13650 - IEEE 802.15.4 Network Driver: A driver that interfaces the NuttX
13653 - IEEE 802.15.4 Network Loopback Driver: A simple IEEE 802.15.4 MAC
13656 - 6LoWPAN: The Contiki 6LoWPAN stack has been ported so that works
13662 - Add option to enable wireless debug output.
13666 - Add entropy pool and strong random number generator. Entropy pool
13667 gathers environmental noise from device drivers, user-space, etc.,
13672 randomness without file-descriptor usage (thus avoiding file-
13676 - XBox One controller: Adds USB host driver support for the XBox One
13680 - drivers/analog: Add basic COMP driver. From Mateusz Szafoni.
13681 - drivers/analog: Add driver for the LTC1767L ADC. From Martin
13683 - drivers/analog: Add basic OPAMP driver. From Mateusz Szafoni.
13684 - drivers/sensors: Add driver for ST HTS221 humidity sensor. From
13686 - drivers/sensors: Add driver for ST LPS25H pressure sensor. From
13688 - drivers/sensors: Add driver for ST LIS2DH accelerometer. From Timo
13690 - drivers/usbmisc: Add driver for Fairchild FUSB301 USB type-C
13692 - RTC: Add interface for check if RTC time has been set. New
13697 - Buttons: Change return value of board_buttons() and the type of
13700 - drivers/syslog: Use monotonic clock for timestamp when available.
13702 - SPI: Add an instance argument to the SPIDEV definitions. Thus,
13707 - IOBs: Move from net/iob to a better location in mm/iob where they
13710 - syslog: Add option to buffer SYSLOG output to avoid interleaving.
13714 - drivers/can: Move CAN subsystem to its own directory and put device
13716 - drivers/can: Add Microchip MCP2515 CAN Bus controller driver. From
13718 - drivers/audio: Add cs43l22 audio driver. From Taras Drozdovsky.
13719 - drivers/input: Add Cypress MBR3108 CapSense touch button driver.
13724 - configs/sim/sixlowpan: Configuration for testing the 6LoWPAN with
13729 - arch/arm/src/xmc4: Initial, partial support for Infineon XMC4xxx.
13733 - XMC4500 Relax: Add basic board support infrastructure of Infineon
13735 for a simple NSH configuration. There are still stome remaining
13740 - pic32mx7mmb: Add support for the Pinquino toolchain.
13741 - pic32mx7mmb: Add support for PROCFS file system.
13745 - Kinetis: Allow board to add pullups on SDHC lines. From David
13747 - Kinetis: Use optional BOARD_OSC_CR and BOARD_OSC_DIV in clock
13752 - Kinetis: Add Timer PWM Module (TPM) to K66 chip. From David
13754 - Kinetis: Added HW flow control and termios. From David Sidrane.
13755 - Kinetis: Add ARCH_HAVE_I2CRESET. From David Sidrane.
13759 - Add support for LPC4337FET256. From Andreas Bihlmaier.
13763 - Change STM32 tickless to use only one timer. From Konstantin
13765 - STM32 F7: Add support for LSE RTC and enable RTC subseconds. From
13767 - STM32 L1: stm32l15xx_rcc: Add support for using MSI as system
13769 - STM32 L1: stm32l15xxx_rcc: configure medium performance voltage
13770 range and zero wait-state when allowed by SYSCLK setting. Zero
13771 wait-state for flash can be configured when: (1) Range 1 and
13776 - STM32 F0: Add basic support for STM32F0. From Alan Carvalho de
13778 - STM32 F0: Add basic support for STM32F07x family.
13779 - STM32 L1: stm32l15xx_rcc: Allow board to configure HSE clock in
13780 bypass-mode. Allows using MCO output from ST-link chip (on Nucleo
13782 - STM32 L1: Add support for STM32L152CC, STM32L152RC and STM32L152VC.
13784 - STM32 F0: Add support for HSI48.
13785 - STM32 L4: Add support for the STM32L496XX family. From Juha
13787 - STM32 L4: modularize Kconfig to support different product
13791 - STM32 L4: Separate SYSCFG into product line specific files for
13793 - STM32 L4: Add support for many new MCUs from the STM32L4X3XX
13795 - STM32 L4: Add dbgmcu header files. From Juha Niskanen.
13796 - STM32 F410: Add support for STM32F410. STM32F410 is a version of
13798 Goavec-Merou.
13802 - SDIO: Extensions to support the SDIO interface to the BCM43362 from
13804 - STM32 F2: Add USB OTG HS support for stm32f20xxx cores. From Simon
13806 - STM32 F2, F4, and F7: Add BOARD_DISABLE_USBOTG_HSULPI flag. From
13808 - STM32 F33: Move DMA logic to a separate files + add ADC support.
13810 - STM32 F3: Add COMP support. From Mateusz Szafoni.
13811 - STM32 F33: Support for COMP character driver. From Mateusz Szafoni.
13812 - STM32 F4: Implement DMA support for the STM32F4 I2C. From Rajan Gill.
13813 - STM32 F7: Add stm32 RNG support. This is copied from stm32l4.
13815 - STM32 L1: Add STM32L162VE to chip.h. From Juha Niskanen.
13816 - STM32 F4: Add I2C3 SDA pin mapping for STM32F411. From no1wudi.
13817 - STM32 L1: stm32_flash: Add EEPROM writing for STM32L15XX. From
13819 - STM32 F7: Serial: Add interface to get uart_dev_t by USART number,
13821 - STM32 F4: Provide TIM5 definition for STM32F429. From Matias v01d.
13822 - STM32 F0: Add an untested port of the F1 USB device to the STM32F0.
13823 - STM32 F0: Add support for the STM32F09X family. From Juha
13825 - STM32 F0: Initial cut at I2C driver. Still a work in progress.
13827 - STM32 F33: Add OPAMP support. From Mateusz Szafoni.
13828 - STM32 L4: stm32l4_i2c: Add I2C4 code. From Juha Niskanen.
13829 - STM32 L4: Add GPIO_PORTI definition. From Juha Niskanen.
13830 - STM32 F7 Serial: Allow configuring Rx DMA buffer size. From Jussi
13832 - STM32 L4: Firewall for stm32l4x3xx. Not tested for any product
13835 - STM32 TIM: Add method to get timer width. Freerun timer: Use timer
13837 - STM32 L4: Add internal flash write support. From Juha Niskanen.
13838 - STM32 L4: Port stm32l4_serial_get_uart function from STM32F7. From
13840 - STM32 Ethernet: Add support for KSZ8081 PHY interrupts. From
13842 - STM32 F4: Add I2S driver. From Taras Drozdovsky.
13843 - STM32 L4: Add IWDG peripheral. This is the same as for STM32
13846 - STM32 F7: Add SPI DMA support. From Jussi Kivilinna.
13850 - Support for the Particle Photon board was contributed by Simon
13851 Piriou. The Photon board is based on a STM32F205G MCU with and on-
13856 - Clicker2-STM32: Support for the Mikroelektronika Clicker 2 for
13861 knsh, usbnsh, and mrf24j40-radio.
13862 - Nucleo_F334R8: Add ADC example. From Mateusz Szafoni.
13863 - Nucleo-F334R8: Add COMP support. From Mateusz Szafoni.
13864 - Nucleo-F334R8: Use new COMP driver. From Mateusz Szafoni.
13865 - Adds USB host support to stm32f411-disco board. From Brian Webb.
13866 - Add stm32f0discovery board support. From Alan Carvalho de Assis.
13867 - Nucleo-F072RB: Add board configuration.
13868 - Nucleo-F334R8: Add OPAMP support. From Mateusz Szafoni.
13869 - Nucleo-F072RB: Add support for the I2C driver used by I2C tools.
13870 - Nucleo-L496ZG: Add nucleo-l496zg board files. From Juha Niskanen.
13871 - Nucleo-F091RC: Add nucleo-f091rc board files. From Juha Niskanen.
13872 - Nucleo-L432KC: Add nucleo-l432kc board files. From Sebastien
13874 - Nucleo-L452RE: Add nucleo-l452re board files. From Juha Niskanen.
13875 - stm32f103-miniumum: Add board support to use the Nokia 5110
13880 - C library: Add strerror_r().
13881 - C Library: Add wcstoull(), swprintf(), wcstod(), wcstof(), wcstol(),
13885 - C Library: Add ffsl(), ffsll(), fls(), flsl(), flsll() and use
13888 - fixedmath: Add square root and b32_t conversion operators. From
13890 - locale.h: Add a bogus definition of locale_t.
13891 - C library: Versions mbrlen and mbsrtowcs taken and adapted from
13897 - Include C++ library in 'make export'. From Alan Carvalho de Assis.
13898 - configs: Remove all setenv.sh and setenv.bat files. Remove all
13899 references to setenv.sh and setenv.bat from all config README files.
13900 - Kconfig/deconfigs: Add CONFIG_ARCH_TOOLCHAIN_GNU to indicate that
13902 CPU-specific versions of the same definition.
13903 - Move prototype for up_cxxinitialize() from nuttx/include/nuttx/arch.h
13908 - Add initialconfig.c so that perhaps in the future we will be able to
13915 - Added support for set [{+|-}{e|x|xe|ex}] [<name> <value>]. Set the
13922 Use 'set -e' to enable and 'set +e' to disable (ignore) the exit
13923 condition on commands. The default is -e. Errors cause script to
13924 exit. Use 'set -x' to enable and 'set +x' to disable (silence)
13928 - Print expanded variables if -x. From David Sidrane.
13929 - ifconfig command: Extend ifconfig to support 6LoWPAN. Adapt to
13931 - Network initialization: If IEEE802.11 selected use wlan0 instead of
13933 - Network initialization: NSH now has configuration options to select
13937 - Network initialization: Add a new option CONFIG_NSH_NETLOCAL that
13943 - examples/xbc_text: Adds a test program for the XBox One controller
13945 - examples/ostest: Add a test of robust mutexes.
13946 - examples/ostest: Add tests for pthread_rwlock. Adding tests to be
13948 - examples/ostest: Additional test for rwlock and one for cancel
13950 - examples/usrsocktest: Add application for USRSOCK testing. From
13952 - examples/nettest: Adapt for use in testing 6LoWPAN.
13953 - examples/nettest: If doing loopback, but not using the official
13956 - examples/udpblaster: Several fixes to work with 6LoWPAN.
13957 - examples/udpblaster: Add logic to bind the local UDP socket to a
13958 well-known address.
13959 - examples/configdata: Add stacksize and priority. From Juha Niskanen.
13963 - netutils/netlib: Add IEEE 802.11 wireless IOCTL wrappers.
13964 - netutils/netlib: Add a helper function to convert a string to a
13966 - netlib and NSH: Add logic to get/set the IEEE802.15.4 PAN ID.
13967 - netutils/dhcpc: Make the network device name a configuration
13969 - netutils/dhcpc: Remove hard-coded interface device. Now passed as
13974 - wireless/wapi: Port of Wapi wireless services. The original
13979 - wireless/wapi: Create command line Wapi application based on
13981 - wireless/wapi: wpa_driver_wext_associate() now accepts a
13984 - wireless/wapi: Add basic wapi_event_stream_extract implementation.
13986 - wireless/ieee802154: Add iwpan and i8sak tools. iwpan is similar
13989 - wireless/ieee802154/libmac: IEEE 802.15.4 MAC library.
13990 - wireless/wext: Add drivers_wext from the WPA supplicant; Integrate
13995 - apps/system/dhcpc: Add a command to renew or establish a lease on an
13996 IPv4 address.
13997 - apps/system/ntpc: Add a command to start or stop the NTPC daemon.
13998 - apps/system/ramtest: Make stacksize and priority conigurable.
14000 * Platform-Specific Support (apps/platform)
14002 - apps/platform: Create gnu/ subdirectory that contains the one and
14012 - Priority inheritance: When CONFIG_SEM_PREALLOCHOLDERS==0, there is
14013 only a single, hard-allocated holder structure. This is problem
14020 inheritance. This fix is to add two hard-allocated holders in the
14022 - Priority inheritance: sem_holder sem_findholder missing
14025 - Partial Fix priority inheritance CONFIG_SEM_PREALLOCHOLDERS=0. From
14027 - Priority inheritance: sem_boostholderprio prevent overrun of
14028 pend_reprios. The second case rtcb->sched_priority <=
14029 htcb->sched_priority did not check if there is sufficient space in
14031 - lp_worker: Guard from pend_reprios overflow. From David Sidrane.
14032 - Priority inheritance: Fixes improper restoration of base_priority in
14045 holder->tcb. An alternate approach could be to leve the interface
14051 - Priority inheritance: Fixes improper restoration of base_priority.
14053 - sem_holder: Indexing error. From David Sidrane.
14055 if (sem->holder[0].htcb != NULL || sem->holder[**1**].htcb != NULL)
14056 - realloc(): When realloc() has to fall back to calling malloc(), size
14059 - scheduler: Fix tg_flags check with GROUP_FLAG_NOCLDWAIT. From Masayuki
14061 - scheduler: Fix CHILD_FLAG_EXITED in include/nuttx/sched.h. From
14063 - binfmt/elf: Fix offset value when calling elf_read() in
14065 - binfmt/elf: Fix offset value when calling elf_read() in
14067 - There can be a failure in IOB allocation to some asynchronous
14071 IOBs, it calls sem_wait().� The value of semcount is now -1. (2)
14092 - binfmt: Fix .dtor memory allocation. From Masayuki Ishikawa.
14096 - SmartFS: If whence is SEEK_END, the file offset shall be set to the
14098 - mtd/progmem: Fix incorrect target address calculation.
14102 Byte-oriented read/write interfaces of mtd device accept the target
14104 - procfs: Fix wrong member IDs are displayed when 'cat
14106 - procfs: Fix incorrect uptime with CONFIG_SYSTEM_TIME64. From
14108 - vfs/poll: round timeout up to next full tick. Calling poll() with
14117 - mtd/config: erase block between block read and write. From Juha
14119 - mtd: Build RAMTRON and AT45DB drivers only if selected. From Juha
14121 - mtd/config: Fix byte read interface test. From Juha Niskanen.
14122 - mtd: Fix some unallocated and NULL pointer issues. rwb->wrflush and
14123 rwb->wrmaxblocks in rwbuffer could get unallocated values from
14134 These problems are caused by CONFIG variable differences between the
14137 - net procfs: Fix buffer corruption and refactor netdev_statistics.c.
14139 - FAT: Fix 'Missing unlock' in fs_fat32.c. From Masayuki Ishikawa.
14140 - VFS fdopen: Add missing file stream flags clearing. Clear file
14141 stream structure regardless of config options. Structure clearing is
14144 - mtd/smart: Fix use of uninitialized variable. From Jussi Kivilinna.
14145 - mtd/w25.c: Enable short delay after sector/chip erase. From Jussi
14147 - mtd/config: Add some error checks for I/O errors. From Juha
14152 - net procfs: Some long lines were being generated that cause buffer-
14157 - Fixed wrong assert on udp dgram send. From Pascal Speck.
14158 - TCP/IPv6: Fix a compile issue when IPv6, but not IPv4 is enabled.
14159 - net/socket/accept: Fix building with CONFIG_NET_LOCAL_STREAM. From
14161 - Argument of network device IOCTL should be unsigned long, just as
14163 - net/socket: Fix cloning of local and raw sockets. From Jussi
14165 - TCP: Wait for 3-Way Handshare before accept() returns. From Simon
14167 - TCP: Send RST if applicaiton 'unlistens()' before we complete the
14169 - TCP: An RST received during the 3-way handshake requires a little
14170 more clean-up.
14171 - IPv6: Fix net_ipv6_pref2mask(). From Masayuki Ishikawa.
14172 - network IOCTL commands: The only place in net/netdev/netdev_ioctl.c
14176 - TCP: Fix tcp_findlistner() in dual stack mode. From Masayuki
14181 - Fix as5048b by adding missing frequency parameter. From Andreas
14183 - multiple fixes in nrf24l01 driver: (1) signal POLLIN if there is
14188 - input/mxt: Prevent overriding i2c transfer return value.
14192 - drivers/audio/wm8904: WM8904 has same problem as that fixed by Juha
14194 - UART 16550: Missing left parenthesis in function prototype. This is
14196 - USBMSC: Fix a wrong lun number issue. From Masayuki Ishikawa.
14197 - drivers/i2c: Fix compile issues if CONFIG_DISABLE_PSEUDOFS_OPERATIONS
14199 - drivers/serial: I discovered a problem in the file
14206 - drivers: Fix some bad NULL checks. From Juha Niskanen.
14207 - drivers: Rename newly introduced up_i2creset to I2C_RESET. From
14209 - drivers/bch: BCH character driver bch_ioctl() always returns -ENOTTY
14212 - Replace sprintf() with snprintf() in pipe.c. From Nobutaka Toyoshima.
14213 - drivers/bch: Fix 'Missing Unlock' in bchdev_driver.c. From Masayuki
14215 - button_upper: Fix interrupt enabling for poll-events. From Jussi
14217 - drivers/{sensors,usbmisc}: Fix uninitialized I2C frequency. From
14222 - Set EABI stack alignment for all ARM architectures (remove OABI
14224 - Remove redundant interrupt stack coloring and OABI code. From David
14226 - Fix off-by-one interrupt stack allocation in 8-byte aligned
14229 * ARMv6-M:
14231 - CONFIG_DEBUG_HARDFAULT should be available for Cortex-M0 too.
14235 - SAM3/4: Fixed configurations for TWI master. Obviously an
14240 - SAMV7: Watchdog: Fix Forbidden Window Value. According the Datasheet
14250 - SAMV7 EMAC: Add conditional logic to account the fact that the
14255 - Kinetis: Fixed GPIO _PIN_OUTPUT_LOWDRIVE swapped with
14257 - Ensure interrupts are back on BEFORE running code dependant on
14259 - Kinetis k66, k64, k60, k40, k20: Pin mux configure all I2C signals as
14262 slave contending with the push-pull during the ACK. From David
14264 - Kinetis K66: Fixed TMP2_CH1 definition. From David Sidrane.
14265 - Kinetis K66: Define ALT1 to match ref manual. From David Sidrane.
14266 - Kinetis K66: GPIO and pin mux cleanup. From David Sidrane.
14267 - Kinetis ADC: Various corrections and updates. From David Sidrane.
14271 - Add missing PINCONF_INBUFFER in several places of
14273 - Fix logic in preprocessor checks and correct arguments to
14278 - Fix logic error in lpc43_adc. From Andreas Bihlmaier.
14279 - Use correct macro for irqid (fortunately both point to
14281 - Actually write modified value to register. From Andreas Bihlmaier.
14282 - Increase number of supported PWM channels from 4 to 6. From Andreas
14287 - EFM32 I2C: Fix timeout calculation. From Masayuki Ishikawa.
14291 - As discovered by dcabecinhas. This fix assume the 8 byte alignment
14294 https://github.com/PX4/Firmware/issues/6613#issuecomment-285869778.
14296 - STM32 F7: In stm32_allocateheap.c There are 5 not 4 configurations.
14301 - STM32, STM32 F7, STM32 L4: OTG host drivers: Do not do data toggle
14303 - Save elapsed time before handling I2C in stm32_i2c_sem_waitstop().
14313 - save elapsed time before reading registers. This way a context
14316 - STM32, STM32 F7, and STM32 L4: Clone Freddie Chopin's I2C change to
14318 - STM32: OTG host implementations of stm32_in_transfer() must obey the
14320 - STM32: Fix erase sector number for microcontrolers with more than 11
14325 - STM32: Make up_progmem thread safe. Writing to a flash sector while
14333 - STM32: Add workaround for flash data cache corruption on
14334 read-while-write. This is a known hardware issue on some STM32 see
14337 - STM32 Flash fixes. From Jos� Roberto de Souza.
14338 - STM32 Flash: Missing unlock on F1 HSI off path. From David Sidrane.
14339 - STM32 F4 I2C: I needed to use DS3231,�I remember�that�in past it
14347 - STM32 F7 Serial: Serial fix for dropped data: (1) Revert the
14350 for details. And (2) Most all CR1-CR3 settings can not be configured
14353 - STM32 L1: Fix IWDG and WWDG debug mode stop for STM32L15XX. From
14355 - STM32 F7: Fix UART7 and UART8 IFLOWCONTROL options. From Jussi
14357 - STM32 F7: Add warning for RXDMA + IFLOWCONTROL combination.
14359 expect. Since RXDMA uses circular DMA-buffer, DMA will always keep
14363 flow-control. Data loss can be demonstrated by doing long up_mdelay
14366 - STM32 F7 Serial: Do not stop processing input in SW flow-control
14368 - STM32 L4 DMA: Correct bad channel definition. From Sebastien Lorquet.
14369 - STM32 F7: Warn if no DMA2 configured when using ADC with DMA. Also
14372 - STM32 F7 ADC: Do not override ADCPRE_DIV when measuring
14374 - STM32 L4: Don't think these chips have DPFPU, DTCM or ITCM. From
14376 - STM32 F7 Flash: macro naming errors, there is no FLASH_CONFIG_F for
14378 - STM32 L4: stm32l4x6xx_pinmap: Update I2C4 and DCMI pins. From Juha
14380 - STM32 L4: stm32l4_i2c: change wrong macro to CONFIG_I2C_POLLED. From
14382 - Fix STM32F7 I2C interrupt handler. From Jussi Kivilinna.
14383 - STM32: Serial Allow configuring Rx DMA buffer size. From David
14385 - STM32 CAN: I had the problem that the transmit FIFO size (= actual
14398 the request completed bit is set - stm32can_txinterrupt has to
14400 stm32can_txinterrupt - I removed the if condition, because the CAN
14404 - STM32 Serial: Fix freezing serial port. Serial interrupt
14409 happens because of mismatch of priv->ie (TXEIE == 0) and actually
14413 - STM32 I2C: Make private symbols static. From Juha Niskanen.
14414 - STM32 L4 GPIO: Put back EXTI line source selection. From Juha
14416 - STM32 L4 RTC: Store RTC MAGIC to backup reg, not to address zero.
14421 - Disable serial console on stm32f103-minimum usbnsh example project
14422 config. Devices enumerate after this change. From Bob Ryan.
14423 - Nucleo-144: Default for choice in Kconfig was not one of the
14425 - Nucleo-F4X1RE User LEDS: Issue #51 reports compilation problems with
14430 - Tiva I2C: Correct an error in conditional compilation.
14431 - Tiva SSI: Resolves issue 52 'Copy-Paste error in
14436 - C Library vsnprintf(): Fix precision for string formatting. Fixes
14439 - C Library vsnprintf(): If size is zero, then vsnprintf() should
14442 - C Library netdb: in dns_query_callback, ret != -EADDRNOTAVAIL
14445 - C Library netdb: Fix time info in lib_dnscache.c. From Masayuki
14447 - C Library netdb: Fix bugs in lib_gethostbynamer.c. This fix sets
14450 - C Library Defect Workaround: replace '%6.6u' format with an
14455 - Fix mksyscall host binary name. From Alan Carvalho de Assis.
14459 - Fix some calls to task_create(): argv[0] is the first parameter, not
14461 - Bitbucket Issue 5: I found an unexpected behavior in apps/
14465 path outside of the source tree instead path to sub-directory in
14469 - apps/: Make more globals static to avoid name clashes. From Juha
14474 - NSH library: In nsh_argexand(), if CONFIG_NSH_ARGCAT is defined but
14478 - NSH library: Fix building when CONFIG_NET_USRSOCK enabled with other
14479 link-layers. From Jussi Kivilinna.
14480 - NSH library: Fix some warnings about integer/pointer casts of
14481 different sizes (probably only effects 64-bit simulation).
14482 - NSH library: Fix open flags in nsh_codeccmd.c. From Masayuki
14484 - I need to look at the registers that are at or around 0xe000ef90.
14488 strtoul(). Changing the two pointer-setting instances to strtoul()
14489 fixes the problem, at least for my architecture/config. From Ian
14491 - NSH library: Fix a resource leak in cmd_hexdump(). From Nobutaka
14496 - apps/examples/hidkbd: Remove call to arch_usbhost_initialize().
14499 board bring-up logic as with any other devices and should not involve
14501 - apps/examples/usbterm: Removed because it is not very useful and
14503 - examples/mm: Fix Makefile. Built-in was not being registered.
14504 - examples/hidkbd: Add some missing configuration settings.
14505 - examples/random: Avoid stack overflows. From Juha Niskanen.
14506 - examples/nettest: Fix an error in pre-processor expression.
14507 - examples/mtdpart: Prevent part array overflow. mtdpart examples
14511 - examples/can: Fix can example app to print data when
14516 - Not a clean fix, but at least makes DHCP working with
14518 - Ensure netlib will not be broken when setip will not bring the
14523 - Fix libcanard github download link to get it compiling correctly.
14525 - Fix to use the new canardInit() function. From Alan Carvalho de
14530 - system/dhcpc: Add missing argument of fprintf.
14534 - The dedicated windows tool at tools/mkkconfig.bat uses $APPSDIR,
14538 NuttX-7.22 Release Notes
14539 ------------------------
14543 that release consists of two tarballs: nuttx-7.22.tar.gz and
14544 apps-7.22.tar.gz. These are available from:
14549 Both may be needed (see the top-level nuttx/README.txt file for build
14556 - pthreads: Move functions from sched/pthreads to libc/pthreads. These
14562 - Add power-related debug output.
14566 - RAMTRON: Add support for splitting block writes in chunks. Some
14567 Re-RAMs like MB85AS4MT have a write buffer size limitation. From
14569 - MTD: Add driver for Macronix QuadSPI flash memory. From Simon Piriou.
14573 - SSD1306 LCD Driver: (1) Separate lcd_dev_s setup to separate object.
14584 DD-12864WO-4A/SSD1309 support to SSD1306 driver. From Jussi Kivilinna.
14588 - Sockets: Support listening sockets in the getsockname() function.
14590 - IP Forwading: At the IP level, network may be configured to forward
14593 - IP forwarding: Add optional support to forward broadcast and
14595 - ICMPv6: Add 6LoWPAN and IP forwarding support.
14596 - ICMPv6: Support source link-layer address option in RA. From
14598 - TUN Driver: Add definitions that will permit TUN-only networking.
14599 - Socket I/F: Created a socket interface used to provide socket support.
14603 - Remove CONFIG_NET_MULTILINK. This increases code size by a little,
14605 - Network procfs: Add support for routing tables at proc/net/route.
14606 - Network procfs: Add support for network procfs statistics for the
14608 - Network Driver Backlog: Remove driver based backlog support. This
14610 supported RX backlog is now via common read-ahead buffering.
14614 - IEEE 802.15.4 MAC / MRF24J60 Driver: Extensive updates for
14615 association/beacon-enabled networks. From Anthony Merlino.
14616 - IEEE 802.15.4 MAC / MRF24J60 Driver: Hook in setdevmode from newly
14618 - IEEE 802.15.4 MAC: Supports get request for coordinator address. From
14620 - IEEE 802.15.4 MAC: Notify radio layer of changes in devmode. From
14622 - IEEE 802.15.4: Add special attribute that can be used to perform a
14624 - IEEE 802.15.4 loopback driver: Better simulation addressing: short
14626 - IEEE 802.15.4 Network Driver: Add logic to setup the network mask,
14627 update the MAC-based IPv6 addressing when the network is brought up.
14631 - PktRadio: Add an infrastructure to support networking on generic
14632 (non-IEEE 802.15.4) packet radios.
14633 - PktRadio Loopback Driver: Add a PktRadio loopback network driver to
14635 - Spirit Network Driver: The Spirit1 radio (SPSGRF-915) is the first
14637 with 8-bit addressing. We need to use the STack packets in order to
14639 - Network procfs: Fix so that PktRadio address are shown correctly.
14640 - Networking: Add support for some packet radio IOCTL commands.
14641 - 6LoWPAN: Added handling for TCP and ICMPv6 packets.
14642 - 6LoWPAN: Add configurable support for 6LoWPAN star topology. With
14646 - 6LoWPAN: The original, Contiki-based design used only a single buffer
14655 - 6LoWPAN PktRadio: Now radio agnostic. All IEEE 802.15.4 dependencies
14658 the representation of radio MAC meta-data, (2) changes to handle
14659 variable-length radio addresses, (3) removal of all explicit IEEE
14662 - ICMPv6: Update so that ICMPv6 can be used with 6LoWPAN.
14663 - IPv6 Neighbor: Update table format to support IEEE 802.15.4 MAC
14665 - PF_IEEE802154 Address Family: Add support for the PF_IEEE802154
14669 MAC-based radios. This address family permits simple access to IEEE
14670 802.15.4 IOCTLs and frame-level network transfers.
14674 - Dynamically configurable USB composite devices: We developed a huge
14678 I've changed the interface for some USB-Functions to receive also the
14680 - Franks' change remained on a branch until all issues were resolved.
14682 - power: battery_charger: Add ioctl for charging input current. From
14684 - SMPS driver: Add generic upper-half driver for SMPS. From Mateusz
14686 - LED Driver: Add support for inverted LEDS. From Jeff.
14687 - LED Driver: Add lightness correction for RGB LED driver. From Jeff.
14688 - LTC4151 Driver: Add driver for LTC4151 current and voltage monitor.
14690 - Serial TERMIOS: tcdrain() implementation based on a new term ioctl.
14692 - Serial TERMIOS: Add support for TCFLUSH. From Sebastien Lorquet.
14693 - syslog: Add option to use the CLOCK_MONOTONIC for time stamping. From
14695 - HC-SR04 Driver: Add support to HC-SR04 distance sensor. From Alan
14697 - COMP Driver: Add poll support. From Pekka Ervasti.
14698 - BQ2429X Driver: Add driver for TI BQ2429X battery charger. From Juha
14700 - ADC Driver: Add poll support. From Juha Niskanen.
14701 - BCH Driver: Add poll support. From Jussi Kivilinna.
14702 - RTC Driver: Extend the RTC framework with an alarm read ioctl
14709 - sim/ipforward: Add an IP forwarding configuration using TUN devices
14711 - Console: Add non blocking read to devconsole driver. From Simon
14713 - Networking: Poll for TX frames to speed up driver. From Simon Piriou.
14714 - pf_ieee802154: Add configuration for testing PF_IEEE802154 address
14716 - ARM Simulator: Adds necessary functionality to build Simulator under
14722 - SAML21 I2C driver. Developed for and contributed with permissin from
14724 - SAMD/L21 USB Driver: Add a USB driver. Developed for Filament Inc.
14729 - SAMV71-XULT: Add support for the MRF24J40 radio and create a
14730 mrf24j40-starhub configuration.
14731 - SAME70-Xplained: Add MRF24J40 support.
14735 - Kinetis USB Improvements: usbdev clean up ensuring proper use of HW.
14739 - Kinetis SPI driver: From David Sidrane.
14740 - Kinetis: I2C driver added I2C3, reference counting and reset.
14743 - Kinetis RTC: Implementation of the alarm read function.
14747 - configs/teensy-3.x USB: Define USBOTG-FS Read from FLASH access in
14748 board config. Allow the board config to define the USBOTG-FS to have
14750 - configs/teensy-3.x: Removed call to khci_usbattach. The call is not
14752 - freedom-k66f: Use SPI driver. Initalize SPI1 on connector J6. No
14757 - LPC43xx: Modify up_allocate_(k)heap() to support PROTECTED mode. From
14762 - configs/Bambino: Add protected mode configuration to Bambino board.
14767 - LC823450: Initial support for ON Semiconductor LC823450. From Masayuki
14769 - LC823450: eMMC/SD and USB support for LC823450. From Masayuki Ishikawa.
14773 - LC823450-XGEVK: LC823450-XGEVK board support. From Masayuki
14775 - LC823450-XGEVK: Add eMMC/SD and USB support. From Masayuki Ishikawa.
14779 - STM32 L4: Add support for the STM32L475 family.
14780 - STM32 L4 RCC: Enable ADC clock source. From Juha Niskanen.
14781 - STM32: Allow clock frequencies > 168 Mhz on stm32f427/429. We need
14784 local register access operations to allow more than 16-bit registers.
14786 - STM32 F4: Add support for STM32F433RC. From Alan Carvalho de Assis.
14787 - STM32 F7: Add new configuration option for enabling flash ART
14792 - STM32 TIM: Add the set counter function for stm32 timers. From
14794 - STM32 HRTIM: Update HRTIM definitions. Add HRTIM driver. From
14796 - STM32 HRTIM: Add HRTIM character driver. From Mateusz Szafoni.
14797 - STM32 HRTIM: Fix DAC triggers configuration, Add missing master timer
14799 - STM32 HRTIM: Add DMA configuration. From Mateusz Szafoni.
14800 - STM32 HRTIM: Add burst mode configuration. From Mateusz Szafoni.
14801 - STM32 RTC: Port Boris Astardzhiev's RTC change for STM32L4 to STM32.
14802 - STM32 DAC: Add support for HRTIM triggering. Separate dma buffer
14804 - STM32 DAC: Conditional logic for timer triggering, fix TSEL
14807 - STM32 DAC: Support external triggering for DMA transfer. From Mateusz
14809 - STM32 L1 TIM: Add base address for TIM11. From Juha Niskanen.
14810 - STM32 F4 FLASH: Enable/disable the flash write protection on any
14813 - STM32 F4 Clocking: To use an external oscillator module (not just a
14818 - STM32 F4 USB: I'm working on bringing up USB full-speed support on
14821 config�STM32_OTGFS_VBUS_ CONTROL which lets us selectively disable
14826 - STM32 FLASH: Add CONFIG_STM32_STM32F469 support. From David Sidrane.
14827 - STM32 COMP: Add default INM configuration and some missing COMP
14829 - STM32 F33: Add missing SYSCFG CFGR3 definitions. From Mateusz Szafoni.
14830 - STM32 L4 Serial: Allow configuring Rx DMA buffer size. From Juha
14832 - STM32 L4 COMP: Input minus pin extended selection. From Juha Niskanen.
14833 - STM32 L4 COMP: Bind to upper half comp driver. From Pekka Ervasti.
14834 - STM32 L4 DAC: Port from STM32. Add ADC register definitions. From
14836 - STM32 L4 DAC: Add option for routing DAC output to ADC. Actually
14838 - STM32 L4 DAC: Separate DMA buffer configuration for channels. From
14840 - STM32 L4 ADC: Implement peripheral. From Juha Niskanen.
14841 - STM32 F7: Definitions for I2C4, SDMMC2. Adapted RAM start / size to
14843 - STM32 F7 I2C4: I2C4_SDA can also be on GPIO PB7. From Titus von
14845 - STM32 F7 LTDC: Option for DSI output, inconsistency: the stm32f746
14848 - STM32 F7 Clocking: Added functions for DSI clock source selection.
14850 - STM32 F7 Clocking: Enable APB2 DSI clock. From Titus von Boxberg.
14851 - STM32 F7 LTDC: No board specific dithering values used; corrected
14854 - STM32 F7 Reset: Added function for reset. From Titus von Boxberg.
14855 - STM32 F7 DMA: DMA add dcache alignment check in stm32_dmacapable. In
14856 the case dcache write-buffed mode is used (not write-through) buffer
14862 - STM32 F7 SDMMC: SDMMC remove widebus limitation on DMA. There is no
14865 - STM32 F7 SDMMC: SDMMC add dcache alignment check in
14868 - STM32 F7 RTC: Port Boris Astardzhiev's RTC change for STM32L4 to
14873 - STM32F103-Minimum: Add GPIO device driver example. From Alan
14875 - STM32F103-Minimum: Add small hello example for STM32F103-Minimum
14877 - STM32F103-Minimum: Add support for SmartFS on Winbond W25 SPI NOR
14879 - STM32F103-Minimum: (1) Enable CONFIG_MTD_PARTITION in Kconfig if flash
14880 partition is enabled and (2) Update the README.txt file with info
14882 - Nucleo-F334R8: Add HRTIM initialization. From Mateusz Szafoni.
14883 - Nucleo-F334R8: UART2 is default serial port (STLINK Virtual Port).
14885 - Clicker2-STM32: Add a configuration that was used with the MRF24J60
14887 - Clicker2-STM32: Allow both IEEE 802.15.4 MAC character and network
14889 - Clicker2-STM32: Add configurations to support the endpoint and hub
14891 - Clicker2-STM32: Add support for per-function-call stack checking.
14893 - Clicker2-STM32: Configure EDBG SPI CS just to make that it is
14894 disabled.
14895 - STM32F4 Discovery: Add logic to register the button driver and the
14897 - STM32F4-Discovery: Add a configuration for testing libc++. From Alan
14899 - B-L475E-IOT01A: Add support for the STMicro B-L475E-IOT01A board.
14901 - B-L475E-IOT01A: Add support for the SPSRGF/Spirit1 radio module. Add
14903 - B-L475E-IOT01A: Add configurations to support a star topology.
14904 - B-L475E-IOT01A: Add basic support for external Macronix QuadSPI flash
14906 - B-L475E-IOT01A: Enable UDP broadcast test in the spirit-starhub
14908 - STM32F334-DISCO: Add STM32F334-DISCO basic support. From Mateusz
14910 - STM32F746-Disco: Add ADC3 support. From Ivan Ucherdzhiev.
14911 - STM32L476-Disco: Add a knsh configuration that may be used to test
14913 - STM32F769I-DISCO: Initial port to STM32F769I-DISCO. From Titus von
14918 - Move TUN ioctl command to include/nuttx/net/ioctl.h so that it will
14920 - Math Library: Port gamma() and lgamma() from FreeBSD to NuttX. From
14922 - C++: Compilation with recent C++ compiler needs an overloaded delete
14928 - Initial clang compile. From Goran Mekic.
14929 - Add CLANG definitions in Kconfig and Toolchain.defs.
14930 - drivers/wireless/ieee802154: Moved radios to individual
14931 sub-directories. From Anthony Merlino.
14932 - Makefile.unix: Add savedefconfig target. From Gwenhael Goavec-Merou.
14933 - Add Gwenhael's change to Makefile.win and update README.txt to
14935 - All defconfig files are now in the compressed format created with
14936 'make savedefconfig.' The original .config file can be reconstituted
14938 - Build System: It is no longer necessary to have a unique Make.defs
14941 common Make.defs file moved to the scripts/ sub-directory for each
14943 - Networking: Move INET socket interface out of net/sockets to its own
14948 - testbuild.sh: Added -x to fail build on errors for continous
14951 - Improve configure.sh behavior: (1) enable to call from top directory.
14952 (2) enable to designate direct path for config. (3) install .gdbinit
14954 - Update tools/configure.c to same functionality as configure.sh. Add
14956 optional file but other things like IDE-specific project files might
14958 - tools/configure.sh will now copy Eclipse project files if they are
14960 - Update configure.sh, configure.bat, configure.c: With compressed
14965 - tools/refresh.sh: Now runs make savedefconfig before copying the new
14966 defconfig file in place; Also, added a new option --defaults. Since
14969 --silent but still prompts you for the decision to save or discard the
14971 - tools/refresh.sh: Update so that it can find the Make.defs file in
14976 - NSH Library: Add a Telnetd command. This is needed when network
14981 - NSH Library: Misc changes needed for PktRadio support.
14982 - NSH Library: Extend ifconfig command so that it can set variable
14984 - NSH Library: Update addroute and delroute command. The would support either
14985 IPv4 or IPv6, but not both. Allow expression of the netmask in IPv4 CIDR or
14988 - NSH Library: Add a route command that will dump the content of routing table.
14992 - examples/udp: Add configurable network device name; Add option to
14995 - examples/udp: Fix registration as a built-in program; Change some
15001 - examples/udp: Port numbers need to be configurable to work with
15005 - examples/udp: Enable testing with the broadcast address.
15006 - examples/nettest: Support target boards on both ends of the test.
15012 - examples/nettest: The send buffer size is now a configuration option.
15013 - examples/nettest: Loopback option should be available in Kconfig for
15015 - examples/keypadtest: REMOVED and warehoused in the Obsoleted
15019 uses illegal interfaces, and is a test for non-existent code.
15020 - examples/ipforward: Add an IP forwarding example using only TUN
15022 - Implement powermonitor example for ltc4151 current and voltage
15024 - examples/pf_ieee802154: Add for testing PF_IEEE802154 sockets. Add
15027 - examples/dac: Add DAC example. From Juha Niskanen.
15031 - netutils/telnetc: This a port of libtelnet to NuttX.
15032 - netutils/telnetd and users of telnetd: Add support for IPv6.
15033 - netutils/thttpd: Remove the netstats demo. This depends on an
15037 - netutils/netlib: Add support for PktRadio IOCTL commands.
15038 - netutils/netlib: Add a helper to decode short addresses.
15042 - wireless/ieee802154/i8sak: Rewrote i8sak to be test CLI for IEEE
15044 - wireless/ieee802154/i8sak: Updates to i8sak for
15045 association/beacon-enabled changes to IEEE 802.15.4. From Anthony
15047 - wireless/ieee802154/i8sak: Add option to make it easy to send large
15049 - wireless/ieee802154/i8sak: Add scan command. From Anthony Merlino.
15050 - wireless/ieee802154/i8sak: Add coordinfo command allowing you to
15053 - wireless/ieee802154/i8sak: Add a option to retry on failures to the
15055 - iwireless/ieee802154/8sak: Add reset command to reset the MAC layer.
15056 Adds option to assoc command -t to specify how long to wait for a
15058 - ieee802154/i8sak: Adds command to trigger regdump of radio. From
15063 - apps/system/composite: Update to apps/system/composite assocated with
15065 - apps/system/composite: Remove CDC/ACM and MSC configuration logic.
15072 - apps/system/composite: Add a configuration option to the boardctl()
15074 - apps/system/composite: Remove references to USBMSC. There still
15076 - apps/system/telnet: Add Telnet Chat deamon and client from
15079 * Platform-Specific Support (apps/platform)
15087 - Fix ELF loader up_checkarch on ARM arch. From Cristian Condurache.
15088 - pthread_mutex_unlock(): Missing check for the case where
15092 - sig_timedwait(): Pending signal structure used after it has been
15094 - mm_mallinfo: do heap end debug assert check with heap semaphore held.
15096 - sched/: Fix return value in sched_setaffinity(). From Masayuki
15098 - Work Queues: work_queue() must cancel existing work prior to queuing
15101 - waitpid(): Corrects two problems when CONFIG_SCHED_HAVE_PARENT +
15108 - VFS poll(): Fix timeout calculation. From Jim Paris.
15109 - VFS poll(): Fix poll for regular files and block devices. Open Group
15113 - VFS epoll(): Fix epoll_wait function. From Simon Piriou.
15114 - Smart FS: Fix wrong freeing of device structure and use-after-free
15116 - MTD FLASH drivers: The byte write method of several drivers had a
15119 - MTD M2PX: If we READ while a write/erase is pending, the command is
15125 - MTD FLASH drivers: Clone Sebastien Lorquet's m25px change to at25,
15127 - MTD W25: Add missing locking and fix SPI_SELECT usage for
15129 - MTD W25: Wait for BUSY flag to clear in w25_readid and
15134 - Automounter: FS_AUTOMOUNTER should depend on SCHED_LPWORK. From
15139 - TCP Listen: Throw error when error happens in the tcp_listen
15141 - Nework Device Management: Do not search net device when all-zeros
15143 - Network Device Management: Fix a error in netdev_register(); it was
15145 - Network Device Management: Fix netdev_dev_lladdrsize(). In some
15148 - Network Device Management: Fix typo for 802.11 devices in
15151 - TUN Driver: Use critical section instead of semaphore in
15153 - TUN Driver: Do all polling on worker thread. Otherwise, the stack
15155 - TUN Driver: Currently cannot support TAP mode unless Ethenet is
15157 - netdb: Fixed buffer size used for sending DNS queries should depend
15159 - UDP networking: The TTL (time to live) was not being set in the IPv4
15161 - UDP Networking: Fix a copy-paste error that could effect networking
15162 when both IPv4 and IPv6 are enabled.
15163 - UDP Networking: When upd_input() cannot process a packet, it returns
15168 - TCP Networking: Correct some issues that prevent TCP from working
15169 correctly when both IPv4 and IPv6 are enabled.
15170 - TCP Networking: TCP disconnection callbacks are not retained in a
15171 list. This will support multiple callbacks per lower-level TCP
15173 dup'ed and shares the same lower-level connection structure. NOTE:
15176 - TCP Networking: Start the network monitor for a socket when a TCP
15178 - TCP Networking: If one of the dup'ed socket's is closed, then network
15184 - TCP Networking: Fix a race condition. The accept() operation is
15189 - Network routing tables: Fix a compilation error when IPv6 and
15191 - Network procfs: Fix some spacing when both IPv6 and IPv4 are enabled.
15192 - Network Local Sockets: Fix accept for local stream sockets. From
15194 - Network Local Sockets: Fix server lc_waitsem overflow. From Jussi
15196 - IPv6 Networking: Remove comparisons to the address with all ones
15199 - ICMPv6 Networking: Fix a compilation issue with
15201 - Networking: Fix net_lock returning ERROR when instead of real error
15203 - IGMPv2 Networking: Remove special support for interrupt level
15210 - IEEE 802.15.4 MAC: Need counting protection on the logic that
15213 - IEEE 802.15.4 MAC: Improves internal timer logic to handle work
15220 - IEEE 802.15.4 Network Driver: Update RX statistics in network driver.
15221 - IEEE 802.15.4 MRF24J40 Driver: Minor timing fix. Matches recommended
15223 easier to navigate. Fixes issue with non-beacon enabled mode. From
15225 - IEEE 802.15.4 MRF24J40 Driver: Fix a bug causing radio to cease
15227 - IEEE 802.15.4 MRF24J40 Driver: Fixes issues with sleeping for beacon
15229 - EEE 802.15.4 MRF24J40 Driver: Fix math error for calculating sleep
15231 - IEEE 802.15.4: Fix timing issues for beacon enabled coordinators and
15233 - iIEEE 802.15.4: Fix issue with association on beacon-enabled
15235 - 6LoWPAN: Correct a few addressing issues. Also reserve two bytes at
15237 - 6LoWPAN: Fixes needed when extended addressing is enabled; broke short
15242 - 6LoWPAN: Add missing IPv6 address creation to HC1 decode logic. Fix a
15244 - 6LoWPAN: TCP logic was not obeying MTU packet size limitations.
15245 - 6LoWPAN: Major re-architecting of TCP logic to properly handle TCP
15248 - 6LoWPAN: HC06, copy TCP header as though it were data. TCP packet
15250 - 6LoWPAN: Fix duplicate and bad memcpy in loopback driver.
15251 - 6LoWPAN: Fix a misconception about HC06 16-bit IPv6 address
15253 - 6LoWPAN: TCP send logic was returning a failure in one case when, in
15258 - USB MSC: Use struct instead of pointer to the struct as sizeof
15262 - USB MSC: Add missing logic to define endpoints. The composite
15263 …changes broke the the non-composite, USB MSC only case because it omitted the critical setup when …
15264 - USB CDC/ACM. Fix several known problems resulting from merge of USB
15265 composite device. That merge now breaks some of the non-composite USB
15267 - Button Driver: Interrupts weren't enabled since nothing updates them
15270 - ADC Driver: Fix some data alignment issues in the ADC driver.
15271 - I2C Drivers: Handle I2C_TRANSFER return value consistently. Some I2C
15275 - COMP Driver: Fix compilation errors when poll disabled. From Mateusz
15280 - Simulation: Fix mkdir issue in GNU target. From Simon Piriou.
15281 - Simulation: x86 stack needs to be aligned to 16-byte boundaries.
15282 - Simulation: Fix building 32-bit simulation on 32-bit X86. From Jussi
15287 - ARM: The older ARM7 and ARM9 configurations were determining CFLAGS
15291 * ARMv7-M:
15293 - Fixed ARMv7-M Toolchain setting. Cortex-M4 only have Single
15295 - ARMv7-M syscall logic: Clear bit 0 in PC settings. Bit 0 is the
15302 - Fix ESP32 gpio enable reg and default UART pin. Modify default UART
15303 pin for ESP-WROOM-32. Fix gpio enable reg. From Sungki Kim.
15307 - SAMD21: Fix some SPI-related issues. From Matt Thompson.
15308 - SAMD21 SPI: I was having issues with the bus freezing up .. slaves
15315 - SAMD/L21: Need to preserve errno value across syslog() call.
15316 - SAMD21: Changes needed to get USB working. From Matt Thompson.
15320 - SAMv7 TWIHS: TWIHS driver add reference counting. From David Sidrane.
15321 - SAMv7 CAN: We discovered a problem with the samv7 mcan driver which
15338 - SAMv7 CAN: I discovered while working on the SAMV7 mcan driver that
15347 - SAMv71-XULT: Fix MRF24J40 interrupt GPIO number.
15351 - Kinetis MPU: Disable MPU when not in protected mode. The hardware
15355 disabled the MPU if present on system startup. From David Sidrane.
15356 - Kinetis MPU: Fixed warning for kinetis_mpudisable. Missing header
15358 - Kinetis SIM: Ensure isolation of clock dividers for 0 value case.
15361 decremented to -1 (0xffffffff) spilling over to other clockdivN
15366 - i.MX6: Fix a wrong parameter passed when calling irq_attach() in
15368 - Based on Masayuki's change, I review all serial driver vector
15374 - STM32 F410 Kconfig: Fix peripherals available on the STM32 F410.
15376 flavor. From Gwenhael Goavec-Merou.
15377 - STM32 L4 DMA: Correct USART3_RX bad channel definition. From Juha
15379 - STM32 L4 PWR: Correct PWR_SR2 REGLPS and REGLPF bits, add port I
15382 - STM32 F7: do not enable read-modify-write on DTCM. "AN 4667 - STM32F7
15384 read-modify-write on DTCM: "If the DTCM-RAM is used as data location
15387 to disable the read-modify-write of the DTCM-RAM in the DTCM interface
15393 - STM32 TIM3/4 are always 16-bits; never 32-bits. Noted by Eetu
15395 - STM32 ADC: Invalidate dma buffer before use. Missing invalidation
15397 - STM32, STM32L4, STM32F7 ADC: Fix channel 18 sample time. From Juha
15399 - STM32 DAC: Fix some configuration logic. When STM32_NDAC is greather
15401 - STM32 DAC: Fix compilation when DMA disabled for channel. From
15403 - STM32 F0: Fix some funny shifts in DAC header files. From Juha
15405 - STM32 F1 RTC fixes: (1) Compile issues because of missing RTC_MAGIC
15412 - STM32/STM32 L4 PWM: While attempting to output a 70 MHz square wave
15418 - STM32 L4 I2C: Set I2C SDA and SCL pins to open drain mode. From Pekka
15420 - STM32 L4 I2C: I2C4 was writing to wrong RCC registers. From Juha
15422 - STM32 L4 DAC: Report transfer as completed in DMA callback. Without
15425 - STM32 L4 COMP: comparators share RCC enable bit with SYSCFG. From
15427 - STM32 L4 ADC: Correct EXTSEL macros. From Juha Niskanen.
15428 - STM32 L4 TIM: TIM15,16,17 are always in APB2. From Juha Niskanen.
15429 - STM32 F7 I2C: Set I2C4 SDA and SCL pins to open drain mode. From Juha
15431 - STM32 F4 RTCC: ISR register and write protection fix. From Eetu
15433 - STM32 F7 Ethernet: Fix typo in header; Add memory sync barrier
15436 poll cycle instead. Nucleo-144: Fix RMII TXD1 signal, connected to
15438 - STM32 F7: Added missing config option for register value debugging.
15440 - STM32 F7: No FSMC, only FMC for STM32F7. From Titus von Boxberg.
15441 - STM32 F7: HEAP2 depends on CONFIG_ARCH_HAVE_HEAP2, not on particular
15443 - STM32 F7: STM32_RCC_DCKCFGR2 has nothing to do with PLLI2S; PLLI2S is
15446 - STM32F7: Some STM32F7 builds failed in build testing due to undefined
15449 - STM32 F7: dcache write-buffed mode is used (not write-through) buffer
15458 - STM32F103-Minumum SPI: SPIDEV_WIRELESS used when this has
15460 - configs/: a few more places where SPIDEV_WIRELELSS should be
15462 - STM32F103-Minumum: Fix a BUG when reading from output pin. We need
15465 - STM32F103-Minumum: Use separated read_ops for GPIO interrupt pins.
15467 - STM32F103-Minumum: Fix compiler error in MCP2415 logic.
15468 - STM32F746G-DISCO: Fix for compilation of STM32F746G-DISCO. From Ivan
15470 - STM32F746G-DISCO: Fix for stm32f746g-disco board for button support
15477 - Fix -Werror=implicit-fallthrough on gcc7. From Julien Lecoeur.
15478 - configs/Board.mk: Remove comment form end of line. In windows native
15481 - configs/Board.mk: Remove quotes from CONFIG_ARCH_FAMILY. Causes
15483 - Makefile.win would only create uboot images for ARM. MIPS support
15488 - C++: Fix C++ __guard implementation for ARM. The standard C++ ABI
15491 32-bit ARM C++ ABI defines it as 32 bits instead, and changes the
15496 by special-casing 32-bit ARM in libxx_cxa_guard. From Jim Paris.
15497 - C++: In cwchar it uses CONFIG_LIBC_WCHAR to only export the wc/mb
15503 - C Library: Fix an error in mkstemp() the could result in an infinite
15505 - C Library: (1) Fix an error in mkstemp() the could result in an
15513 - C Library: gethostbyname_r: Fix check for space in buffer.
15514 - C Library: inet_ntop() was printing negative values for fields >127.
15515 - Math Library: Fix wrong output in modf() API. The sign of integral
15519 - Math Library: Fix wrong output in ceil() API. Ex:for input x = 1.0,
15524 - tools/testbuild.sh: Fix missing $ before variable name.
15525 - tools/mkdeps.c: Eliminate a warning. MAX_PATH may already be defined
15530 - All apps/ Makefiles: Add .PRECIOUS: apps/libapps.a to every
15531 Makefile. Hopefully this will end awkward problems when you Control-C
15533 - platform/Makefile: More attempts to fix for Windows native build.
15538 - NSH network initialization: Fix some ieee 802.15.4 initialization
15540 hard-coded but must come from the coordinator. Re-factor a function
15544 - NSH Library: Fix copy-paste typo in nsh_usbconsole.c. From Oleg
15546 - NSH Library: fix size of 6LoWPAN extended address.
15547 - NSH Library: Fix build break in nsh_command.c with IPv4/IPv6 dual
15549 - NSH Library: Correct parsing of ifconfig so that you can specify the
15554 - examples/smart: Fix some compilation errors. Obviously this test has
15556 - examples/udp: Renaming some files to prevent name collision in
15558 - examples/nettest: Renaming some files to prevent name collision in
15560 - examples/nximage: Remove unused global variable.
15561 - examples/nsh: Remove APPNAME, PRIORITY, and STACKSIZE settings from
15566 - netutils/tftpc: Missing header file causes errors in some
15568 - netutils/tftpc: TFTPC depends on CONFIG_NET_IPv4.
15569 - netutils/netlib: Fixes to work when only USRSOCK is enabled.
15570 - netutils/netlib: Fix netlib_nodaddrconv() so that its return type is
15572 - netutils/netlib: If only PF_IEEE802154 socket family is enabled, then
15574 - netutils/ftpc: Fix some memory leaks. From Boris Astardzhiev.
15575 - netutils/thttpd: Fix a malformed if condition detected by GCC 6.x.x.
15576 - netutils/dhcpd: Prevent buffer overflow in dhcpd_addoption. offset
15583 - wireless/ieee802154/i8sak: Need to increment the next_saddr after
15588 - correct copy-paste typo in comments in composite_main.c From Oleg
15590 - system/dhcpc: The DHCPC renew command did not build correctly due to
15592 - system/dhcpc: Fix warning about renew_main.o appear twice in rule.
15596 - tools/mkkconfig.bat: Use %cd% instead of %~dp0 for usage of APPSDIR
15598 - tools/mkkconfig.bat: Remove quotes in echo. These were begin
15600 - Windows build fixes: tools/mkkconfig.bat - switch APPSDIR path to
15601 use forward slashes for kconfig-frontends. interpreters/ficl -
15605 NuttX-7.23 Release Notes
15606 ------------------------
15610 that release consists of two tarballs: nuttx-7.23.tar.gz and
15611 apps-7.23.tar.gz. These are available from:
15616 Both may be needed (see the top-level nuttx/README.txt file for build
15623 - sem_open() should return SEM_FAILED on any failures. This is change
15626 - exec(): The non-standard interface exec() is now enshrined as a
15633 of code in the user-space blob so that is they exec() is really
15639 - OS Internal Functions: Rename many OS internal functions so it is
15643 - Cancellation Points: Add new cancellation point interface,
15645 - Signals: Add logic to wake up a thread that is waiting on a signal
15647 - sigtimedwait(): Add logic to suppress the wait if there is a
15649 - clock_nanosleep(): Implement clock_nanosleep(). nanosleep() is now
15651 - task_delete(): Do not permit user applications to delete kernel
15653 - kthread_create(): Rename kernel_thread() to kthread_create() for
15655 - boardctl(): Remove the BOARDIOC_GRAPHICS_SETUP command.
15656 - TCB: Move POSIX thread specific data from pthread TCB to common TCB
15659 pthread data with config option CONFIG_DISABLE_PTHREAD=y. From Jussi
15661 - mm: Remove the CONFIG_GRAN_SINGLE configuration option. It adds no
15665 - mm: Add a function to get information about the state of the
15670 - MT25Q Serial FLASH: Add support for Micron MT25Q series MT25Q128.
15672 - MX35LFxGE4AB: Add an MTD driver for Macronix MX35LFxGE4AB serial
15674 - FileMTD: Add block device MTD interface. Block MTD interface
15676 file-system in between. NOTE that this provides the opposite
15679 - BCH: The character driver to block device access now supports an
15681 - mkfatfs: Remove mkfatfs from the OS. This is a user-space
15683 - procfs: Implements procfs /proc/fs/blocks and /proc/fs/usage files,
15686 - procfs: Add /proc/meminfo. This is an alternative way to get the
15694 - UserFS: Adds the UserFS client and of the UserFS feature in
15700 operations on the top level pseudo-file system inode tree. That
15709 - Framebufer character driver: Add framebuffer character device driver.
15710 - LCD Framebuffer: Add support for a generic front-end that will
15712 - Framebufer character driver: Include support for LCD drivers that
15715 - LCD: Make LCD driver configuration indepently selected from NX
15718 usable when the NX graphics system is disabled.
15722 - Networking: Add implementation of logic for SIOCGIFCONF and
15724 - Network IOCTLs: Add support for the SIOCGIFBRDADDR ioctl() command.
15725 - Routing Tables: Permit IPv4 and IPv6 routing tables to be of
15727 - Routing Tables: Adds support for read-only routing tables. Prior
15731 pre-initialized, read-only routing table provided by the
15732 board-specific logic.
15736 behavior you could add a read-only routing table to the
15737 board-specific long that contains a single entry, the default route:
15739 - Routing Tables. Added support for routing tables in files in a file
15740 system. This might be useful for customized, per-unit routing
15743 think it probably should have a small, in-memory cache of most
15745 2. Currently the delroute logic is disabled due to a problem with
15753 - Routing Tables: Add support for an in-memory routing table cache in
15756 and so can eliminate some file access. Flush the in-memory cache
15760 - Routing Tables: Add logic to mark a route as most-recently-used in
15762 - ICMP: This change adds support for semi-standard IPPROTO_ICMP
15765 - ICMPV6: This commit adds support for semi-standard IPPROTO_ICMP6
15766 sockets. This is a replacement for the non-standard ICMPv6 ping
15768 - ICMPv6: Add option to manually specify router prefix in router
15770 - Local Sockets: This commit modifies the Unix domain local socket
15784 - IEEE-802154: Adds support for receiving MAC events via IOCTL through
15786 - IEEE-802154: Simplifies notify() and rxframe() calls to a single
15789 - MAC802154: Add support for getting promiscuous mode state From
15791 - MAC802154 Character Driver: When in promiscuous mode, the char
15793 change adds an offset field indicating the header-payload boundary.
15796 - 6LoWPAN: Remove CONFIG_NET_6LOWPAN_FRAMELEN. In this case where
15799 - 6LoWPAN: Support sending to a router that is on-link and may be
15802 - XBee: Adds XBee S2C (802.15.4 firmware) support. XBee driver
15807 - PowerLED: Add upper-half driver for high power LED driver (powerled)
15809 - RTC Driver: Add periodic alarms to upper and lower halves. From
15811 - Pipes: Fix writing large buffers not triggering POLLIN for reader
15813 - USB CDC/ACM Device: Add support for RX flow control to the CDC/ACM
15815 - USB CDC/ACM Device: Add support for flow control TERMIOs in CDC/ACM
15817 - USB RNDIS Device: Add RNDIS-over-USB driver. From Sakari Kapanen
15818 with added Hi-Speed support from Masayuki Ishikawa.
15819 - Loop Driver: Don't use file descriptors... Use the internal file
15822 - APA102 LED controller: Add driver for APA102 LED controller. These
15824 - INA219. Add INA219 Driver. The INA219 is a combined voltage and
15832 - PCA9555: The IRQ subsystem now supports passing a void * parameter
15841 - APDS-9960: Add driver for the APDS-9960 gesture sensor. From Alan
15843 - MAX7219: Add support to MAX7219 LED Matrix as LCD interface. From
15845 - WM8774: Add WM8774 audio DAC support. From Masayuki Ishikawa.
15846 - Nunchuck: Add Nintendo Wii Nunchuck driver. From Alan Carvalho de
15851 - Simulation: Add a configuration for non-graphical testing of the
15853 - Simulation: Add a configuration for testing the UserFS using
15858 - BCM2708: Add enough infrastructrue (more stubs) to get a clean
15862 logic, boot-up files, GPIO support, tickless timer, build and
15867 - Raspberry Pi Zero. Basic board support at configs/pizero. Untested
15872 - XMC4500-Relax: Add config for UART3 on RXD P0.0 and TXD P0.1 pins.
15877 - Open1788: Add initialization of Framebuffer driver. Add
15882 - LPC43xx: Add LPC43xx CAN driver. From Alexander Vasiljev.
15886 - MCB1700: Add support for Keil MCB1700 board. From Alan Carvalho de
15888 - Open1788: Add support for the discrete joystick driver.
15889 - Open1788: Add a configuration for testing pdcurses with discrete
15894 - LC823450: Add ADC driver and watchdog drivers. From Masayuki
15896 - LC823450: Add IPL2 support. From Masayuki Ishikawa.
15897 - LC823450: Add I2S support. From Masayuki Ishikawa.
15898 - LC823450: Add auto LED for CPU activity. From Masayuki Ishikawa.
15902 - LC823450-XGEVK: Enable ADC and watchdog driver. From Masayuki
15904 - LC823450-XGEVK: Add IPL2 support. From Masayuki Ishikawa.
15905 - LC823450-XGEVK: Add WM8774 support. From Masayuki Ishikawa.
15906 - LC823450-XGEVK: Add auto LED support. From Masayuki Ishikawa.
15907 - LC823450-XGEVK: Enable CONFIG_SMP for audio. From Masayuki Ishikawa.
15908 - LC823450-XGEVK: Add rndis configuration. From Masayuki Ishikawa.
15912 - ARM Kconfig: Add support for classic ARM11 architecture selections.
15913 - STM32 Tickless: Removes the restriction to 16-bit counts when a
15914 32-bit timer is used for tickless operation on the stm32. As it
15918 - STM32 L4 Kconfig: Add some L486 and L496 chips. From Juha Niskanen
15919 - STM32 F7: Adds architecture support for the STM32 F72x and F73x
15921 - STM32 F7: Allow changing voltage output scaling setting and
15922 prevents enabling over-drive mode for low frequencies (STM32 F74xx,
15928 - STM32 ADC: Added support for ADC's IO_ENABLE_TEMPER_VOLT_CH ioctl
15930 - STM32 Wakeup: Add logic for enabling wakeup pins. From Oleg Evseev.
15931 - STM32 PWR: Adds stm32_pwr_getsbf and stm32_pwr_getwuf functions
15934 - STM32 HRTIM: Sdd support for capture, chopper, deadtime and dump
15936 - STM32 RTC: Canceling an alarm marks it as inactive. From Juha
15938 - STM32 Serial: Add interface to get uart_dev_t by USART number,
15940 - STM32 F33xx ADC: Initial ADC support for the STM32F33XX. From
15942 - STM32 F33xx ADC: Add ADC DMA support to STM32F33 configuration. From
15944 - STM32 L4 ADC: Port analog watchdog ioctl commands from the Motorola
15946 - STM32 L4 ADC: Add option for routing ADC data to DFSDM, fix DFSDM
15948 - STM32 L4 ADC: Add PM hooks from Motorola MDK
15949 - STM32 L4 FLASH: Add function for modifying device option bytes,
15951 - STM32 L4 DFSDM: Add peripheral support for digital filters for
15952 sigma-delta ADCs. Initial version. Timer trigger support is not
15954 - STM32 L4 I2C: Port then STM32 F7 I2C driver to STM32 L4. STM32L4 I2C
15955 driver is in work-in-progress state (plentiful of TODOs and
15956 #warnings) and lags many features found in more up-to-date STM32 I2C
15963 current hard-coded default. From Jussi Kivilinna.
15964 - STM32 L4 RTC: Add up_rtc_getdatetime_with_subseconds
15965 - STM32 L4 RTC: Change maximum alarm time from 24h to one month. From
15967 - STM32 L4 RTC: Add support for periodic interrupts with
15969 - STM32 L4 SDMMC: Add support for an SDMMC driver. From Miha Vrhovnik.
15970 - STM32 L4 Serial: Suspend serial for Stop mode. From Juha Niskanen.
15971 - STM32 L4 Serial/PM: STM32L4 serial PM interface improvements:
15978 - STM32F103-Minimum: Add board support for APA102 driver. From Alan
15980 - STM32F103-Minimum: Add ADC support on stm32f103-minimum board.
15982 - STM32F103-Minimum: Add support for LM75 in the stm32f103-minimum
15984 - STM32F103-Minimum: Add an ADPS-9960 example configuration. From
15986 - STM32F103-Minimum: Add board support for MAX7219 LED Matrix
15988 - STM32F103-Minimum: Add USB MSC device initialzation to
15989 stm32f103-minimum. From Alan Carvalho de Assis.
15990 - STM32F103-Minimum: Add framebuffer driver initialization for
15991 stm32f103-minimum board. From Alan Carvalho de Assis.
15992 - STM32F103-Minimum: Add Nunchuck board support for
15993 stm32f103-minimum board. From Alan Carvalho de Assis.
15994 - STM32F4 Discovery: Add support for JLX12864G display on STM32F4
15996 - Viewtool-STM32F107: Add support to auto-mount the procfs file system.
15997 - Photon: Support SPI1 and SPI3. From Anthony Merlino.
15998 - STM32F334-DISCO: Add lower half driver for high power LED
16000 - STM32F334-DISCO: Add flash mode support for powerled driver. From
16002 - STM32F334-DISCO: Add powerled example configuration. From Mateusz
16004 - STM32F334-DISCO: Add lower-half driver for SMPS (buck-boost onboard
16006 - Nucleo-F334R8: Add logic for zero latency high priority interrupts
16008 - Nucleo-F334R8: Add highpri example configuration. From Mateusz
16010 - STM32 F4 Discovery: Added support for the LIS3DSH accelerometer on
16012 - STM32 F4 Discovery: ROMFS for STM32F4 Discovery board. From Tomasz
16014 - STM32 F4 Discovery: Add a USB MSC configuration. From Alan Carvalho
16016 - STM32 F4 Discovery: RNDIS support on STM32F4Discovery + DM-STF4BB.
16019 - STM32 F4 Discovery: Add STM32F4 Discovery board support for
16021 - STM3240G-EVAL: Add a configuration for testing the Framebuffer
16023 - STM3240G-EVAL: Mount procfs if enabled.
16024 - STM3240G-EVAL: Add support for pdcurses and the pdcurses demo
16026 - Clicker2-STM32: Adds SD card, automount, and syslog file
16028 - Clicker2-STM32: Adds support for USB RNDIS device. From Anthony
16030 - Olimex STM32-H407: Add serial support on the on-board UEXT
16033 - Nucleo-F410RB: Add support for the nucleo-F410RB board. From
16034 Gwenhael Goavec-Merou.
16035 - STM32F429i-DISCO: Add framebuffer driver initialization. Add a
16037 - STM32F429i-DISCO: Add logic to auto-mount procfs. Enable procfs in
16039 - STM32F429i-DISCO: Enable support for the STMPE811 touchscreen
16042 - STM32F429i-DISCO: Convert NxWM configuration to use LTDC
16045 - STM32L476-MDK: Add support for the on-board LEDs.
16046 - Nucleo-L496ZG: Add DFSDM initialization. From Juha Niskanen
16047 - Nucleo-L496ZG: Add support for SDMMC driver. From Miha Vrhovnik.
16048 - Nucleo-L496ZG: Enable I2C4 bus with i2ctool in NSH configuration.
16050 - Nucleo-L496ZG: Make HSE on Nucleo-L496ZG default to enable USB.
16052 - Nucleo-F746ZG: Use the serial console over /dev/ttyACM0 by default.
16053 The Nucleo-F746ZG doesn't come with Arduio RS-232 shield, then it is
16057 - Nucleo-144: Adds support for the Nucleo-144 boards with
16062 - z80/include: compiler.h, limits.h, types.h: Update SDCC/z80 files
16067 - include/: Add stdnoreturn.h. Holds definitions for the C11
16069 - include/netinet/tcp.h: Add trivial standard tcp.h header file.
16070 - libc: Add support for readv() and writev().
16071 - libc: Adds tcflow().
16072 - libc: Add support for sigwait().
16073 - libnx: Changes to allow the font subsystem to be built without
16081 - tools/configure.sh: Add special support so that you can start with a
16084 - tools/configure.c: Duplicate new functionaity added to configure.sh.
16085 - tools/configure.sh: This commit adds a -m option for macOS. For
16089 - tools/configure.c: Update functionality to match last change to
16094 - apps/nshlib: mount command no long uses the non-standard OS
16097 - apps/nshlib: df command no long uses the non-standard OS interface
16100 - apps/nshlib: The free commands no longer used mallinfo() to get
16112 - apps/examples/fb: Add a simple test for the framebuffer character
16114 - apps/examples/ostest: sem_open() now returns SEM_FAILED in the
16116 - examples/ostest: Extend cancellation test to make sure that
16119 - Added a simple reader example for the LIS3DSH acceleration sensor
16121 - apps/examples/apa102: Add a Rainbow example for APA102 LED Strip.
16123 - apps/examples/flowc: Add a simple test of serial hardware flow
16125 - Add powerled driver example. From Mateusz Szafoni.
16126 - apps/examples/ina219: A simple infinite loop that polls the INA219
16128 - apps/examples/alarm: Add options for reading alarm value and
16130 - Add -n samples to lm75 app and replace Centigrade with Celsius.
16132 - apps/examples/adps9960: Add ADPS-9960 example. From Alan Carvalho
16134 - apps/examples/obd2: Add OBD2 example application. From Alan
16136 - apps/examples/userfs: Add a test case for verifying UserFS.
16137 - apps/examples/smps: Add SMPS driver example. From Mateusz Szafoni.
16138 - apps/examples/pdcurses: Bring in pdcurses demos and make them
16140 - apps/examples/pdcurses: Add a very simple example that just shows
16141 the entire character set (7-bit only). It adapts to the size of
16144 - apps/examples/nunchuck: Add Nunchuck example application. From
16149 - apps/fsutils/mkfatfs: Move mkfatfs from the OS to here.
16153 - apps/netutils/netlib: Add netlib_ipv6adaptor() and
16155 - apps/netutils/netlib: Add helpers for reading the routing table:
16157 - apps/netutils/netlib: Add new utilities netlib_ipv[4|6]router()
16161 - apps/netutils/ftpc: Adds support for IPv6 and fixes various
16166 - apps/canutils/libobd2: Add libobd2 for NuttX. From Alan Carvalho
16171 - graphics/traveler: Convert to use the framebuffer driver.
16172 - apps/graphics/pdcurs34: This commit brings the public domain
16179 - apps/wireless/ieee802154/i8sak: Adds socket interface support. You
16182 - apps/wireless/ieee802154/i8sak: Adds sniffer port option and a few
16184 - apps/wireless/ieee802154/i8sak: Changes 'notif' to 'primitive'
16186 - apps/wireless/ieee802154/i8sak: Channel setting is now saved
16190 - apps/wireless/ieee802154/i8sak: Adds ability to get/set rxonidle
16192 - apps/wireless/ieee802154/i8shark: Adds i8shark, a sniffer "adapter"
16199 - apps/system/ping and ping6: This commit removes the ping and ping6
16201 apps/system/ping6 built-in commands. The NSH ping[6] commands had
16203 The apps/system/png and ping6 command uses the sem-standard
16206 * Platform-Specific Support (apps/platform)
16214 - Task Environment Creation: Fix an error in the duplication of the
16220 zero-size partent environment. Noted by Anthony Merlino.
16221 - timer_create(): Fix watchdog resource leak if cannot allocate a new
16223 - OS Internal Functions: Internal OS functions should not return error
16228 - OS Internal Functions: Not only should internal OS functions not
16233 - OS Internal Functions: Create OS internal versions of many
16240 - Task Exit: task_exithook.c fails to link if signals are disabled
16243 - memalign(): Fix heap corruption caused by using unaligned chunk
16245 corruptions when nodes are shrink further (for example, 24 bytes ->
16247 - SMP: In sched/sched/sched_cpuselect.c, in order to find the cpu
16250 - spinlocks: Disable local interrupts in spin_setbit() and
16253 - atexit()/on_exit(): Clear atexit()/on_exit() function pointer
16260 - tmpfs: Fixed directory unlocking in tmpfs_opendir. From Dmitriy
16262 - fcntl(): fcntl() did not return success fail for F_SETFL. Reported
16264 - tcdrain(): tcdrain() was recently added to the NuttX C library.
16268 point hooks were added. In non-FLAT builds, access via system calls
16270 - FS FAT: Fix hard-fault when listing contents of FAT root. From
16272 - procfs: Correct a problem that was causing an apparent directory to
16282 - procfs: Fix uptime being clse to maximum 32-bit value in certain
16283 config. From Juha Niskanen.
16287 - binfmt/: Don't schedule starthook if there are no constructors.
16291 - LCD: ILI9341 initialize method not permitted to set errno.
16295 - Networking: net/netdev/netdev_ifconfig.c: Was not returning all of
16297 - Networking: In some cases, packets are still not sent behind the
16301 - SIOCGIFCONF and SIOCGLIFCONF IOCTL commands should only report on
16303 - recvfrom(): Fix double leave_cancellation_point on error path.
16305 - send(): Verify that sock descriptor is valid. Fixes assertion when
16307 - sendto(): Remove assert check for null psock and buf input
16311 -EINVAL instead of assert). From Jussi Kivilinna.
16312 - sockgetname() files need to include udp/udp.h and tcp/tcp.h or
16315 - dup()/dup2(): There was a reference counting problem in the TPC
16323 - close(): There was a possible recursion that could eventually
16332 - inet: Add check for protocol before handing out TCP and UDP sockets.
16333 - IP Forwarding: Fixes typo that caused build error when IP
16336 - IP Forwarding: Do not add link layer header size to d_len inside
16338 - TCP Networking: When CONFIG_NET_TCP_WRITE_BUFF=y there is a
16340 configuration, the TCP connection's 'semi-permanent' callback,
16346 - UDP Broadcat: Fix some issues with regard to UDP broadcast
16348 - ICMP: Fix an error in the poll logic. It was assumed that the
16352 - ICMPv6: Fixes several errors preventing icmpv6_radvertise.c from
16355 link-local IP address instead of the address in the netdev
16360 separate prefix from the config. From Sakari Kapanen.
16361 - ICMPV6: icmpv6_input() needs to set d_len to 0 after consuming echo
16363 - ICMPV6: Fix an error in the poll logic. It was assumed that the
16367 - IGMPv2 Send: Fix incoming IGMP checksum calculation. From Louis
16369 - ARP: Fix IGMP Ethernet address computation. From Louis Mayencourt.
16373 - CC1101: CC1101 driver not permitted to set errno.
16374 - 6LoWPAN: Correct an error in uncompressing multicast address.
16375 - 6LoWPAN: Correct a bug in handling uncompressed frames (IPv6
16378 - 6LoWPAN: Fix an endian-ness problem in 6LoWPAN address
16380 - 6LoWPAN: The logic that extracts interface identifier from the IP
16386 - Serial: 16550 UART driver IOCTL method must not set errno; it must
16388 - LIS3DSH: Added the argument parameter (FAR void *arg) to the
16393 - LIS2DH: Fixes for self-test. From Jussi Kivilinna.
16394 - LIS2DH: Fix use of obsolete dbg macro. From Jussi Kivilinna.
16395 - LIS331DL: LIS331DL driver not permitted to set errno.
16396 - HTS221: Power-on sensor for loading calibration data. From Jussi
16398 - MCP2515: Fix the MCP2515 Bit Rate Prescale calculation. Fix BRP
16400 - STMPE811: Fix GPIO operation of STMPE811 driver.
16411 - BQ2429X: Add BATIO_OPRTN_SYSON for enabling BATFET after SYSOFF.
16416 - Simulation: Serial and console drivers are not permitted to set
16419 * ARMv7-M:
16421 - ARM Stack Check: Fix assert panic when both TLS and interrupt stack
16426 - XMC4 USIC: Kconfig was not selecting XMC4_USIC for USIC1. From Alan
16428 - XMC4 UART: Fix XMC4xxx USIC UART sginal to be high level when in idle.
16430 - XMC4 UART:xmc4_uart_configure() expects the channel# not uartbase as
16432 - XMC4 UART: Enable RX/TX status. From Alan Carvalho de Assis.
16433 - XMC4 UART: The Alternative Receive Interrupt was not being
16438 - XMC4500-Relax: Setup max. freq. 120MHz and setup pull-up to UART
16443 - SAMv7: DAC and ADC drivers are not permitted to set the errno.
16444 - SAMv7: Correct an error in RX DMA setup. From Manish Kumar Sharma.
16445 - SAMv7 USB: It is necessary to disable pre-emption and interrupts
16451 - LPC31xx: Serial and console drivers are not permitted to set
16456 - lpc43xx: lpc43_adc.c was being selected by the build system wehn
16461 - LPC43xx Ethernet: Fix some backward logic setting full-duplex and
16462 100mbps when autoconfiguration is disabled. Noted by Anonymous in
16464 - lpc43xx: UART_RX pins should be configured with input buffers
16469 - STM32 F2: Fixed build for STM32F20XX platforms when
16471 - STM32 F4: Remove ltdc.h and dma2d.h. Those header files in that
16477 - STM32 L4: Build stm32l4_idle.c only if CONFIG_ARCH_IDLE_CUSTOM is
16479 - STM32 F7: Remove ltdc.h and dma2d.h. Those header files in that
16489 - STM32: DAC and ADC drivers are not permitted to set the errno.
16490 - STM32 ADC: Clear pending interrupts. From Mateusz Szafoni.
16491 - STM32 CAN: Lower part of STM32 CAN driver
16502 - STM32 HRTIM: Fix pclk calculation. From Mateusz Szafoni.
16503 - STM32 HRTIM: Fix burst mode prescaler update. From Mateusz Szafoni.
16504 - STM32 (alt) I2C: Ensure proper error handling. Injecting data
16508 - STM32: LTDC and DMA2D drivers are not permitted to set the errno.
16509 - STM32 RTC: Workaround for potential subseconds race condition. In
16511 to lock the values in the higher-order calendar shadow registers
16518 updated. This can result in a non-consistency of the three
16521 - STM32 Serial: Do not stop processing input in SW flow-control
16523 - STM32F33xxx ADC: Add some publicly visable interfaces and some
16525 - STM32F33xxx DMA: Add public interface to handle with DMA
16527 - STM32F33xxx RCC: Fix CAN clock enable. From Mateusz Szafoni.
16528 - stm32 F4 I2C: Ensure proper interrupt handling. Injecting data
16530 continually re-enter the isr with SB not set and BTF and RxNE set.
16533 - STM32 L4 Serial: Do not stop processing input in SW flow-control
16535 - STM32 F7: LTDC and DMA2D drivers are not permitted to set the errno.
16536 - STM32 L4: DAC and ADC drivers are not permitted to set the errno.
16537 - STM32 L4 DAC: Do not configure output pin if it is not used. From
16539 - STM32 L4 RTC, PM: Small fixes to subseconds handling, ADC
16540 power-management hooks
16541 - STM32 F4 RTC: Fix reading alarm value that is more than 24h in
16543 - STM32 L4 RTC: Fix reading alarm value that is more than 24h in
16545 - STM32 L4 TIM: Fix compilation of timers with complementary outputs
16547 - STM32 L4 RCC: Restore backup-registers after backup-domain reset.
16549 - STM32 L4 RTC: Correct RTC_SSR and RTC_TR read ordering. In all
16551 lock the values in the higher-order calendar shadow registers until
16556 - STM32 L4 RTC: Init mode was never exited because nested locking in
16557 rtc_synchwait() disabled backup domain access. From Juha Niskanen.
16558 - STM32 L4 RTC: Use backup register magic value instead of INITS
16565 - STM32 L4 RTC: Put back the SSR race condition workaround. ST has
16568 discussion: https://community.st.com/thread/43710-issue-with-rtc-maximum-time-resolution .
16570 - STM32 F7 BBSRAM: Avoid assert in stm32_bbsram_savepanic. If panic
16574 - STM32 F7 I2C: fix I2C_M_NORESTART handling. From Jussi Kivilinna.
16575 - STM32 F7 I2C: Restore bus frequency after I2C reset. Copy
16578 - STM32 F7 RTC: Fix reading alarm value that is more than 24h in
16583 - STM32F334-DISCO: Add missing ram_vectors configuration in linker
16585 - Nucleo-F334R8: Add missing ram_vectors configuration in linker
16587 - Nucleo-F334R8: Add Missing ADC trigger configuration tot he highpri
16589 - STM3240G-EVAL: The timer frequencies (BOARD_TIMx_FREQUENCY) are
16594 - STM32F429i-DISCO: The ltdc configuration has been deleted because
16601 - configs/z80sim and xtrs: Serial driver lower halfs ioctl methods
16603 - z80 Make.defs: Fixes dependency generation with newest SDCC
16605 - configs/z80sim: Fix a naming problem. Also, don't try to build the
16607 - Z80: Makefile fix for use with current SDCC.
16611 - configs/: All defconfig filess that include
16614 - configs/: All NX configuration... Because of recent changes to
16617 - Build system: Fix CONFIG_BUILD_KERNEL logic directories that have
16624 - libc/stdio: Build the lib_noflush() and lib_snoflush() stubs even
16626 - libc and libnx: When the libraries are built into two libraries, a
16632 - libc/match: Use of exp() vs expf() in logf() caused function to be
16634 - libnx: Fixes a memory leak that is caused because the client message
16637 - sscanf(): Fix sscanf() character conversion (%c): do not add '\0' at
16645 - tools/: configure.sh and configure.c should redirect stdout to
16650 - apps/nshlib/: Avoid truncating the strcmp result in the parser
16653 - apps/nshlib/: Fix resouce leak in 'dd' commenad when 'if=' or
16657 - apps/nshlib: This commit eliminates the ping and ping6 commands
16658 from NSH and replaces them with 'built-in' commands at
16661 be removed. The new system/ping and ping6 built-in commands uses
16664 - apps/nshlib: Fix parsing of empty strings when CONFIG_NSH_CMDPARMS
16669 - All configurations that use NXIMAGE or NXHELLO must select
16672 - All configurations that use NXLINES must select NX_MULTIUSER. All
16675 - apps/examples/adc: Fix g_adcstate.count initialization. From
16677 - apps/examples/elf: Remove low-level interfaces and replace with
16679 - apps/examples/nxflat: Remove low-level interfaces and replace with
16681 - examples/ostest: Works around a bug in printf() when cancellation
16687 - apps/examples/nx: The NX example no longer supports single user
16689 - apps/examples/nxtext: The nxtext example no longer supports single
16691 - apps/examples/nxhello now supports only multiuser mode.
16692 - apps/examples/nximage now supports only multiuser mode.
16693 - examples/nxlines: Now supports only multiuser mode.
16697 - apps/netutils/ftpc: Fix some crazy comparisons to determine is a
16702 - apps/system/i2ctool: Fixed i2ctool write operation in `no restart`
16703 mode (flag `-n`). It seems that I2C driver has changed a bit since
16705 `no restart` flag (-n) was passed to it. From Dmitriy Linikov.
16707 NuttX-7.24 Release Notes
16708 ------------------------
16712 that release consists of two tarballs: nuttx-7.24.tar.gz and
16713 apps-7.24.tar.gz. These are available from:
16718 Both may be needed (see the top-level nuttx/README.txt file for build
16725 - SMP: Introduce spin_lock_irqsave() and spin_unlock_irqrestore().
16730 - System Timer: Replace critical section APIs with spinlock APIs.
16734 - POSIX Timers: Replace critical section APIs with spin lock APIs in
16736 systems but nothing changes for non-SMP systems. In SMP mode,
16739 - SMP: Introduce spin_lock_wo_note() and spin_unlock_wo_note(). These
16745 - Interrupts: Add a configuration option to show interrupt
16750 - VFS: Add support for truncate() and ftruncate().
16751 - FAT, SmartFS, UserFS, UnionFS, TmpFS, NFS: Add truncate() support.
16752 - FAT. Effectively handles the situation when a new file position is
16759 - HiletGo OLED: Add configuration support for HiletGo SSD1306 OLED.
16760 - lcd/ft80x: This commit adds an FTDI/BridgeTek FT80x GUI driver. It
16766 - 6LoWPAN: Adds configuration options for specifying preloaded
16768 - TCP: Introduce tcp receive window control based on I/O buffer.
16771 - UDP: Add an implementation of UDP write buffering.
16772 - Routing Tables: Adding ftruncate() support eliminates an issue
16773 in file-based routing table management system.
16774 - Telnet: Add support for Telnet character mode From Masayuki
16779 - drivers/input/ft5x06.c: Add a driver for the FT5x06 capacitive,
16780 multi-touch, touchscreen controller.
16781 - drivers/input/ft5x06: Add a polled mode of operation for the FT5x06
16782 in attempt to work around the fact that the LPCXpresso-LPC54628
16783 chose a non-interrupt pin for the FT5x06 interrupt. Driver is still
16785 - drivers/power/bq2429x.c: Add trickle charging mode From Juha
16787 - drivers/sensors: Add support to MAX44009 ambient light sensor.
16789 - drivers/sensors: Added support for LIS3DH accelerometer sensor.
16791 - drivers/eeprom: EEPROM driver for AT24xx compatible EEPROMs.
16796 - sim: Add support for a RAM MTD driver and initialization for use
16798 - sim: Add support for testing NXFFS.
16802 - ARMv7-A, ARMv7-R, ARMv7-M: Add atomic read-add-write and
16803 read-subtract-write functions.
16807 - XMC4xxx: Refactor PLL setup, refactored PLL/CLK config, easier,
16809 config of EXTCLK output freq. From David Alessio.
16813 - Add FPU to xmc4 ostest. Remove +x from makefiles, preserve
16819 - SAMD: SAMD External Interrupt Controller (EIC) support From Matt
16821 - SAMD/L: Added Analog Comparator basic initialization From Matt
16823 - SAMD/L: Added FDPLL clock support. Fixed sequence of OSC32K
16825 - SAMD/L: Added loading factory USB calibration data from NVRAM.
16827 - SAMD/L: Added experimental DMA support to SPI driver. spi_exchange()
16832 - Flip&Click SAM3X: Add board support for the Mikroe Flip&Click
16834 - Flip&Click SAM3X: Adds basic board support for the HiletGo OLED.
16838 - PIC32MZEF: Add architectural support for the PIC32MZEF family.
16842 - Flip&Click PIC32MZ: Adds board support for the Mikroe Flip&Click
16844 - Flip&Click PIC32MZ: Add board support for HiletGo OLED.
16845 - Flip&Click PIC32MZ: Add an nxlines configuration for use in
16850 - LPC43xx: Adapt LPC176x RTC driver for the LPC43xx. From Gintaras
16852 - LPC43xx: Add Windowed Watchdog Timer (WWDT) driver. Tested on
16855 - Leverage the LPC54xx SD/MMC back to the LPC43xx (where it came from
16860 - Bambino-200e: Add LPC43 SDMMC board support to Bambino-200E. From
16865 - LPC546xx: Added basic architectural support for the LPC546xx
16870 - LPC546xx: Basic NSH configuration includes support for UARTs,
16872 - LPC546xx: Additional drivers include EMC, I2C, Ethernet
16873 - LPC546xx: Implement GPIO interrupt support.
16874 - LPC546xx: And unverified SPI driver is included.
16875 - LPC546xx: Ported LPC1788 LCD driver to use the LPC54xx pin.
16876 - LPC546xx: Bring in LPC43xx SD/MMC driver from
16877 https://github.com/Smoothieware/smoothie-nuttx/tree/master/nuttx/arch/arm/src/lpc43xx
16879 - LPC546xx: Add DMA driver ported from the LPC43xx GPDMA driver.
16880 - LPC546xx: Bring in WWDT driver from LPC43.
16881 - LPC546xx: Add an RTC driver and a RTC character driver lower half.
16882 - LPC546xx: Add support for a random number generator.
16883 - LPC546xx: Add an Ethernet driver.
16887 - LCXpresso-LPC54628: Added support for the LPCXpresso-LPC54628
16888 board. The initial bring-up used a basic NSH port.
16889 - LCXpresso-LPC54628: On-board SDRAM is also supported
16890 - LCXpresso-LPC54628: Add support for I2C2 and for the I2C tool to
16892 - LCXpresso-LPC54628: Add support for the USER button. Enable the
16894 - LCXpresso-LPC54628: Add the fb configuration for testing the LCD.
16895 - LCXpresso-LPC54628: Add support for the the FT5x06 touchscreen
16898 - LCXpresso-LPC54628: Add an NxWM configuration.
16899 - LCXpresso-LPC54628: Add logic to bring up SDMMC.
16900 - LCXpresso-LPC54628: Add logic to register the RTC character driver
16903 - LCXpresso-LPC54628: Add a netnsh configuration that was be used to
16905 - LCXpresso-LPC54628: Add LittlevGL graphics demo configuration.
16909 - LC823450 SMP improvements: (1) Apply irq_spin APIs to
16913 - LC823450: LC823450 http streaming improvements: (1) Use spinlock
16919 - LC823450: Introduce DVFS. This version only supports manual mode
16924 - LC823450: Refactor timer driver. Add MTM timer APIs for DVFS.
16927 idle time is supported. NOTE: voltage control is still disabled.
16932 - LC823450-XGEVK: I2S interrupt will be handled on CPU0 with this
16935 - LC823450-XGEVK: Enable SPINLOCK_IRQ and NXPLAYER in rndis. From
16937 - LC823450-XGEVK: LC823450 http streaming improvements: (1) In SMP
16943 - LC823450-XGEVK: Enable DVFS in lc823450_bringup.c. Enable DVFS
16946 - LC823450-XGEVK: Explicitly assign I2S IRQ handling to CPU0. From
16948 - LC823450-XGEVK: Enable RTC_HIRES instead of RTC_DATETIME (audio/
16954 - STM32 F7: Add support for the STM32F72x/73x family. From Bob
16959 - STM32 HRTIM: Add interface to change outputs SET/RST configuration.
16961 - STM32 HRTIM: Add interface to get timer clock frequency,
16964 - STM32 HRTIM: Add interface to set timer frequency, fix slave timers
16967 - STM32 HRTIM: Add repetition support and fix enum overflow From
16969 - STM32 HRTIM: Add HRTIM push-pull mode configuration. From
16971 - STM32 FLASH: Add progmem support for STM32L15XX From Juha Niskanen.
16975 - configs/photon: Adds BOARD_TIMn_FREQUENCY macros From Anthony
16977 - configs/indium-f7: Adds support for the RAF Research Indium-F7
16979 - Rename the configs/stm32f0discovery board directory to
16980 configs/stm32f051-discovery. There are others stm32f0discovery
16983 - configs/stm32f072b-discovery: Adds support for stm32f072b-disco
16986 - configs/stm32f103-minimum: Add AT24 EEPROM support on STM32F103-
16988 - configs/stm32f103-minimum: Add support to BMP180 on BluePill
16989 (stm32f103-minimum) board. From Alan Carvalho de Assis.
16990 - configs/stm32f334-disco: Add buck converter and boost converter
16992 - configs/stm32f103-minimum: Add zerocross support to STM32F103-
16994 - configs/stm32f103-minimum: Add OLED SSD1306 support to
16995 STM332F103-Minimum From Alan Carvalho de Assis.
16996 - configs/stm32f103-minimum: Add board support to MAX6675 Thermocouple
16998 - configs/stm32f746g-disco: Add stm32f746g-disco Ethernet configuration.
17001 - configs/viewtool-stm32f107: Add support for FT80X initialization.
17007 - tools/logparser: Add a tool which will help me to convert git logs
17012 - apps/nshlib: Add support for a truncate command. This will be used
17014 - apps/nshlib: Add support for Telnet character mode. From Masayuki
17016 - apps/nshlib: Add support for '-n' option to the echo command. From
17018 - apps/nshlib: Add irqinfo command.
17022 - apps/examples/userfs: Add truncate() support for userfs.
17023 - apps/examples/lvgldemo: Add lvgldemo example for LittlevGL.
17024 - apps/examples/veml6070: Add VEML6070 Application Example. From
17026 - apps/examples/bmp180: Add BMP180 application example. From Alan
17028 - apps/examples/ft80x: Add a test of the FT80x based on FTDI
17029 SampleApp. Includes tests of GPU primitives and graphics co-
17034 - apps/netutils/netlib: Add default route in netlib_set_dripv4addr().
17039 - apps/graphics/littlevgl: Add littlevgl library. From Alan Carvalho
17041 - apps/graphics/ft80x: Add the FTDU FT80x GUI support library.
17047 - apps/system/nxplayer: Add support for HTTP streaming in nxplayer.
17049 - apps/system/setlogmask: Adds 'setlogmask' application that allows
17050 you to set the syslog priority via a simple command. From Anthony
17052 - apps/system/usbmsc: Added Kconfig options to configure write
17054 - system/stackmonitor: Re-design the stack monitor so that it does not
17065 - System Timer: Change the way that the 64-bit time is sampled.
17066 Previously, we disabled interrupts before sampling the 64-bit
17072 samples 64-bit timer is sampled twice and if 32-bit rollover was
17074 - POSIX Timers: In SMP mode, running TCB is not always at the head of
17077 - Spinlocks: Add memory barrier operations in spin_unlock(). In ARM
17082 - Sporadic Scheduler: Fix compiler error in Sporadic Scheduler when
17084 - Priority Inheritance: Fix some priority inheritance related issues
17086 - boardctl: Remove the BOARDIOC_TSCTEST_TEARDOWN and
17089 the touchscreen controller as a normal part of its board bring-up.
17091 like any other on-board device.
17092 - configs: CONFIG_MAX_TASKS must be a power of 2.
17093 - SMP: Introduce a new global IRQ clearing logic and tasklist
17107 sched_cpu_select() during HTTP streaming aging test on LC823450-XGEVK.
17114 - SMP: Fix this_task() to be an atomic operation. In the previous
17122 - SMP: Implements a global scheduler lock capability as part of SMP
17126 is, itself, a non-atomic operation. This global scheduler lock
17128 - SMP: Extend the last global lock change to work with the
17129 LC823450-XGEVK which does not support the atomic fetch add but
17133 - SMP: Fix a infinite recursion problems that a recent changes
17135 with the LC823450 because you can disable inter-processor interrupts
17136 in that architecture; but you cannot in the ARMv7-A/GIC architecture.
17137 - SMP: Remove SMP related logic in sig_dispatch.c. This change
17138 prevents from a deadlock in up_schedulesigaction.c where inter-CPU
17139 signal handling is actually implemented. arch/arm/src/armv7-m: Fix
17141 for SMP was incorrect. Thus, for example, if an inter-CPU signal
17143 change fixes the issues and works for both inter-CPU signal handling
17145 - Tasking: Add nxtask_create(). Kthread_create() and nxtask_create()
17150 - Tasking: Threads started by board bring-up logic should be kernel
17152 - Tasking: Threads started by drivers should be kernel threads, not
17154 - Semaphore Usage: Added ECANCELED condition to DEBUGASSERT's
17157 - errno: Add new internal OS function nxsched_setaffinity() that is
17161 - errno: Internal functions sched_reprioritize() and
17164 - errno: Add new internal OS function nxsched_getscheduler() that is
17168 - errno: Add new internal OS function nxsched_setparam() that is
17172 - errno: Add new internal OS function nxsched_getparam() that is
17178 - errno: wd_start() is an internal OS function and should not set the
17182 - errno: Fix several inappropriate accesses to get_errno() that were
17183 missed in previous changes (some going back to nuttx-7.23). Add new
17188 - errno: binfmt/, configs/, grahics/, libc/, mm/, net/, sched/: OS
17191 - drivers/, fs/ and libc/: OS references to the errno variable should
17196 - FAT: CONFIG_FAT_MAXFNAME may not exceed NAME_MAX (CONFIG_NAME_MAX)
17197 - NFS: Correctly infer file type. The file type is in struct
17200 - NFS: Fix buffer corruption. In case multiple read requests to the
17204 - VFS: reopen() should return NULL when oflags is less than 0, not
17208 - ProcFS: Fix an error in a common function that manages read data.
17209 - drivers/mmcsd: Respect SDIO_CAPS_DMABEFOREWRITE on CMD25. From
17211 - AT24xx: Correct page size for AT24C02 part. From Alexander
17213 - mtd_config.c: Add still more error handling (to detect bad
17216 revert of 4f18b4. Reported-by: Pascal Speck <iktek01@yahoo.com>
17220 - drivers/lcd: Fix the default I2C address of SSD1306 OLED display
17221 (7- vs 8-bit addressing) From Alan Carvalho de Assis.
17222 - drivers/lcd: lcd_framebuffer.c does not need to include board-
17224 - include/lcd: Eliminate a warning from an SSD1306 header file by
17230 - ARP: Fix an error introduced when ICMP and ICMP6 socket support was
17231 added in NuttX-7.3. A gratuitous ARP (or solicitation) was being
17233 - ARP: Fix IGMP multicast address computation on Nuttx network stack.
17236 bytes of the given IPv4 address. From Louis Mayencourt.
17237 - ioctl: The existence of the network driver ioctl() method should
17241 - TCP: Write buffering logic should not wait for a free buffer if
17242 the socket was opened non-blocking.
17243 - TCP: Fixed bad return value handling in psock_tcp_send(). send()
17244 expects psock_tcp_send() to return a negated errno value, not -1
17248 - TCP: Fixes hardfault when network goes done and network monitoring
17250 - TCP: tcp_send_[un]buffered.c: Check routing table in
17254 - TCP: Generalize Juho Grundstrom's IPv4 change for IPv6 as well.
17255 - UDP: Remove some conditional logic that was true if there is only a
17256 single network device, but not true in the multi-device context.
17257 - UDP: In sendto(), return EHOSTUNREACH if the network is down.
17261 - drivers/pipes: In poll logic, fix off-by-one error in calculation
17263 off-by-one when read index is larger than write index. This causes
17266 - drivers/audio: Improve stability of the WM8776 driver in SMP mode.
17269 - drivers/ioexpander: Fixed build of PCF8574 driver when its
17270 interrupts aren't enabled by config. From Dmitriy Linikov.
17271 - drivers/syslog: Fixes LOG_UPTO macro to include specified log level.
17273 - drivers/sensors: Fix HTS221 sensor reset with BOOT bit From Jussi
17275 - drivers/loop: If we want to open read-only in losetup.c, flags
17277 - drivers/timers/ds3231.c: Correct some debug statements. From
17279 - drivers/sensors/lis2dh: Use realtime clock if monotonic is not
17281 - drivers/i2c and drivers/spi: Fix compile error if
17285 * ARMv7-A:
17287 - Data Cache: Fix cp15_invalidate_dcache. In cases where more than
17292 - SMP: Port the signal-related SMP change by Masayuki Ishikawa to the
17293 ARMv7-A family.
17297 - SMP: Port the signal-related SMP change by Masayuki Ishikawa to the
17302 - XMC4xxx: Only setup USB clock when USB PLL is enabled From Alan
17304 - XMC4xxx: Fix USIC_BRG_SCLKCFG definition From Alan Carvalho
17309 - MIPS32: In up_idle, the kludge that was conditionally enabled if
17312 - PIC32MZ: Fix some typos in debug instrumentation in pic32mz-gpio.c;
17313 fix some typos related to UART5 configuration in pic32mz-serial.c.
17317 - SPI: In sam_spibus_initialize(), the pinmux configuration was
17320 - SPI: Fixes g_spi2ops and g_spi2dev using incorrect values From Matt
17322 - SPI: SPI must be disabled before changing the mode bits in CTRLA
17324 - DMA: Fix DMA controller support. From Matt Thompson.
17328 - LPC17xx: Disable LPC17 FDR when not used. If a boot loader set the
17331 disabled. From Harald Gutsche.
17335 - Kinetis: Correct some Ethernet PHY register bit tests for the
17340 - arch/arm/src/LC823450: Add SP_DMB() into lc823450_testset.c.
17348 - STM32 F3 RCC: A flash wait state configuration. Flash latency must
17352 the board variable STM32_SYSCLK_FREQUENCY. Tested on stm32f334-disco
17353 board. From Gwenhael Goavec-Merou.
17354 - STM32 RTC: Make STM32 usable with an external RTC.
17355 - STM32 SPI: Removed unnecessary (and incorrect) speed limitation.
17357 - STM32 SPI: I have a SPI bus with both Mode 0 and Mode 3 devices
17360 …read. I traced the reason for the lock-up to arm/arm/src/stm32f7/stm32_spi.c function spi_setmode…
17363 the SPI mode with SPI (and perhaps DMA) disabled, and (2) flushing
17366 - STM32 and STM32 F7: Remove confusing, redundant, and misleading
17372 - STM32 and STM32 F7: Architecture-specific code is not permitted to
17374 - STM32 F4 I2C: Correct some recent changes to STM32F4 I2C that broke
17376 - STM32 F4 I2C: Corrections to STM32 F4 I2C to restore functionality.
17378 - STM32 F4 I2C: Corrections to STM32 F4 I2C to fix the NORESTART
17380 - STM32 F7: Fixes a bug in multi-block SD-card operations on the
17381 STM32F7 platform. DBLOCKSIZE must be the size of SD-card block, not
17383 - STM32 F7: Fix undefined variable when using USART1 for other
17385 - STM32 F7: Backport RTC alarm setting changes from STM32L4. Most
17389 - STM32 L4 Flash: Change flash programming to use page buffer for
17394 - Nucleo-L432KC: Fix some bogus logic noted by Fanda.
17395 - configs/nucleo-* and configs/stm32l476vg-disco: Fix more
17397 - Nucleo-L432KC: Fixed nucleo-l432kc broken build when
17399 - Nucleo-L432KC: Issue #85: /dev/userleds is not working for
17400 Nucleo-L432KC fixed From Fanda Vacek.
17401 - STM32F429I-Disco: Separate SPI4 from MTD init. I was trying to
17402 attach a non-MTD peripheral to an STM32F429I Discovery Board's SPI4
17407 - STM32F103-Minimum: Remove CONFIG_NX_LCDDRIVER dependence from
17412 - libc/stdio: In dtoa(), up_interrupt_context() is used in a debug
17413 assertion. up_interrupt_context() is not available in the user-mode
17418 - libc/netdb: Fixed parsing of DNS response packets having compressed
17428 - tools/*.c: Add #define _GNU_SOURCE to all C files that call
17430 - tools/cvsparser.c: Add a check to avoid access past the end
17435 - apps/nshlib: Fix compile error when CONFIG_NSH_DISABLESCRIPT is not
17436 defined. The field np_flags does not exist if scripting is disabled.
17440 - apps/examples/touchscreen: Eliminate BOARDIOC_TSCTEST_SETUP.
17444 - apps/netutils/ftpc: Fix some corner-cases that could cause FTP to
17449 - apps/wireless/ieee802154/i8shark: Fixes special XBee compensation
17452 NuttX-7.25 Release Notes
17453 ------------------------
17457 that release consists of two tarballs: nuttx-7.25.tar.gz and
17458 apps-7.25.tar.gz. These are available from:
17463 Both may be needed (see the top-level nuttx/README.txt file for build
17470 - fs/cromfs: Added CROMFS file system. CROMFS is a commpressed, in-
17471 memory, read-only file system based on LZF.
17472 - fs/vfs: Added support for checking if a descriptor is a socket in
17477 - drivers/lcd: Remove support for the Nokia6100 LCD. That LCD uses a
17478 9-bit SPI interface (the 9th bit being the command/data bit that is
17481 support from the low-level, MCU SPI driver to manage that 9th bit.
17486 - net/tcp: Added support for TCP Keepalive, add SO_KEEPALIVE socket
17487 option. Added socket options needed to manage TCP-keepalive and TCP
17489 - net/tcp: In tcp_input(), add the logic to detect, decode, and
17490 respond to TCP Keep-Alive packets.
17491 - net/tcp: Extended support for sending to non-blocking tcp sockets.
17493 - net/bluetooth: Added support for AF_BLUETOOTH sockets.
17494 - drivers/net: Added TAP (network bridge) mode to tun.c. In the
17502 - wireless/ieee802154: Added basic MAC support for RX-ENABLE.request
17504 - wireless/ieee802154: Added MAC ackreq flag to TX descriptor for use by
17508 simply passes the ackreq meta-data flag along to the radio. Also
17511 - wireless/bluetooth: Bring in the Bluetooth stack from the Intel/
17512 Zephyr arduino101_firmware_source-v1.tar package.
17513 - drivers/bluetooth: Added re-architected version of the Bluetooth
17514 UART driver from the Intel/Zephyr arduino101_firmware_source-v1.tar
17516 - include/nuttx/wireless: Added a setbaud() method to the HCI UART
17519 - wireless/bluetooth and include/nutt/net: Added support for Bluetooth
17521 - drivers/wireless/bluetooth: Added a NULL device to support some very
17523 - drivers/wireless/cc3000: Eliminate support for the CC3000 wireless
17526 - drivers/wireless/ieee80211: Added BCM43428 support. From hhuysqt.
17530 - drivers/1wire: Added 1-wire subsystem and ds28e17 driver From Juha
17532 - drivers/1wire: Added PM hooks and unlink support to sht21 sensor
17533 (allowing hot-swappable I2C bus from 1-wire converter). Unlike most
17537 - drivers/i2c: Added support for the pca9540bdp i2cmultiplexer. From
17539 - drivers/power: Added pm_unregister From Juha Niskanen.
17540 - drivers/power: Added generic upper-half motor driver From Mateusz
17542 - drivers/rgbled: Added support for multichannel PWM (multiple PWM
17544 - drivers/sensors: Added support for Sensirion SHT2x humidity sensor.
17546 - drivers/sensors: Added LSM330 SPI and ADXL372 drivers along with the
17547 - drivers/sensors: Added support for INA3221 power sensor. This has a
17550 - drivers/sensors: Added multiple MAX31855 sensors feature support.
17552 - drivers/wireless/cc1101.c: Driver improvements from from lihaichen.
17553 - progmem interface: Discern r/w and erase page sizes. Introduce new
17562 - configs/sim: Added a configuration that will support some limited
17567 - ARM: All ARM architectures now support CONFIG_ARCH_IDLE_CUSTOM.
17571 - MIPS: All MIPS architectures now support CONFIG_ARCH_IDLE_CUSTOM.
17575 - XMC4: Added SPI support for Infineon XMC45xx microcontroller. From
17580 - XMC4500-Relax: Added board support for SPI. From Alan Carvalho de
17585 - NRF52: Initial support for the NRF52 including UART, Timer, and
17590 - NRF52: Added watchdog timer drivers. Includes significant
17592 - NRF52: Added nRF52 Flash PROGMEM support From Alan Carvalho de
17597 - configs/nrf52-pca10040: Added support for the NRF52-PCA10040 board
17599 - configs/nrf52-pca10040: Added support for starting the watchdog
17601 - configs/nrf52-pca10040: Added a configuration for testing the
17606 - i.MX RT: Brings in basic support for the i.MX RT 1050 'crossover'
17614 - i.MX RT: Added power management hooks.
17615 - i.MX RT: Added eDMA support (unverified).
17616 - i.MX RT: Added Ethernet driver. From Jake Choy.
17617 - i.MX RT: Added cache operations to permit the Ethernet driver to
17618 work with the D-Cache enabled, at least in write-through mode.
17623 - IMXRT1050-EVK: Added support for booting from the on board HYPER
17625 - IMXRT1050-EVK: Added logic to support the board's user LED. From
17627 - IMXRT1050-EVK: Added procfs auto-mount support in imxrt_bringup.c.
17629 - IMXRT1050-EVK: Added LIBCXX test configuration.
17630 - IMXRT1050-EVK: Added support for the imxrt1050-evk button. From
17632 - MXRT1050-EVK: Added support for on-board NOR FLASH boot. From
17634 - IMXRT1050-EVK: Disable LED support because pins conflict with PHY.
17640 - K28F: Added architecture support for the Kinetis K28F.
17644 - SDHC: Make Kinetis SDHC pullups work the same as the STM32 SDIO
17649 - Freedom-K28F. Added support for the Kinetis Freedom-K28F board.
17653 - LPC17xx: Added support for ARMv7-M run time stack checking on NXP
17659 - LPC17xx: Added a configurable option to allow using a part of
17666 - Olimex-LPC1766STK: Remove support for the Nokia6100 LCD. That
17667 LCD uses a 9-bit SPI interface (the 9th bit being the command/data
17673 - configs/bambino-200e: Added support for multiple MAX31855 sensors
17674 to the bambino-200e. From Tiago Almeida.
17678 - arch/or1k/src. Added basic architectural support for the OpenRISK
17684 - configs/or1k. OpenRISK mor1kx Qemu simulation. From Matt Thompson.
17688 - STM32: Added support for the STM32F401xB and STM32F401xC families.
17692 - STM32 HRTIM: Added HRTIM software capture trigger, added software
17695 - STM32 ADC: Added ADC injected channels configuration. From Mateusz
17697 - STM32 HCIUART: Added a Bluetooth HCI UART lower half driver for the
17699 - STM32 HCIUART: Implement the setbaud() method for the STM32 HCI
17701 - STM32 SDIO: Added support for SDIO card to SDIO driver. From
17703 - STM32 SDIO: Added internal pull-up option for SDIO pins. From Alan
17705 - STM32 F2/F4 ADC: Added Vbat measurement to ADC driver for
17711 Moreover, since Vbat input contains a built-in voltage divider, it
17715 - STM32, STM32L4 1WIRE: Added one bit read and write to 1-wire
17717 timeslot generation and for 1-Wire search algorithm triplets. From
17719 - STM32 F3 SPI: Enable DMA for SPI on stm32f30xxx MCUs. From Michal
17721 - STM32 L4 1WIRE: Ported 1wire driver from STM32. From Juha
17723 - STM32 L4 I2C/SPI/1WIRE: Added PM hooks to I2C, SPI and 1-wire From
17725 - STM32 F7 RTC: Added CONFIG_RTC_PERIODIC support. Also makes the RTC
17727 - STM32 F7 ADC/I2C/SPI: Added PM hooks to ADC, I2C and SPI. From
17732 - Indium-F7: Removed support for the Indium-F7 board. This was done
17734 Nucleo-144 board support with naming changes. There has been no
17736 does not seem to be any available Indium-F7 board available to the
17739 - Nucleo-L452RE: Added buttons example From Juha Niskanen.
17740 - Nucleo-L476RG: Added support to Nokia LCD PCD8544 on nucleo-l476rg.
17742 - Nucleo-L476RG: Added nxdemo configuration to nucleo-l476rg using
17744 - Olimex-STM32-P407: Added a zmodem test configuration.
17745 - Olimex-STM32-P407: Added the module configuration.
17746 - Photon: Added RGB led support From Anthony Merlino.
17747 - STM32F103-Minimum: Added support for DFU bootloader From Simon
17749 - Spark: Removes Spark board configuration. Still available in the
17752 - STM32F334-Disco: Added buck/boost converter example configuration.
17754 - STM32F4 Discovery: Added support for multiple MAX31855 sensors to the
17756 - STM32F4 Discovery: Added support in bring-up logic to initialize the
17758 - STM32F4 Discovery: Added MAX7219 support to STM32F4Discovery board.
17760 - STM32F4 Discovery: Added board configuration for CS43L22 audio
17762 - STM32F4 Discovery: Added a module configuration for testing the
17765 - STM32F429I-DISCO: Added a LittlevGL configuration for stm32f429i-
17767 - STM32F746G-DISCO. Added clang support to stm32f746g-disco board.
17769 - STM32L1 Discovery: Added support for the STM32L152RCT6 version of
17774 - TMS570: Added support for the TMS570LS3137ZWT. From Ivan Ucherdzhiev.
17778 - configs/tms570ls31x-usb-kit: Added support for the TI Hercules
17783 - CC3200: Remove all support for the CC3200. This was a port that was
17789 - EEPROM: Implements an EEPROM driver in compliance with MTD driver
17791 supports only two functionalities - read bytes(multiple of 4) and
17793 - FLASH: Implemented Flash CONFIG_MTD_BYTE_WRITE for TM4c1294.
17796 - Serial: Added TERMIOS IOCTL support to the Tiva serial driver.
17801 - CC3200-Launchpad: Remove all support for the CC3200-Launchpad.
17803 partial CC3200-Launchpad board support with no wireless support?.
17807 - libs/: Moved all of the libraries under a common directory called
17810 - libs/libc/time: Added an implementation of clock().
17811 - libs/libc/lzf: Added a modified version of Marc Alexander Lehmann's
17813 - libs/libc/unistd: Initial, minimal implementation of sysconf().
17816 - libs/libdsp: Added DSP support library. From Mateusz Szafoni.
17817 - include/sys: Added resource.h.
17818 - include/nuttx/video: Add overlay support to framebuffer interface
17823 - tools/gencromfs.c: Added tools/gencromfs.c, a tool that can be used
17825 - tools/mkromfsimg.sh: Include an option in mkromfsimg.sh to ignore
17828 - tools/nxstyle.c: Added check for blank lines before and after single
17830 - tools/sethost.sh: Added support for macOS.
17831 - tools/uncrustify.cfg: An initial cut at an uncrustify C formatting
17837 - Makefile: Added support for nconfig frontend for 'make nconfig'.
17839 - configs/: Added definition of strip to many Make.defs files.
17840 - staging/: Remove fixed lib/ subdirectory and its content. Replace
17844 - tools/: Move all build-related files (except the top-level Makefile)
17845 into the tools/ sub-directory. This really cleans up the top-level
17850 - apps/nshlib: Added the mkfatfs -r option which can be used to
17856 - apps/examples/adxl372_test and lxm330spi_test: Added ADXL372 and
17858 - apps/examples/cc3000: Removed the CC3000 example. From Alan
17860 - apps/examples/cromfs: Added an example of how to build a CROMFS
17862 - apps/examples/elf: Extend the ELF program module demo so that you
17864 - apps/examples/elf: Use strip command to make ELF binaries MUCH
17867 - apps/examples/max31855: Added an example to read multiple max31855
17869 - apps/examples/netloop: Update network loopback example so that it
17871 - apps/examples/nxdemo: Added nxdemo application From Alan Carvalho
17873 - apps/examples/powerled: Added arch initialization.
17874 - apps/examples/uavcan: Removed because apps/canutils/libuavcan is no
17879 - apps/system/lzf: Added the test case from Marc Alexander Lehmann's
17881 - apps/system/embedlog: Support for embedlog data loggin package from
17883 - apps/system/zmodem: Added an option to enable hardware flow control
17885 - apps/system/zmodem: Call tcflush() before closing the serial port.
17898 - apps/canutils/libuavcan. Removed! libuavcan has not built for a
17906 - apps/netutils/tftpc: Modified the TFTP client functions to use a
17908 write to arbitrary destination (in my case, a MTD device - for
17919 - apps/wireless/bluetooth/btsak: Added a Bluetooth debug tool.
17927 - sched/sched: Fix a deadlock in SMP mode. Two months ago, I
17930 audio streaming aging test with lc823450-xgevk. However, I found a
17938 - sched/sched: Change ordering of round-robin time slice check
17949 - fs/fat: In fs_stat(), when stat'ing the root directory, avoid
17953 - fs/fat: Avoid calculating the bogus directory entry address for
17957 - fs/mount: Fix wrong size reported by df -h. Reason is that size
17961 - fs/smartfs: Fix a hardfault in SmartFS. Problem occurred when
17964 - fs/vfs: Fix negative errno set in fs_open.c From Michal Lyszczek.
17965 - drivers/mtd: Fixed a W25 driver w25_cacheflush sector bug. From
17967 - drivers/mtd: mtdconfig_register() returned OK instead of -ENOMEM on
17972 - drivers/lcd/ft80x: ACTIVE host command appears to be formatted
17974 be big-ending, BCD. Fix some compile issues when debug features
17976 - drivers/lcd/ft80x: Fix a typo that caused the driver to fail to
17978 - Review all board implementations of board_lcd_initialize(). The
17980 as an 'int' must return a negated errno value on failure and a non-
17984 non-negative.
17988 - net/tcp: Fixed problem with send() retrun value when using
17990 - net/sixlowpan: Fix a nasty, byte-ordering/endian-ness problem.
17993 - net/sixlowpan: Preserve big-endian (network order) when
17995 - net/sixlowpan: TCP send should have PSH and ACK flags set when
17998 - net/udp: Fix several issues using connected UDP sockets: sendto()
18007 - net/udp: Resolve race condition in connection-less UDP sockets with
18008 read-ahead buffering. In connection-mode UDP sockets, a remote
18012 connection-less UDP sendto: A temporary remote address is written
18015 accept any address. When UDP read-ahead buffering is enabled,
18017 in the connection structure for some time. This can cause read-
18023 is in connection mode or if it is connection-less. This change
18025 connection is always ignored if the UDP socket is not in connection-
18026 mode. No for connection-mode sockets, that remote address behaves as
18027 before. But for connection-less sockets, it is only used by sendto().
18031 - drivers/wiresless/ieee80211: Correct some initialization problems
18033 - drivers/ieee802154/xbee: Added a timeout to send logic to handle
18039 - Per OpenGroup.org, syslog -- and, hence, nonstandard vsyslog, and
18040 debug wrappers -- does not return a value. Rename _vsyslog to
18043 - drivers/leds: Fixes RGB LED issues caused by uninitialized memory
18047 - drivers/sensors/lis2dh: Clear INT1 at SNIOC_WRITE_INT1THRESHOLD
18049 - drivers/sensors/sht21: Changed I2C_TRANSFER return value so that
18052 - drivers/serial: Per Matias Edlund: I recently used the tcflush
18058 - drivers/serial: Added a timeout to uart_tcdrain(). Even if
18064 - drivers/sensors: Fix APDS9960 work queue BUG found by Kyle Lei.
18069 - arch/sim: Various fixes necessary to build the simulator under
18072 * ARMv7-R:
18074 - ARMv7-R: Corrected several ARMv7-R issues. From Ivan Ucherdzhiev.
18078 - XMC4500-Relax: Call xmc4_spidev_initialize() in xmc4_boot.c. From
18083 - LPC17xx USB: Fix USB device endpoint allocation bookkeeping. From
18085 - LPC17xx USB: Freeing endpoints should be set the same allocations
18087 - LPC17xx USB: Fix loss of RX initiatives. USB bulk endpoints are
18095 - Kinetis USG: USB device fixes: Use correct CONFIG OTG control,
18098 pending asynchronous resume interrupt needed to be re-armed after
18101 - Kinetis Serial: In kinetis_lowputc.c, fix esBRFA calculation
18102 effecting baudrate. Previous BRFA was not cleared and or-ed into
18106 - Kinetis Serial: In kinetis_lowputc.c, fixed parity settings.
18110 called 9-bit or 8-bit Mode Select is a misnomer. 8 bit mode when
18115 - configs/teensy-3.x: Remove CONFIG_USBDEV_DUALSPEED from the usbnsh
18120 - i.MX6: Bring in a few i.MX6 fixes that were committed to similar
18125 - STM32 F3: Problem: stm32f30xx hangs waiting for LSE to initialize.
18132 - STM32 and STM32 L4 1WIRE: In 1wire driver, do not write useless
18134 - STM32 HRTIM: Fixed capture_get function,. From raiden00pl.
18135 - STM32 F3 ADC: Fixed bug in RCC reset logic that resets ADC1
18138 - STM32 Ethernet: In case of PHY failure, usually because of the
18144 - STM32 F7 SDMMC: Added support for the second SDMMC device. The
18147 - STM32 Serial: Fix UART glitch when lowputc is enabled. From
18149 - STM32 USB: Skip recipient check for descriptor related
18154 - Tiva ADC: Fix compilation errors on Tiva ADC code when ADC is
18156 - Tiva Serial: Allow building of Tiva platform with no serial
18161 - lib/libc/netdb: Fixed boundary conditions in dns_recv_response().
18163 - libs/libc/modlib: Fixed backward test for an error in
18168 - Makefiles: Eliminate the spurious errors reported by 'make
18170 - Makefile(s): There is a sort command in the 'make savedefconfig'
18175 - Makefile(s): The clean_context target needs to invoke a
18178 - LibTargets.mk, tools/Config.mk: Drop executable bit on installed
18184 - apps/examples/ft80x: Fix some size calculations. Added option to
18188 - apps/examples/ft80x: Text is handled by the coprocessor and, hence,
18190 - apps/examples/ft80x: Fix some errors in co-processor demos. Correct
18192 - apps/examples/nsh and posix_spawn: Must not call exec_setsymtab()
18193 directly. That is a non-POSIX internal OS interface.
18194 - apps/examples/ostest: Do not call AIO test without
18196 - apps/examples/smps: Fix typos in Kconfig. All power, voltage,
18199 - apps/examples/smps: Fixes in some printf and in Kconfig From
18201 - apps/system/zmodem: Fix Makefile.host. It was broken when zmodem.h
18207 - apps/system: Applications should use the standard clock() interface,
18209 - apps/system/stackmonitor: Fix comparison between pointer and zero
18214 - apps/netutils/netlib: Various fixes needed to get a clean netlib
18219 - apps/wireless: Applications should use the standard clock()
18222 NuttX-7.26 Release Notes
18223 ------------------------
18227 that release consists of two tarballs: nuttx-7.26.tar.gz and
18228 apps-7.26.tar.gz. These are available from:
18233 Both may be needed (see the top-level nuttx/README.txt file for build
18240 - General: Eliminate use of the non-standard type systime_t and
18242 - General: Replace non critical PANIC with DEBUGPANIC to save the
18244 - General: Replace all ASSERT with DEBUGASSERT to save the code
18246 - Initialization: Add option to mount block device for
18248 - clock(): clock_systimer() is no longer a system interface. It has
18254 - clock Utilities: Move clock_timespec_[add|subtract] to
18256 - Binary Loader: Add binfmt_initialize(). All binary formats are
18257 now registered centrally vs. in board-specific logic. This
18259 - Binary Loader: Reference default symtab name to binfmt From anchao.
18260 - mm: Add mm_heapmember function and reimplement kmm_heapmember base
18263 - mm: Add {kumm/kmm}_calloc API. Add calloc API for manage user
18266 - pthreads: Add support static pthread stack. Add standard
18271 - Semaphores: Apply the semaphore wait function
18275 - Signals: Add default signal action to SIGKILL. From ligd.
18276 - Signals: Update the signal default action logic to support
18280 - Signals: Default Signal Actions. Change some types to
18282 default signal behaviors on a per-signal basis. I don't think
18288 - Signals: Add support for SIGINT in addition to SIGKILL.
18289 - Signals: Add logic and an interface to determine if a signal can
18293 - Signals: Add support for default signal actions for SIGSTOP,
18296 - Signals: Add nxsig_action() to solve a chicken and egg problem:
18300 - Signals: Add configuration option to selectively enabled/disable
18302 - Signals: If a task/thread was already blocked when
18307 - Signals: Update signal default STOP action. If waitpid was
18310 - IRQs: Monitor the IRQ execution time. This is very useful for
18312 - IRQ Dispatch: Add support interrupt chains in NuttX. IRQ chain is
18316 - Work Queue: Modify high priority work queue to support multiple
18318 - System Calls: Add support for getpeername() and get_sockname()
18320 - System Calls: svcall/sycall logic needs to get the ucontext
18323 - CPU Load Measurement: Support the CPU load measurement using
18325 - Assertions: Change CONFIG_BOARD_RESET_ON_CRASH to
18329 - boardctl(): Add support for board_app_finalinitialize() From ligd.
18330 - Architecture Interface: Add prototype for an architecture-specific
18332 - Architecture Interface: Add the garbage collection hook so each
18335 - Architecture Interface: Add architecture-specific prototypes for
18340 - ProcFS: Add support for a procfs entry that will permit examining
18342 - ProcFS: Add support for proc/self/, a convenient way for getting
18344 - HostFS: Add support for open() append mode From anchao.
18345 - HostFS: Add ftruncate support. From Xiang Xiao.
18346 - HostFS: Remove ARCH_SIM dependence since other architectures
18348 - HostFS: Support remote directory names without a trailing '/'
18350 - HostFS: Add re-try when hostfs mount() fails From ligd.
18351 - NFS: Update NFS client mount to VER3 From zhangyuan7.
18352 - Partitions: Add PTABLE parser fs/partion: Add a partition parser
18355 - MTD: Add gd25 driver From wangyanjiong.
18356 - MTD: In MTD partitions, copy the partition name to internal
18359 - MTD: Support initialization of an FTL block device with a custom
18361 - MTD: FTL: Reduce size of stack buffer from 64 to a maximum size
18363 - VFS poll(): Send poll() notification when the Tx buffer is flushed
18365 - VFS fstat(): Add file_fstat() function for internal OS use. From
18367 - VFS fcntl(): Add file_fcntl, psock_fcntl, and psock_dupsd for use
18369 - VFS dup2(): Addpsock_dupsd for use within the kernel. From Xiang
18371 - VFS poll(): Add poll use in kernel space. From dongjianli.
18372 - VFS select(): Make select be more consistent with Linux man page:
18374 empty, nfds zero, and a non-NULL timeout as a fairly portable way
18379 - Sockets: Add getpeername() support From ligd.
18380 - sockopt(): Move psock check from [get|set]sockopt to
18382 - getsockname(): Add psock_getsockname function From Xiang Xiao.
18383 - Netlink Sockets: This brings in a fragmentary, experimental
18390 - Interface Indexes: Add driver interface index support. Add
18396 devices from being removed, unregistered and re-installed,
18397 re-registered and keeping the same interface index. From Gregory
18399 - Driver Interface: Add devif_loopback() to check the loopback
18402 re-inject the packet back into the network and the network driver
18404 - Network Devices: Remove all references to CONFIG_NET_USER_DEVFMT.
18412 - Network Devices: Add support for Microchip LAN91C111 driver From
18414 - Network Devices: netdev_findby_ipv[4|6]addr return
18417 - Network Device IOCTLs: Add si_ioctl callback and net_ioctl_arglen
18420 - IPv6: Rename g_ipv6_allzeroaddress with the more meaning
18421 g_ipv6_unspecaddr since the all-zero address is the IPv6
18425 - ARP: arp_find() now checks if the target IP belongs to one of the
18427 - ARP: Make the function arp_find() thread-safe. It now returns a
18431 - TCP: Re-work of TCP receive window size algorithm. The new logic
18432 is based only on the ability to buffer TCP read-ahead data. From
18434 - UDP: Add support for the UDP_BINDTODEVICE protocol socket option
18436 - Slip: Uncomment the prompt of NET_SLIP_PKTSIZE in Kconfig file.
18438 - USRSOCK: Combine some the duplicated logic. From Xiang Xiao.
18439 - USRSOCK: Optimize option dependence From Xiang Xiao.
18440 - USRSOCK: Add the listen/accept/getpeername/ioctl support From
18445 - Analog DAC: Add driver for digital to analog converter DAC7571.
18446 Nucleo-L422KC: Add support for a connect DAC7571 converter. From
18448 - Audio Interface: Change member samp of apb to pointer so driver
18450 - Audio Interface: Add ioctl cmd 'AUDIOIOC_SETBUFFERINFO' so user
18451 space could config the buffer From ZhongAn.
18452 - Audio Interface: Add hardware format support From anchao.
18453 - I2S Interface: Add i2s_rxchannels and i2s_txchannels methods to
18455 - Audio: Move the I2S character driver to a dedicated folder. From
18457 - Audio: Add audio_i2s device driver. From ZhongAn.
18458 - Audio: Add the composite audio driver From Xiang Xiao.
18459 - Crypto: Move dev_urandom.c into new crypto folder. From Xiang
18461 - GPIO driver: Add gpio_pin_unregister function to GPIO driver
18466 - I2C Interface: Add a definition to distinguish a new START of
18467 messages from a repeated start. No lower-half I2C drivers actually
18473 - I2C: Add the standard speed macros. From dongjiuzhu.
18474 - Leds: Add support to MAX7219 to control 7-segment displays. From
18476 - Power: PM: Add pm_stay and pm_relax function so special apps(e.g.
18479 - Power: PM: Add pm_querystate function From zhuguangqing.
18480 - Power: PM: Don't update the power state in work thread: (1)
18482 Power calculation is too simple to delay into the work queue From
18484 - Power: PM: Decrease the power state in the reverse order. Since
18487 - Power: PM: Make power manager service available as soon as
18490 - Power: PM: Add PM_RESTORE to notify driver that device exit WFI
18494 - Power: PM: Add timer to decrease PM level automatically. From
18496 - PTYs: Add support so that a PTY can poll for both IN/OUT event
18498 - PWM: Move pwm.c into pwm folder From Xiang Xiao.
18499 - RTC Interface: Extend struct rtc_time by adding. From Xiang
18501 - Sensors: Add support for Telair T6713 carbon dioxide sensor. From
18503 - Sensors: Add support for LSM303AGR and LSM6DSL sensors From
18505 - Sensors: Add driver for DHTxx sensor. From Ouss4.
18506 - syslog: Enable a partial, crippled version of syslog_flush();
18509 - syslog: Channel configuration. Decouple SYSLOG_SERIAL_CONSOLE and
18512 - syslog: Support pre-pending a prefix string to log output if
18515 - Serial: Add Ctrl-C/Ctrl-X support. From ligd.
18516 - Serial: Support UART direct write for non console device From
18518 - Serial: It is no longer necessary to restrict Ctrl-C handling to
18522 Ctrl-C logic. Add a signal set in the group structure to keep
18528 - Serial: Integrate new Ctrl-C logic with the ISIG flag in the
18530 - Serial: Use SIGINT instead of SIGKILL when control-C is pressed.
18532 - Serial: Add support for Ctrl-Z. This works just like the
18533 recently added Ctrl-C support except that SIGSTP is sent when the
18534 Ctrl-Z characters is encountered vs. SIGINT. From Gregory Nutt.
18535 - 16550 UART: Add a configuration, analogous to the STM32
18536 configuration option, to suppress the NuttX standard re-ordering
18538 - 16550 UART: Add CONFIG_SERIAL_UART_ARCH_MMIO option so the a
18541 - 16550 UART: Add stub implementations of DMA-related methods in the
18542 16550 UART v-table. From ligd.
18543 - 16550 UART: Add serial termios handling From anchao.
18544 - 16550 UART: Support 16550 auto hardware flow control
18550 - syslog: Make timestamp output same as linux kernel. It's very
18552 - Timers: Add maxtimeout method to the struct timer_ops_s interface
18554 - Timers: Add a new method to the struct oneshot_operations_s
18557 - Timers: Implement timer arch API on top of timer driver. From
18559 - Timers: Implement alarm arch API on top of oneshot driver
18561 - Timers: Implement RTC arch API on top of RTC driver interface.
18563 - CDC/ECM: Adds USB device support for CDC/ECM From Michael Jung.
18564 - USB Host: Add support for the Maxim M3421E USB host driver. Not
18567 * General Architecture-Specific:
18569 - All architectures: Make sure the up_irq_enable() is available on
18574 - Simulator Configurations: Add dsptest configuration. From Mateusz
18576 - Simulator: In network driver (1) Remove up_comparemac() check for
18583 - ARM (all): Add CONFIG_DEBUG_MEMFAULT to Kconfig. From Masayuki
18585 - ARM: (1) Add semihost support for syslog, (2) Add semihost support
18588 * ARMv6-M:
18590 - ARMv6-M: Introduce CONFIG_DEBUG_HARDFAULT_INFO to up_hardfault.c
18593 * ARMv7-M:
18595 - ARMv7-M: Removes support for the dedicated vector handling from the
18598 - ARMv7-M: Introduce CONFIG_DEBUG_HARDFAULT_INFO to up_hardfault.c
18600 - ARMv7-M: Implement SYSTICK timer driver From Xiang Xiao.
18601 - Simulator: Add loadable demo for arch sim. From anchao.
18602 - ARMv7-M: Add logic to trigger ARMv7-M interrupts and exceptions.
18604 - ARMv7-M: Add NVIC definitions needed by up_trigger_irq(). From
18607 * ARMv7-R:
18609 - ARMv7-R: Add general interrupt controller. This is based on
18610 ARMv7-A gic controller code. From EunBong Song.
18611 - ARMv7-R: Add invalidate dcache in arm_head.S. From EunBong Song.
18615 - XMC4 GPIO: Add a specific bit encoding to GPIO driver for
18620 - XMC4500-Relax: Add support to MAX6675 on XMC4500-Relax board.
18625 - PIC32MX: Update some PIC32MX configurations so that either the
18630 - SAMD2x/L2x: Rename all usage of samdl/SAMDL to samd2l2/SAMD2L2 to
18635 - SAMD5x/E5: Add a port to the SAMD5x/E5x MCU family. From Gregory
18640 - SAMD5x/E5x SPI/I2C: Bring in untested SPI and I2C drivers from
18642 - SAMD5x/E5x DMA: Leverage the SAMD2L2 DMA controller. From Gregory
18644 - SAMD5x/E5x USB: Bring the SAMDL2 USB driver into the SAMD5E5
18649 - Metro M4: Add support for the Adafruit Metro M4 board. From
18651 - Metro M4: Add an option to build the Metro M4 image to run out of
18653 bring-up (having bricked the first Metro M4 due to a bad FLASH
18655 - Metro M4: Add a configuration option to use OSCULP32K instead of
18657 - Metro M4: After some final fixes related to the SERCOM console,
18660 - Metro M4: Verify the CMCC and enable it by default in the NSH
18665 - SAMv7 CAN: Add ability for CAN BUS_OFF autorecovery according
18666 ISO11898-1:2015. With this change we added an ioctl for triggering
18667 the autorecovery sequence for BUS_OFF to the CAN-driver and the
18668 SAMV7 low-level driver. According the datasheet: If the device
18685 - i.MXRT RTC: Add support for the i.MXRT RTC. This is code complete
18691 - i.MXRT SNVS: Add trivial SNVS from Rev 1. of the Reference Manual.
18693 - i.MXRT LSPI: IMXRT1050 LPSPI register and bit definitions added.
18695 - i.MXRT Serial: IMXRT1050 LPUART TERMIOS support added. From Ivan
18700 - IMXRT1050-EVK: Add knsh configuration. PROTECTED mode NSH build.
18705 - Kinetis: Add DMA support. From David Sidrane.
18709 - Kinetis: Use circular DMA as an option to augment the RX FIFOs in
18714 - LPC54xx: The LPC54608 can only run at a maximum frequency of
18722 - LC823450: Add support for mpu and userspace LC823450-XGEVK: Add
18723 kostest PROTECTED build LC823450-XGEVK: Add knsh PROTECTED build
18728 - Lpcxpresso-LPC54628: Update lvgl board config to use the new
18733 - LC823450 Bluetooth: Add lc823450 Bluetooth support. From Masayuki
18735 - LC823450 I2S: Add tx start threshold to lc823450_i2s.c In
18736 addition, lc823450_i2s_send() now accepts byte-aligned stream.
18738 - LC823450 SPI: Add SPI flash driver for lc823450. NOTE: Only bus
18740 - LC823450: Change C-Buffer under-level control. The under-level
18748 - LC823450-XGEVK: Add loopback test for digital MIC on lc823450 via
18750 - LC823450-XGEVK: Add lc832450 elf test. From Masayuki Ishikawa.
18751 - LC823450-XGEVK: Add posix_spawn configuration From Masayuki
18756 - STM32 L4: Add initial support to STM32L4+ chips From Juha Niskanen.
18757 - STM32 H7: A partial port to the STMicro STM32H7 by Simon Laube was
18764 - STM32 F0, F1-F4, F7, L4, H7: Added Single Wire Kconfig variable.
18766 - STM32 DAC: Set OUTEN bit for DAC1CH2 and DAC2CH1 power/motor.
18769 - STM32 F1-F4 ADC: Allow multiple channels without DMA on
18771 - STM32 F1: Add FLASH register definitions for F1 parts that have
18773 - STM32 F2: Added progmem interface support for STM32 F2 From
18775 - STM32 F4: Ports STM32 LTDC and STM32 DMA2D to use the
18777 - STM32 F7: This change ports Marco Krahl's STM32F4 framebuffer
18780 - STM32 F7: Port input capture from stm32. From Juha Niskanen.
18781 - STM32 F7 FLASH: Ported the STM32 F2/F4 driver to the STM32 F7
18783 - STM32 F7 SDMMC: Add SDIO card support to SDMMC driver. From
18785 - STM32 F7 Serial: Previous logic would invalidate the data cache as
18790 - STM32 F7: Add up_stackcheck.c From Daniel Agar.
18791 - STM32 F7: Port the low-level PM functions to STM32 F7. From Juha
18793 - STM32 L4: STM32L4 has fetchadd and testset From Juha Niskanen.
18794 - STM32 L4: Added custom pin mapping for STM32L4X2XX processors.
18796 - STM32 L4 FLASH: stm32l4xrxx: allow board to override flash wait
18798 - STM32 L4: Some updates to analog peripherals ADC, COMP and DFSDM
18800 - STM32 L4: Add getstatus and getperiod() method to the timer
18803 - STM32 H7: Remove old references to RXDMA. Add configuration
18804 - STM32 H7: Remove old references to RXDMA. Add configuration
18809 - STM32F103 Minimum: Add blackpill LED support From Russ Webber.
18810 - Viewtool-STM32F107: Add a TCP performance test using
18812 - Viewtool-STM32F107: Add support for the MAX3421E to the
18813 Viewtool-STM32F107 board support From Gregory Nutt.
18814 - STM32F334-DISCO: Use a PID controller from libdsp in the BuckBoost
18816 - STM32F4-Discovery: Remove STM32F4BB dependence from RNDIS; add
18818 - STM32F4-Discovery Add board support for MAX7219 as numeric display
18820 - Olimex-STM32-P407: Add kernel ELF (kelf) configuration. From
18822 - Olimex-STM32-P407: Add a kmodule configuration that can be used
18825 - Olimex-STM32-P407: Add logic to support initialization of the
18829 - Olimex-STM32-P407: Add board support for the DHTxx sensor. From
18831 - STM32F476G-DISCO: Add support for STM32F746G-disco board LCD.
18833 - STM32F476G-DISCO: Add a configuration to build working nxdemo
18835 - STM32F476G-DISCO: Add support for STM32F746G-disco board SDRAM
18836 Changed fb config to use SDRAM. From Marcin Wyrwas.
18837 - STM32F476G-DISCO: Add touchscreen support and a LittlevGL demo for
18838 STM32F746G-DISCO From Marcin Wyrwas.
18839 - Nucleo-L476RG: Add support for an external SPI-driven SD card on
18840 the Nucleo-L476RG. From Gregory Nutt.
18841 - Nucleo-L476RG: Add support for LSM303AGR and LSM6DSL sensors From
18843 - Nucleo-H743ZI: Use Nucleo Virtual console as default console in
18845 - STM32L4R9-DISCO: Add stm32l4r9ai-disco support. From Juha Niskanen.
18846 - B-L475E-IOT01A: Add timer driver support. From Goden Freemans.
18850 - libc endian: Add support for endian.h. From Gregory Nutt.
18851 - libc net: Add inet_aton() From Juha Niskanen.
18852 - libc netdb: Add getaddrinfo() and friends. From Juha Niskanen.
18853 - libc termios: Add lib_cfmakeraw.c From Masayuki Ishikawa.
18854 - libc stdlib: Add implementation of random() and srandom(). From
18856 - libc unistd: Add a crippled version of daemon(). From Gregory Nutt.
18857 - libdsp: All floats with f-sufix libdsp: (1) add precision option
18863 - include/nuttx/compiler.h, include/poll.h: Add logic to determine
18866 - include/nuttx/mutex.h: Add inline wrapper functions to more
18868 - include/nuttx/nuttx.h: Added nuttx.h header file which is
18871 - include/queue.h: Add dq_tail marco From zhuguangqing.
18872 - include/stdio.h: Add prototypes for popen() and pclose(). Actual
18874 - include/sys/param.h: Add a dummy sys/param.h header file. This is
18880 - nuttx/tools/kconfig2html.c: Due to new usage, tool needs to be
18883 - nuttx/tools/kconfig2html.c: Update tool to handle tristate types.
18885 - nuttx/tools/Config.mk: Add function CATFILE definition. Currently
18887 - nuttx/tools/Config.mk: Add the recursive wildcard function,
18888 RWILDCARD, to Config.mk. From Gregory Nutt.
18889 - nuttx/tools/testbuild.sh: Add an option to specify the location of
18891 - nuttx/tools/refresh.sh: Add a --prompt option that will let you
18892 use --silent but will prompt before overwriting the original
18894 - nuttx/tools/link.sh. Update link.sh per suggestions by Mark so
18896 - nuttx/tools/mkexport.sh: Save the System.map file and User.map
18899 - nuttx/tools/mkexport.sh: Save the name of the STRIP tool too. From
18901 - nuttx/tools/nxstyle.c: Add capability to detect multiple blank
18905 - apps/tools: Add +x to mksymtab.sh. From Masayuki Ishikawa.
18906 - apps/tools/define.sh and define.bat: Move a copy of define.bat
18912 - Apps/ Build System. The apps/ build system has undergone a major
18915 This means that building an ELF now is as simple setting the value
18919 - NuttX/ Build System: This change extends support for the two-pass
18929 application-generated kernel symbol tables. For an example of the
18933 board-specific logic in, say, configs/<board>/src would have to be
18934 included to make use of the application-installed symbol tables.
18936 - Remove CONFIG_ARCH_CALIBRATION. It is awkward to use and no longer
18939 - Build System: With recent changes to apps/ all configurations that
18942 - Build System: Add dynamic application loadable support. From
18944 - Build System: Add configuration CONFIG_ARCH_GNU_NO_WEAKFUNCTIONS
18947 - Kconfig: Move 'option modules' from NSH_FILE_APPS to
18949 - apps/ Build System: Introduce a build system for loadable apps
18952 - apps/import: Add Makefile.symtab which can be used to compile the
18958 - apps/nshlib: Add parsing support for back-slash quoted
18962 - apps/nshlib: Add inverted logic support in the form of 'if !
18964 - apps/nshlib: Expand reboot and poweroff commands to include a
18966 - apps/nshlib: Add a force flag (-f) to mksmartfs command. SmartFS
18969 - apps/nshlib: NSH prompt string is now configurable. nsh> is
18971 - apps/nshlib: Add control-C support for terminating built-in and
18973 - apps/nshlib: Call BOARDIOC_FINALINIT after start-up script (or
18974 immediately after BOARIOC_INIT is there is no start-up script).
18976 - apps/nshlib: When using waitpid() to wait for a built-in
18979 waited-for task is stopped as well. From Gregory Nutt.
18983 - apps/builtin/Makefile. This commit changes apps/builtin to search
18991 - apps/examples/calib_udelay: Add tool for calibrating
18993 - apps/examples/dhtxx: Example for the DHTxx sensor. From Ouss4.
18994 - apps/examples/dsptest: Add unit test for Nuttx DSP library From
18996 - apps/examples/elf: CROMFS and ROMFS configuration currently only
19000 - apps/examples/elf: If the test ELF files are on media in
19004 - apps/examples/fb: Adds example to test framebuffer overlay From
19006 - apps/examples/gps: Add GPS example using MINMEA lib From Alan
19008 - apps/examples/i2sloop: Add i2sloop application. This application
19011 - apps/examples/lvgldemo: Update LVGL to version 5.1.1 From Alan
19013 - apps/examples/module: Add support for CROMFS and for stripping
19015 - apps/examples/module: Add support for automounting removable media.
19018 - apps/examples/module: When built in the PROTECTED or KERNEL
19027 - apps/examples/ostest: Add a small test for SIGSTOP, SIGCONT, and
19029 - apps/examples/popen: Add a test of popen/pclose. From Gregory
19031 - apps/examples/powerled: Add arch initialization. From Mateusz
19033 - apps/examples/tcpblaster: Add TCP performance measurement test.
19038 - apps/system/cle: Usage improvements including command line
19041 - apps/system/i2c: Adapt to rename I2C_M_RESTART->i2C_M_START.
19043 write-read and write-write mesage sequence. From Gregory Nutt.
19044 - apps/system/i2c: Allow registers besides 0x00 in the dev command.
19046 - apps/system/nsh: Add logic to automatically register an
19049 - apps/system/nsh: The symbol table name and size variable names
19051 - apps/system/nsh: Move apps/examples/nsh to apps/system/nsh. It
19054 - apps/system/nxplayer: Refactor nxplayer.c. Apply
19057 - apps/system/nxplayer: Release buffer before session and release
19059 Remove & for apb->samp reference. It is already a pointer. From Xiang Xiao.
19060 - system/nxplayer/nxplayer.c: Add playraw command From ZhongAn.
19061 - apps/system/nxrecorder: Add nxrecorder application From ZhongAn.
19062 - apps/system/popen: Add an implementation of the standard popen()
19066 - apps/system/system and popen: Adapt so that these can be used in
19074 - apps/system/taskset: Add taskset command for SMP systems. This
19078 nsh> taskset -p 4
19081 nsh> taskset -p 3 4
19084 nsh> taskset -p 1 busyloop &
19087 - apps/system/zmodem: Support -p <path> for rz to change the folder
19095 - apps/netutils/dhcpc: Activates BINDTODEVICE if available. From
19100 - apps/wireless/i8sak: i8sak daemon now gets shutdown if not in use.
19111 - mkfatfs: Clean up some name BS_ and MBR_ refer to the same record
19113 - mkfatfs: Add definitions for the FAT boot record (FBR). From
19115 - mksmartfs: Add a check to see if the SmartFS is already
19120 - graphics/littlevg/: Update LVGL to version 5.1.1 From Alan
19125 - testing/unity: Add Unity - unit testing library from
19134 - Signals: Signal handlers maybe run with interrupts enabled or
19135 disabled, depending on how the task the received the signal was
19139 disabled.
19146 - Signals: Lock the scheduler while while killing the children so
19149 - Groups: Fix a deadlock when loading an ELF From Masayuki Ishikawa.
19150 - Groups: In some circumstances, group_killchildren() could have
19152 not be as expected if a pthread had cancellation disabled. From Gregory Nutt.
19153 - Posix Message Queues: mq_notify() fix - only part of struct copied
19159 - vfork(): vfork operation needs to allocate and copy the task
19164 - IRQ Dispatch: Ensure vector never points to NULL since interrupt
19166 - Work Queue: workqueues don't need set global data to zero since
19170 - Work Queue: Remove work queue polling delay to simplify the code
19172 - syslog: Fix syslog crash on 64bit simulation. From anchao.
19173 - Pipes: Write to a pipe when there are no readers from the pipe
19174 should return -EPIPE. From ligd.
19175 - System Calls: Fix 6th parameter type of posix_spawnp in
19177 - System Calls: Remove unused SYS_nnetsocket from syscall.h. Because
19180 - Binary Loader: Refactor binfmt_exec.c. This change also fixes an
19183 - Binary Loader: Re-architect the way that loadable ELF or NXFLAT
19186 the death-of-child SIGCHLD signal to perform the unload. There are
19193 - ELF Binary Loader: Set priority level to default if parent has no
19198 - Auto-mounter: Ignore return values from work_cancel(). From
19200 - SmartFS: Fixed filesystem corruption when writing to small file
19202 - SmartFS stat(): A previous change added support for checking if a
19204 way that breaks smartfs file-type stat flags. CROMFS is similarly
19207 not a good idea to use NuttX sys/stat.h bit-field values directly
19209 - HostFS: Update duplicated definitions in HOSTFS that must match
19211 - HostFS: Ensure f_type is equal to HOSTFS_MAGIC. From Xiang Xiao.
19212 - ROMFS: Make romfs_devread32 more portable From anchao.
19213 - TmpFS: Correct logic in tmpfs_ioctl() that extracts the priv state
19217 - ProcFS network statistics: Was not handling the output correct for
19219 - ProcFS IRQs: Fix occasional computation error when fracpart >=
19224 - TAP/TUN: Fixed custom tun devname formatting. From Dmitriy Linikov.
19225 - Network Drivers: This change attempts remove some long standard
19244 - netdev: Fix.. Too many calls to net_unlock() From Gregory Nutt.
19245 - IPv6: There are many different checks for IPv6 multicast
19252 - ARP: Fix some backward logic in an if condition. From Gregory
19254 - TCP Re-assembly: Rename CONFIG_TCP_REASSEMBLY to
19261 in any context where IPv4 packets may be reassembled for multiple
19263 - TCP: Set the default TCP MSS to the value required by RFC 879 and
19267 - TCP: Fix a deadlock condition that can occur when (1) all network
19275 - TCP: Remove g_netstats.tcp.syndrop++ from tcp_data_event() From
19277 - TCP Monitor: Fix net unlock issue when tcp close. This bug could
19279 - UDP: When sending a broadcast (or multicast) packet do not attempt
19283 - UDP: Restore some legacy behavior that was lost with the
19291 - UDP: Fix for network byte-order issue when checking if an address
19293 - USRSOCK: Correct of semaphore usage issues. From Gregory Nutt.
19294 - USRSOCK: Fix re-definitions of struct iovec. From ligd.
19295 - ICMP/ICMPv6 Connection: Change the type of id in
19297 - ICMP/ICMPv6: Fix failure to poll ICMP socket issue. From
19302 - XBee: Fixes issue with timeouts. Timeouts were in ticks but
19305 - BCM43xx: Add missing logic to the BCM43xx IEEE 802.11 driver to
19308 - BCM43xx: Bring in some fixes from the 'Haywire' branch. From
19313 - Audio: Fix compile error in i2schar.c (CONFIG_DEBUG_ASSERTIONS=y)
19315 - Audio I2S: Fix bad NULL pointer check From Juha Niskanen.
19316 - Input: Fixed FT5x06 driver to correctly close (previously it
19318 - MMC/SD: Fix an error that was causing SDIO multiple block
19320 - Sensors: Increases SPI frequency in MAX6675 from 400Khz to 4MHz.
19322 - Sensors: Remove comment references to touchscreens from ADXL345
19324 - Serial: Don't overwrite nwritten unconditionally on UART write
19326 - Serial DMA: Move head/tail pointer reset to uart_recvchars_dma
19329 - Serial DMA: In DMA mode, the use of uart_disablexinit() is
19333 - Serial DMA: Fix typo error in uart_recvchars_dma() From Xiang Xiao.
19334 - 16550 UART: u16550_txempty() should check UART_LSR_TEMT to avoid
19337 * ARMv7-A:
19339 - ARMv7-A (and i.MX6): Add support for per-CPU IRQ and FIQ interrupt
19344 * ARMv7-R:
19346 - ARMv7-R: Fix some wrong configuration of program status
19348 PSR_A_BIT bis is set automatically as arm cortex-r4 reference
19350 - ARMv7-R: Fix some wrong MPU register definition. Change
19351 MPU_RBAR_ADDR_MASK and MPU_RACR_TEX_SHIFT mask as arm cortex-r4
19352 reference manual. Region Base Address Register 0-4 bits are
19353 reserved. MPU Region Access control register type 3-5 bits. From
19356 * ARMv7-M:
19358 - ARMv7-M, Cortex F7: Add a configuration to enable workaround for
19363 priority than the new boosted priority can pre-empt execution.
19371 - ARMv7-M: MPU: mpu_log2regionceil needs take into account the
19373 - ARMv7-M MPU: The prototype of mpu_log2regionfloor() changed; an
19380 - XMC4 SPI: XMC4 SPI was working only for the first transfer From
19385 - SAMv7 MCAN: Correct an error in the BUS_OFF reporting. In case of
19392 - LPC43xx CAN: Fix lpc43 CAN configuration. Configuration settings
19393 were used and documented in README.txt files, but never in any
19395 - LPC43xx: Make WWDT usable again. LPC43xx WWDT driver was not
19402 - kinetis: USB0 fix interrupt storm on error. The ERROR bit of
19405 - Kinetis: SDHC fix SDIO driver so that DMA works. There were 2
19410 SDHC_SYSCTL[RSTD] clears the bits 24-0 in SDHC_PROTO this looses
19412 - Kinetis: (1) PIT add Liftime and Chaining, (2) flexcan fix
19414 format with parity fix. The 9-bit data mode is typically used with
19420 - Kinetis: I2C ensure timeout on bus error. The code had a dead
19427 - i.MXRT Ethernet: I finally got the Ethernet CRC32 to work properly
19436 - LC823450-XGEVK: Fix parallel build on lc823450-xgevk. This change
19441 - LC823450-XGEVK: Change IOB related params for rndis. Since TCP
19448 - STM32 F7: Fix compile error caused by intentional use of fall
19453 - STM32 F1-F4: Port Bob Feritich's change to STM32 F2 and F4 which
19456 - STM32 F1-F4, STM32 F7, and STM32 L4: The STM32 RTC driver was
19458 correct. For example, if you want to disabled the STM32 RTC and
19464 - STM32 F3 I2C: Fix compile error with I2C reset. From Juha
19466 - STM32 F7 Serial: Fix ioctl TIOCSSINGLEWIRE The TRM notes that UE
19467 must be disabled in order to write HDSEL in USART_CR3. This was not
19470 before writing HDSEL, then re-enables it if neccesary. From Kurt
19472 - STM32 F7 DMA: DMA macros did not account for the increase from 8
19474 - STM32 F7 I2C: I2C reset Configure I2C pins as GPIO output. Pins
19477 - STM32 F7: All of the SDMMC pins were set to 50 MHz, but not the
19481 - STM32 F7: Port Bob Feritich's change to SDMMC2 and to all other
19484 - STM32 F7 SDMMC: Fix data timeout errors with multi-block
19486 - STM32 L4: Corrects some mistakes in pin definitions for the
19490 - STM32 L4: Avoid using redundant CONFIG_STM32L4_STM32L4X2. This is
19496 - STM32 H7 Serial: don't include stm32_dma.h From raiden00pl.
19500 - STM32F4-Discovery: Fix pca9635pw LED driver compilation on
19501 STM32F4-Discovery. From Alan Carvalho de Assis.
19502 - STM32F4-Discovery: Krassimir Cheshmedzhiev claims that sys/types.h
19505 - STM32F4-Discovery: Missing EXTERN(_vectors) in linker script.
19507 - Nucleo-L422KC: Fix RAM size; STM31L4x2xx has only 64Kb of RAM.
19510 - Nucleo-L422KC: Fix stm32_userleds. After change LD2 to LD3 in
19512 - Nucleo-L422KC: Fix TIMx clock configuration. Also removes
19515 - Nucleo-L452RE: Fix TIMx clock configuration. This is cloned from
19516 similar change to the Nucleo-L422KC. Also fixes DAC build
19518 - B-L475E-IOT01A: Fix copy paste errors in names:
19519 stm32_bringup->stm32l4_bringup. Noted by Freemans Goden. From
19521 - STM32VL-Discovery: Changed the status LED to be the green one as
19528 - libc audio: Call nxsem_destroy in apb_free. From Xiang Xiao.
19529 - libc netdb: The 'port' argument to the static alloc_ai() function
19533 - libc netdb: Fix a link error in lib_gethostbynamer.c with protected
19537 - libc unistd : Fix backward conditional logic in Kconfig. From
19539 - include/nuttx/compiler.h: Fix warning: __cplusplus is not defined.
19542 - include/nuttx/fs/binfs.h: Fix warning: Type defaults to 'int' in
19544 - include/nuttx/net/ethernet.h: Remove CONFIG_NET_ETHERNET guard
19546 - include/nuttx/semaphore.h: don't include nuttx/fs/fs.h. (1) Avoid
19549 - include/crc64.h: Fix warning: integer constant is too large for
19551 - include/limits.h and include/sys/types.h: Fix warning about
19553 to '-' used whete '_' intended. From Xiang Xiao.
19554 - include/spawn.h: Fix posix_spawnattr_destroy warning: 'the
19556 - include/sys/types: Move wint_t and wctype_t from wchar.h to
19560 - apps/include/netutils/netlib.h: Eliminate a warning about
19565 - Build System: Fix parallel build in making context. This change
19569 - Kconfig files: Fix several errors noted by Alex Denisov in
19571 - apps Build System: Fix an error when building apps/ without
19578 Also added a top-level target to compile the symbol table. Misc
19581 - apps/Application.mk: If a loadable module is generated the we
19587 - nuttx/tools/Makefile.unix: Was not cleaning up export directory
19589 - apps/tools: Fix an error in mksymtab.sh From Masayuki Ishikawa.
19593 - apps/nshlib: Fix 'while' and 'until' loop condition The loop
19599 - apps/nshlib: I was able to cause an assertion with some typos in
19602 - apps/nshlib: Increase the default configuration for the maximum
19604 This is needed for 'mount' with the -o option. From Xiang Xiao.
19605 - apps/nshlib: Do not dereference NULL 'pstate' in nsh_console.c.
19610 - apps/examples: Remove illegal calls into OS to initialize BINFMT
19613 - apps/examples/nettest: Fix typo: NET_LOOPBACK ->
19616 - apps/examples/ostest: Signal handling tests should use the same
19619 - apps/examples/ostest: Attempt to make the nested signal test
19623 - apps/examples/smps: Fixes in some printf and in Kconfig. From
19628 - apps/system/cu: (1) Protect from possible re-definition of signal
19629 values, (2) Fix CU ctrl-C hand when remote core hang. From ligd.
19630 - apps/system/i2c: Fix a backward comparison in i2c_main.c. Noted
19632 - apps/system/nsh: Fix compile errors with
19634 - apps/system/ping and ping6: Send ID and seqno in network byte
19636 - apps/system/ping and ping6: Change dependency in ping and ping6
19640 - apps/system/system: Add 'const' to make function prototype
19642 - apps/system/zmodem: Fix error "sz_main.o: No such file or
19647 - apps/netutils/ftpc: Fix handling of url-encoded strings From
19649 - apps/netutils/ping: Remove unsupported ping. netutils/ping is not
19656 - apps/wireless/wapi: Remove dependency on CONFIG_EXPERIMENTAL from
19661 - apps/gpsutils/minmea: Include wchar.h in minmea.c file to fix
19666 - Remove apps/interpreters/micropthon. There are several reasons
19674 https://bitbucket.org/nuttx/nuttx/issues/104/build-micropython-138-error.
19678 NuttX-7.27 Release Notes
19679 ------------------------
19683 that release consists of two tarballs: nuttx-7.27.tar.gz and
19684 apps-7.27.tar.gz. These are available from:
19689 Both may be needed (see the top-level nuttx/README.txt file for build
19696 - Assertions: Add 'BOARD_ASSERT_RESET_VALUE' in config/Kconfig and
19699 - Assertions: up_registerdump capture the general register if not yet
19702 - Assertions: up_stackdump() dump the full stack if stack overflow the
19704 - binfmt/ and libs/libc: Make exepath_*() more common: Move
19707 - CLOCK: Support CLOCK_MONOTONIC in clock_getres.c. From Xiang Xiao.
19708 - Clock Timekeeping: Use clock_basetime() to initialize
19712 - exit(): Add SCHED_EXIT_KILL_CHILDREN option to kill all child threads
19714 - IOBs: Add an IOB notifier that will notify any registered threads
19718 - Memory Manager: In mm_free(), add DEBUGASSERT()'s to catch memory
19720 - Memory Manager: Add debug option CONFG_MM_FILL_ALLOCATIONS to fill
19722 - sched/signal and syscall/: Add support for pselect() and ppoll()
19724 - Task Groups: group_foreachchild() now iterates in reverse order since
19727 - WDOG Timer: Improve accuracy of wd_gettime() in tickless mode From
19729 - Work Queues: Add a generic notification facility that runs on a work
19736 - FAT: Add CONFIG_FAT_LFN_ALIAS_HASH to speed up creating long
19742 FAT_LFN_ALIAS_HASH uses an alternative format of FI0123~1.TXT where
19746 - FAT: Add CONFIG_FAT_LFN_ALIAS_TRAILCHARS alternative format for 8.3
19749 NuttX will instead take first 6-N and last N characters to form the
19750 short name. This is useful for filenames like "datafile12.txt" where
19753 - FAT: if block driver wait seems to be a long one, give time for other
19755 - file_open(): Add file_open() implementation with some fully-function,
19758 - MX25LF25635F: Add support to Macronix MX25LF25635F serial NOR flash
19760 - nx_open(): Add nx_open() which is the same as open() except that it
19762 variable. Change most other, non-controversial calls to open() to
19764 - file_ioctl(): Replace calls to ioctl() in the OS to file_ioctl().
19766 - mount: Add mount() support for file systems that require MTD drivers
19768 - mount: Add support for mounting a file system with either a block or
19770 - MTD FTL: Support BIOC_FLUSH ioctl From Xiang Xiao.
19771 - MTD FTL: Make READAHEAD and WRITEBUFFER work independently of each
19775 - MTD FTL: Allocate eblock only when it's really needed From Xiang Xiao.
19776 - MTD FTL: Add support support unlink operation to avoid the memory
19778 - MTD Partition: Add register_mtdpartition() for MTD partition From
19780 - MTD Partition: Remove the hard code partition name length From Xiang
19782 - MTD Proxy: Make MTD device accessible via a character driver proxy
19784 - ProcFS: Change output of the ProcFS 'env' file so that it looks more
19786 - ProcFS: Add support to provide MLD statistics at /proc/net/mld. From
19788 - ProcFS: Remove MTD ProcFS and mtd_procfsoperations() since we can now
19790 - ProcFS: Add /proc/version support to get version info From iuhaitao.
19791 - ProcFS: Add support for named MTD drivers in the pseudo file system.
19794 - R/W Buffer: Don't queue work to flush write buffer if
19796 - R/W Buffer: Improve the rwb_read/write overlap performance From
19798 - SIM HOSTFS: Support S_IFSOCK, DT_LNK, O_DIRECT and O_SYNC From Xiang
19800 - SPIFFS: Brings in a NuttX port of version 0.3.7 of Peter Anderson's
19805 - Network Configuration Add new configuration CONFIG_NET_MCASTGROUP.
19810 - Network Device: Add notification logic for the case where the network
19812 - Network Device: Rename netdev_dev_lladdrsize() to netdev_lladdrsize()
19815 - ARP: Redesign ARP table aging to simplify the net initialization
19817 - ARP: Check ifname match before sending packet. From Xiang Xiao.
19818 - ARP and ICMPv6: Double the delay time on each iteration for ARP/ICMP
19820 - ICMP/ICMPv6: Add NET_ICMP[v6]_NO_STACK for usrsock case From Xiang
19822 - ICMPv6: Encapsulate the link scope address generation into
19824 - ICMPv6: Remove the coupling between ICMPv6 and Ethernet by moving all
19827 - ICMPv6 MLD: Implement Multicast Listener Discovery (MLD) protocol based
19829 - ICMPv6 MLD: Implement MLDv1 compatibility mode. From Gregory Nutt.
19830 - ICMPv6 MLD: Implement 'Other Querier Present Timer'. This timer is
19833 - IGMP: Backport some MLD design improvements/fixes. From Gregory Nutt.
19834 - IPv4 setsockopt(): Add implementation for all IPv4 socket options that
19836 - IPv4/6 Socket Options: Add framework to support IPv4 and IPv6
19840 - ICMPv6 Autoconfiguration: Don't take the network device down when
19844 network be in the "down" state when re-configuring the network
19852 - IPv6 Input: Add logic to skip over the variable number of IPv6
19856 have, at a minimum, a Router Alert Hop-by-hop extension header.
19859 - IPv6 Neighbor: Simplify the neighbor table aging process From Xiang
19861 - IPv6 Neighbor: Simplify neighbor_dumpentry() implementation From
19863 - IPv6 Neighbor: neighbor_lookup() checks if the target IP belongs to
19865 - IPv6 Neighbor: Support neighbor_out() for multiple link layer at the
19867 - IPv6 setsockopt(): Implement the IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP
19869 - TCP: Extend the TCP notification logic logic so that it will report
19871 - SLIP: Add IPv6 support and fix minor issue From Xiang Xiao.
19872 - TCP: Add TCP poll() logic to receive notifications when IOBs are
19874 - TCP: In TCP backlog, add SOMAXCONN definition and implementation per
19876 - TCP/UDP: Extend send()/sendto() logic it also requires that at least
19878 - TCP/UDP: Add notification logic when TCP or UDP read-ahead data is
19880 - TUN: Call ipv[4|6]_input dynamically by checking packet header and
19885 - Broadcom IEEE 802.11: Add capability for Broadcom chips to get
19886 firmware and CLM data from a mounted file system vs. in-memory data
19888 - XBee IEEE 802.15.4: Add support for setting/getting tx power. From
19893 - GPIO: Support multiple registrations of GPIO signal events. From
19895 - INA226: Add INA226 device driver. From Daniel P. Carvalho.
19896 - MAX7219: Support all digits presented in the MAX7219 datasheet. From
19898 - MLX90614: Add support for the Infrared Thermometer MLX90614 From
19900 - RTC Driver: up_rtc_set_lowerhalf call clock_synchronize() for
19902 - SYSLOG: Uncomment the g_syslog_channel->sc_flush call in
19904 - SYSLOG: syslog_initialize initialize dev/syslog too and call syslog
19906 - USB Composite and DFU drivers: Add support for Microsoft OS
19907 descriptors. These Microsoft-only descriptors help in loading the
19911 Windows 10 with dfu-util 0.9 and libusb 1.0.22. On Windows 7 it still
19913 - USB DFU Device: Add DFU Runtime driver for activating boot-loader
19915 - USB RNDIS Device: Account for CONFIG_NET_GUARDSIZE in allocation of
19918 - USB RNDIS Composite Device: Fix strid comparison. Add support for
19923 - PCBLOGIC-PIC32MX: Remove support for the PCB Logic PIC32MX board. I do
19929 - i.MXRT: Added support for the i.MXRT 106x family. From David Sidrane.
19933 - i.MXRT: Add LPI2C driver. From Ivan Ucherdzhiev.
19934 - i.MXRT LPSPI: Add full support for the LPSPI in poll mode; includes a
19936 - i.MXRT USDHC: Initial commit of the i.MXRT SDHC driver working in PIO
19938 - i.MXRT USDHC: Complete the interrupt driven USDHC1 functionality for
19944 - IMXRT1060-EVK: Add support for the IMXRT1060-EVK. From David Sidrane.
19948 - Olimex-LPC1766STK: Add support to initialize a USB HID keyboard. Add
19953 - LC823450: MPU support for FLAT build From Masayuki Ishikawa.
19957 - STM32: Add support for STM32F303xD/E. From Mateusz Szafoni.
19958 - STM32 L4: Add initial support for STM32L412 and STM32L422 chips From
19963 - STM32 ADC: Major refactor: Use STM32 ADC IP core version and ADC
19970 - STM32 PWM: Improvements in STM32 PWM low level driver: Support
19971 complementary outputs, dead-time configuration, output polarity and
19973 - STM32 PWM: Break and lock configuration and some cosmetics From
19975 - STM32 SPI. Enable separate DMA per SPI configuration From Daniel Agar.
19976 - STM32 F7 FLASH: Allow programming OTP blocks through progmem
19978 - STM32 H7 I2C: Add I2C support for STM32H7. From raiden00pl.
19979 - STM32 H7 RCC: Update RCC definitions, add SPI clock configuration and
19981 - STM32 H7 SPI: Add basic SPI support for H7. Enable SYSCFG clock in
19986 - Nucleo-F302R8: Add support for Nucleo-F302R8 board From raiden00pl.
19987 - Nucleo-F302R8: Add PWM support. From Mateusz Szafoni.
19988 - Nucleo-F303ZE: Add basic support for nucleo-f303ze. From Mateusz
19990 - Nucleo-F303ZE: Support for ADC and ADC example. From Mateusz Szafoni.
19991 - Nucleo-L432KC: Added support for AT45DB Serial Flash From Daniel P.
19993 - Nucleo-L432KC: Add support for the INA226. From Daniel P. Carvalho.
19994 - Nucleo-H743ZI: Add NRF24L01 support. From Mateusz Szafoni.
19995 - Olimex-STM32-P407: Add a HID keyboard configuration. From Gregory
19997 - STM32F4-Discovery: Add MLX90614 support for the STM32F4-Discovery
19999 - STM32F429I-DISCO: Add PWM support. From Mateusz Szafoni.
20000 - STM32F429I-DISCO: Support for ADC and ADC example. From Mateusz
20005 - MIPS32 Toolchain.defs: Add toolchain flags for the pinguino toolchain
20008 * RISC-V:
20010 - RISC-V GAP: This commit brings in support for the GAP8 architecture.
20011 The GAP8 is a 1+8-core DSP-like RISC-V MCU. Also included is support
20016 - tools/tesbuild.sh: No longer installs and builds the NxWidgets
20021 - include/net and include/sys: Align the constant values with values in
20024 - include/netdb.h Add NO_ADDRESS definition From zhangyuan7.
20025 - include/netinet/in.h: Adds definitions for IPPROTO_IPV6 socket
20027 struct ipv6-mreq. These changes all follow the opengroup standard for
20029 - include/netinet/in.h: Add IPv4 SOL_IP socket options for symmetry
20032 - include/netinet/in.h: Add other definitions required by
20034 - include/netinet/in.h: Add Linux IP_PKTINFO and IPV6_PKTINFO
20036 - include/nuttx/net/ipv6ext.h: Create header file with all of the
20039 - include/nuttx/net/mld.h: Add MLD header file based on RFC2710 and
20041 - include/sys/socket.h: With increased size of struct sockaddr_in6, the
20046 - libs/libc/misc: Add implementation of CRC8-CCITT. From Alan Carvalho
20048 - libs/libc/modlib: Add per-module library symbol table support. From
20050 - libs/libc/net: Add basic implementation for recvmsg() and sendmsg()
20052 - libs/libc/netdb: A few improvements to getaddrinfo: (1) Use the
20055 - libs/libc/netdb: Make DNS receive timeout configurable. From ligd.
20056 - libs/libc/stdio: Eliminate recursive in conversion functions of
20058 - libs/libc/string: Add some new functions defined in POSIX.1-2017:
20060 - libs/libc/string: Add memrchr() function From Xiang Xiao.
20061 - libs/libc/string: Make strerror() return the string "Success" for
20066 - Makefile.unix/win: Remove deletion of Eclipse project files from make
20068 - apps/Application.mk: Fix some build issues. (1) Unable to found
20069 target 'context' when CONFIG_NSH_BUILTIN_APPS disabled. (2) Unable to
20071 - apps/Directory.mk: Fix distclean targets. Makefiles were not
20078 - apps/nshlib/, apps/examples/: Update to show newer file system
20080 - apps/nshlib: Add support for the 'env' command. From Gregory
20082 - apps/nshlib: Add support for NSH local variables if
20089 - apps/nshlib: If CONFIG_NSH_VARS=y, the NSH 'set' command with no
20095 - apps/examples/gpio: Align with GPIO driver update From wangyanjiong.
20096 - apps/examples/ina226: Added INA226 example From Daniel P. Carvalho.
20097 - apps/examples/mld: Add a test of MLD. Provides a mechanism for some
20098 low-level bring-up of MLD. From Gregory Nutt.
20099 - apps/examples/mlx90614: Add mlx90614 test example From Alan Carvalho
20101 - apps/examples/mlx90614/: Include support to change device address on
20103 - apps/examples/fstest: Adapt the existing fstest example for SPIFFS:
20110 - apps/examples/tcpblaster: Add an option to use poll() to pace input
20112 - apps/examples/tcpblaster: Select CONFIG_LIBC_FLOATINGPOINT
20115 - apps/examples/udpblaster: Add option to use poll() on output (only).
20120 - apps/system/ping and apps/system/ping6: Set optind to zero in the
20122 -W <timeout> and -s <size> option. Decouple the output from ping
20124 - apps/system/ping and pings and apps/netutils/ping: Extract icmp ping
20125 and icmpv6 ping6 logic from system/ to C-callable library in
20127 - apps/system/progmem: Remove this utility. It makes illegal direct
20132 - apps/netutils/netlib and apps/examples/igmp: Adapt to use the
20133 corrected, semi-standard version of struct ip_msfilter. From Gregory
20135 - apps/netutils/chat and apps/examples/chat: 'constify' chat variables
20140 - apps/wireless/ieee802154/i8sak: Properly shuts down event thread.
20142 - apps/wireless/ieee802154/i8sak: Fixes i8sak name. Accidentally renamed
20144 - apps/wireless/ieee802154/i8sak: Adds support for getting/setting
20149 - apps/graphics/NxWidgets: Move the NxWidgets repository into the apps/
20155 - apps/graphics/NxWidgets: Add CNxString string + operator and
20159 - apps/graphics/NxWidgets: Add CLabelGrid control for displaying text
20168 - Clock: Remove g_monotonic_basetime and g_clock_monotonic_time since
20172 - Clock: Don't call up_timer_gettime in clock_gettime() and
20175 - Clock Initialization: clock_inittime() needs to be done with
20179 - IOBs: Work around some issues with the IOB throttle semaphore. It
20183 - IOBs: iob_navail() was returning the number of free IOB chain queue
20186 - PM: Use the start time of state btime to calculate thrcnt; remove the
20188 - PM Uninitialization: Fix pm_domain_s.stime un-initialize caused time
20190 - sched_kfree() and sched_ufree(): This patch prevent heap corruption
20192 change forces all de-allocations via sched_kfree() and sched_ufree()
20193 to be delayed. Eliminating the immediate de-allocation prevents the
20194 problem with the the re-entrant semaphore because the deallocation
20197 - sigsuspend(): sigsuspend() shouldn't eat the pending signal but
20199 - task_restart(): Was restarting tasks with all signals set in the
20202 - unsetenv(): Fix and error in unsetenv() when un-setting the last of
20204 - waitpid(): Remove a bad error check. From Gregory Nutt.
20208 - FAT: Fix file data corruption in fat_truncate(). From Petteri Aimonen.
20209 - Partitions: Try MTDIOC_GEOMETRY IOCTL before bops's geometry.
20211 - MTD Progmem: Change up_progmem_npages() to up_progmem_neraseblocks().
20218 - R/W Buffer: Fix a lock issue From Xiang Xiao.
20219 - SmartFS: Current sector should have a space for next entry size. If
20224 - 6LoWPAN: Fixes bug in uncompress_addr handling of odd postfix. This
20228 - ARP and ICMPv6: Don't call d_txavail directly since it may point to
20230 - ICMPv6: icmpv6_neighbor() shouldn't use the out of scope
20232 - IPv6 input: Fixes logic in ipv6_input to handle more than ff02::/16
20235 - IPv6 Input: Fix a logic error when the received IPv6 srcaddr is a
20239 - TCP: In TPC recv window calculations, in order to receive data we
20245 - TCP: Fix compiler error and warning when CONFIG_NET_SENDFILE=y From
20247 - TCP Input: Fix recovery when ackseq > unackseq. The comment near
20253 - TCP Write Buffering: Fix buffer release handling on failed buffer
20255 buffer alloc and tryalloc failed to wrb->wb_iob assertion. From Harri
20257 - TCP/UDP: In the POLLOUT poll logic, request an immediate Tx poll from
20259 - UDP: On a failure to find the destination device, fallback to
20263 - USRSOCK: Revert previous commit to re-allow combination of usrsock
20268 - USRSOCK accept(): Mark newconn ready before issue accept request to
20274 - Broadcom 802.11 Driver: There were two functions that have a address
20278 - Broadcom 802.11 Driver: Remove incorrect OR condition. Always true.
20280 - NRF24L01: Fix compilation errors. From Mateusz Szafoni.
20284 - ALARM Upper Half: Fix alarm ISR error when no CONFIG_SCHED_TICKLESS
20285 drivers/timers/arch_alarm.c: Use uint64_t to avoid alarm 32-bit
20287 - MAX11802: Fix compilation errors and allow setting PULL and SAMPLE
20289 - S25FL1: During a MTDIOC_GEOMETRY ioctl call, the driver was
20293 - SYSLOG: nx_syslog's return value should include the timestamp length
20295 - SYSLOG: syslog_putc() calls sc_force in idle task even if interrupt
20301 - SYSLOG: Ensure interrupt log doesn't interlace in normal log. Don't
20304 - UART 16550: Fix UART flow control issue. UART_MCR_RTS need be high
20306 - USB RNDIS Device: Fix buffer overrun check in rndis.c. The rndis
20312 * ARMv7-A:
20314 - ARMv7-A: Replicate the same fix was previously committed for the
20315 ARMv7-R. From Gregory Nutt.
20317 * ARMv7-R:
20319 - ARMv7-R: Fix error in cp15_flash_dcache. Change mcrne to mcr for
20322 * ARMv7-M:
20324 - ARMv7-M Interrupts: Correct all ARMv7-M architectures. Interrupts
20325 were not be disabled correctly on power up. Writing zero to the NVIC
20326 SET-ENABLE registers has no effect. In order to disable interrupts,
20327 it is necessary to write all ones to the NVIC CLEAR-ENABLE register.
20332 - BCM2708 Serial: Juha Niskanen's fix related to STM32
20338 - Qemu i486: Correct .bss, IDLE stack, heap organization. From Gregory
20343 - LPC43 Ethernet: Fix Ethernet TX_EN pin definitions. TX_EN on LPC43xx
20345 P0.1 was hard-coded for MII and PC.4 was hard-coded for RMII. Also,
20348 - LPC43 Serial: Fix copy-paste error: g_usart1port->g_uart1port. From
20350 - LPC43 SDMMC: Fix the LPC43 family SDMMC card access: Clocks were
20355 - LPC43 SDMMC: Corrected a problem in lpc43_dmasendsetup(). There was
20359 - LPC43 SDMMC: With these changes the SDMMC card for LPC43 is now
20365 episode to the next, corrupting progress. Multi-descriptor DMA
20370 - Bambino-200E: Correct calculation of SDMMC clock configuration. The
20376 - Kinetis: Remove all attempts to reprioritize interrupts. From Gregory
20381 - Kinetis I2C: I2C On failed reset re-initialization I2C and clocking.
20383 subsequent transfers will not cause a hard-fault due to the clock
20386 - Kinetis Serial: Juha Niskanen's fix related to STM32
20392 - i.MXRT Ethernet: The board would not come up if I ran Nuttx from cold.
20397 - i.MXRT Ethernet: Fix a race condition in setting up the Ethernet Tx
20399 - i.MXRT Ethernet: Corrections for the i.MXRT Ethernet: (1) Now the
20400 Ethernet is completely re-initialized when an error occurs by means of
20405 could be moved into the config rather than searching for it which
20409 the PHY to be optional when a reset is needed. If a non-renegotiated
20416 anyway. (5) Re-loads the multicast table on reset. (6) Adds a bit
20418 - i.MXRT LPI2C: Fixes 2 bugs in the for IMXRT1050: (1) I2C time out and
20421 - i.MXRT LPSRTC: SVNC LPCR register bits 0 & 1 are NOT reserved and
20424 - LPC54 SDMMC: Add support for and SDMMC errata. It appears that now I
20427 - LPC54 SDMMC: Ported Dave Marples fixes LPC43 SDMMC to the LPC54.
20429 - i.MXRT WDOG: Typos in bit definitions, wdog registers are 16 bits,
20435 - i.MXRT: clockconfig bug fix: Fixed logic that was not clearing bits
20443 - IMXRT1050-EVK: Previous committed implemented SPI-based MMC/SD card
20445 implementation of MMC/SD card support using the SDIO-based
20447 and conditions using the SPI-based support on CONFIG_MMCSD_SPI which
20453 - LC823450: Fix up_allocate_heap() in lc823450_allocateheap2.c. For
20461 - EFM32 Serial: Juha Niskanen's fix related to STM32
20464 - EFM32 USB Device: The epin_configure() function used the same eptype
20471 - STM32* SPI: Don't rely on SPI_CR1_SPE to determine if peripheral has
20478 - STM32 F0, F7, H7, L4 Serial: Fix use of CONFIG_SERIAL_IFLOWCONTROL
20480 - STM32 TIM: Don't use hard-coded UIF interrupt in some functions.
20482 - STM32 (FS/HS), STM32F7, and STM32L4 OTGFS/HS Device: The
20486 - STM32 F2: Fixes Kconfig options to include all STM32F20XX processors,
20489 - STM32 F4 DAC: STM32F407VG has only one DAC. NDAC=2 causes
20492 - STM32 F7 Serial: Force invalidation of data cache after DMA re-enable
20493 when returning from low-power mode From Juha Niskanen.
20497 - B-L475E-IOT01A: Correct timer source clock frequencies. From Freemans
20499 - Nucleo-L432KC: Fix SPI pin definitions in board.h. From Daniel P.
20504 - CP0 Definitions: Fix some copy-paste errors that cause malformed
20507 - microMIPS: Reported by Anonymous in Bitbucket Issue #129: When MIPS
20516 - PIC32MZ Startup: In pic32mz-head.S, initialize the global pointer in
20521 - PIC32MZ Serial: Fix a typo in assignment of TTYS0 to UART6 From Ouss4.
20525 - SIM Network Driver: Fix error 'invalid operands to binary &' From
20530 - Fix typographical error in endian.h and resource.h From anchao.
20531 - include/net/if.h: Adds extern "C" guard in include/net/if.h From
20533 - include/netinet/in.h: Per OpenGroup.org, type of sin_port in struct
20536 - include/nuttx: Fix definitions used to access OS functions within the
20542 - include/nuttx/clock.h: Fix uptime wrong if DEBUG_FEATURES and
20544 - include/nuttx/fs/fs.h: Fix some backward parameters in a new macro
20546 - include/nuttx/fs/fs.h: Register_mtddriver should depend on CONFIG_MTD
20548 - include/sys/socket.h: Renumber the socket types. They must begin at
20552 any-type-socket, but macOS uses SOCK_UNSPEC. NuttX will do the same.
20555 - libs/libc: Correct some errors in psignal() and stpncpy(). From
20557 - libs/libc/math: Add variable convergence in log() and logf() to avoid
20561 - libs/libc/stdio: Fix conversion for format specifiers in sscanf() that
20568 - libs/libc/stdio: Remove CONFIG_NOPRINTF_FIELDWIDTH. That option
20571 non-standard. Removing this might break some of the tinier platforms
20574 - libs/libc/stdio: Update to vsprintf(). This resolves the integer
20578 - libs/libc/string: Correct the return pointer value from stpncpy() for
20580 - libs/libc/string: Fix strrchr() so that it considers null terminator
20582 - libs/libc/wqueue: Eliminate a race condition noted by Xiang Xiao.
20584 - libs/libnx/nxfonts: Fix kerning of 'I' in Sans17x22 font. From
20586 - libs/libnx/nxfonts: In nxfonts_getfont(), avoid unnecessary warnings
20588 - libs/libnx/mxmu: NXMU now re-validates window pointer for mouse
20594 - libs/libnx/nxtk: nxtk_bitmapwindow: Fix warning message when bitmap is
20595 fully off-screen. From Petteri Aimonen.
20599 - Fix issue with libcxx build. This was changed multiple times, but
20601 - configs/Makefile and tools/Config.mk: Move single file copy to the
20605 - tools/Config.mk and tools/Makefile.win: Force use 'cmd' for shell
20607 - tools/Directories.mk: Correct the path to the installed libcxx
20609 - tools/Makefile.win/unix: Staging directory (and its libraries) should
20613 - apps/Directory.mk: If the current directory contains a Kconfig file
20616 - apps/Makefile: Fix Windows native build patch extension. From Anatol
20621 - tools/Config.mk: Fix an error in RWILDCARD implementation From
20623 - tools/configure.c: Add missing '\n' in printf statement
20624 - tools/configure.c: Add missed -g option to getopt() string. From
20626 - tools/configure.c and tools/configure.sh: Fix Windows native
20627 pre-build kconfig-conf incompatibility. From Anatol Ivanov.
20628 - tools/csvparser.h: Extend MAX_PARMSIZE to 256. Fixes this issue:
20630 - tools/link.bat: Fix .fakelink creation. From Anatol Ivanov.
20631 - tools/mkdeps.c: Fix '\0' missing with MinGW. From Anatol Ivanov.
20635 - apps/nshlib: Correct maximum number of arguments that can be provided
20637 - apps/nshlib: Add fflush to nsh_consolewrite(). This resolves this
20643 - apps/nshlib: nsh_catfile() should not append '\n' if the last char in
20645 - apps/nshlib: Fix warning g_oldpwd defined but not used
20646 [-Wunused-const-variable] in nsh_envcmds.c. From Xiang Xiao.
20650 - apps/examples/adc/Kconfig: CONFIG_BOARDCTL_ADCTEST does not exist
20652 - apps/examples/webserver/Kconfig: The webserver "app" allows for DHCP
20654 contain EXAMPLES_WEBSERVER_DHCPC config. Based on patch from
20659 - apps/system/hexed: Fix memory leak From zhuyanlin.
20660 - apps/system/i2c: Fix i2c_msg freq initialization problem. Typo
20663 - apps/system/system: Fix warning when passing argument 6 of
20665 [-Wincompatible-pointer-types] From Xiang Xiao.
20669 - Correct some network-related configuration variable names. All *_MTU
20672 - apps/netutils/netlib/netlib_parsehttpurl.c: Correct handling of long
20675 - apps/netutils/codecs: "dst" overflow protection when base64 string
20677 - apps/include/netutils/ipmsfilter.h: Eliminate error generated by bad
20678 pre-processor logic. From Gregory Nutt.
20682 - apps/graphics/NxWidgets: Fix garbage returned when
20687 NuttX-7.28 Release Notes
20688 ------------------------
20692 that release consists of two tarballs: nuttx-7.28.tar.gz and
20693 apps-7.28.tar.gz. These are available from:
20698 Both may be needed (see the top-level nuttx/README.txt file for build
20705 - Critical Section Monitor: Adds data collection logic in support of
20706 pre-task monitoring critical sections and pre-emption state. From Gregory
20708 - Critical Section Monitor: Add support for global pre-emption and
20711 - Interrupt Time: Measurement of interrupt handler duration used to
20715 interrupt duration calculation to use the same high-resolution,
20716 platform-specific timer as is used with the Critical Section Monitor.
20718 duration in non-Tickless mode, and (2) in either mode, the interrupt
20720 high-resolution timer and should, therefore, never be any discrepancy
20722 - Context Switching Protection: Add debug assertions before each call
20725 - init Task: Allow the init task priority to be configurable. From
20727 - pthreads: Implement pthread_key_delete(). This involves some minor
20732 - ProcFS: Extended the process ID ProcFS output to show per-thread
20733 maximum time for pre-emption disabled and maximum time within a
20735 - NXFFS: Pass unrecognized IOCTL commands to the contained MTD
20737 - LittleFS: Adds an initial port the ARM mbed littlefs to NuttX. This does
20740 - AT25 MTD Driver: Added support for AT25DF081A serial flash chip.
20742 - MTD Configdata Device: Extends the MTD configdata device with the
20744 1. Configurable option to use named config items instead of enumerated
20747 /dev/config device.
20749 4. Ability to perform "flash_eraseall" on the /dev/config device.
20754 - Telnet Driver: Add NAWS and poll interface to telnet for screen size
20759 - BLE HIC Core: Add second RX work function From Lwazi Dube
20760 - BLE IOCTL Commands: Add SIOCBTCONNECT and SIOCBTDISCONNECT ioctl
20762 - CC2564: Add cc2564 HCI UART driver. From Lwazi Dube
20766 - Sitronix ST7032i: Add support to Alphanumeric Sitronix ST7032i
20768 - NXP TDA19988: This commit brings in a complete, but untested,
20775 - crypto/aes.c: This change provides an improved AES cipher API in
20777 1) better performance, giving the possibility to avoid re-setting-up
20787 - MMCSD SDIO: The mmcsd_sdio driver makes calls for dcache
20794 invalidate store-into mode dcaches after the DMA transfer. I
20797 non-cache aligned buffer invalidation errors (for my store-through
20799 for store-into mode dcaches.
20804 - SPI Lower Half Interface: Extend the HW features supported by SPI.
20807 - DS28E17 1-Wire Driver: Optimize I2C write followed by read to same
20809 - LMP92001: Add support for the TI LMP92001 Multi-channle DAC/ADC
20811 - EEPROM Character Driver: Add support to Microchip AT24CM02 From
20813 - Microchip MCP73871: Add support to Microchip MPC73871 Battery Charger.
20815 - MCP7941x: Add support for the Microchip MCP741x external RTC. From Ouss4
20816 - Sensirion SCD30: Driver for Sensirion SCD30 CO2 sensor. From Jussi
20818 - Sensirion SGP30: Driver for Sensirion SCD30 gas sensor. From Jussi
20820 - Sensirion SPS30: Driver for Sensirion SCD30 particulate matter sensor.
20822 - USB CDC/ACM Device: When implemented usb cdc on nrf52840, I found
20825 2. Low-water mask implement issue;
20826 3. Re-flush cdc buffer when enabling
20832 - Configuration System: Allow Penguino for windows for the Windows
20837 - MAX32660: Support for the MAX32660 was added (along with partial
20846 - MAX32550-EVSYS: Basic support for the Maxim Integrated MAC3X660
20848 fully functional. Includes unverified support for an SPI0-based
20853 - SAMD21/L21: Adds a complete ADC header file for SAMD21 and a partially
20855 - SAMD21/L21: Export sam_i2c_master_initialize(int bus) to be used by
20856 board config. From Alan Carvalho de Assis
20860 - PIC32MZ I2C: Add support for the I2C bus. From Ouss4
20862 * ARMv7-A
20864 - ARMv7-A MMU: Use TLBIMVA vs TLBIMVAAIS to invalidate the Cortex-A8
20867 * ARMv7-M
20869 - Cortex-M7 Cache: This commit adds a new function
20875 - ARMv7-M: In the current implementation we only use very high
20876 priority interrupts (levels 0, 0x10 and 0x20 in CORTEX-M speak) but
20888 - BCM2708: Remove all support for the BCM2708/2835. This was added
20895 - Raspberry Pi Zero: Remove the partial support for the Raspberry Pi
20902 - Improve LED handling #if~#endif in nrf52_autoleds.c and
20906 Add nrf52-generic
20908 Copy from nrf52-pca10040 to nrf52-generic
20913 - i.MXRT: Add PIT, GPT, and QIMER(TMR) header files From David Sidrane
20914 - i.MXRT: Add FLEXPWM. From David Sidrane
20915 - i.MXRT: Add ADC chip header From David Sidrane
20916 - i.MXRT Build: Include up_systemreset and up_stackcheck.c From David Sidrane
20917 - i.MXRT GPIO: Add GPIO Support Input daisy selection. From David Sidrane
20918 - i.MXRT Serial: Support independent input and output flow control. From
20920 - i.MXRT USB: Use single define for USB pin definitions. From David Sidrane
20921 - IMXRT106X: Add FLEXCAN3 to pinmux header file. From David Sidrane
20925 - IMXRT1050-EVK: GPIO device driver support added and tested by
20930 - LPC23450: Add support for SPI flash boot. Also, remove unnecessary
20935 - LC823450-XGEVK: Add linker script for SPI flash boot. From
20937 - LC823450-XGEVK: Enable NFS client for RNDIS configuration. Also, some
20942 - Critical Section Monitor: Add low level timer support for simulation. From
20947 - Configuration: Simplify ARM core selection logic From Mateusz Szafoni
20948 - Configuration: USB Host is an option. From David Sidrane
20949 - STM32 L0: Brings in initial support for the STM23 L0. From Mateusz
20954 - STM32 ADC: Configurable ADC DMA mode (one shot mode, circular
20956 - STM32 ADC: Start conversion on startup is now possible if TIM
20959 - STM32 DAC: Unified naming for DAC interfaces From Mateusz Szafoni
20960 - STM32 DMA: Add interfaces to interact with high priority DMA
20962 - STM32 DMA: Use STM32 DMA IP core version instead of chip family
20964 - STM32 DMA: Add support for DMA v1 CSELR support. From Mateusz Szafoni
20965 - STM32 HRTIM: Do not enable timers on startup if option from Kconfig
20968 - STM32 PWM: Add timer enable/disable and frequency update to
20969 low-level ops. From Mateusz Szafoni
20970 - STM32 SPI: Implements the new deferred DMA trigger feature. From
20972 - STM32 F0 Build: Rename the stm32f0 directory to stm32f0l0 to make a
20976 - STM32 F0 GPIO: Add support for GPIO EXTI. From Mateusz Sfafoni
20977 - STM32 F2 FLASH: stm32_flash_writeprotect() supported the same for
20979 - STM34 F7 DMA: stm32f7 enable separate DMA per SPI configuration
20981 - STM32 F7 QEncoder: Ported the QEncoder from F4 to F7. From Eduard
20983 - STM32 F7 SPI: Port Dave Marples STM32 deferred trigger enhancement
20985 - STM32 H7 SPI: Port Dave Marples STM32 deferred trigger enhancement
20987 - STM32 L4 SPI: Port Dave Marples STM32 deferred trigger enhancement
20992 - B-L072Z-LRWAN1: Add basic support for b-l072z-lrwan1. Nucleo boards
20995 - Nucleo-F103RB: Add board support. From Mateusz Szafoni
20996 - Nucleo-F103RB: Add ADC and PWM examples. From Mateusz Szafoni
20997 - Nucleo-F207ZG: Add board support. From Mateusz Szafoni
20998 - Nucleo-F207ZG: Add ADC and PWM examples. From Mateusz Szafoni
20999 - Nucleo-F302R8: Add high priority ADC interrupts example to the
21001 - Nucleo-F334R8: Add support for ADC injected sequence to the 'highpri'
21003 - Nucleo-F334R8: Add example for the SPWM generation (custom STM32 PWM
21005 - Nucleo-F767ZI: Use on board USB UART as default console. Board is powered
21009 - Nucleo-F767ZI: Add ethernet config based on nsh configuration plus
21010 stm32f769i-disco/nsh-ethernet. From Phil Coval
21011 - Nucleo-L073RZ: Add basic support for nucleo-l073rz. Nucleo boards
21014 - Nucleo-L152RE: Add board support. From Mateusz Szafoni
21015 - STM32F4 Discovery: Add timing support for the critical section
21017 - STM32F4 Discovery: If the Critical Section Monitor, modify the
21020 - STM32F4 Discovery: Add board support to display ST7032i From Alan
21022 - STM32F4 Discovery: Add loadable application build support in
21024 - STM32F4 Discovery: Update RNDIS configuration: (1) Add NFS and adjusted
21027 - STM32F4 Discovery: Update nsh configuration: (1) Add
21030 - STM32F429I-DISCO: Add high priority ADC interrupts example to the
21032 - configs/nucleo-l073rz: Support for nrf24l01. From Mateusz Sfafoni
21036 - CC13x0 family and CC13x2/CC26x2: Basic, minimal support was added
21037 for these two chip families. This is a Work-In-Progress: There is
21038 just enough logic in place to support a simple NSH configuration.
21040 TI ROM-based 'DriverLib'. As a result, the support is not fully code
21047 - LAUNCHL-CC1312R1: Board support is available for the TI
21048 LAUNCHL-CC1312R1. That board support consists only of an unverified
21050 being is simply support the core architecture bring-up.
21054 - AM335x: Adds initial support for the TI AM355x family.
21055 - AM335x: Add minimal wdog logic needed to disable the watchdog timer.
21058 - AM335x: Switch to DMTimer2 for system tick generation. U-Boot does not
21064 - Beaglebone Black: Initial port for BeagleBone Black board support
21065 (TI AM335x family based on Cortex-A8). Includes a basic functional NSH
21070 - LM3S9B92: Add support for LM3S9B92. From Lwazi Dube
21074 - Tiva HCI UART: Port bluetooth HCI uart interface from stm32 to tiva
21079 - TM4C1294-Launchpad: Add IRQBUTTONS support to tm4c1294 launchpad.
21084 - tools/convert-comments.c: Add a tool to convert C++-style comments
21085 to C89 C-style comments. From Gregory Nutt
21086 - tools/detab.c: Add detab.c which will convert all tabs in a file to
21088 - tools/lowhex.c: Add lowhex.c that will convert hexadecimal constants
21090 - tools/mkconfig.c: Add definitions to distinguish between tristate
21092 - tools/nxstyle.c: Add logic to detect long lines. From Gregory Nutt
21093 - tools/nxstyle.c: Add -h for help. From Gregory Nutt
21097 - include/nuttx/lcd/edid.h: Add EDID definitions From Gregory Nutt
21098 - libs/libc/netdb: Make DNS retries configurable From Juha Niskanen
21099 - libs/libc/netdb: Harden query logic against DNS spoofing. This
21106 - libs/libc/netdb: Support multiple IP addresses per hostname From
21111 - apps/nshlib: Add support to use SLCD as NSH Console From Alan Carvalho de
21113 - apps/nshlib: Add support for CROMFS start-up script. From David Sidrane
21114 - apps/nshlib: Add var expansion in NSH parse. From Daniel Agar
21115 - apps/nshlib: Display built-in apps using multi-column mode like the NSH
21117 - apps/nshlib: In all multi-column help output, calculate an optimal column
21118 width rather than using a hard-coded width that may or may not be
21121 - apps/nshlib: Adds addroute command options for setting default gateway.
21126 - apps/examples/battery: Add Battery Charger Monitor Example From Alan
21131 - apps/system/configdata: Adds an "cfgdata" command which allows
21132 manipulation of the /dev/config items via the command line. One such use
21134 utility is sort-of like a u-boot env variable edit function:
21149 You can also display all config items:
21157 - apps/system/critmon: Add a daemon to monitor critical section usage. From
21159 - apps/system/nsh: Set NSH priority if the NSH task was scheduled at a
21161 - apps/system/nxplayer: Introduce CONFIG_NXPLAYER_MAINTHREAD_STACKSIZE. From
21163 - apps/system/termcurses: Addition of termcurses libraries in
21165 - apps/system/vi: New feature additions
21172 3. Moving into insert or append mode now prints '--INSERT--' in the
21177 5. Support for up, down, left, right arrows, page-up, page-down keys in
21215 26. Implemented '^' goto first non-whitespace on current line, along with
21216 '+' and '-' goto first non-whitespace on next / previous line.
21217 27. Added CR / LF goto first non-whitespace on next line in command
21222 - apps/netutils/webserver: The webserver/httpd app is was broken when script
21224 has been tracked down to the "Content-length" not being available ahead of
21225 time in this case (length of -1 passed to send_headers() ). On the other
21229 Simple solution: Add support for HTTP Chunked Encoding to webserver/httpd.
21230 The change is simple. It adds a configuration option to enable chunked
21231 encoding. When enabled, the implementation will auto-detect the cases where
21241 - apps/wireless/bluetooth/btsak: Add connect and disconnect commands to
21246 - apps/graphics/pdcurs34: Integration of termcurses into pdcurses, plus
21247 pdcurses updates for multi-thread support From Ken Pettit
21248 - apps/graphics/pdcurs34: Adds a configuration option to pdcurses to enable
21249 line-drawing character (ALTCHARSET) when using the short 16-bit chtype.
21250 This is done by limiting the characters to 7-bit ASCII values and using the
21251 8-th bit as the A_ALTCHARSET bit. This allows a significant RAM savings 4K
21252 - 20K depending on terminal size) while still allowing the nicer
21253 line-graphic characters for border drawing. From Ken Pettit
21257 - apps/testing/ostest: Add test for pthread-specific data. From Gregory
21266 - Assertions: Identify the running task correctly when dumping task
21274 - Assertions: Correct duplicated logic from commit
21283 - Interrupt Prioritization: Remove all driver-specific logic that may
21288 to be set by board-specific logic. From Gregory Nutt
21289 - Memory Management: Revert "This patch prevent heap corruption as in
21291 results in major memory fragmentation and out-of-memory
21296 - Memory Management: This is a replacement for EunBong Song's reverted
21302 non-running task be trying to get the MM semaphore? I think only in the
21307 - Memory Management: In implementation of calloc(), verify that the number of
21311 - sigtimedwait(): Remove unnecessary disable of pre-emption. From
21313 - _exit(): Update all architecture-specific _exit() implementations
21319 - sched_foreach(): sched_foreach() should not have to hold the
21324 - task_spawn(): Correct description of input parameters to
21329 - crtypo/: This change:
21344 - opendir(): Corrects a problem with opendir() noted by Petteri
21362 in NSH (like 'ls -R /') because NSH contains logic to remove trailing
21364 - dup()/dup2(): dup() and dup2() were broken some time back.
21367 - ProcFS: Remove the unnecessary critical section From Xiang Xiao
21368 - CROMFS: Fix hardfault. From David Sidrane
21369 - SmartFS MTD Driver: Fix smart_write_alloc_sector sector size mapping.
21373 - AT25 MTD Driver: Fixed missing opening parenthesis. From Marc Rosen
21374 - MTD Configdata MTD Driver: Check return value mtdconfig_readbytes().
21376 - S25FL1 MTD Driver: Minor change for the s25fl1 QSPI FLASH driver which
21381 - All network drivers! Change pre-processor logic that selects the
21385 - Socket Clone/Dup: On a failure to start the TCP monitor, the cloned
21389 - ARP: Fix whitespace after ARPHRD_IEEE80211 in ARP header file. From
21391 - 6LoWPAN: Fixes decompression of ipaddr from MAC address. The logic
21394 - 6LoWPAN: Fixes logic surrounding the Universal/Local bit. This bit
21396 bit is bit 1 of the MSB of the EUI-64. It should only be inverted in
21397 cases where there is a full EUI-64. In cases where the IID is derived
21400 https://tools.ietf.org/html/rfc4291#section-2.5.1
21401 https://tools.ietf.org/html/rfc4944#section-6
21402 https://tools.ietf.org/html/rfc2464#section-4
21404 - 6LoWPAN: IEEE802.15.4 stores and uses addresses in little endian
21406 - 6LoWPAN: Address comment regarding avoiding double lookup of address
21408 - 6LoWPAN: Record and restore d_buf on entry/exit of sixlowpan_input.
21413 - 6LoWPAN: sixlowpan_input should always return 0 if the incoming frame was
21415 - TUN Driver: Fixes a problem reported by Masayuki Ishikwawa: Recently I
21420 - Telnet Driver: Add missing logic to set read event flags in poll()
21425 - BLE: Fix uninitialized variables. From Lwazi Dube
21426 - BLE GATT header file: Fix struct name. From Lwazi Dube
21427 - BLE GATT: Remove unnecessary GATT ioctls From Lwazi Dube
21431 - ST7032: Fix seek method. Was not taking into account the offset for the
21433 clobbering the filep->f_pos setting. From Gregory Nutt
21434 - PCF8574 Backpack: Fix seek method. Had the same problems as noted for
21439 - Button Upper Half: Fix two bad NULL checks From Juha Niskanen
21440 - PWM Interface: Remove dependency on CONFIG_PWM for the upper-half
21441 PWM header. This allows compilation for the lower-level PWM drivers
21442 even if the upper-half PWM logic is not used. From Mateusz Szafoni
21443 - Various I2C Drivers: In most I2C drivers, correct upper index value
21446 - Battery Gauge: Add missing initialization of semaphore. From Alan
21448 - Batter Charger: Add missing initialization of semaphore. From Alan
21450 - MCP73871: Fix Microchip MCP73871 Battery Charger driver to register
21454 - MCP794xx: Fix MCP794xx driver to wait for OSCRUN and fix tm_year. From
21456 - Numerous files: Fixes usage of CONFIG_BIG_ENDIAN; should be
21459 * ARMv7-A:
21461 - ARMv7-A MMU: Fix end address calculation for mmu_invalidate_region() API
21464 * ARMv7-M:
21466 - ITM: Fix missing space causing macro issues From Alan Carvalho de
21468 - Common Exception Handlers: This commit changes the lazy and non-lazy
21470 on ARMv7-m. If my understanding is correct then these interrupt
21474 the interrupt arriving and further interrupts being disabled. From
21476 - MPU/Protected Mode Build: Revert "arch/arm/armv7-m: MPU:
21483 That is, the following MUST always be zero: (base & ((1 << l2size) - 1))
21490 - PIC32MX Ethernet: Fix a comparison in a debug assertion. Should be
21495 - PIC32MZ chip.h Header: Add a missing " in an error message. From Ouss4
21499 - PIC32MZ Ethernet: Fix a comparison in a debug assertion. Should be
21504 - SAMD21/L21: Corrects behavior of the I2C_M_NOSTART flag. Also adds
21505 a release a bus on RXNACK and corrects typo priv->flags to msg->flags
21506 as priv->flags is never set. From Alexander Vasiliev
21507 - SAMD21/L21: Fix SAMD2L2 arch to use calibrated oscillator value. Now
21511 - SAMD21/L21 I2C Master: Adds calculation of a timeout and disables
21516 - SAML21-Xplained: Fix removed MAXCOARSESTEP from saml21-xplained board.
21521 - SAMD51/Ex: Alexander Vasiliev's fix to the SAMD21 I2C Master (commit
21527 - SAMV7 Serial: Fix case where TTYS0 is not defined. From Ken Pettit
21531 - MAX326xx: WFI instruction in IDLE loop seems to interfere with
21537 - i.MXRT FLEXPWM: Correct duplicated definitions From David Sidrane
21538 - i.MXRT SERIAL: Fix TTYS0 defined definitions of higher numbered ports
21540 - i.MXRT LPSPI: Removed unused clock, that borked the build. From David
21542 - i.MXRT LPI2C: I2C Reset rework From David Sidrane
21546 - LC823450: Fix up_allocate_heap() in lc823450_allocateheap2.c. This
21549 - LC823450: Fix go_os_start() in lc823450_start.c. I found a bug in
21553 - Other Architectures: Masayuki Ishikawa's change to go_os_start() was
21554 also to all MCU-specific start-up functions that support
21559 - LC823450-XEVK: Fix IOB params in rndis/defconfig. These parameters
21561 - LC823450-XGEVK: Change RNDIS MAC address assignment in rndis
21568 - LC823450-XGEVK: Fix overlapped memory settings in memory.ld. From
21573 - STM32: Remove redundant STM32 family definitions from chip.h header
21576 - STM32 ADC: There is no DMA CFG bit for the basic IPv1 ADC. From
21578 - STM32 ADC: Refactor adc_reset. It should be easier to maintain this
21580 - STM32 F0 Clocking: Fixes the problem in GPIO port clocks. Only port
21583 - STM32 F7 I2C: I2C out of bounds access on priv->msgv. Error in if
21585 index 0 is valid on priv->msgv. Therefore random values in memory
21587 - STM32 H7 I2C: Applied David Sidrane's I2C fix to the identical logic
21589 - STM32 L4 I2C: Applied David Sidrane's I2C fix to the identical logic
21594 - STM32 ADC: Fix RCC reset logic. From Mateusz Szafoni
21595 - STM32 ADC: Fix compilation errors for chips with one ADV TIM. From
21597 - STM32 DMA: Add missing DMA channel configuration.
21598 - STM32 PWM: STM32 MOE is not being appropriately handled for PWM for
21602 - STM32 PWM: Fix compilation errors if the upper-half PWM logic is not
21604 - STM32 SPI: STM32F446 & STM32F469 correct PC1 SPI assignments From
21606 - STM32 TIM: Fix compilation error if there is no TIM8. From Mateusz
21608 - STM32 F0: Fix GPIO EXTI lines assignment for STM32 M0. From Mateuz Szafoni
21609 - STM32 F3 I2C: Remove the extra NONE event from the trace dump
21611 - STM32 F4 I2C: Remove the extra NONE event from the trace dump
21613 - STM32 F7 I2C: Use clock_t for ticks instead of uint32_t to hold system
21615 - STM32 L4 I2C: Use clock_t for ticks instead of uint32_t to hold system
21620 - STM32F429I-DISCO: Fix lvgl demo removing STM32_FB_CMAP. From Alan
21622 - STM32VL Discovery: Fix SRAM and FLASH size in the linker script.
21626 - STM32VL Discovery: Fix memory size configuration and documentation.
21629 - Viewtool-STM32F107: Change RNDIS MAC address assignment in rndis
21639 - Tiva LM/TM4C Start-Up: Remove option CONFIG_TIVA_BOARD_CLOCKCONFIG. It is
21644 - Tiva LM/TM4C GPIO Interrupts: Fix tiva gpio interrupts From Lwazi Dube
21645 - Tiva LM/TM4C: Improve GPIO interrupt support by removing unnecessary,
21646 hard-coded per-MCU defines and using the existing Kconfig configuration
21651 - Tiva TM4C Serial: After commit
21653 work - enter key produces garbage characters. This commit fixes the
21658 - include/dsp.h: Fix missing semicolon error in dsp.h From MYAPICI
21659 - include/nuttx/compiler.h: Correct support of C-version-specific features.
21660 Cannot depend on GCC version because -std=c89 may be used on comomand
21664 - libs/libc/stdio: fread() should always set EOF if fewer than the
21670 - sched/irq/Make.defs: Fix warning about irq_csection.o appearing
21675 - tools/gencromfs.c: "gencromfs.c:1171:3: warning: ignoring return
21677 [-Wunused-result]. From David Sidrane
21678 - tools/gencromfs.c: Fix build on macOS. From David Sidrane
21682 - apps/nshlib: Fixes an error in the NSH parser. There was a bug when
21684 command in the script is executed, it sets the vtbl->np.np_redirect flag
21686 the script execution. Then the vtbl->np.np_redirect flag is set when the
21687 'sh' command completes, causing a restore from un-initialized variables,
21694 nsh> mkrd -s 1024 40
21696 nsh> mount -t vfat /dev/ram0 /tmp
21705 - apps/nshlib: Fix buffer overrun when redirected to a file. SAVE_SIZE
21710 - system/system.c: Fixes build error; There is no result variable, use
21712 - apps/system/vi: Bug fixes:
21750 13. When in 'ex' or find sub-modes (':' or '/' bottom line modes),
21766 19. Fixed vi_shrinktext so it doesn't allocate a zero-length buffer when
21774 - apps/wireless/bluetooth/btsak: 'bt bnep0 info' outputs a reversed addr. It
21777 - apps/wireless/bluetooth/btsak: Fix some errors in btsak. From Lwazi Dube
21778 - apps/wireless/bluetooth/btsak/btsak_main.c: Fix address parsing. From
21780 - apps/wireless/bluetooth/btsak: Remove unnecessary gatt get commands. From
21782 - apps/wireless/bluetooth/btsak/btsak_scan.c: Fix reversed address. From
21784 - apps/wireless/ieee802154/i8sak: Fixes issues related to re-running
21785 daemon. Releases lock when releasing daemon. Re-sets daemon_shutdown so
21789 NuttX-7.29 Release Notes
21790 ------------------------
21794 that release consists of two tarballs: nuttx-7.29.tar.gz and
21795 apps-7.29.tar.gz. These are available from:
21800 Both may be needed (see the top-level nuttx/README.txt file for build
21807 - Configuration: CONFIG_NFILE_DESCRIPTORS=0 can no longer be used to
21810 - Rename most internal OS functions from sched_* to nxsched_* to
21813 - Rename all internal OS functions from task_* to nxtask_* to indicate
21815 - Rename sched_process_timer to nxsched_process_timer. Rename
21820 - Standardize naming: Rename os_start() to nx_start(), rename os_smp*
21823 - Initialization: Remove the option CONFIG_BOARD_INITTHREAD. Now, if
21828 - Initialization: Add support for CONFIG_BOARD_EARLY_INITIALIZE. If
21829 this option is selected then nx_start() will call a board-provided
21833 - Signal Delivery: Add a flag to the TCB to indicate that we are in a
21836 guaranteed before but when locking of pre-emption during signal
21841 - Signal Handler Security: The architecture-specific signal handler
21847 - Timer Interrupt Procssing: Add a configurable call out to a
21848 user-provided function, 'timer hook', on each timer interrupt. From
21850 - PM Activity: Add pm_staycount() API for get stay numbers. This
21852 - Pthreads: Add support for pthread_mutex_timedlock From Leif Jakob.
21853 - Pthread Spinlocks: Add a very preliminary implementation of the new
21855 - Critical Section Monitor: Remove SCHED_IRQMONITOR_GETTIME to
21859 - Work Queue Notification: Notifier can now work with either lpwork
21861 - Protected Build: Add add a new field (us_heapend) to struct
21866 - Shared Libraries: Implement dlerror() using strerror(). From Xiang
21868 - Shared Libraries: Add LD_LIBRARY_PATH environment variable
21870 - ELF Loaders: Optimize elf load speed: (1) Don't zero out memory,
21872 - ARM ELF Relocation: Add support for the R_ARM_THM_JUMP11 relocation
21875 - ELF Modules: Add relocation buffer table to reduce filesystem
21877 - ELF Modules: Add symbol buffer table to reduce filesystem access.
21882 - Filesystem Mount: Move the union inode_ops_u i_mtd field into the
21885 - ROMFS: Add support to mount a ROMFS volume using an MTD driver
21887 - LittleFS: VFS wrapper improvement: (1) Support block device
21889 support forceformat and autoformat option, (4) update file->f_pos
21890 and dir->fd_position, (5) remove the internal struct from dir, and
21892 - UnionFS: Support mount of UnionFS from the NSH command line. From
21897 - UsrSock: Add mutual exclusion so that only user can perform a
21899 - UDP: Initialize callback address structure to avoid random values
21904 - SX127x: Initial support for SX127x LoRA radio From Mateusz Szafoni.
21908 - Graphics: Fix a naming collision: Ye olde nx_start that started
21911 - NX Server Startup: Extend nxmu_start() so that receives a display
21916 - Graphics: nx_openwindow() and nxtk_openwindow() now accept an
21918 select a RAM backed, per-window framebuffer. From Gregory Nutt.
21919 - Per-Window Framebuffers: Windows may now be optionally created
21935 to use per-window framebuffers.
21939 - Driver Notifications: Support signal notification through
21941 RTC, Joysticsks, buttons, Zero-Crossing, wireless, FT80x, Timer,
21943 - Watchdog Driver: Support auto-monitor service From Gregory Nutt.
21944 - Timer and Alarm Drivers: Implement up_critmon_gettime and
21947 - RTC Driver: Protect the RTC state with a semaphore. From Xiang
21949 - Serial Upper Half: Call pm_activity() when characters are received
21951 - MPU60x0: Initial support for TDK InvenSense MPU6000 and MPU6050
21952 6-axis gyroscope and accelerometers. This commit supports SPI
21954 - EEPROM Driver: Add configurable SPI eeprom frequency. From
21956 - GPIO Driver: Support reading and writing gpio pins using cat and
21958 - MCP2515: Add MCP2515 clock input config to KConfig. From
21960 - MAX7456: Support for the Maxim MAX7456 on-screen-display chip.
21965 - boardctl(): up_testset() can now be accessed by applications via
21970 - boardctl(): Add support for BOARDIOC_NXTERM which can be used to
21972 - boardctl(): Add boardctl() commands to replace direct calls to
21977 - PIC32MZ Timers: Add support for the PIC32MZ timers (driver,
21982 - arch/arm: Move FPU options to a common place and unify the usage
21984 - arch/: Unify the cache interface for all architectures that
21986 - ARMv7-M/A/R: Add a architecture-specific new barriers.h header
21991 * ARMv7-A
21993 - ARMv7-A: Support thumb mode and fix interworking issue. From
21995 - ARMv7-A: Add weak attribute to arm_data_initialize so platform
21997 - ARMv7-A: Add SCR bit definitions. From Xiang Xiao.
21998 - ARMv7-A: Add mmu_l1_map_regions() to remove the code duplication.
22000 - ARMv7-A: Add the initial cortex-a7 architecture support From
22003 * ARMv7-M
22005 - ARMv7-M: stackcheck allow faulting stack calculation to make it to
22010 - SAMD2/L2: Add RS485 support to SAMD2L2 serial. From Alan Carvalho
22015 - Minerva: Add support for the Minerva architecture. From Ramtin
22020 - misoc: Add support for an NSH configuration using the Verilator
22025 - NRF52: 1. Added 52840 family support 2. Use common IRQ and memory
22030 - NRF52 RNG: 1. added RNG device driver 2. added errdata to correct
22036 - i.MXRT XBAR: Add XBAR Support. From David Sidrane.
22037 - i.MXRT USB: Add USB analog header file. From David Sidrane.
22038 - i.MXRT OCOTP: Added OCOTP Support. From David Sidrane.
22039 - i.MXRT LCD: Adds framebuffer support for the i.MXRT 1050.
22042 3-clause license. From Johannes.
22046 - IMXRT1050-EVK: Adds framebuffer support for the i.MXRT 1050.
22051 - LPC17xx: Add a configuration option to skip over the framebuffer
22056 - Open1788: Add a configuration to test NxTerms in the PROTECTED
22058 - Open1788: Re-arrange PROTECTED mode link map to make more space
22060 - Open1788: Add a configuration for testing per-window frame buffers
22065 - LPCXpresso-LPC54628/pwfb: Add per-window framebuffer configuration
22067 - LPCXpresso-LPC54628: Add a configuration for addition per-window
22072 - STM32F0/L0 SPI: Add SPI support for F0. From Mateusz Szafoni.
22073 - STM32 ADC, PWM and TIM: (1) configure injected channels external
22078 - STM32 DFU Mode: Add logic to reboot the STM32 in DFU mode.
22081 - STM32F7 LSE: Add configuration of LSE oscillator drive capability
22083 - STM32F7 I2C: Fix another memory access issue on a bus error. From
22085 - STM32F7 TIM: Add OUTTOGGLE mode for STM32f7 timer From Valmantas
22087 - STM32F7 Timer Lower Half: Add timer lowerhalf driver for stm32f7.
22089 - STM32F7 ITM: Add ITM syslog support. From Valmantas Paliksa.
22090 - STM32F7 CAN: Add CAN driver with support for three bxCAN
22092 - STM32F7 QSPI: Add stm32f7 Quad SPI support. From Valmantas Paliksa.
22093 - STM32L4 LSE: Ports Jussi Kivilinna's recent STM32F7 LSE change to
22095 - STM32H7 I2C: Apply David Sidrane's fix for the STM32F7 to the
22097 - STM32H7 DMA: Rename DMA1/2 IRQ names to match those from other
22106 - STM32H7 OTG: Initial OTG support for STM32H7 and some minor
22108 - STM32H7 Build: Initial support for protected build mode. From
22110 - STM32L4 I2C: Apply David Sidrane's fix for the STM32F7 to the
22115 - B-L072Z-LRWAN1: Add SX127x configuration. From Mateusz Szafoni.
22116 - Nucleo-F091RC: Add support for SX127x radio. From Mateusz Szafoni.
22117 - Nucleo-F091RC: Add SX127x configuration. From Mateusz Szafoni.
22118 - Nucleo-F207ZG: Add support for USB and initialize CDCACM if
22120 - STM32F429I-DISCO: Add an apps/examples/examples/nxhello
22122 - Nucleo-F446RE: Add support for the Nucleo F446RE. From Sebastien
22124 - B-L072Z-LRWAN1: Use HSI as default clock source. From Mateusz
22126 - Nucleo-L073RZ: Add SX127x configuration. From Mateusz Szafoni.
22127 - Nucleo-L073RZ: Port button logic from nucleo-f072 which appears to
22129 - Nucleo-L432KC: Add support for I2C driver initialization. From
22131 - Nucleo-H743ZI: Add support for USB and initialize CDCACM if
22133 - OmnibusF4: Initial support for the OmnibusF4 family of flight
22141 non-upstreamed, bespoke port of NuttX. No code from those resources
22143 - OmnibusF4: Add MAX7546 support. From Bill Gatliff.
22147 - CC1312R1: Code complete and builds successfully. Stalled on
22149 radio interface, but the Cortex-M0 interface is not available with
22154 - LaunchXL-CC1312R1: Add support for on-board LEDs and buttons. The
22155 LauchXL-CC1312R1 NSH Configuration is now fully functional. From
22157 - LaunchXL-CC1310: Clone LED and button support from the
22158 LaunchXL-CC1312R1. The number of LEDs and buttons as well as DIO
22163 - tools/rmcr.c: Add a tool to remove carriage returns and dangline
22165 - tools/nxstyle.c: Can now detect if the C comment closing is not on
22167 - tools/nxstyle.c: Make sure that all files begin with a comment on
22169 - tools/nxstyle.c: Add check for multiple definitions of local
22171 - tools/nxstyle.c: Beef up logic that detects multiple variable
22173 - tools/nxstyle.c: Add capability to detect CamelCase identifiers.
22175 - tools/nxstyle.c: Add logic to detect a blank line following a left
22177 - tools/nxstyle.c: Don't complain about certain lowercase characters
22178 in otherwise uppercase pre-processor identifers: IPv6, IPv4,
22186 - Makefiles: Modify tools/Makefiles to add a "Do not Edit" warning
22191 - lib_vsprintf() (Nano): Add newlib-nano lib_vsfprintf has been
22197 https://salsa.debian.org/electronics-team/toolchains/newlib-nano.
22198 That project is GPL overall, but the newlib-nano printf portions
22201 - lib_vsprintf() (Nano): Added support for long lont types. From
22203 - lib_vsprintf() (Nano): Added hh type modifier (without extending
22205 - lib_vsprintf() (Nano): Adds configurable support for numbered
22207 - lib_vsprintf() (Nano): Cleaned naming and allow for leading zeros
22209 - lib_vsprintf() (Legacy): Add support for %g format which, for
22212 - vscanf(): Moved vscanf logic to lib_sscanf.c Switched to stream
22216 - scanf() and fscanf(): Added scanf and fscanf based on enhanced
22218 - uname(): Add build date and time to uname output (like Linux).
22220 - strsep(): Add strsep BSD/Linux function. From Xiang Xiao.
22221 - netdb: Hostname support no longer depends on CONFIG_NET since the
22222 host name is also useful in the non-network environment.
22224 - netdb: Support the nameserver change notification then we can pass
22226 - include/fixedmath.h: Add macros for conversion between types
22228 - include/limits.h: Define NL_ARGMAX (as well as some of the other
22232 - linclude/limits.h: Add 'range 9 999999' to CONFIG_LIBC_NL_ARGMAX
22235 - include/nuttx/lcd/edid.h: Add extended EDID block IDs From
22240 - apps/: Follow up the kernel signal-related change in various files
22242 - apps/: Update for corrected name of standard header file. Should
22244 - apps/: The file system can no longer be disabled. Remove all
22247 - apps/: Remove/replace all conditional logic based on
22251 - apps/: Some updates due to NuttX renaming:
22255 - apps/: Graphics interfaces nx_openwindow() and nxtk_openwindow()
22260 - apps/nshlib/nsh_netinit.c: Update for changes to signal
22265 - apps/examples/ini_dumper: New example program. ini_dumper is
22268 - apps/examples/modbusmaster: Add Simple Modbus master example.
22273 - apps/examples/pwfb: Added a test/example at apps/examples/pwfb
22274 that was used for initial testing of the per-window framebuffer
22276 - apps/examples/pwlines: Added another a test/example at
22278 per-window framebuffer feature. From Gregory Nutt.
22279 - apps/examples/sx127x: Add sx127x demo From Mateusz Szafoni.
22283 - apps/fsutils/inih: New package. inih (INI Not Invented Here) is a
22284 simple .INI file parser written in C.
22289 - apps/netutils/codecs/: Remove the big Base64 stack array. From
22291 - apps/netutils/codecs/: Add base64_[de|en]code_length() API From
22296 - apps/system/cfgdata: Make builtin task stack size and priority
22299 - apps/system/embedlog: Update to version 0.4.0. From Michal Lyszczek.
22300 - apps/system/nxplayer and nxrecorder: Change 'int prio' to
22303 - apps/system/psmq: New package. psmq is publish subscribe message
22305 publish/subscribe way of inter-process communication on top of
22307 - apps/system/zmodem: Switch to the raw mode before transfer and
22313 - apps/testing/: Move all file system tests from examples/ to
22316 - apps/testing/cxxtest: Add a README file. From Gregory Nutt.
22317 - apps/testing/ostest: Add test of pthread_mutex_timedlock() From
22319 - apps/testing/ostest: Fix several errors in the setvbuf() test.
22321 - apps/testing/scanftest: Port of Greg King's scanf test
22326 - apps/tools/check-hash.sh: Add a tool check hash on downloaded
22335 - Signals: Restructure nxsig_deliver() so that the signal handler is
22336 not called with the pre-emption disabled (or, at least no with
22337 pre-emption disabled by nxsig_deliver() itself). From Gregory Nutt.
22338 - Critical Section Monitor: Move up_critmon_* to arch.h avoid the
22340 - Assertions: Architecture-specific assertion logic should dump CPU0
22343 - Message Queues: Change 'int prio' to 'unsigned int prio'.
22348 - Timer Expiration: Fix macro SEC2TICK() 32-bits overflow by using
22350 - Kernel Memory Manager: In mm/kmm_heap/kmm_kernel.c, remove unused,
22352 - User Memory Manager: Ensure all user allocation try sbrk before
22354 - waitid(): Could exit without leaving critical section on some
22356 - IOBs: iob_allocwait() should decrease semcount manually. From
22358 - IOBs: iob_copyin() should wait for each buffer and adjust the
22361 - IOB Notifier: Don't check iob_navail in iob_notifier_setup to
22363 - IOB Debug Dump: Format the whole line before log to avoid the
22365 - SHM: Convert bytes to pages by MM_NPAGES instead of MM_PGALIGNUP
22367 - SHM: shmget() should hould call shm_extend() to allocate the
22369 - Page Allocator: mm/pgalloc: shouldn't just allocate one page
22371 - Granule Allocator: Fix the wrong data in g_1bit_info and make the
22373 - srbk(): Fix a backward conditional test. Should call
22375 - sbrk(): Pass ARCH_HEAP_VEND as maxbreak argument From Xiang Xiao.
22376 - ELF Headers: Move elf related arch function to include/nuttx/elf.h
22383 - ELF Executables: If there is an address environment
22387 - ELF Configuration: Correct libcxx exception handling by
22388 introducing the generic config(CXX_EXCEPTION and CXX_LIBSUPCXX)
22390 - ELF Loaders: Call umm_initialize as soon as possible otherwise
22396 - Crypto AES: After NuttX 7.28 crypto/aes.c would no longer
22401 - open(): Fix not returning failure for block_proxy() call. From
22403 - AIO: aio_cancel() needs to signal caller after success. Also fix
22405 - HostFS: Remove the unnecessary use of host_stat() in
22407 - LittleFS: Fix a minor issue found in code review: (1) Replace
22411 - LittleFS: VFS Lookahead should use bit unit not byte unit. From
22413 - NxFLAT: Correct a double free debug assertion. This occurs when
22419 - NxFLAT: File descriptor leaks when nxflat loading fails. From
22421 - ProcFS: Fix typo in procfs uptime logic. From Sebastien Lorquet.
22425 - Network Configuration: The setup seems to support a network
22429 - Networking: The value ERROR should never be returned from internal
22433 - Networking: The struct in_addr doesn't have the member sin_addr.
22437 - TCP (buffered) send: Fix assertion crash when window size is
22439 - ICMP/ICMPv6: Bind icmp callback from device to connection.
22442 - TUN/TAP Driver: Re-order all TUN/TAP driver state data. Not only
22445 causing problems because the network requires 16-bit packet buffer
22448 - TUN/TAP Driver: Packet buffer size should include the configured
22450 allocation size must be an even number of 16-bit values to preserve
22452 - Local Sockets: In local_connect(), initialize lc_result before
22454 - Local Sockets: Fixed deadlock issue by replacing nxsem_wait() with
22460 - NX Graphics: Remove naming associated with the now non-existent
22465 - NxTERM: Remove the nxterm_unregister interface. The correct way
22467 - NxTerm: Needs to clear display initially. Otherwise, garbage from
22470 - Font Cache: Fix a memory leak in the font cache. With a busy
22473 - Graphics: Nothing under graphics/ should set the errno. From
22475 - Graphics: Fix a coordinate system error in nx_filltrapezoid().
22483 - boardctl(): Fix compiling error when set
22488 - INA3221: Fix errors in INA3221 register field addresses and
22489 bitfield values. Signed value was losing its signed-ness due to
22491 - Serial Upper Half: Initialize OPOST and ONLCR in uart_register.
22493 - Serial Upper Half: Don't reset the circular buffer on close since
22497 - 16550 UART: Fix error: 'g_uart0port' undeclared. From Xiang Xiao.
22498 - 16550 UART: Fix typo for UART1 flow field initialization From
22500 - CDC/ACM HCD: Fixes to the IOCTL method in recovery of UART pointer
22501 and in names of Termios-related field. From xhbm.
22502 - USB Device: Fix type for USBDEV_TRACE_INITIALIDSET in Kconfig.
22504 - TCA64xx: Fix some errors in the TCA64XX driver. From Bruno
22506 - SYSLOG RAMLog: Fix error: Conflicting types for 'ramlog_addchar'
22508 - NRF24L01: Fix uninitialized irq_work which was causing a
22511 - MCP2515: Use kmm_zalloc to allocate device state structure. Fix
22516 - arch/ Common: Remove architecture-specific watchdog.h and
22517 arm-elf.h because they are empty. The arm-elf header file was
22520 - arch/ Common: Move up_pminitialize() after timer_initialize()
22522 - arch/ Common: Align semi-hosting call style with other syscalls in
22523 architecture-specific syscall.h. From Xiang Xiao.
22524 - arch/ Common: Every file that uses serial IOCTLs (TIOC*) must
22527 - arch/ Interfaces: Rename sched_process_cpuload to
22531 * ARMv7-A:
22533 - ARMv7-A MMU: Updating the cp15_wrttb and cp15_wrdacr functions to
22535 generating errors as ARMv7-a expects the MCR/MRC instructions to
22539 - ARMv7-A: Remove inclusion pg_macros.h for armv7-a since this
22541 - ARMv7-A: Guard some assembly files if configuration not selected.
22543 - ARMv7-A GIC: Fix assemble error when including gic.h From Xiang
22545 - ARMv7-A GIC: Don't use GIC_ICDDCR_ENABLEGRP1 for GIC NONSECURE
22548 * ARMv7-R:
22550 - ARMv7-R Syscall: In arch/arm/include/syscall.h, add missing
22551 inclusion of arch/armv7-r/syscall.h for Cortex-R. From Xiang Xiao.
22553 * ARMv7-M:
22555 - ARMv7-M Initialization: As noted by Roland Takacs in Bitbucket
22567 - ARMv7-M Configuration: ARCH_HIPRI_INTERRUPT shouldn't select
22572 - ARMv7-M Vector Table: Make the default NVIC_VECTAB_TBLOFF_MASK
22576 - ARMv7-M RAM Vectors: Correct bad NVIC_VECTAB_TBLOFF_MASK
22578 Raised DEBUGASSERT in armv7-m/up_ramvec_initialize.c line: 144.
22583 - ESP32 Timer ISR: Fix backward comparison. From Gregory Nutt.
22584 - ESP32 Serial: Fix some backward arguments. Correct 2-stop bit
22589 - SAMD2/L2 Serial: SAMD2/L2 serial driver. It needs
22594 - SAM3/4 Ethernet: Port Anthony Merlino's SAMv7 fix to similar
22599 - SAMv7 SPI: Fix DMA Tx/Rx timeout issue. From Kevin Liu.
22600 - SAMv7 QSPI: Compile error when set CONFIG_SAMV7_QSPI_DLYBCT.
22602 - SAMv7 Ethernet: The logic for determining the number of queues for
22606 - SAMv7 Ethernet: Fixes rxdesc index logic to handle Buffer Not
22618 - SAMA5Dx Ethernet: Port Anthony Merlino's SAMv7 fix to similar
22623 - SAMA5D2-XULT: Move console from FLEXCOM4 to UART1. FLEXCOM4 does
22629 - i.MXRT Clock Configuration: If SDRAM is actived it was only
22636 - i.MXRT GPT: Correct register offsets. From David Sidrane.
22637 - i.MXRT TMR: Fix addressing and restructure using common offset.
22639 - i.MXRT ADC: Error in offset. From David Sidrane.
22643 - Teensy-3.x: Fix a mismatch in types in defconfig. From Gregory
22648 - LPC176x Clock Configuration: The code preserves undocumented
22652 - LPC17xx Clock Configuration: The enable of EMC clocks has to be
22660 - LPC17xx CAN: The name can_txready clashes with Nuttx CAN core
22666 - Open1788: Add missing MPU configuration option. From Gregory Nutt.
22670 - LC823450-XGEVK: Remove -nostdinc to avoid build error From
22675 - STM32: Don't try including stm32_gpio.h from within chip/*.h
22681 - STM32 PWM: Fix polarity and IDLE state configuration From Mateusz
22683 - STM32 ADC, PWM and TIM: (1) missing T1TRGO2 for JEXTSEL, (2) fix
22687 - STM32 Heap: Change 'if CONFIG_STM32_HAVE_CCM' to 'ifdef
22690 - STM32 Oneshot Timer: Fix an error introduced be a previous timer
22692 - STM32 Tickless Mode and Free-Running Timer: Apply Max's
22695 - STM32 PWM: Set CCPxP and CCPxNP bits if polarity is negative.
22698 - STM32F7 Interrupts: Add the missing macro STM32_IRQ_NIRQS used by
22700 - STM32H7 DMA: Fix AHB1 base adresses memory map. From Mateusz
22702 - STM32H7 SysTick: H7 appears to ignore the SysTick CLKSOURCE bit
22707 - B-L072Z-LRWAN1: Fix typo in SPI1 pin definitions. From Mateusz
22709 - STM32F429I-DISCO: Handle multiple calls to the LCD
22711 - STM32F769I-DISCO: Florian R. H�lzlwimmer reports that
22715 - STM32F769I-DISCO: Remove CONFIG_STM32F7_QUADSPI=y from the
22723 - AM335x Serial: Eliminate an error 'TIOCSBRK undeclared. From
22728 - strto*: In alll strto* function family, did't consume single '-'
22730 - getopt(): Add logic to reinitialize the stale context for the
22736 force the state of getopt() to be re-initialized so that it can be
22740 - sscanf(): Initialized the lastc pointer to avoid the checks for
22743 - lib_vsprintf() (Legacy): No precision specifier resulted in
22745 - lib_vsprintf() (Legacy): Correct justification for alternate forms
22747 - lib_vsprintf() (Nano): Add long long support.
22751 - lib_vsprintf() (Nano): Remove CONFIG_LIBC_PRINT_MINIMAL. The
22756 - libs/libc/symtab: Remove unused symtab_findorderedbyvalue(). From
22758 - libs/libc/machine/arm: Fix the minor issue in libc arm machine
22761 - libs/libc/libc.csv: Should be locale.h not local.h. From Joao
22763 - libs/libc/libc.csv: Needed logic for correct compilation if not
22765 - libxx: Always include libxx_cxa_guard.cxx in the build for for
22768 - include/stdbool.h: Define bool only when __cplusplus isn't
22770 - include/nuttx/list.h: Added a Linux-compatible list
22772 - include/nuttx/irq.h: Fix enter_critical_section/spin_lock_irqsave
22775 - include/dlfcn.h: Correct naming of standard header file. Should
22777 - include/nuttx/nx/nxmu.h: This header file could be lethal; it
22779 - include/nuttx/compiler.h: Important fix for C++ users.
22788 - include/nuttx/elf.h: Adds missing extern "C" __cplusplus guard.
22790 - include/poll.h: Remove un-named union from 'struct pollfd'. It
22793 - libs/libc/Makefile, libs/libnx/Makefile, and mm/Makefile: Remove
22794 obj-path MKDEPS option since make dependency target (MT) is not
22796 - include/nuttx/compiler.h: Assume inline support if
22801 - tools/convert-comments.c: Fix an error in handling of a blank C++
22803 - tools/lowhex.c: Fix an initialization problem that was causing
22805 - tools/nxstyle.c: Fix logic that detects if an operator is
22809 - tools/nxstyle.c: Was confusing hex constants with strings staring
22812 - tools/nxstyle.c: Fix logic error that prevent detecion of '/' and
22818 - NSH Console: Fix copy paste errors. Some Kconfig configuration
22820 - nshlib/nsh_timcmds.c: Uninitialized struct tm caused 'date -s' to
22825 - apps/examples/nxterm: Replace direct calls to nxtk_register()
22829 - apps/examples/nxterm: Most configuration options were not
22831 - apps/examples/nxterm: Replace illegal direct calls to
22834 - apps/examples/nxterm: NxWM passed the size of the NxTK sub-window
22840 - apps/graphics/NxWidgets/nxwm: Correct an error in the type of the
22842 - apps/graphics/NxWidgets/nxwm: Replace direct calls to
22847 - apps/graphics/NxWidgets: Replace illegal direct calls to
22853 - apps/modbus/Kconfig: Fix modbus master Kconfig. Modbus Master
22858 - apps/netutils/dhcpc/dhcpc.c: Fix an error for DHCP REQUEST
22864 - apps/system/vi/vi.c: Fix an infinite loop bug that can show up in
22866 - apps/system/vi: Condition KEY_CMDMODE_REPEAT with
22869 - apps/system/nxplayer/nxplayer.c: Fix build error when only enable
22871 - apps/system/system/system.c: Correct a path name. From anchao.
22872 - apps/system/taskset: Fix command arguments are not passed. From
22877 - apps/testing/ostest/timedmutex.c: pthread_mutex_timedlock()
22882 - apps/tools/mksymtab.sh: 'export LC_ALL=C' to get the traditional
22885 NuttX-7.30 Release Notes
22886 ------------------------
22890 that release consists of two tarballs: nuttx-7.30.tar.gz and
22891 apps-7.30.tar.gz. These are available from:
22896 Both may be needed (see the top-level nuttx/README.txt file for build
22903 - pthreads: Added non-standard pthread_get_stackaddr_np() and
22905 - boardctl(): Add a command to start the VNC server. From Gregory
22907 - Signals: Remove references to CONFIG_DISABLE_SIGNALS in many
22908 files. Signals can no longer be disabled. From Gregory Nutt.
22912 - NRF24L01: Add support for "multicast" TX mode - no waiting for ACK
22917 - NX Graphics: Add new server->client callback to notify the window
22920 - NX Graphics: Implement new interfaces nx_synch() and nxtk_synch().
22926 - NX Graphics: Add support for modal windows. From Gregory Nutt.
22927 - NX Graphics: Implement a software cursor. The cursor behaves
22932 - NX Graphics: Added support for hiding windows. This features is
22941 - NX Graphics: Windows can now be created in the hidden state.
22946 - NX Graphics: Add new NX interfaces to query if a window is hidden
22948 - NxTerm IOCTLs: Replace specific interfaces between boardctl and
22950 - NxTerm: Add a new IOCTL that can be used to inform NxTerm that
22955 - CAN Upper Half: Support multiple readers of the same port From
22957 - MAX7456: Adds a read-only (for now) /dev/osd0/CM interface for
22963 - Serial Upper Half: The upper half serial driver configuration
22968 - FUSB303: Add FUSB303 driver From Juha Niskanen.
22972 - PIC32MZ GPIO: Adds support for edge detect mode. Slew Rate was
22977 - SAME70-xplained: Add a configuration for test Twm4Nx using VNC.
22982 - LPC17xx Ethernet: Added support for KSZ8081RNA PHY to LPC17xx
22984 - LPC17xx Ethernet: Added support for Ethernet PHY ioctl() on
22989 - .i.MXRT1020: Gets imx1020 family support started. It is pretty
22993 Moved each of the imxrt family-specific files into its own
23001 - LPC54xx USB FS Host: Bring in the USB FS OHCI driver from LPC17.
23009 - LPCXpresso-LPC54628: Add a Twm4Nx configuration. From Gregory Nutt.
23013 - CXD56xx: Add initial CXD56xx chip driver sources. From Nobuto
23018 - Spresense: Add Spresense board support. This is not the full
23024 - STM32F7 Clocking: Add support for using the HSE in bypass mode,
23026 - STM32F7 Clocking: Added support for TICKLESS mode. From Valmantas
23028 - STM32H7 Backup Domain: Add backup domain control registers. From
23030 - STM32H7 Clocking: Set the STM32H7 default HSI pre-divider to 4.
23033 - STM32H7 Memorymap.: Add the STM32H7 SYSTEM_UID and DEBUGMCU_BASE
23035 - STM32L071x: Add support for STM32L071x. From Mateusz Szafoni.
23039 - STM32 OTGHS Host: Allow VBUS monitoring for the OTG_HS host
23041 - STM32F0/L0 ADC: Initial ADC support for the STM32 M0 From Mateusz
23043 - STM32F0/LO I2C: Port STM32F7 I2C to STM32F0/L0, From Mateusz Szafoni.
23044 - STM32F1 FLASH: As noted by Matias N, the FLASH base address used
23047 - STM32F3 I2C: Port STM32F7 I2C to STM32F3. From Mateusz Szafoni.
23048 - STM32F7 Ethernet.c: Auto-generate Ethernet MAC address from
23050 - STM32F7 FLASH: Add flash block mapping support for progmem. From
23052 - STM32F7 FMC: Updated stm32_fmc.h with more FMC definitions. From
23054 - STM32F7 GPIO: Adds additional pin alternate function for SPI2.
23056 - STM32F7 PWM: Ported the PWM from F4 to F7. From Eduard Niesner.
23057 - STM32F7 SDMMC: Support bypassing the input clock divider on the
23060 - STM32F7 SPI: Add SPI DMA threshold configuration. From Valmantas
23062 - STM32F7 UID: Add UID access. From Valmantas Paliksa.
23063 - STM32F7 USB: USB High speed for STM32F7 series From Ramtin Amin.
23064 - STM32H7 Ethernet: Add stm32h7 Ethernet driver. This is the
23069 - STM32H7 GPIO: Add the GPIO_ETH_RMII_RXD1 pinmap definition for
23071 - STM32H7 SDMMC: Add STM32H7 SDMMC driver. It is mostly copied
23075 - STM32H7 Timers: Add timer devices driver for STM32H7. This i
23078 - STM32L0 AES: Add support for AES for L0. From Mateusz Szafoni.
23079 - STM32L0 RND: Add support for RND. From Mateusz Szafoni.
23080 - STM32L0 HSI48: Add support for HS148 for L0. Move HSI48 enable
23082 - STM32L4 USB FS Device: Add USB FS device support. From Juha
23084 - STM32L4 HSI48: Port HSI48 from STM32F0/L0 From Juha Niskanen.
23085 - STM32L4 CRS: Port CRS from STM32F0/L0 From Juha Niskanen.
23089 - B-L072Z-LRWAN1: Add ADC example. From Mateusz Szafoni.
23090 - B-L072Z-LRWAN1: Add nxlines_oled example (ssd1306). Add support
23092 - Nucleo-144: Added STM32_RCC_DCKCFGR2_DSISRC definition to board.h.
23094 - Nucleo-144: Mount sysfs for ifconfig for f767-netnsh/defconfig.
23097 - Nucleo-144: Add basic PWM support to nucleo-144 board. More PWMs
23099 Tested on Nucleo-F767ZI. From Phil Coval.
23100 - Nucleo-F303ZE: Add nxlines_oled example (ssd1306) From Mateusz
23102 - Nucleo-H743ZI: Enable the FPU. From Jason Harris.
23103 - Nucleo-H743ZI: Add support for I2C devices: ssd1306, pca9635,
23105 - Nucleo-H743ZI: Add default clock configuration for SDMMC for
23106 Nucleo-H743ZI's board.h. From Jukka Laitinen.
23107 - Nucleo-H743ZI: Add the input clock frequency definitions in
23110 - STM32F4 Discovery: Keep c++ global constructor symbols From
23112 - Nucleo-L073RZ: Add MFRC522 support From Mateusz Szafoni.
23113 - OmnibusF4: Add boardctl() reset logic. From Bill Gatliff.
23114 - OmnibusF4: Add board_ioctl() which is needed only if
23117 - STM32L Discovery: Add support for board_late_initialize(), Move
23120 - STM32F103-Minimum: Add PROCFS automount support From Alan
23125 - include/alloca.h: Add alloca.h. Included limited implementation
23128 - include/cxx/cstdlib: Add std::random() From Gregory Nutt.
23132 - Many locations: Remove references to CONFIG_DISABLE_SIGNALS.
23133 Signals can no longer be disabled. From Gregory Nutt.
23137 - apps/examples/fb: Add some awareness of overlays to
23139 - apps/examples/lvgldemo. Update to Littlevgl 5.3. From Matthew
23141 - apps/examples/pwfb: Extend example to verify software cursors.
23143 - apps/examples/pwfb: Add options to reduce the number of windows.
23149 - apps/netutils/cjson: Support for the current version of cJSON.
23151 - apps/netutils/libcurl4nx: This is an initial commit libcurl4nx.
23156 - apps/netutils/netinit. This commit removes the private network
23160 - apps/netutils/netlib: Add a more flexible version of
23167 - apps/system/spi: I needed a small test tool for spi in the style of
23173 - apps/graphics/twm4nx. This release introduces Twm4Nx. Twm4Nx is a
23176 word. It is are-design of TWM from the inside out to work with the
23182 icon management, user-defined macro functions, click-to-type and
23183 pointer-driven keyboard focus, graphic contexts, and user-specified
23196 apps/graphics/twm4mx/README.txt. To summarize: The port is fully
23198 missing critical feature is built-in touchscreen calibration.
23200 - apps/graphics/littlevgl. Update to Littlevgl 5.3. From Matthew
23202 - apps/graphics/nxglyphs: Put all NxWidgets and NxWM glyphs into a
23206 - apps/graphics/nxglyphs: Add some new cursor bitmap images. From
23208 - apps/graphics/nxglyphs: Add mkcursor.c. Will auto-generate
23210 - apps/graphics/nxglyphs: Add 16x16 cursor images. 30x30 are kind
23212 - apps/graphics/nxglyphs: Add a new resize cursor image. From
23214 - apps/graphics/nxwm: Separate NxWidgets and NxWM into separate
23217 - apps/graphics/nxwm: Move the NxWM unit test main() to apps/nxwm.
23220 - apps/graphics/nxwidgets: Update NX window clients so that they
23223 - apps/graphics/nxwidgets: Add a synchronize method to every window.
23226 - apps/graphics/nxwidgets: Add support for modal windows. From
23228 - apps/graphics/nxwidgets: Add cursor control methods to the
23230 - apps/graphics/nxwidgets: Add a method to CButtonArray that will
23233 - apps/graphics/nxwidgets: Fix a possible deadlock condition when
23235 re-requesting geometry data if we don't already have it. From
23237 - apps/graphics/nxwidgets: Add handshake to
23240 - apps/graphics/nxwidgets: CNxTkWindow, CNxWindow, CNxServer: Add
23242 - apps/graphics/nxwidgets: Add methods to all windows to query if a
23251 - Clock Initialization: A recent change broke Tickless mode for all
23258 - pthread Stack Attribute: Fixed pthread_attr_get/setstacksize
23260 - Signals: The abnormal termination signal handler was just calling
23261 exit() conditionally when, for example, Ctrl-C is sent to a task.
23263 points: If cancelation is disabled, then the abnormal termination
23264 logic must wait for cancelation to be re-enabled; If cancellation
23268 - Syscall: Added support for munmap() syscall. From Joao Matos.
23269 - Syscall: Fix a warning due to inconsistencies in return type in
23271 - Syscall: Correct an error syscall.csv. Error occurred when
23277 - fs/littlefs/lfs.c: Fix lfs_format bug. In superblock disk root-
23282 - getsockname(): Fix addrlen check in socket debug features.
23286 with CONFIG_DEBUG_FEATURES and with -Werror flag set. From Jukka
23288 - Network Locking: net_lock() and net_restorelock() now return a
23291 -ECANCELED. That cancellation indication needs to ripple all the
23296 - PHY Notification Driver: Change sprintf to strncpy in phy_notify.
23299 - 6LoWPAN HC06: Correct an endian-ness problem in HC06 decompression.
23304 - NRF24L01: Don't block in read if file descriptor is O_NONBLOCK.
23309 - NX Graphics: Fix an error in coordinate system usage. Expected
23311 rectangle in window-relative coordinate frame. From Gregory Nutt.
23312 - NX Graphics: Fix an oversight in the implementation of per-window
23317 - NxTK: Fix an error in handling mouse events for framed windows.
23319 The is only for NX windows, but the outside-the-side positions were
23321 - NxTK: Refuse to open a toolbar of height zero or less. From
23323 - Nxglib: Correct bogus logic in nxgl_interesting(). From Gregory
23325 - VNC Server: Fix an error in color conversion. From Gregory Nutt.
23329 - APDS9960: Initial state of allocated structure was not being set.
23331 - MFRC522: In mfrc522_read uid.sak must be different from 0x04 not
23334 - Power: Fix build for battery gauge From Tom Kopriva.
23335 - Syslog: In syslog buffered mode, avoid IOB alloc lock-up with
23343 - USB CDC/ACM Device: This fixes a problem where the host sent a
23352 - USB HID: The usbhid_descriptor_s struct defined in hid.h included
23353 some optional fields that should not be hard-defined as part of
23358 - USB MSC Device: Correct typo "const const" to "const".
23362 - Zerocross Driver: Fix some errors when debug assertions are
23364 - User Leds: Fix ledset validity check in ULEDIOC_SETALL ioctl.
23369 - All board interfaces (those starting with board_) must be defined
23370 in board-specific logic. Otherwise, they cannot be customized for
23372 interface was defined in architecture-specific logic that only
23374 the board_reset() implementation from the architecture-specific
23375 code and re-implements it in the src/ directory of each board that
23378 - Start-up: Remove dependency on CONFIG_ARCH_FPU for inclusion of
23380 - Architecture initialization: up_initialize() needs to know about
23385 - PIC32MZ GPIO: Corrects the gpioirq when mismatch mode is
23388 * ARMv7-A:
23390 - ARMv7-A Build: Fix 'cc1: warning: switch -mcpu=cortex-a7 conflicts
23391 with -march=armv7-a switch' From Xiang Xiao.
23395 - NRF52: Fix compiler error in nrf52832_errdata.c when following
23400 - STM32 Configuration: It seems one option in the timer configuration
23402 - STM32 start-up: Inclusion of nvic.h should not be conditioned on
23404 - STM32H7 Clocking: Fixes for STM32H7 RCC definitions. From Jukka
23409 - STM32F0/L USART: A few fixes for USART. From Mateusz Szafoni.
23410 - STM32F1/F30 FLASH: RCC register access should not be offset by
23412 - STM32F7 CAN: CAN fixes. From Valmantas Paliksa.
23413 - STM32F7 I2C: I2C Interrupt storm fix. I2C track bad state. Now
23416 - STM32F7 OTG: Fixes some macros related to OTGFS/OTGHS preventing
23418 - STM32F7 OTG Device: Correct hard-coded FIFO size that is wrong
23420 - STM32F7 QSPI: Fix QuadSPI interrupts. This commit essentially
23424 offsets From Pierre-Olivier Vauboin.
23425 - STM32H7 I2C: Fix I2C4 compilation for STM32H7. From Jukka
23427 - STM32H7 UART: Fix compilation for UART7, UART8 and I2C4s. From
23429 - STM32L4 USB Device: Add missing PWR USBV enable, correct two USB
23434 - STM32F103-Minimum: USB reset was not working appropriately since
23437 - Nucleo-l476RG: Fix some errors in GPIO logic when debug assertions
23439 - Nucleo-L476RG: Add missing files of BMP180 example for Nucleo-L476RG.
23441 - STM32F103-Minimum GPIO: Fix some errors when debug assertions are
23443 - STM32L4 PWM: Fix register addr, en_bit and resetbit for pwm timers.
23445 - STM32F746G-DISCO: I2C1 config on stm32f746g-disco. Typo in
23450 - include/limits.h: Remove the duplicate TMP_MAX definitions. The
23453 - include/sys/select.h: Fix compiler error when
23455 - include/signal.h: Add commented out definition of the si_addr
23457 - include/unistd.h: Fixed R_OK/X_OK definitions to match POSIX.
23460 - libs/libc/locale: Improved error handling in setlocale(). From Joao
23462 - libs/libc: Fixed return code in uname(). From Joao Matos.
23463 - libs/libc/stdio: Restore support for printing NULL string as
23471 - apps/examples/pca9635/pca9635_main.c: fix compilation error. From
23476 - Various graphics apps (and apps/examples): If CONFIG_VNCSERVER=y,
23480 - apps/graphics/nxwidgets: CWidgetControl::handleLeftClick now
23484 - apps/graphics/nxwidgets/: NXWidgets::CNxWidgets: Fix some issues
23492 - apps/system/nxplayer: Fix some logical errors from recent commits.
23495 NuttX-7.31 Release Notes
23496 ------------------------
23500 that release consists of two tarballs: nuttx-7.31.tar.gz and
23501 apps-7.31.tar.gz. These are available from:
23506 Both may be needed (see the top-level nuttx/README.txt file for build
23513 - poll(): Removed all references to CONFIG_DISABLE_POLL. The
23514 standard POSIX poll() can no longer be disabled. From Gregory Nutt.
23515 - LWL console: Add support for OpenOCD 'Lightweight Link' protocol
23522 - Socket Options: Previous change removed some incorrect SO_LINGER
23529 - Telnet Driver: Handle ctrl events (SIGINT, SIGSTP). From
23531 - Telnet Driver: I/O thread now offloads reading from socket
23536 - GS2200M: Add support for Telit GS2200M Wi-Fi module From Masayuki
23538 - GS2200M: Introduce CONFIG_WL_GS2200M_SPI_FREQUENCY. Also, changed
23541 - GS2200M: Add channel parameter for AP mode in gs2200m.c From
23546 - Video Streaming: Add basic Video Stream and Capture implementation
23548 - video/: Create video/ directory to hold non-driver video-related
23550 - EDID: Add some initial EDID logic ported from FreeBSD. From
23552 - EDID: Add logic to sort video modes by how close they are to the
23555 - EDID/Video Modes: Separate EDID and from videomode management.
23557 - EDID/Video Modes: Add debug functions to dump the EDID and
23559 - VESA GTF: Bring VESA Generalized Timing Formula (GTF) from FreeBSD.
23561 - Video Modes: At some additional lookups from FreeBSD. Not
23563 - tda19988: Now uses the new common videomode structure of
23566 - ILI9340: Add ILI9340 LCD Single Chip Driver. Required LCD driver
23570 - LPM013M091A: Add JDI LPM013M091A LCD Driver. From Alin Jerpelea.
23571 - ISX012: Add support for ISX012 Image sensor. From Alin Jerpelea.
23575 - SPI Interface: Added standard definitions for ADC SPI device ID.
23577 - AK09911/AK09912: Add Asahi AK09911/AK09912 compass sensor over I2C
23579 - AS726X: Add support for AS726X spectral sensor From Fabian Justi.
23580 - BMI160: Add driver support for the Bosch BMI160 Inertial Measurement
23583 - BMP280: Add Bosch BMP280 Barometic pressure sensor connected over
23585 - INA3221: Adds INA3221_I2C_ADDRx macro helpers. From Anthony
23587 - VL53L1x: Added support for VL53L1x TOF sensor. From Juan Flores.
23591 - PIC32MZ DMA: Add DMA support. From Abdelatif Guettouche.
23595 - i.MXRT EHCI: Add i.MXRT EHCI driver. From Dave Marples.
23596 - i.MXRT USDHC: Implements SDIO and Multi-card support for i.MXRT.
23598 - i.MXRT USDHC: Implements USDHC1 & 2 selection on the imxrt. If
23602 - i.MXRT Serial: Add TIOCSINVERT ioctls. From Beat K�ng.
23603 - i.MXRT Serial: Implemented RS485 RX/TX switching and RTS/CTS flow
23610 - Kinetis Serial: Add UART signal inversion support From Beat K�ng.
23614 - LPC11xx: Support for the LPCXpresso-LPC1115 and for the LPC1115
23615 architecture in general was removed after NuttX-7.30. The LPC11
23624 - PNEV5180B: Add support for NXP Semiconductors' PN5180 NFC Frontend
23628 - PNEV5180B: Add usbnsh configuration. This is basically the same as
23631 - PNEV5180B: Adds NSH configuration with UART0 and eth0 via CDC/ECM
23633 - PNEV5180B: Add new configuration includes a USB Composite Device
23637 - PNEV5180B ROMFS: Auto-mount baked-in ROMFS image. Includes support
23639 mounting it during board bring-up. From Michael Jung.
23640 - PNEV5180B PROTECTED: Add PROTECTED mode configuration with
23645 - LPC40xx: Add support for LPC40xx family chips. Renamed LPC17XX to
23654 - LPC4088-Devkit: Added board configuration for Embedded Artists
23656 - LPC4088-Quickstart: Added board configurations for Embedded Artists
23661 - LPCXpresso-LPC54628: Enable DATE command in twm4nx1 and twm4nx2
23666 - CXD56xx: Adds (1) the HW pin configuration, (2) GPIO support for
23668 management integrated circuit) support (6) add a simple FIFO
23671 - CXD56xx: Add Package Configuration. The CXD56xx can come in FCBGA
23675 - CXD56xx: Add Power Management support From Alin Jerpelea.
23676 - CXD56xx: (1) Add syscontrol, (2) Add the function to change the
23682 - CXD56xx USB: Add basic support for USB connectivity. From Alin
23684 - CXD56xx SDHC: Add SDHCI driver for the CXD56xx. From Alin
23686 - CXD56xx SPI: Add SPI support. From Alin Jerpelea.
23687 - CXD56xx DMA: Add DMA support. From Alin Jerpelea.
23688 - CXD56xx RTC: Add RTC support. From Alin Jerpelea.
23689 - CXD56xx PWM: Add support for PWM. From Alin Jerpelea.
23690 - CXD56xx Power Management: Add Power Management PROCFS support. From
23692 - CXD56xx Timer: Add Timer driver. From Alin Jerpelea.
23693 - CXD56xx Watchdog Timer: Add watchdog timer support. From Alin
23695 - CXD56xx UID: Add support to be able to read the HW UID. From Alin
23697 - CXD56xx I2C: Add I2C support. From Alin Jerpelea.
23698 - CXD56xx I2C: Add I2C character driver support. For testing
23701 Add SPI-based SP card support. From Alin Jerpelea.
23702 - CXD56xx SCU: Add Sensor Control Unit (SCU); Use DMAC for reading
23704 - CXD56xx ADC: Add ADC interface support. From Alin Jerpelea.
23705 - CXD56xx eMMC: Add eMMC support for CXD56xx chip From Alin Jerpelea.
23706 - CXD56xx Camera: Add driver for hardware image processor device to
23709 - CXD56xx CISIF: Add CISIF support to be able to use cameras. From
23711 - CXD56xx GNSS: Add GNSS device, add Geofence Support, add UART0
23717 - Default Configurations: (1) We are using the framework to
23724 - Default Configurations: Add support for RNDIS configuration. From
23726 - RTC: Enable RTC functionality on SPresence board From Alin
23728 - SPI FLASH: Enable SPI Flash arch/arm/src/cdx56xx: (1) Group all
23732 - Add SPI configuration for SPresence board. Enable PWM support on
23733 SPresence board; The powermanager procfs is disabled by default and
23737 - Add USERLED for SPresence board. From Alin Jerpelea.
23738 - Enable I2CDEV for SPresence board. Add useful diagnostic LEDs on
23740 - Add support for Tilt GS2200M Wi-Fi module. From Masayuki Ishikawa.
23741 - Remove SPI MMC/SD support and enable ADC support for SPresence
23743 - Enable BMI160_I2C sensor over I2C on SPresence board. From Alin
23745 - Add I2CTOOL support and extend GPIO for future use. Add delay
23749 - Add use o the CXD56_I2C_DRIVER to register the /dev/i2c character
23752 - Enable UID functionality. To enable the UID functionality for
23755 - Add USBDEV_SETNOTIFYSIG signal ID. Set signal ID for notify USB
23758 - Register the procfs in the NSH configuration. This is a
23762 - Add support for MSC and USB Composite device. Adds usbmsc
23766 - LCD: Add support for LPM013M091A LCD, add support for ILI9340
23769 - WiFi: Improve performance for webserver: (1) Enable SPI DMA for
23773 - MPY: Add MPY defconfig. From Alin Jerpelea.
23774 - Update defconfigs rndis and wifi: Enable RTC and webserver with
23777 - Build nuttx.spk images. Enable nuttx.spk binary image that can be
23779 - configs/SPresence: Add entry point for MPY. The entry point is
23782 - Enable internal flash storage for SPresence boards. The SmartFS
23784 - For compatibility with SDK we need to change the USER_ENTRYPOINT
23789 - STM32 Kconfig: Add MEDIUM_DENSITY selection. From Dave Marples.
23790 - STM32 Kconfig: Add the missing STM32 LCD Clock Source Selections.
23792 - STM32G0: Initial support for STM32G0 family. From Mateusz Szafoni.
23793 - STM32F0L0G0: Renamed directories STM32F0L0 to STM32F0L0G0 since
23796 - STM32H7x3: Added ADC pins to pin map. From David Sidrane.
23800 - STM32 PWM: Add support for all PWM modes. Add an interface to
23806 - STM32 FSM/FSCM: Split the STM32 FMC/FSMC functionality. Makes FMC
23811 - STM32F7 DTCM: Add procfs register From Daniel Agar.
23812 - STM32F7 GPIO: Add GPIO driver. Code is inspired from STM32F3-
23813 Discovery and Nucleo-L476RG platforms. Tested on Nucleo-F767ZI.
23815 - STM32F7 Serial: This adds the ability to invert and swap RX/TX on
23819 - STM32L4 CRS: Make STM32L4 CRS synchronization source board
23821 - STM32L4 HSI48: Enable CRS_CR_CEN with CRS_CR_AUTOTRIMEN. From
23823 - STM32L4 I2C: Add support for 16 and 120 MHz timings. Board can use
23825 - STM32L4 PWR: Enable PWR peripheral for setting USV. From Jussi
23827 - STM32L4 RCC: Use Range 1 Boost mode if SYSCLK is higher than 80
23829 - STM32L4 Serial: Add TIOCSINVERT and TIOCSSWAP ioctls. From Beat
23831 - STM32H7 ADC: Added ADC Driver, ADC clocking. From David Sidrane.
23832 - STM32H7 Ethernet: Fix typo in define. From Pierre-Olivier Vauboin.
23833 - STM32H7 PWM: Port PWM from STM32 From Mateusz Szafoni.
23834 - STM32H7 QEncoder: Ported the QEncoder from F7 to H7. From Eduard
23836 - STM32H7 Serial: Add TIOCSINVERT and TIOCSSWAP ioctls. Ensure
23837 TIOCSSINGLEWIRE is atomic and UE disabled. From Beat K�ng.
23841 - Olimex-STM32-E407: Added BMP180 initialization and a configuration
23843 - Olimex-STM32-E407: Add DAC support, add IN219 support, add timer
23845 - Olimex-STM32-E407: Add support for MRF24J40 radio. From Gregory
23847 - Axoloti: Adds initial support for the Axoloti sound/music
23850 - Nucleo-G071RB: Initial support for nucleo-g071rb. From Mateusz
23852 - Nucleo-L432KC: Add new configuration settings for CRS
23854 - Nucleo-L432KC: Add support for testing the ina219 current sensor.
23856 - Nucleo-L452RE: Add new configuration settings for CRS
23858 - Nucleo-144: Add ROMFS support. Image was generated using genromfs
23859 tool. Tested on Nucleo-F767ZI. From Phil Coval.
23860 - Nucleo-144: Add reset feature. Code is derives from STM32F4-
23863 - Nucleo-L476RG: (1) Add I2C tool to board init, (2) Add support for
23865 - Nucleo-L496ZG: Add new configuration settings for CRS
23867 - STM32L476VG-Disco: Add new configuration settings for CRS
23869 - STM32L4R9AI-Disco: Add ksh config, some updates for I2C, SPI and
23871 - Nucleo-H743ZI: Add ADC support. From David Sidrane.
23872 - STM32F769I-Disco PWM: Enable PWM support for stm32f769i-disco
23874 - STM32L-Discovery: Add button support for stm32Ldiscovery. Add
23875 chronometer board config. From Alan Carvalho de Assis.
23879 - AM335x Clock Module: Add clock module registers definition. Switch
23884 - AM335x CAN, LCD: Add register description files for DCAN and LCD.
23886 - AM355x I2C: Add register description files for I2C (plus various
23888 - AM355x MCSPI: Add register description files for MCSPI. From Petro
23890 - AM355x LCDC: This change brings in an initial LCD driver into the
23892 - AM335x Framebuffers: Add logic to map the framebuffer to a non-cached,
23893 non-buffered memory region. From Gregory Nutt.
23894 - AM335x LCDC: Add logic to get/set the module reference clock. From
23899 - Beaglebone-Black LCD: Add a configuration for bringing up the LCDC
23901 - Beaglebone-Black LCD: Framework (only) for TDA19988 and LCD support
23908 - z16f ZNeo: Add support for the latest 5.2.1 version of the ZDS-II
23913 - Integrate support for the newest eZ80 ZDSII 5.3.0 toolchain. From
23918 - eZ80 RTC: Integrate and verify the RTC driver From Gregory Nutt.
23919 - eZ80 RTC: Add an RTC lower half driver. From Gregory Nutt.
23923 - MakerLisp: Add initial support for the MakerLisp eZ80 board. Ref:
23925 - MakerLisp: Add hooks needed by SPI driver. Move SPI MMC/SD chip
23929 - MakerLisp: Add Smart Flash Programmer project. From Gregory Nutt.
23930 - MakerLisp: Enable Procfs, RTC, SPI-based SD support, task name, NSH
23932 - MakerLisp: Use .ztgt files from MakerLisp SDK. From Gregory Nutt.
23933 - MakerLisp: Add a tiny FLASH-resident loader that will load and
23936 - MakerLisp: Bring in a new configuration to support execution
23938 - MakerLisp: Add an sdboot configuration that will load .hex files
23940 - MakerLisp: Add a linker script to support copying the NuttX image
23942 - MakerLisp: The VGA display controller and keyboard controller come
23944 newlines expance to carriage-return, newline. This change turns that
23949 - include/cxx/cstddef: Add C11++ std::nullptr_t From junmin-kim.
23950 - libc netdb: Implemented the netdb functions getnameinfo(),
23955 - Applied a style sheet to static HTML files. Put the TOC of each
23961 - Coding Standard: Add a brief section summarizing the major
23963 stop-gap measure in lieu of having a real C++ coding standard. From
23965 - Coding Standard: Update requirements for indenting C pre-processor
23967 - Coding Standard: Small change discouraging the practice of
23970 - COPYING. Tools in the tools/ directory are not intended for binary
23976 - tools/ocdconsole.py: OCD TCL interface changed after version 0.10
23979 - tools/nxstyle.c: Tool depends on the file under test containing
23982 - tools/nxstyle.c: Bandaid-up logic that detects left brackets on the
23985 - tools/nxstyle.c: No warning for declarations that begin in column 1
23989 - tools/: Add spk binary format. The .spk binary format is used on
23991 binary format set in your config CONFIG_CXD56_BINARY=y. From Alin
23993 - tools/: Add flash_writer for CXD56 boards. This flash writter is
23995 'tools/flash_writer.py -s -c /dev/ttyUSB0 -d -b 115200 -n nuttx.spk'.
24000 - Removed all references to CONFIG_DISABLE_POLL. The standard POSIX
24001 poll() can no longer be disabled. From Gregory Nutt.
24005 - apps/examples/abntcodi: Adds test/demo program for ABNT CODI
24007 - apps/examples/webserver: Update to compile with
24011 - apps/examples/chrono: Add chronometer apps example. From Alan
24016 - apps/netutils/webserver: Add mp3 mime type to httpd.c. From
24018 - apps/netutils/webserver: Add directory listing to httpd. From
24020 - apps/netutils/webserver: Add web server info based on uname().
24025 - apps/wireless/gs2200m: Add usrsock daemon for Tilt GS2200M Wi-Fi
24027 - apps/wireless/gs2200m: Add channel parameter for AP mode. From
24032 - apps/graphics/nxglyphs: Add more modern looking button images for
24034 - apps/graphics/slcd: Adds a CSLcd class that will generate graphic
24036 - apps/graphics/twm4nx: This change adds a calibration screen to
24041 - apps/graphics/twm4nx: Move application-related files into different
24044 - apps/graphics/twm4ndx: Compile out cursor support if we are using a
24046 - apps/graphics/twm4nx: Add an alternative COMPONTEMPORARY theme.
24048 - apps/graphics/twm4nx: Use custom CWidgetStyle to force Icon
24050 - apps/graphics/twm4nx: Add some definitions to support Themes.
24052 - apps/graphics/twm4nx: Add a configuration option to control the
24057 - apps/graphics/tmw4nx: Add a CClock class that implements the
24060 - apps/graphics/twm4nx/README.txt: Add an overview of how to create
24065 - apps/industry/abnt_codi: Adds support for ABNT CODI library. This
24075 - Semaphores: Fix a bad assertion in priority inheritance logic.
24080 - Memory Manager: Fix error that occurs when CONFIG_CPP_HAVE_VARARGS
24084 - System Calls: Adapt the conditional compile logic on when to
24087 - System Calls: Fixed SYS_mount syscall define when CONFIG_FS_READABLE
24089 - waitpid(): In waitpid, remember to grab the exited child ptr. After
24096 - MMC/SD: Fixes bug where thread gets deadlocked due to recursive call
24099 initialize it, we should not re-register for an insertion event as
24102 re-inserted. From Anthony Merlino.
24106 - UsrSock: Fix debug logs and remove DEBUGASSERT from
24112 - ICMPV6 Autoconfig: Use ntohs() to convert IPv6 address from
24114 - TCP Buffering: Fix TCP buffer send deadlock in iob_copyin() when
24117 - TCP Close: Fix TCP active close in inet_close.c. In previous
24122 server use-cases, SO_LINGER is not usually set and even in these
24127 - UDP: Fix C89 compatibility problem. Empty initializers are not
24129 - Telnet: Fix a C89 non-compliance that was breaking the eZ80 build.
24134 - NRF24L01: Fix NRF24L01_NCMDS in ioctl.h. The last one in
24136 - NRF24L01: Fix PIPENO/PKTLEN bitmask in RX FIFO header. In RX FIFO
24145 - Raising Windows: Fix a critical list handling bug in the graphics
24146 system. When a lower-level window was raised while a model window
24151 - Serial: Limit the number of times that the poll semaphore is
24153 - USB Host: Remove duplicate const in USB Host files. From Adam
24155 - USB Host Composite: Class-specific descriptors were not available
24158 This change will copy any class-specific interface descriptors for
24160 finding two interface descriptors back-to-back. From Adam Porter.
24161 - USB Host Composite: The cfgdesc pointer was initialized after the
24166 - USB MSC: Fix usbmsc_exportluns declaration. Fixes the following
24172 - Rename all arch/<family>/src/<chip>/chip directories to
24183 - Default Configurations: Update configurations for changes to
24189 - Default Configurations: Change CONFIG_NSH_MACADDR to
24191 - Default Configurations: Fix mac address settings for RNDIS.
24195 - Default Configurations: Kconfig files should not select
24199 - Linker Scripts: Make sure sections are aligned to 32-bits in all LD
24203 - Linker Scripts: Add . = ALIGN(4); before every .data section,
24209 - configs/Board.mk: Cannot call $(AR) directly. That works only with
24210 GCC. It must, instead use the ARCHIVE command from Config.mk as do
24215 - Fix a copy-paste error. On vfork, the GP register was being set to
24218 - An older commit used CP0 register definitions that were not defined
24226 - PIC32MZ GPIO: Use LAT instead of PORT when writing. From Ouss4.
24230 - SAMD2/L2: Correct TC register bit field definitions used with
24235 - LPC17xx PROTECTED: On the LPC1769 there are two 16 KiB AHB SRAM
24254 - LPCXpresso-LPC54628: Modify the TWM configurations to properly
24263 - i.MXRT Serial: Fix serial TIOCSINVERT From David Sidrane.
24264 - i.MXRT USDHC: USDHC Stopgap Fix for build breakage From David
24266 - i.MXRT USDHC: Fix compiler error for CONFIG_IMXRT_USDHC1 &&
24271 - LC823450-XGEVK: Remove CPU assignment for LPWORK. This change will
24272 reduce audio under-run when running dvfs auto mode. From Masayuki
24277 - EFM32 USB Host: Apply Adam Porter's STM32 fix to EFM32 which has
24282 - STM32F1 Pinmap: Fix names for complementary PWM outputs From
24284 - STM32L4: If SRAM3 is used as heap, do not power it off in stop 2
24289 - STM32 ADC: Fix a compilation error when verbose analog debugging is
24292 - STM32 PWM: Fix pulse count for the number of counts greater than 128.
24294 - STM32 USB OTG FS/HS Host: In stm32_ctrlout() in the HS and FS host
24299 - STM32L4 USB: Fix USB device PMA accesses. USB PMA accesses are
24300 done as 16-bit words on STM32L4 instead of 32-bit words on STM32L1.
24302 - STM32L4 OTG FS/HS: Fix constant using in comparison to determine
24304 - STM32F7 OTG FS/HS: Fix constant using in comparison to determine
24306 - STM32H7 PWM: Fix pulse count for the number of counts greater than 128.
24308 - STM32H7 Serial: Fix error when SINGLEWIRE or
24310 - STM32H7 SPI: Correct a typo in condition compilation. From
24312 - STM32H7 Timer: Fixed compile errors with TIM13, TIM14, TIM7. From
24314 - STM32H7 USB OTG FS/HS: Fix constant using in comparison to determine
24316 - STM32G0 Serial: Fix STM32G0 error when SINGLEWIRE or SERIALBRK_BSDCOMPAT
24321 - Nucleo-L432KC: Shorten some long lines, fix i2c pinout. From
24323 - STM32L476VG-Disco: Fix an error in defconfig files because a line
24326 - STM32L4R9AI-Disco: Fix an error in defconfig files because a line
24329 - OmnibusF4: Correct naming of a configuration variable for ROMFS.
24331 - Olimex-STM32-E407: Change initialization to match the way it is
24333 - Olimex-STM32-E407 SPI: Add SPI initialization logic. From Juan
24335 - STM32F4-Discovery ROMFS: Missing colon in declaration of local
24337 - STM32F4-Discovery ROMFS: Correct naming of a configuration variable
24339 - STM32F4-Discovery Build: Fix .ARM.exidx section overlap Source:
24340 …https://stackoverflow.com/questions/30778614/arm-none-eabi-ld-section-arm-exidx-overlaps-section-d…
24342 - STM32F4-Discovery PROTECTED: Fix a problem with undefined symbol
24344 into recursive archive group between --start-group and --end-group.
24347 - Nucleo-H743ZI SPI: Correct typos in function naming. From Jonathan
24352 - AM335x SYSCLK: Add a function to return a frequency of the system
24354 - AM355x CM: Fix a typo in a macro name. From Gregory Nutt.
24355 - AM355x LCD: Fix a few typos. Add things needed by the LCDC driver.
24360 - Tiva Ethernet: Add a workaround for tiva with qemu. With qemu,
24367 - TM4C1294-Launchpad: Fix syntax error in oocd.sh script. From
24372 - z80: up_addregion() must be prototyped in nuttx/mm/mm.h, not
24379 - z80sim: Remove unused function up_earlyserialinit() from serial
24384 - z16f ZNeo: Replicate build changes make for eZ80 and z8 for ZNeo.
24386 - ZNeo compile fixes: Fix misuse of FAR which makes a difference on
24387 this platform. Be consistent in use of WDOG_ID type. ZDS-II doesn't
24388 like auto-conversions of struct wdog_s * to WDOG_ID (which is type
24393 - eZ80: Fix eZ80 compile problems due to New ZDS-II toolchain and
24394 ongoing bit rot due to non-C89 code creeping into the core OS. From
24396 - eZ80: Fix some backward conditional logic in Make.defs. From
24398 - eZ80: Fix a logic error in vector initialization. From Gregory Nutt.
24402 - signal.h: Fix a C89 compliance problem that cause the eZ80 build to
24405 - wqueue.h: Allow definitions even if work queues are not enabled.
24408 - fixedmath.h: Regarding the single precision float to/from fixed
24415 - stdio: Fix long long usage in all of the newer printf-related
24418 - gm_time_r(): Spurious reorganization of a loop in gm_time_r() to
24419 work around and ZDD-II internal compiler error. Might be a little
24422 - Debug: For platforms whose CPP tool does not support a variable
24423 number arguments to pre-processor macros, we may still need to build
24430 - tools/nxstyle.c: Fix error in conditional logic that was preventing
24434 - tools/mkexport.sh: The mcu sub-directory chip/ was renamed to
24441 - apps/nshlib: Fix all places where cle() and readline() are used.
24445 - nshlib/nsh_parse.c: Fix a warning about an uninitialized variable
24446 from the ZDS-II compiler. From Gregory Nutt.
24447 - apps/nshlib/nsh_ddcmd.c: Seemingly nonsense change but somehow
24448 works around a compilation error using the ZDS-II toolchain. It
24454 - apps/netutils/netinit: MAC address configuration was represented
24458 - apps/netutils/telnetd/telnetd_daemon.c: Fix a C89 violation that
24460 - apps/netutils/json: Removed. Replaced with apps/netutils/cjson.
24465 - apps/graphics/twm4nx: Fix an uninitialized variable that was
24466 causing toolbar buttons to randomly come up enabled or disabled.
24468 - apps/graphics/twm4nx: Fix a calibration screen startup issue.
24470 - apps/graphics/twm4nx: Revise logic to detect clicks on the
24473 - apps/graphics/twm4nx: Remove some remaining stuff from TWM that
24477 - apps/graphics/twm4ndx: Add a 'critical' bit to the eventID. While
24480 - apps/graphics/twm4nx: CBackground now brings up the main menu if
24484 - apps/graphics/twm4nx: Fix a bug in placement of icons on the
24487 - apps/graphics/twm4nx: Fix some errors found when enabling NX
24489 keyboard drivers need to be opened non-blocking. From Gregory Nutt.
24491 NuttX-8.1 Release Notes
24492 ------------------------
24496 that release consists of two tarballs: nuttx-8.1.tar.gz and
24497 apps-8.1.tar.gz. These are available from:
24502 Both may be needed (see the top-level nuttx/README.txt file for build
24506 change to the OS that makes it more-or-less incompatible with preceding
24509 in nuttx-7.31. That directory has been renamed boards/ and now has a
24513 board/ - Holds all board-related information
24514 board/<arch> - Holds board-related information for all boards that use
24515 the same CPU architecture. For example, all ARM-based boards will be
24517 board/<arch>/<chip> - Holds board-related information for all boards
24518 that use the same MCU chip family. For example, all STM32-based
24520 board/<arch>/<chip>/<board> - Holds board-related information for a
24522 nuttx-7.31. So, for example, the STM32F4-Discovery board support that
24525 boards/<arch>/<chip>/<board>/<configs> - All configurations for a
24527 subdirectory. So, continuing the example, the STM32F4-Discovery NSH
24536 This re-organization is the work of Alin Jerpelea. Not only did Alin do
24537 this major directory re-organization, but he ran the code standard
24545 A more constrained re-organization of the drivers/ directory was also
24548 for a new set of RF-related drivers.
24551 ---------------------------------------------------
24555 - POSIX Message Queues: Add a test to verify that message queue is
24562 - Signal Notifications: Add configuration option to select either the
24563 high-priority or low-priority work queue for SIG_EVTHREA
24565 - System Calls: In order to support built-in in function in protected
24578 - /etc/passwd and /etc/group: Improve the format of the /etc/passwd
24583 - User/Group IDs: Implement 'real' setuid, getuid, setgid, and getgid
24587 - Debug Output: Add debug macros for contactless. The various
24594 - IOB instrumentation. Introduces producer/consumer id to every IOB
24598 - IOB ProcFS: Adding ProcFS support at /proc/iobinfo to show the data
24600 - Versioning: Report GIT information via ProcFS. GIT info reported:
24606 - BinFS: The BinFS file system uses the same built-in library and
24607 built-in arrays as does NSH. The built-in arrays are simple name-
24608 value pairs that map built-in function names with the user-space
24609 entry point. In the FLAT build, the built-in arrays are available
24612 reference to the user-space built-in array. This commit adds those
24614 used by applications to the provide the built-in list reference to
24616 - MMC/SD: Added support for MMC (eMMC) bigger than 2 GB (Tested with
24618 - AT24CSxx: Register a character driver for UUID of AT24CSxx chips.
24621 - Macronix FLASH: Add support for 4-byte addressing on >128Mb
24623 - MX25Rxx: Add support for 512B sectors. From Simon Piriou.
24624 - SST26: Accept the 16MBit Flash when reading the JEDEC-ID at
24629 - IPv4 Options: Now handles reception of IPv4 packets with larger
24630 IPv4 headers containing options. From Gregory Nutt.
24631 - Sockets: Re-order the content of all address-family socket
24635 - TCP: Make RTO and WAIT_TIME configurable. This fix is not really
24637 TCP connection: http://sgros.blogspot.com/2012/02/calculating-tcp-rto.html.
24639 - IP Forwarding: Check if interface is up early on when forwarding to
24647 - RNDIS: Expose option to change the number of write requests that
24649 - GS2200M: Add UDP support. From Masayuki Ishakawa
24650 - GS2200M: Implement GS2200M_IOC_IFREQ IOCTL command. From Masayuki
24652 - GS2200M: Enable NuttX's DHCP client instead of GS2200M's DHCP
24654 - GS2200M: GS2200M now supports SIOCGIFHWADDR From Masayuki
24659 - IEEE802.15.4 Network Driver: Allow 64-bit prefix to be configurable
24660 when auto-configuring the IPv6 address during bring-up. Previously,
24661 only the link-local prefix fe80::/64 was used. Also, put the
24664 - IEEE 802.15.4 MAC: Adds support for energy detect. Adds support
24668 - IEEE 802.15.4 MAC: Adds support for getting/setting
24671 - IEEE 802.15.4 MAC: Move the global iobuffer into the macnet struct
24674 - IEEE 802.15.4 MAC: Defer handling of extracting association
24676 - IEEE 802.15.4 Radios: Support dynamic FCS length. Adds
24681 received frame by increasing the iob->io_len by the FCS length.
24683 - Xbee: Support "WR" AT command for writing parameters to non-
24685 - Xbee: Add configuration option for setting the default prefix
24691 - RTC: If the RTC time is successfully set, then update the current
24693 - ADT7320: Add support for the ADT7320 temperature sensor. From
24695 - DAC7554: Add support to the DAC7554 digital-to-analog converter.
24697 - DAT-31R5-SP+: Add support to the DAT-31R5-SP+ digital attenuator.
24700 DAT-31R5-SP+ digital attenuator. From Augusto Fraga Giachero.
24701 - ISL29023: Add basic driver of ISL29023 ambient light sensor. The
24705 - SHT3x: Add Sensirion SHT3x driver. From Markus Bernet.
24709 - Simulator Build: Even though the simulation has no "chips", it
24710 needs to have CONFIG_ARCH_CHIP and chip sub-directories. Otherwise,
24716 - PIC32MZ. Make the PLL input clock configurable. From Ouss4.
24718 * ARMv7-M
24720 - Add ARMv7-M setjmp/longjump functions. From David S. Alessio.
24724 - i.MXRT Clocking: Enable TRACE clocks if the divider has been
24729 - i.MXRT QEncoder: Adds quadrature encoder driver for IMXRT. From
24731 - i.MXRT uSDHC: This change completes SDIO support for IMXRT, and
24739 interfaces fleshed out and the hardware proven so it can go for pre-
24740 production build. I _think_ there's only Bluetooth and USB-device
24742 - i.MXRT uSDHC: IMXRT uSDHC driver cmd line reset logic modified.
24747 - Kinetis Serial: Add possibility to specify pull-up instead of
24748 open drain for serial single-wire mode. From Beat K�ng.
24752 - LPC17xx/40xx Build: Cortex-M system reset is applicable to
24757 - LPC17xx/40xx Ethernet: Follow the procedure listed in the
24765 - Added architecture support for the NXP S32K1xx family. Basic
24771 - S32K1xx eDMA Leverage eDMA logic from i.MXRT to S32K1XX. Appears
24774 - S32K1xx LPUART: Bring in the LPUART from i.MXRT. It is the same
24776 - S32K1xx SysTick: Bring in Cortex-M0+ SysTick and interrupt handling
24777 from samd2l2; bring in Cortex-M4F Systick and interrupt handling
24779 - S32K1xx GPIO: Bring in GPIO logic from Kinetis. Looks like similar
24781 - S32K1xx Ethernet: Unverified port of the i.MXRT Ethernet driver to
24783 - S32K1xx LPSPI and LPI2C: Brings in the LPSPI and LPI2C peripheral
24789 - S32K118EVB. This commit adds initial board support for the NXP
24792 - S32K118EVB: Implement board support for on-board LEDs and buttons.
24793 This is taken from the Freedom-K66f with has the same LED and
24796 - S32K146EVB: Adds initial board support for the S32K146EVB
24800 - S32K146EVB: Add support for execution out of SRAM. This is helpful
24801 for bring-up when you want to avoid putting a lethal image in FLASH.
24803 - S32K148EVB: Add support for the NXP S32K148EVB development board.
24804 Very similar to the S32K146EVB but with more on-chip memory and
24809 - CXD56xx: Migrate CXD56xx common code to the common/ directory:
24811 - CXD56xx: Add SPH. The SPH is used by the ASMP implementation from
24816 - CXD56xx: Add sensors connected to the SCU on Spresense board:
24829 - CXD56xx: Add the sensor initialization for CXD56xx boards in the
24854 - Spresense: Enable SmartFS and UDP support From Masayuki Ishikawa.
24858 - STM32F4 PLLI2S: Add support to enable the I2S Phase Locked Loop on
24863 - STM32 ADC: Add ADC calibration procedure for IP_ADC_V1. Tested on
24867 - STM32 SPI: TI Synchronous Serial Frame Format. The SPI macros on
24871 - STM32 UART: Serial add HW HS on UART 4 & 5. From David Sidrane.
24872 - STM32 PWM: Configure multi-channel duty only if channel specified.
24875 - STM32F7 Ethernet: Add a timeout on MAC reset From David Sidrane.
24876 - STM32F7 FLASH: Exposes stm32_flash_xxx functions. From Anthony
24878 - STM32F7 PWM: Configure multi-channel duty only if channel specified.
24881 - STM32F7 UART: Serial add HW HS on UART 4 & 5. From David Sidrane.
24882 - STM32H7 ADC: Fix internal channel numbers. From Markus Bernet.
24883 - STM32H7 BBSRAM: Add BBSRAM support. From David Sidrane.
24884 - STM32H7 DTCM: Port DTCM from F7 From David Sidrane.
24885 - STM32H7 I2C: Select ARCH_HAVE_I2CRESET in configuration. From
24887 - STM32H7 PWM: Configure multi-channel duty only if channel
24890 - STM32H7 RCC: Fix RCC register definitions and typos for ADC/UART.
24892 - STM32H7 RTC: Ported over F7 RTC. From David Sidrane.
24893 - STM32H7 SPI: Allow more clock sources. From David Sidrane.
24894 - STM32H7 UART: Serial add HW HS on UART 4 & 5. From David Sidrane.
24895 - STM32H7 UART: Fix typo in UART8 configuration. From Markus Bernet.
24896 - STM32H7 UID: Ported UID from F7 From David Sidrane.
24897 - STM32L4 PWM: Configure multi-channel duty only if channel specified.
24900 - STM32L4 UART: Serial add HW HS on UART 4 & 5. From David Sidrane.
24904 - B-L475E-IOT01A: Add mx25rxx memory chip and smartfs support in NSH
24906 - LX_CPU: Add support for the PIKRON LX_CPU board. From Pavel Pisa.
24907 - Nucleo-F303RE: Add basic NSH configuration. From Mateusz Szafoni.
24908 - Nucleo-F303RE: Enable console on UART2 and set entry point to
24910 - Nucleo-H743ZI: Add RTC support. From David Sidrane.
24911 - Nucleo-L432KC: Added GPIO drivers for use with /apps/examples/gpio.
24913 - Nucleo-L432KC: Added Zero Cross sensor to nucleo-l432kc. From
24918 - Tiva: Add support for Tiva TM4C123AH6PM. From Nathan Hartman.
24919 - Tiva Configuration: Modify preprocessor logic to support
24922 - Tiva Interrupts: Add handling for IRQs 128 thru 159. From Nathan
24927 - TM4C QEncoder: Reinstate TM4C qencoder driver and expand its
24939 - TM4C1294-Launchpad: Enables /dev/userleds in board bring-up for
24940 tm4c1294-launchpad by calling userled_lower_initialize() in
24945 - Tiva GPTM timers: Implement 16-bit PWM mode. Add
24948 16-bit timer logic. Add tiva_timer16pwm_setperiodduty() to set
24953 flags to enable configuring the 16-bit PWM feature. Extend type of
24954 "flags" in tiva_timer32config_s and tiva_timer16config_s from 8- to
24955 32-bits to allow more flags. From Nathan Hartman.
24959 - Export Build: Export all variables/files to support architecture
24961 - Application Export: This change too build tools allows to export
24962 built-in applications registry into temporarily created directory
24968 - boards/Board.mk: Add support to pass dependency paths. From
24973 - libs/libc/libc.csv: Add some missing C library functions. From
24975 - libs/libc/libc.csv: Add ioctl() to fs_ioctl() wrapper for varidic
24977 - libs/libc/builtin/: Moves shared built-in information out of
24979 with applications. This should permit built-in application in the
24982 - libs/libc/dirent/: Added alphasort() implementation, scandir()
24986 - libs/libc/grp/: Added stubbed implementations of getgrgid,
24992 - libs/libc/machine/arm/armv7-m/: Add Cortex M4F machine optimized
24994 - libs/libc/pwd/: Added stubbed implementations. Added stubbed
25001 - libs/libc/pwd and libs/libc/grp/: Modify to get user/group data
25004 - libs/libc/stdio/: Add support for the size_t integer qualifier 'z'
25007 - libs/libc/unistd.h: Added stubbed implementations of setuid() and
25014 - libs/libc/unistd/: Add getuid() and getgid() stubs to match
25016 - libc/libc/unistd/: Add stubs for geteuid(), getegid(), seteuid(),
25024 - NuttX provides lists of available syscalls and library functions and
25036 modes but tested only flat no-MMU build. The basic assumption is
25037 that this library and libraries providing syscall stubs and C-
25038 library functions are available in user-space context and initial
25041 address space as kernel allows. Simple for flat or protected mode,
25045 disabled) and main purpose is to lower memory overhead when more
25053 - tools/: Change preferred argument of configurations tools to use
25054 ':' as the delimiter between <board-name> and <config-name>. This
25058 instructions in README.txt files to show ':' delimiter vs '/'
25059 delimiter. Update all configuration-related tools to accept ':'
25064 - Makefile: Added support for application-specific export target.
25066 - apps/builtins: Move apps/builtins/builtin_forindex.c to
25074 - apps/examples/uid: Demo used to verify PASSWD and GROUP interfaces.
25076 - apps/examples/webserver/: Initialilze network and run forever only
25077 if not built-in app. Infer from CONFIG_NSH_BUILTIN_APPS if we are a
25078 NSH built-in app or not. If built-in app (CONFIG_NSH_BUILTIN_APPS
25086 - apps/fsutils/passwd: Handle the improved the format of the
25092 - apps/netutils/dhcpc: Add host name support to DHCP client. From
25097 - apps/wireless/ieee802154/i8sak: I8sak improvements: (1) Adds
25102 - apps/wireless/ieee802154/i8sak: Allow setting the endpoint PAN ID.
25104 - apps/wireless/ieee802154/i8sak: Adds support for energy scan result
25106 - apps/wireless/ieee802154/i8shark: Adds support for intentionally
25109 - apps/wireless/ieee802154/libmac: Adds support for getting/setting
25111 - apps/wireless/gs2200m: Add UDP support to the GS2200M driver. From
25113 - apps/wireless/gs2200m: Add DHCP client handling in ioctl_request().
25115 - apps/wireless/gs2200m: ioctl_request() supports SIOCGIFHWADDR.
25119 ---------
25126 - Priority Inheritance: Fix a race in telnet with PRIORITY_INHERITANCE
25129 - Task Groups: Correct some naming. The NuttX task groups have been
25135 - Task Termination: nxtask_signalparent() in task_exithook.c may
25147 - sched_get_rr_interval(): sched_get_rr_interval() should return
25148 {0,0} if round-robin scheduling is not selected for the task. From
25150 - SMP Type Collision: The non-standard, non-portable type cpu_set_t
25154 occurred. cpu_set_t has an equivalent, non-standard, non-portable
25156 non-standard type to be defined. Who am I to stand in the way of
25160 - Binary Loader: Change some debug macros from berr() to binfo()
25166 - Power Management: Fix g_pmcount 16-bits overflow when
25168 - Timekeeping: Fix cases in time conversion that must be >=
25173 - opendir(): opendir() set errno to a negative value in one error
25175 - SmartFS: Update smartfs smart_scan() function. From Simon Piriou.
25176 - ProcFS: Add missing LF to cpuload procfs output From David Alessio.
25177 - MMC/SD: Copy/paste error fix in the SDIO-based block driver for
25179 - MMC/SD: Correct a misplaced #endif in the SDIO-based driver. From
25184 - Ethernet Configuration: Ethernet packet buffer size cannot be
25186 - TCP RST: Fix outgoing RST packet with wrong ack number. From
25188 - TCP Close: Fix TCP close flow; free the connection after all TCP
25190 - UDP Broadcast: Remove net stack dependency from CONFIG_NET_BROADCAST.
25194 - UDP: Fixes a UDP send copy-paste error in the new SO_LINGER code:
25196 - TCP and UDP: Fix errors in the new implementation of SO_LINGER.
25205 - 6LoWPAN: Removes unnecessary conversions that were happening due to
25206 a misunderstanding of byte ordering with EUI-64. From Anthony
25208 - RNDIS: Fix issue with DEBUGASSERT when using composite device and
25213 - wireless network devices: Attach radio to d_buf before registering
25223 - IEEE 802.15.4 MAC: Fixes issues with extended address. 1) Extended
25224 address should be read-only. 2) Extended address should be placed
25225 in frame in "reverse-canonical" order. The extended address is a
25226 read-only attribute and thus an attempt to write the extended
25229 bring-up time to the radio layer. The MAC layer now pulls in the
25232 reverse-canonical order. This is very confusing in the standard and
25238 written in reverse-canonical form, meaning the OUI comes last, not
25240 - IEEE 802.15.4 MAC: Frame Version should have been 1, but was being
25244 - IEEE 802.15.4 MAC: Fixes issue where the txdesc's ackreq flag was
25247 - Xbee: Fix logic to prevent deadlock scenario when there are no
25248 available IOBs From Anthony Merlino (2018-12-21).
25249 - Xbee: Change assumption about destination address mode for incoming
25253 - Xbee: Initialize the short address to the unspecified address and
25256 - Xbee: Adds CONFIG_XBEE_LOCKUP_WORKAROUND option and corresponding
25266 - Xbee: Cancel query timeout upon receiving the expected response.
25269 - Xbee: Detect lockup and reset XBee in xbee_req_data From Anthony
25271 - Xbee: Fixes one instance of the use of IOBUSER_WIRELESS_MAC802154
25279 - pipes: Use inode reference counter instead of device reference
25286 - SPI Bitbang: Fix build error when the SPI bitbang variable width
25288 - GPIO Lower Half: Remove limitation when pintype >
25293 - Classic ARM7/ARM9: When performing stability test, the application
25302 * ARMv7-A
25304 - ARMv7-A: Fix typo and missing quotation for ARMv7-A. From Oki
25306 - ARMv7-A: Fix double increment in armv7-a's
25308 - ARMv7-A: Fix L2 page table mask for ARMv7-A page allocator. From
25311 * ARMv7-M
25313 - Interrupts. Removes the architecture-common
25315 supported only by ARMv7-M). In the normal course of things,
25316 interrupts must occasionally be disabled using the up_irq_save()
25318 be shared between interrupt level and non-interrupt level logic.
25334 - ARMv7-M Priorities: In the 'normal' case, the priority of the
25344 - i.MXRT ENC: Fix some errors in register bit definitions. Noted by
25346 - i.MXRT LPI2C: Slave addresses are now correctly shifted when
25354 - PIC32MZ SPI: Fix SPI Mode selection. CKE is the inversion of the
25359 - SAMD2/L2 I2C: Correct time calculation. From Bernd Walter.
25363 - SAM3/4: Add missing DMA configuration Kconfig setting. From Bernd
25368 - LPC17xx/40xx ADC: Only use PCLKSEL0 for ADC on LPC176x family.
25370 - LPC17xx/40xx Ethernet: Set speed back to 10Mbps if 10Mmbps link
25372 - LPC17xx/40xx I2C: Abort I2C transfers if a timeout has occurred.
25376 memory corruption / undefined behavior as priv->msgs points to a
25379 - LPC17xx/40xx I2C: Calculate the appropriate timeout for I2C
25388 - Kinetis I2C: i2c transfer ensure correct result returned.
25395 - LPC17xx/40xx CAN: If BOARD_CCLKSEL_DIVIDER is not equal to 1 on
25405 - LPC17xx/40xx Ethernet: Add missing LPC17_40_PHY_CEMENT_DISABLE
25409 - LPC17xx/40xx Ethernet: Fix the initialization for DP83848x PHYs.
25417 - i.MXRT LPUART: Fix some errors in the LPUART register definition
25419 be imxrt_earlyserialinit(). Remove prototypes for non-existent
25421 - i.MXRT USDHC: uSDHC typo fixes and command transfer error handling
25426 - EFM32 OTG host: Adam Porter's various fixex for STM32 FS/HS
25432 - STM327F Configuration: Kconfig add depends on BBSRAM. From David
25434 - STM32F7 Interrupts: Fix overwritten IRQ enable. System boot order
25439 - STM32H7: Rix BBSRAM name in memory map. From David Sidrane.
25440 - STM32H7: Removed f7 in file path. From David Sidrane.
25444 - STM32H7 BBSRAM: Fix issues causing no writes and hardfaults. From
25446 - STM32H7 BBSRAM: Convince compiler to perform 32 bit write. From
25448 - STM32F7 OTGHS: Fixes bad preprocessor logic preventing USB OTG HS
25450 - STM32 OTGH[FS|HS] Host STM32 host only initiates transfer if
25452 - STM32F7/H7/L4 OTG host: Adam Porter's fix for STM32 FS/HS probably
25455 - STM32/F7/H7/L4: This change was required to get my devices
25456 (CDC-MBIM) to enumerate. Initially the system timed out retrieving
25466 - STM32F7 SDMMC: If there is only one SDMMC it is slot 0 From David
25468 - STM32F7 USART1: USART1_RXDMA is dependent on STM32F7_DMA2 not
25470 - STM32H7 DBGMCU: Memory Map DBGMCU is @ 0x5c001000 From David
25472 - STM32F7 SDMMC: Fix warning when DMA is not enabled. From David
25474 - STM32H7 Ethernet: Fix some errors in Ethernet MAC configuration.
25476 - STM32H7 Ethernet: Correct stm32h7 mac address filtering. Correct
25480 - STM32H7 Ethernet: Correct memory corruption error. The Ethernet
25486 - STM32H7 PWR: Ensure data is flushed on backup domain access
25488 - STM32H7 Serial: Serial fix undefined with TERMIOS From David
25490 - STM32H7 UARTs: Fix UART7/8 typos. Fix bug in ETH_MACQTXFCR
25495 - Multiple STM32 Boards: If CONFIG_SCHED_CRITMONITOR is selected,
25498 disabled. Suggested by Juha Niskanen. From Gregory Nutt.
25499 - Nucleo-H743ZI: Correct logic that determines if the RTC driver is
25501 - Nucleo-G071RB: Fix linker script to avoid .ARM.exidx section
25503 - Modify all linker scripts (all boards, all architectures) to use
25505 - Nucleo-L432KC ADC: Change analog pins definitions and correct DMA
25510 - Tiva Configuration: Rename TM4C123GH6PMI identifiers to
25516 PMI. (The PM means 64-LQFP. The I means temperature range -40C to
25517 +85C. It could be T meaning -40C to +105C. The R means it ships in
25519 - Tiva Configuration: Rename TM4C1294NC identifiers to TM4C1294NCPDT.
25520 Rationale: TM4C1294NC is ambiguous: TM4C1294NCPDT is a 128-TQFP,
25521 TM4C1294NCZAD is a 212-NFBGA. The TM4C1294NC part currently
25522 supported by NuttX is the TM4C1294NCPDT used on the TI EK-TM4C1294XL
25523 "Connected LaunchPad" (see configs/tm4c1294-launchpad). To ensure
25526 - Tiva Configuration: Fix TM4C129XNCZAD part number in Kconfig and
25527 identifiers. Rationale: Fully specify that this is the 212-pin BGA
25534 - Tiva TM4C 1-Wire: Fix wrong description on define TIVA_1WIRE_BASE:
25535 Was "EEPROM and Key Locker" (same as the item above). Now "1-Wire
25541 - Tiva GPIO Interrupts: LM3S, LM4F, TM4C: Fix GPIO IRQ error, ports
25546 - Tiva Timers: Fix minor errors in tiva_timerlib.c. Fix incorrect
25548 CONFIG_TIVA_TIMER32_EDGECOUNT -> CONFIG_TIVA_TIMER16_EDGECOUNT,
25549 CONFIG_TIVA_TIMER32_TIMECAP -> CONFIG_TIVA_TIMER16_TIMECAP,
25550 CONFIG_TIVA_TIMER32_PWM -> CONFIG_TIVA_TIMER16_PWM. From Nathan
25552 - Tiva Timers: Fix errors in low-level timer support.
25557 - Tiva Timers: Fix one code error and some comment errors.
25564 - z80sim Serial: Fix uart_dev_t initializer: pollfds[] is a array of
25567 - z80sim Interrupts: Missed a name change up_irqinitialize to
25572 - include/netinet/in.h: Rename __pad member to sin_zero in struct
25582 sin_family, sin_addr, and sin_port. It is acceptable for a POSIX-
25588 - libs/libc/libc.csv: Correct dependency of setlocale on
25590 - libs/libc/machine/arm/armv7-m: Fix build error for ELF. From
25592 - libs/libc/math.csv: Correct format of some function entries. From
25597 - tools/: Change all occurrences of /bin/(ba)sh in shell scripts to
25602 - apps/nshlib/: As noted by David S. Alessio, 'cat' should not output
25618 - apps/system/cle/: ASCII DEL should be treated by Delete-Left. From
25620 - apps/system/i2ctool: (1) Friendlier I2C "knock-knock" uses only
25630 Reg[80]-Reg[8F] and will NAK a read of Reg[0]. (2) Modify get/set
25635 - apps/netutils/dhcpd: Fixes bug where hwaddr was being used instead
25642 - apps/netutils/netinit/: Remove warnings. Unhook PHY notification
25648 - apps/wireless/ieee802154/i8sak: Fixes conversion from extended
25651 NuttX-8.2 Release Notes
25652 ------------------------
25656 that release consists of two tarballs: nuttx-8.2.tar.gz and
25657 apps-8.2.tar.gz. These are available from:
25662 Both may be needed (see the top-level nuttx/README.txt file for build
25666 ---------------------------------------------------
25670 - Signals: Add support for SIGPIPE default action. SIGPIPE uses
25673 - Spinlocks: Remove support for re-entrant spinlocks. They seemed
25675 - Memory Manager: Remove the assumption that one character equals
25677 - Power Management: Historically, the NuttX PM subsystem has
25681 This change decouples that upper activity-based logic from the lower
25683 logic (such as a custom, application-specific state machine). From
25685 - boardctl(): Expose power manager function through boardctl()
25690 - GD25: Add support for a new FLASH vendor. From zhangbo_a.
25691 - GD25: Add support for GD25 device with 256-Mbit capacity. From
25693 - GD25: Add 4-byte address operation for capacity larger than
25694 128-Mbit. From YanLin Zhu.
25695 - GD25: Add gd25_lock/unlock to case: enable 4-bytes address From
25697 - GD5F: Add gigadevice SPI NAND FLASH driver. From YanLin Zhu.
25701 - Networking: Use ntoh() when printing IPv6 addresses so that the
25704 - Netlink: Implement minimal NETLINK_ROUTE socket functionality that
25705 can (for now) be use used to obtain a list of network devices, IPv4
25706 ARP and IPv6 Neighbor tables, and IPv4 and IPv6 routing tables.
25711 - BCM43438A1 Bluetooth: Add support for the BCM43438A1 Bluetooth
25713 - HCIUART Shim: Add a serial 'shim' to allow any regular serial port
25716 - BCM4343x HCIUART: BCM4343x HCIUART support. From Dave Marples.
25717 - BCM43xxx: Move drivers/wireless/ieee80211/ to
25720 - GS2200M: Add reset handler to interface. Add reset and un-reset
25725 - Audio: Add message type to support audio trigger. From anchao.
25729 - Altair: Add support for the altair LTE modem driver. From Alin
25731 - MCP2515: MCP2525 SPI STD-EXT ID fixes. From DisruptiveNL.
25732 - OpenAMP: Brings in the drivers needed to support OpenAMP. These
25741 - Simulator: Add stack coloration feature. From ligd.
25742 - Simulator: Report PM activity on simulated UART. From Matias
25744 - Simulator: Add host ftruncate() support. From chao.an.
25745 - Simulator: Replace all CONFIG_DEV_CONSOLE with USE_DEVCONSOLE for
25748 - Simulator OpenAMP: Support OpenAMP between two simulator
25750 boards/sim/sim/sim/README.txt for more information. From chao.an.
25752 * ARMv7-M
25754 - ARMv7-M: Add BPIALL register address. From Dave Marples.
25755 - ARMv7-M MPU: Add user peripheral helper
25759 - Arduino-M0: Add initial board support for the Arduino M0 which is
25765 - i.MXRT LCD: Add support for LCD. Clean up some LCD-related
25767 - i.MXRT Serial: This change improves the performance of UART serial
25771 - i.MXRT Pin Mux: This change separates out the pinmux and iomux
25774 things: (1) unifies the iomux definitions - previously some pins
25781 - IMXRT1020-EVK: Add support for the MIMXRT1021-EVK board. It
25787 - IMXRT1060-EVK: Add basic LCD support for the board IMXRT1060-EVK.
25789 - IMXRT1060-EVK: Added Littlevgl demo configuration into the
25790 IMXRT1060-EVK board directory. From Fabio Balzano.
25794 - Kinetis Ethernet: Add support for TJA1100 PHY. From David Sidrane.
25798 - S32K1xx: Support configuration and initialization of the flash
25803 - S32K1**EVB: Create a special FLASH section to hold the FLASH
25805 - S32K146EVB: Added configuration script and instructions for using
25806 Thread-Aware OpenOCD for the S32K146 with Eclipse. From Han
25811 - RX65N: Adds a port of to the Renesas RX65N Micro-controller. This
25817 - RSK RX65N-2MB: Add support for the RSK RX65N-2MB board. From
25819 - GR-Rose: Add support for the GR-Rose board. From Anjana.
25823 - CXD56xx CPU FIFO: Add configurations for CPU FIFO elements. From
25825 - CXD56xx Loader: Update loader and gnssfw ver. 17660. From Alin
25827 - CXD56xx SMP: Add support for SMP. To run cxd56xx in SMP mode, new
25830 - CXD56xx SMP: Add IRQ routing for SMP in cxd56_irq.c. In CXD56xx,
25832 APP_DSP (Cortex-M4F) only. This change supports IRQ routing for SMP
25838 - CXD56xx I2C: Add ability to set the i2c frequency to other than just
25840 - CXD56xx SDHCI: Reduce power consumption by stopping SD clock. Re-
25846 - CXD56xx Board Common: Add the Altair LTE modem support on the
25848 - CXD56xx Board Common: Add Spresense Image Processor. Enable support
25851 - Spresense: Add board specific pin configurations of CXD5602 pins to
25853 - Spresense: Add a configuration option to select if an extension
25855 attached, the SPresense may run in a low-power mode by default (as
25860 - Spresense Camera: Add ISX012 camera initialization and
25862 - Spresense OS test: Enable ostest in rndis/defconfig and
25864 - Spresense: Add --gc-sections to LDFLAGS and add -ffunction-sections
25865 and -fdata-sections to ARCHCFLAGS in scripts/Make.defs. From
25867 - Spresense SMP: Add smp configuration. From Masayuki Ishikawa.
25868 - Spresense SCU: The SCU has to be initialized at bootup on Spresense
25872 - Spresense: Add audio and board audio control implementation. From
25874 - Spresense: Sdd power_control and audio_tone_generator. Add a simple
25875 way to control the audio buzzer with defined frequency for user-space
25877 - Spresense: Add the optional initialization of GNSS and GEOFENCE at
25879 - Spresense: Add LTE configuration. From Alin Jerpelea.
25880 - Spresense: Enable high current mode for the Spresense Extension
25882 - Spresense: Add lcd examples configuration. This is a configuration
25887 - STM32F0/L0/G0: Add support for STM32G070xx family. From Daniel
25889 - STM32F0/L0/G0 Power: Scale dynamic voltage and flash wait states
25892 - STM32L4R5ZI: Add support for the STM32L4R5ZI chip type. From Jussi
25894 - STM32 L4+ DMA: Add DMA support for STM32L4+ series. From Jussi
25896 - STM32 L4 Clocking: Enable "Range 1 boost" mode if any PLL freq
25898 - STM32 L4 LPTIM: Add support for LPTIM timers on the STM32L4 as PWM
25900 - STM32 H7 Progmem: Add FLASH progmem support. From David Sidrane.
25904 - STM32 Serial: Single Wire add pull{up|down|none} via new IOCTL
25906 - STM32 F0/L0/G0 Serial: Single Wire add pull{up|down|none} via
25908 - STM32 F0/L0/G0 PWM: Add PWM support. From Daniel Pereira Volpato.
25909 - STM32 G0 TIM: Support timers available on STM32G070. Includes TIM1
25910 PIOs, TIM driver lower-half. From Daniel Pereira Volpato.
25911 - STM32 F7 Serial: Single Wire add pull{up|down|none} via new IOCTL
25913 - STM32 H7 BBSRAM: Exclude BBSRAM from cacheable when
25916 BBSRAM memory range to non-cacheable. From David Sidrane.
25917 - STM32 H7 SDMMC: Add SDMMC support and IDMA as well as interrupt
25918 driven transmission. Support pull-ups and SDIO. From David Sidrane.
25919 - STM32 H7 Serial: Single Wire add pull{up|down|none} via new IOCTL
25921 - STM32 L4 OTGFS: Enable OTGFS for STM32L4+ series. The OTGFS
25924 - STM32L4 IDLE Loop: (1) Added BEGIN_IDLE()/END_IDLE() to stop call
25929 - STM32 L4 Serial: Single Wire add pull{up|down|none} via new IOCTL
25934 - Nucleo-G070RB: Initial support for board STM32 NUCLEO-G070RB,
25935 including NSH config. Enables PWR peripheral and set SYSCLK to
25937 - Nucleo-G070RB: Enable basic timers. Add TIMx clock frequencies to
25939 - Nucleo-G070RB: Add PWM support and GPIO_TIM3_* mappings. Add a PWM
25941 - Nucleo-G070RB: Add button driver support, Add driver support. Add
25943 - Nucleo-L476RG: Add required definitions if libcxx is enabled. From
25945 - Nucleo-L476RG: Add support for LPTIM timers as PWM outputs. From
25947 - Nucleo-H743ZI: Added GPIO device driver for user-space apps. From
25949 - olimex-stm32-e407: Newer Olimex E407 boards are populated with
25951 - STM32F4-Discovery: Add support for external DS1307 module. From
25953 - STM32F4-Discovery: Add support for MMCSD_SPI. This change works
25956 - STM32F4-Discovery: Add support for gs2200m. Works with mikroe
25961 - TM4C129ENCPDT: Add support for Tiva TM4C129ENCPDT. From Nathan
25966 - TM4C123G-Launchpad: SPI CAN functionality on TM4C123GXL. From
25971 - tools/Config.mk: Eliminate use of the built-in implicit rules.
25973 - tools/Config.mk and Makefile.unix: Support the incremental build
25975 - tools/Config.mk: Support the ability to change the CFLAGS for
25979 $(SRCDIR)/hello_main.c_CFLAGS = -DTEST. From Xiang Xiao.
25980 - Configuration: Auto-select CONFIG_BUILD_LOADABLE when either
25986 - libs/libc: Add CONFIG_MODLIB_SYSTEM_SYMTAB to generate the symbol
25988 - getdelim() and getline(): Add implementations of the POSIX
25990 defined, getline() canot be used on platforms that use CR-LF lin
25992 - alarm(), setitimer(), and getitimer(): Implement alarm(),
25997 - tools/mkexport.sh: Copy the essential build script files too and
25998 move Make.defs/gnu-elf.ld into scripts like board folder layout.
26000 - tools/mkexport.sh: Should export full content for FLAT build even
26002 - tools/testbuild.sh: Add an option to select the number of CPUs to
26004 - tools/indent.sh: Add a command line option to suppress reformatting
26008 - tools/nxstyle.c: Add detection of carriage returns. Improve
26010 - tools/nxstyle.c: Add logic to detect if there is a blank line
26012 - tools/nxstyle.c: Eliminate false alarm errors on comments that are
26015 - tools/nxstyle.c: Eliminate false alarms when checking for
26019 - tools/nxstyle.c: Eliminate false positive 'Invalid character after
26024 - apps/ Build System: Numerous changes for improvements and general
26025 clean-up of the apps/ build system. Too many small and individual
26029 - apps/Application.mk: Support the ability to change the CFLAGS for
26033 $(SRCDIR)/hello_main.c_CFLAGS = -DTEST
26035 - apps/Application.mk and main.c files: Change builtin's entry point
26042 - apps/examples/audio_rttl: Add a simple RTTL player demo that is
26044 - apps/examples/bmi160: Add bmi160 example app. This app will read
26046 - apps/examples/charger: Simple charger example that will display on
26048 - apps/examples/netlink_route: Add test/example of NETLINK_ROUTE
26053 - apps/nshlib/: Add rptun cmd for boot remote core. From ligd.
26054 - apps.nshlib/: Add a -t option to the arp command which will enable
26056 - apps/nshlib/: Add new NSH command, 'pmconfig'. From ligd.
26060 - apps/system/cle: Add basic color support to the CLE editor.
26062 - apps/system/i2c: While many I2C slave devices have multiple
26071 number at Reg[80]-Reg[8F] and will NAK a read of Reg[0]. Modified
26073 - apps/system/i2c: Added a 'dump' command to issue a single
26076 - apps/system/spi: Add options to specify devtype, id for chip
26078 - apps/system/symtab: Remove system/symtab since the same
26080 - apps/system/usrsock_rpmsg: Add rpmsg based usrsock implementation.
26085 - apps/netutils/cjson/: Update default version to 1.7.12. Previous
26088 - apps/netutils/netlib/: Add a function to read the entire ARP table
26090 - apps/netutils/netlib/: Add support for retrieving a snapshot of the
26092 - apps/netutils/netlib/: Add a utility function that will return a
26094 - apps/netutils/netlib/: Add function to retrieve routing tables
26098 ---------
26105 - Signals: Fix undefined reference from sig_default.c to
26108 - waitpid(): Fix a NULL pointer dereference on race without
26110 - WD Timers: Back out a kludge-workaround in wd_start for an SDCC
26113 options and SDCC no longer needs the work-around. From Gregory
26115 - clock_systimespec(): Fix early timespec overflow if using 32 bit
26117 - Spinlocks: spin_trylock handle memory barrier and instrumentation
26119 - Power Management: Fix a problem where a timer cannot start when it
26121 - boardctl(BOARDIOC_MKRD): This change corrects a problem with NSH:
26126 - boardctl(BOARDIOC_ROMDISK): Add support for the new
26132 - SmartFS: Fix O_CREAT without O_TRUNC truncating existing file.
26135 - SmartFS: Honor O_APPEND on writes. Also document pwrite() bug/
26137 - GD25: spi_devid argument was not used in initialization. GD25
26138 driver was always using priv->spi_devid initialized to zero by
26141 - MMC/SD: Set wrbusy after success of all the operations. Any
26144 - MMC/SD: Enter a removed card state On a failure. If we fail to
26147 - MMC/SD (SDIO): Align DMA buffer for MBURST size. From David S.
26152 - Socket close(): Fixed problems noted by Bernd Walter: Eliminate an
26160 - ICMPv6: Dispatch ICMP_POLL to device's callback list too since
26163 - ICMPv6: Decouple autoconfig and ICMPv6 socket to avoid an invalid
26165 - ICMPv6: cmpv6_autoconfig() error handling must not overwrite
26167 - TCP/UDP: Fix a chicken and egg problem by eliminating the check of
26182 - UDP sendto(): Add a check for the device that is polling. In the
26188 - MRF24J40: Correct erroneous isolation of address mode field and
26190 - GS2200M: Add SPI_SELECT() to _read/write_data() in gs2200m.c
26191 - BCM43xx Wireless: In the SDIO interface, the behavior of the DMA
26204 - Various drivers (Cloned logic): On error, memory was freed, but
26207 - Serial: Fix data corruption when outputting data in SMP mode From
26209 - Serial: serial_io.c used signal numbers, but did not include
26212 - Serial DMA: Avoid uart_xmitchars_done() move the tail bigger then
26217 - mkfifo(): mkfifo() should return -1 and set errno on failure From
26219 - RAMLog: Fix ramlog readers never awakened up when using ramlog as
26225 - USB CDC/ACM: Fix memory leak of RX failsafe timer. From Juha
26227 - USB HID Keyboard device: Fix keyboard debounce algorithm used when
26229 - USB HID Keyboard: Change default for CONFIG_HIDKBD_POLLUSEC per
26231 - VL53L1X IOCTLs: IOCTL commands for the VL53L1X did not follow the
26233 - syslog: syslog_force does not set errno so do not test against it.
26235 - syslog: Fix assertion that assumes re-opened syslog file is the
26242 - Simulator HostFS: Skip '.' and '..' in readdir' From Xiang Xiao.
26243 - Simulator HostFS: Fix warning: 'mapflags' may be used uninitialized
26245 - Simulator Tickless: Correct the calculation of the Tickless timer
26248 - Simulator: Add -m32 to HOSTLDFLAGS if enable CONFIG_SIM_M32. From
26250 - Simulator PM: Fixes compilation for sim target when enabling power
26252 - Simulator Build: Fixes missing recursion into sim board directory
26254 - Simulator SIMUART: Remove CONFIG_SIM_UART_DATAPOST for arch/sim.
26258 * ARMv7-A
26260 - ARMv7-A: Apply Masayuki Ishakawa's change for ARMv7-M to this SMP
26263 * ARMv7-M
26265 - ARMv7-M: Fix a deadlock in up_sigdeliver() in SMP mode. In
26278 - SAM4CM: Fix cpustart() implementation. In Cortex-M, offset 0 in
26284 - SAMA5D4-EK: Fix bad conditional compilation for
26290 - i.MXRT WFI: WFI needs to be disabled on i.MXRT. We found the
26292 timer, but SYSTICK cannot wake up the MCU from low-power modes.
26293 Disable low-power modes on this MCU until we have support for an
26295 had A0 silicon which by default did not enter low-power mode on a
26302 - i.MXRT Serial: TC (Transmission complete) and TDRE (TX Buffer
26310 - IMXRT1020-EVK: Make naming of the LED consistent. In most places
26312 USERLED1. The i.MXRT1020-EVK hardware user guide (HUG) uses the
26319 - TWR-K60N512: Suppress errors related to card detect GPIO
26324 - lpc17xx/40xx I2C: Respect the I2C_M_NOSTART flag. Sending a
26327 - LPC17xx/40xx Ethernet: Use usleep() instead of up_delay() for large
26332 - LPC54 Clocking: Fix PLL settings. For the lpc54628 Rev. E board
26340 - IMXRT1060-EVK: Fix FT5X06 CTRSTn pin configuration, increased
26346 - LC823450: Fix cpustart() implementation. In Cortex-M, offset 0 in
26349 - LC823450-XGEVK: Fix build error for posix_spawn. From Masayuki
26354 - CXD56xx Assertions: Replace some assertions with error return
26356 - CXD56xx Interrupts: Fix hang-up when error interrupt occurs. From
26358 - CXD56xx Pin Configuration: PIN_AP_CLK is used as a port selector of
26364 - CXD56xx: Remove duplicate NVIC_SYSH redefinitions. The NVIC_SYSH
26369 - CXD56xx SDHCI: Fix initial value of semaphore in sdhci driver.
26374 - Spresense: The SD Card TXS02612 port expander is hosted on the
26380 - STM32 F4 Pin Multiplex: Ethernet pin ETH_RMII_REF_CLK is an input.
26382 - STM32 H7 ADC: Fix typos in ADC register definitions. From Markus
26384 - STM32 H7: Heap allocation, SRAM and SRAM1 are not continuous From
26386 - STM32 H7 CRC: Add the CRC option in KConfig. From Eduard Niesner.
26387 - STM32 H7 RCC: Add PLL3 Support and only enable PLLs if used. From
26389 - STM32 L4x6xx RCC: This fix is needed if HSI clock is selected.
26395 - STM32 USB Host: There was no relationship between
26403 - STM32 SDIO: SDIO Fix system hang on card eject. From David Sidrane.
26404 - STM32 F7 Ethernet: Large Ethernet packet can leads network halt.
26406 - STM32F7 OTGHOST: OTGFS_EPTYPE_INTR should be OTG_EPTYPE_INTR. From
26408 - STM32 F7 SDMMC: SDMMC Fix system hang on card eject. From David
26410 - STM32 L4 Firewall: Correct a test to determine if an address lies
26413 - STM32 H7 Ethernet: Bazooka Joe's fix to the STM32 F7 Ethernet
26416 - STM32 H7 Ethernet: Fix ETH_MACMDIOAR_CR_MASK bit mask. From Markus
26418 - STM32 H7 SDMMC: SDMMC Fix system hang on card eject. From Gregory
26420 - STM32 H7 FLASH: Flash driver BUG fixes. From David Sidrane.
26421 - STM32 H7 TIM: Correct register bit definitions and alternate
26422 functions. Fix other copy-paste definitions. From Daniel Pereira
26424 - STM32 L4 SDMMC: SDMMC Fix system hang on card eject. From David
26429 - STM32F4-Discovery: Fix build error for posix_spawn. From Masayuki
26434 - TIVA IRQs: Fix wrong IRQ vector number. From Nathan Hartman.
26435 - Tiva FLASH: Fix several mistakes in tiva_write(). (1) Fix wrong
26436 use of && when & was intended. (2) Add compile- time warning
26441 preprocessor conditional. Was written to use the 32-word write
26450 - Xtensa: Apply Masayuki Ishakawa's change for ARMv7-M to this SMP
26455 - Makefiles: Change ${shell pwd} to $(CURDIR) since pwd doesn't exist
26457 - tools/Makefile.unix: Fix build error when issue 'make -B': "mkdir:
26461 - All ARM linker scripts: Preface all _ebss definitions with '. =
26464 - MIPS Linker Scripts: The PIC32M* start-up code initializes .bss by
26468 - Top-level Kconfig: Add some protection so that you cannot select an
26469 architecture-specific header file if the architecture does not
26471 - libc Kconfig: Should select the NuttX float.h file automatically
26473 - tools/Makefile.unix: Make COMMON_DIR work with
26475 - tools/ Make fragments: Fix the various minor issue for NUTTXLIBS /
26479 related comment since file system cannot be disabled now From Xiang
26484 - getcwd(): Remove stray sched_unlock(). Also fixes several typos.
26486 - date(), hostname(): Fix portability issue with date, hostname From
26488 - libs/libxx/Kconfig: Automatically select CONFIG_CLOCK_MONOTONIC when
26489 CONFIG_LIBCXX is selected. Removed hardcoded -DCLOCK_MONOTONIC from
26493 - libs/libxx/Kconfig: CONFIG_LIBC_LOCALE is needed to build libcxx.
26497 - libs/libc/symtab: Move symbol table generation into libc since the
26500 - libs/libc/ Kconfig files: Disable EXECFUNCS_HAVE_SYMTAB for kernel
26505 - include/sys/time.h: According to earlier standards, usage of
26514 - tools/configure.sh and configure.c: Do not remove CONFIG_SIM_M32 if
26516 - tools/Directories.mk: Remove FSDIRS/NOFSDIRS related logic/comments
26517 since the file system can no longer be disabled now. From Xiang
26519 - tools/Makefile.host: Add missing binaries from clean target. From
26521 - tools/mkromfsimg.sh: Use sed to add const to ROMFS declarations so
26523 - tools/nxstyle.c: Correct detection of missing blank line following
26528 - Makefiles: Change ${shell pwd} to $(CURDIR) since pwd doesn't exist
26530 - Makefile: Fix warning: jobserver unavailable: using -j1. Add '+' to
26532 - apps/Application.mk: Correct an error in PATH usage. Use of
26537 - tools/mkromfsimg.sh: Use sed to add const to ROMFS declarations so
26542 - apps/examples/mount: Replace illegal call to ramdisk_register()
26544 - apps/examples/nxlines/: Correct nxlines example program name. From
26546 - apps/examples/nxterm/: PROGNAME, PRIORITY, STACKSIZE variable
26549 - apps/examples/romfs: Remove romfs_testdir.h. That file is
26555 - apps/testing/cxxtest/: Fix typo error in testing/cxxtest. From
26557 - apps/testing/unity/: Fix the error when creating Make.dep. From
26562 - apps/nshlib: Remove the inappropriate NSH_BUILTIN_APPS coupling.
26564 - apps/nshlib/: The NSH mkrd command was in violation of the NuttX
26571 the NSH mkrd command into to OS and provide user-space access via
26573 - apps/nshlib/: Replace direct calls to romdisk_register() with
26578 - apps/nshlib/: Add missing NSH_DISABLE_DMESG from Kconfig. From
26583 - apps/system/cle/: This change modifies the cle to use the streams
26588 - apps/system/composite: Remove usb serial loopback test code we can
26590 - apps/system/cu/: (1) Fix early exit. getc(stdin) can return 0 the
26593 priority of cu_listen(). (4) Add suppor for -h. From David
26595 - apps/system/lzf/: Check the protection by CONFIG_SYSTEM_LZF !=
26598 - apps/system/spi: Correctly parse exch txdata args, if any. Should
26603 - apps/fsutils/passwd/: Use named semaphore by checking
26609 - apps/netutils/cjson/Makefile: Fix the error when creating
26614 - apps/graphics/twm4nx/: Fix a recently introduced error that broke
26616 - apps/graphics/traveler/: Replace direct calls to romdisk_register()