| NuttX 10.1 has not been released yet. These Release Notes are a work-in-progress in preparation for the next release of NuttX. There is a board tracking the PRs that need to be looked at to add to this doc for the OS TODO ADD LINK and for the Apps TODO ADD LINK |
#2820 arch, boards, drivers, include, sched, wireless: Change spinlock APIs.
#2885 Ensure the kernel component don't call userspace API
#2324 audio: libsamplerate: add initial audio Sample Rate Converter
#2627 OS internal function should indicate the error by return negative value
#2980 include: Add iso646.h for alternative spellings
#3115 libc: time: localtime: fix race condition
#3253 libc pthread: Fix pthread_rwlock_init return error
#2938 libs: misc: Remove critical section in lib_filesem.c for SMP
#2865 libc: :machine:risc-v:unifying elf relocation code
#2675 libc: Add placement new and new[] function
#2451 libc: pthread_mutexattr_getprotocol: modify prototype
#2326 libc: Enhance getopt function
#2407 libc: machine: arch: Support armv8-m relocation
#2509 libc: net: implement ether_aton/ether_aton_r
#2530 libc: Implement posix_fallocate
#2604 libc: Add b64_ntop and b64_pton implementation
#2534 libc: Implement getppid
#2574 libc: dumpbuffer: dump buffer enhancement
#3445 libc: update stream getoffset to handle write case
#2585 libc: netdb: Move hostbuffer out of the stack
#2630 libc: net: implement socketpair
#2741 libc: unistd/fpathconf: enhance fpathconf
#3251 libc: update pthread_once according to the specification
#2742 libc: pthread/cond: enhance pthread_cond_destroy
#2285 libc/stdlib: Fix range check in strtoul(l)
#2881 libc: Move stack check stuff from libc/stdlib/ to libc/assert/
#1994 libc: Don't fclose and fopen file in freopen
#2910 libc/hex2bin: fix handling of segment offsets
#3170 libc: Move getopt() variables into TLS
#3272 libc: Implement getopt_long() and getopt_long_only()
#2076 libc: math: Make this friendly with libcxx
#2855 libs: Remove the duplicated _NX_ and _MQ_ macro
#2111 LIBCXX related fixes
#2693 libxx: use built-in __aeabi_atexit() if LIBSUPCXX is enabled
#3268 libdsp/fixed16: add open-loop handler
#3244 libdsp: Improvements for libdsp and support for fixed16 libdsp implementation
#2243 libcxx: Update 0001-libcxx-Port-to-NuttX-https-nuttx.apache.org-RTOS.patch
#3121 mm/heap: Move semaphore related declaration to private header
#3086 mm: improve the memory manager modularity and reduce the information explosion
#2906 mm: umm_heap: valloc: support valloc (LEGACY)
#3131 mm: Minor fix for heap manager
#3159 mm: mm_heap: Remove critical section in mm_sem.c
#2942 mtd: progmem: Add up_progmem_read callback guarded by ARCH_HAVE_PROGMEM_READ
#2849 mqueue: Add _MQ_OPEN, _MQ_CLOSE and _MQ_UNLINK macro
#2071 pollnotify: we should send poll events before semaphore incrementes.
#2492 procfs: make array const to reduce memory use
#3123 sched: pthread: Remove a redundant critical section in pthread_condclockwait.c
#3080 sched: semaphore: Remove a redundant critical section in nxsem
#2960 sched: signal: sigdeliver: fix system block when kill signal to idle in SMP
#1922 sched: nxtask_start should call entry point directly for kernel thread
#2229 sched/sched/sched_waitid.c: Allow WNOHANG
#3111 sched: Sporadic scheduler: Fix time calculation and compile errors when assertions are enabled:
#2261 sched/timer: add support of CLOCK_MONOTONIC
#2455 sched/sched/sched_waitpid.c: Discard the correct child entry
#2487 sched: clock/time: add CLOCK_BOOTTIME definition
#2517 sched: spinlock: Introduce SP_WFE() and SP_SEV()
#2518 sched: Don't forward gettid to getpid directly
#2602 sched: Add include/sys/poll.h
#2262 sched/init: init the default home directory to environment
#2719 sched/task: setup the scheduling policy to task
#2872 sched: pthread: Fix pthread cmdline issue
#2043 sched: Add SCHED_INSTRUMENTATION_HIRES support
#2044 sched: Add note_syscall args support
#2005 Fix note_syscall_leave_s to avoid unaligned access
#3247 sched: Move the default Task Stack size to Stack menu
#2631 sched: mqueue: simplify the mqueue reailize
#2981 sched: Remove all group id related stuff
#2946 sched: task: Call nxtask_flushstreams() without critical section
#2624 sched: implement the default test-and-set semantics
#2204 sched: irq: Fix enter_critical_section() in an irq handler for SMP
#3196 sched/signal: Implement SA_NODEFER
#2176 syscall/syscall.csv: Increase number of arguments for prctl()
#3033 unistd: Fix getpriority not handling invalid input value
#2256 unistd/sched_sporadic: correct the disable value
#2255 sys/epoll: sync the epoll define with linux
#2236 sched/task/task_exithook.c: Remove a redundant assignment
#2218 sched: signal.h: fix compile failed when open TTY_SIGINT
#1852 sysconf: add _SC_PAGESIZE sysconf support
#2824 build/esp32: Create Flash size configuration and a new DOWNLOAD make target
#2107 build: Makefile should reference CONFIG_HOST_xxx
#3317 tols: Update python scripts to py3 and lint all of them againt Black
#2392 configure.sh: support custom board build config with absolute path
#1834 License/authorship handling scripts
#3017 tools: esp32: Config.mk: Revert part of "Don't abort make when QEMU script fails"
#2882 tools: esp32: refine the QEMU image generation.
#2729 tools: esp32: backtrace.gdbscript: Add comments
#2673 tools: esp32: add a gdb script to show backtrace
#2679 tools: esp32: btdecode.sh: Script to decode the Xtensa backtrace.
#2895 tools: esp32: fix warnings from ShellCheck
#3012 tools: esp32xx: Few fixes/improvements to the post build scripts
#2803 tools: esp32: Remove some duplicated output
#2701 tools: gdbinit: add support for reporting total and used stack size
#3094 tools: version.sh: Fix PATCH including extra version
#2982 tools: nxstyle: Verify relative path in the file header
#3004 tools: esp32XX: Delete the Makefile that downloads IDF.
#2930 tools: version.sh: If the version is not available, use 0.0.0
#2411 tools: Add 'handle SIGUSR1' to nuttx-gdbinit for the NuttX sim SMP
#2221 tools: Avoid messing the final binary nuttx.(bin,hex,...) compilation msg
#2192 build: Move __NuttX__ definition to tools/Config.mk
#2101 build: Add $(OBJS) and $(BIN) to CLEAN macro to clean objects also in subdirectories
#2380 tools: Fix nuttx-gdbinit for armv7-m with FPU
#2032 build: Change .external_dummy to dummy
#2335 build: Parallelize depend file generation
#2432 build system: add missing --obj-path to MKDEP
#2404 Update checkrelease script to check readme.md instead of .txt
#2557 tools/version.sh: Fix the version retrieved from GIT
#2561 tools: Fix version.sh
#2974 STM32L5 Architecture Support
#3001 arch:riscv64:basic porting for C906
#3023 Remove nr5m100 and gap8 support
#2566 arch/risc-v: Add BL602 support
#1995 arch: Add custom arch chip build support
#2161 Added Support for more TI Tiva Microcontrollers:
ARM
#2042 Fix interrupt stack handlings for ARM SMP
#2932 arch: armv6-m: Apply armv7-m signal handling logic
#2990 arch/armv7-m: Adds dwt helper functions for controlling watchpoints i…
#2876 arm: ARMv6-M vector table offset register support
#2061 Refactor arm interrupt stack related code
CXD56XX
#2750 arch: cxd56xx: Add i2c bitbang lower driver
#2830 Driver-specific spinlock for cxd56_serial.c
STM32
#2177 FLASH waiting cycles are configured based on HCLK.
#2985 stm32 Ethernet hardening
#2477 STM32 FLASH latency is calculated based on Vin
#2473 STM32 - Add ADC register definitions for STM32G4 family
#2325 arch/arm/src/stm32/stm32_serial.c: for flowcontrol use common idiom for enabling/disabling RX interrupts
#2194 stm32 - Add register mappings for STM32Gxxxxx-family DAC
#2180 stm32 - Add register mappings for STM32G474 VREFBUF
#2288 stm32: Add DMAMUX register mappings and request IDs
#2273 stm32/stm32_spi: Add SPI register definitions for STM32G47xxx
#2095 arch: stm32: fix otghs logic to support interface requests
#2010 arch/arm/src/stm32h7/stm32_spi.c: fixed build issue when SPI is configured
STM32L4
#2232 STM32L4 ADC: Add injected channel support.
#2220 STM32L4 TIMER: Add some helper functions
#2178 STM32L4 ADC driver: extenal event configuration
#2068 STM32L4: Improvements on ADC driver
STM32L5
#3090 stm32l5: Optional LSE xtal drive strength ramp-up
S32K1XX
#2900 s32k1xx: Support ramfunc
IMX6
#2595 Add imx_enet driver
IMXRT
#2929 iMXRT: changes to FlexCAN driver support
#2471 imxrt: Support serial single-wire mode and fix parity settings
#2461 arch/imxrt: Added NETDEV_LATEINIT option for Ethernet
#2354 imxrt: Added support for DP83825I PHY
#2212 arch/arm/src/imxrt: adds support for WDOG1
RP2040
#3002 arm/rp2040: SPI driver DMA transfer support
#2952 arm/rp2040: Add I2C driver support
#2916a rm/rp2040: Raspberry Pi Pico SMP support
#2986 arm/rp2040: Add SPI driver support
NRF52
#2189 nrf52_spi: support unconnected MISO/MOSI pins
#2705 nrf52: Add a static copy buffer for i2c NOSTART transfers
#2674 nrf52_i2c: add support for I2C_M_NOSTOP and I2C_M_NOSTART flags
#2717 I2C bitbang driver (and nRF52 implementation)
#2756 nrf52: add stackcheck support
#2712 nRF52: support stack coloration
#2735 nRF52: add support for building SoftDevice BLE controller
#2182 nrf52: support configuring no console/serial
#2207 nrf52: add POWER register definitions; support enabling DC/DC regulator
#2149 nrf52832: add errata mitigation code for various RADIO issues
#2148 nrf52_wdt: split into low-level API and watchdog driver lower-half
#2270 nRF52 SPI improvements
STM32H7
#3207 usbhost: Add usb host tracing strings to stm32h7
#2994 stm32h7: Allow custom clock configuration to use stdclockconfig
#2955 stm32h7:Add DBGMCU missing from master
#2880 arch/stm32h7: add definitions for DAC
Renesas
RX65N
#2469 USB Host Driver Support
Risc-V
#2470 risc-v: Introduce basic setjmp support
RV64
#2928 arch:rv64:add API up_copyfullstate for later FPU support
#3018 arch:rv64:c906:enable DP FPU support
#3073 arch:rv64:c906:demo protect build without the PMP
#3203 arch:rv64:c906:add risc-v PMP and change mem map for protect build.
ESP32C3
#3006 esp32-c3: Adds timer driver
#2901 esp32c3: Add system reset.
#2870 Support for ESP32-C3 GPIO Driver
#2965 ESP32XX: Add more flash options to esptool
#3007 risc-v/esp32-c3: complements serial driver
#3160 riscv/esp32c3: Add standard C atomic function
#3126 risc-v/esp32-c3: Add support to SPI Flash
#2875 risc-v/esp32c3: Add support for Main System Watchdog Timer
#3040 riscv/esp32c3: Add ESP32-C3 WLAN netcard driver
#3028 ESP32-C3: Add I2C drive
#3029 risc-v/esp32-c3: Adds termios support
BL602
#2669 risc-v/bl602 : add gpioirq、 i2c(master) driver.
#2836 :risc-v:bl602:add support for elf file apps
#2991 risc-v/bl602: Add wifi and ble support
#2659 arch/risc-v/bl602 : add spiflash(hardware sf controller)
#2809 arch:risc-v:bl602: enable FPU for this target.
#2804 arch/risc-v/bl602: spi_master support.
#2655 arch/risc-v/bl602 : add pwm onshot watchdog driver
#2633 BL602: Add support for system reset modes
#2614 bl602: Update register maps and lower half drivers
Xtensa
#2014 Add the optional interrupt stack to the Xtensa architecture
#1933 Add support to PSRAM using SPIRAM interface
#2352 Print the bakctrace on assertions
#2504 Get full backtrace from interrupts.
#3015 hostfs: Make host_stat populate st_size
ESP32
#3003 Re-organise the different heap regions
#2999 Add WPA2 Enterprise and WPA3 support
#2939 Refactor ESP32 WiFi driver to support station and softAP coexistence
#2947 esp32_ummap: write back spiram cache before calling Cache_Flush
#2965 Add more flash options to esptool
#2983 Extract memory layout definitions to a separate header
#2979 Add support for I2C tracing
#2840 Add esp32_gpio_matrix_in/out to replace ROM functions
#2831 Writeback PSRAM data when mapping SPI Flash address to ESP32's address bus
#3048 timer driver refactor
#2858 Fix a memory leak when discarding a large packet.
#2716 Add AES hardware accelerator driver
#2613 Added driver api to reload counter instantly
#2721 Add efuse driver
#2514 allows the rtc wdt to be configured in bootloader and used later
#2550 enables started flag if the wdt was turned on in bootloader
#2515 Added support for RTC WDT
#2474 Optimize IRAM usage based on esp-idf
#1945 Added Timer Support
#1978 Add power management of deep-sleep
#2269 Add high memory support to work with PSRAM
#2294 Refactor ESP32 Wi-Fi driver
#2296 added support to automonitor by capture
#2074 Add real-time timer support for WiFi
#2138 Add Partition and OTA device
#2199 SPI Flash driver uses global sem for all MTD
#2224 Add SPI Flash hardware encryption I/O support
#2242 Watchdog support (MWDTs)
#2234 Include cache workaround to PSRAM
#1958 When PSRAM is enabled allow drivers and tasks to allocate memory from a separate internal memory
#1942 Implement BASIC reset logic
#2129 add "nimble" config, to test nimBLE on top of bthcisock
#3152 add dlsym to nuttx-names.in
#2164 add LVGL configuration which uses the X11 framebuffer and mouse
#3093 add heap policy and asan logic to support mm debug on sim platform
#2619 hci: reuse the reserved fields of hci buffer
#2696 hcitty: add hcitty adapter
#2158 linux I2C bus support in sim
#2579 make it conditional with FS_FAT
#2599 names: add writev/readv into name list
#3478 refactor signal handling
#2130 rpproxy/rpserver: force use 'CONFIG_SIM_M32' for 64bit system.
#2198 support LCD emulation over X11; correctly decouple LCD/FB from X11/NX
#2690 support sim vfork
#3231 add the simulated lower-half FOC device
#3224 boards/sim: remove dsptest configuration
#2720 board/sim: Support NuttX BLE stack through uart shim driver
#2408 Documentation: support versioned docs
#3127 Documentation: add ESP32 and DevKitC docs
#1955 Add documentation for note filters and task trace guides
#2268 Documentation for Watchdog Timer Driver
#3490 Documentation/esp32: Add supported peripherals
#1959 Documentation for the Timer Driver
#3138 Addind CMake based C++ project example in documentation
#2543 Documentation: how to use auto monitor feature to keep the chip alive
#3022 hostfs: Document the backends and restrictions
#2819 Documentation: document nRF52832 Sparkfun board (improve MDK board a bit)
#2818 Documentation: introduce hardware platforms documentation
#2334 CONTRIBUTING.md: talk about preferred commit message format
#2390 Documentation: improve debugging section
#2485 Documentaiton: merge quickstart to getting started
#2045 Documentation: Misc fixups for broken links, errors, warnings
#2329 Documentation/components/drivers/character/pwm: fix pwm.c location
#2031 Documentation/quickstart/debugging.rst: rewrite JTAG/OpenOCD section
#2106 documentation: change non-working URL
#2362 Documentation improvements
#3470 Documentation: migrate ESP32 README to docs
#3144 CI: remove linkcheck when building docs
#2051 Documentation/quickstart/debugging: rewrite SWD sentence
#2026 Documentation: Remove all tail spaces from *.rst and *.html
#3194 Documentation: add syslog user API and other minor improvements
#2027 Documentation: Reorganize some section
#2021 Correct the links in Documentation folder
#2024 Fix broken documentation links
#3180 documentation: improve boardctl() docs
#2563 update Documentation/components/drivers/character/watchdog.rst
#3271 docs and comments: Update stale references to COPYING
#2850 audio: Introduce a driver-specific spinlock to cxd56.c
#2950 audio: pcm_decode: add RAW format support
#2070 bluetooth: support HCI/L2CAP sockets, support HCI RAW channel
#3110 can: Add CAN FD flags to CAN header
#2490 leds: ws2812: make frequency selection more flexible
#2208 lcd: add optional putarea()/getarea() operations
#2139 lcd: Ssd1306 cleanup
#2200 lcd: Minor fixes to ssd1306 i2c driver
#2188 lcd_dev: put header in correct location; fix missing const
#2142 note: Add task name record for task trace
#2146 pipes: nx_pipe syscall takes three params, also use nx_close
#2315 sensors: add common circular buffer management
#2215 sensors: add new feature about sensor driver model
#2039 sensors: add unified management for sensor
#2715 sensors: bmp280: convert to sensor interface (and minor sensor change)
#2711 sensors: bmp280: minor fixes
#2907 sensors: driver model update
#3000 sensors: fakesensor support batch
#2369 sensors: support custom types of sensor
#2318 sensors: update l3gd20 sensor driver with new sensor driver model
#2698 syslog: Added color output to syslog.
#2621 syslog: Added formatted timestamps in syslog.
#3050 syslog: Added support for multiple syslog channels.
#3020 syslog: add option to prefix process name
#2697 syslog: Added printing of log priority in syslog
#3215 syslog: Drop extra carriage return from syslog calls
#2692 syslog: Prepend Process ID to syslog message
#2710 syslog: Re-arranged syslog fields.
#3226 syslog: Added multi device support in syslog_device.
#2961 syslog_rpmsg: fix system crash when open CONFIG_SCHED_HAVE_PARENT
#3201 timers: rtc/rpmsg: support server and client to set time each other
#2691 wireless: bluetooth: add more hci event definitions
#2704 wireless: bluetooth: minor fix for bluetooth driver
#2607 wireless: bluetooth: minor fix to bluetooth stack
#2609 wireless: bluetooth: fix minor issue in bt uart driver
#2201 wireless: gs2200m: Add function to get IWNWID / IWFREQ / IWSENS information
#2175 wireless: gs2200m: Check disassociation from AP and enable rejoin
#2429 audio: add simple wm8994 codec driver
#2282 audio: cxd56: add initial audio SRC implementation
#2301 analog: support for MAX1161X family of I2C 12 bit ADC chips
#2736 console: Add generic support to LWL Console
#2628 efuse: Add generic efuse driver for NuttX
#2166 lcd: Add LCD character driver: allows interacting with LCD directly from userspace
#3230 motor: add generic upper-half driver for Field Oriented Control (FOC)
#1936 note: Add task trace support
#2216 rc: support infrared remote control
#2829 sensor: add fakesensor driver
#3474 sensors: Adds driver for hyt271 sensore module
#1989 sensors: Support fxos8700cq motion I2C sensor
#2091 usbdev: add Android Debug Bridge driver
#2877 Support for Raspberry Pi Pico
#2838 Add initial support for ESP32-C3 and ESP32-C3 DevKit board
#3217 board: Add support for nucleo-h743i2
#2503 Re-organise ESP32 boards and introduce two more(ESP-WROVER-KIT and the ESP32-Ethernet-Kit)
#3129 boards/stm32: add initial support for b-g431b-esc1 board
#3234 boards/stm32/common: add support for IHM07M1 and IHM08M1 boards
#2463 boards: Added Teensy-4.x BSP
#2506 stm32: add stm32g43x support and nucleo-g431rb board
ARM
CXD56
#3084 cxd56_gnss: Add missing include header for cxd56_gnss.c
#3085 cxd56_cpu1signal: Fix an issue that gnss does not work
#3024 Spesense CPU activity LED support
#3016 spresense:rndis_smp
#1939 Add cxd56xx intstack for SMP
IMX6
#2997 boards: sabre-6quad: Add netnsh_smp configuration
IMXRT
#2588 teensy-4.x Support for ST7789 controller
#2526 boards/arm/imxrt/teensy-4.x: CDC-ACM console support
#2004 FlexCAN driver for i.MX RT1060 MCU
LPC17XX_40XX
#3239 board/arm/lpc17xx_40xx/mbed: Add userleds driver support
NRF52
#2706 board/nrf52-feather: Add simple i2c test configuration
RP2040
#3021 add INA219 support
#2894 boards: raspberrypi-pico: Add nshsram defconfig for SRAM build
#2884 Update raspi-pico
#3067 boards/raspberrypi-pico: Pico Display Pack (ST7789 LCD) support
#3030 boards/raspberrypi-pico: Support ENC28J60 SPI ethernet board
#3014 BMP180 sensor support to RP2040
SAM34
#2464 Added: MT29F2G Nand Flash block driver for sam4s-xplained-pro
STM32
#3097 Add configuration for testing the Sporadic Scheduler.
#3064 boards: refactor for nucleo-f446re and nucleo-f302r8 boards
#3053 Nucleo-F446RE: added support for CAN driver
#3225 stm32/stm32_adc: various improvements for ADC
#3223 stm32/stm32_pwm: add interfaces to access RCR register and TRGO
#3232 stm32/stm32_foc.c: add the lower-half FOC device support
#3222 stm32/stm32_serial: add support for TX DMA and some improvements
#2505 boards/arm/stm32/stm32f103-minimum: cleanup
#2433 Add 2.4 Inch TFT LCD Shield ILI9341 for nucleo-l152re, 8080 MCU 8-bit
STM32L4
#2009 Added STM32L432KC DAC support
#2842 board: nucleo-l432kc: Add missing i2c_master_s definition
#2837 Add missing I2C3 support on nucleo-l432kc board
STM32F4
#3056 Add LCD1602 Backpack to common board
#3052 Add support to LCD ST7789 on STM32F4Discovery
#2699 boards/stm32f4discovery: Add a LWL board profile and improve the README.txt
#2553 boards: stm32f4discovery: Add adb configuration
STM32F7
#3218 Integration of pysimCoder with NUTTX
KINETIS
#2847 board/freedom-k64f: Add usbdev support with cdcacm example
#1977 freedom-k64f: Support raw binary firmware format
#1980 freedom-k64f: Add renew DHCP client for netnsh
#2037 freedom-k64f: Add demo configuration
#2047 freedom-k64f: Add I2C to demo image
#1982 freedom-k64f: Add I2C initial support
RISC-V
BL602
#2764 boards: bl602evb flash and debug notes
C906
#3027 board:rv64:c906:support the ELF apps
ESP32C3
#2897 boards/esp32c3: Add tmpfs mounting when bringing up
#2879 risc-v/esp32c3: Enable stdio buffering for esp32c3-devkit NSH config
#3261 esp32-c3: Add support to RNG peripheral
XTENSA
ESP32
#2883 This commit implements I2C support for ESP32 (wrover kit)
#2864 Add wapi_smp to test Wi-Fi in SMP mode
#2971 esp32: Add board config to support MCP2515
#3071 ESP32: Mount TMPFS on board bring up
#2888 This commit enables BMP180 suport for ESP32
#2753 esp32: Enable renew for "wapi" configs
#3270 xtensa/esp32: Refactor register access functions on SPI driver
#3303 esp32-devkitc: Add BMP180 sensor support
#3192 esp32-devkitc: Make nsh the entry-point of the ostest config
#3211 esp32-devkitc: Add GPIO board support
#3190 risc-v/esp32c3: Support ESP32-C3 wireless ioctl cmd
#3164 xtensa/esp32: Adds oneshot timer driver.
#3117 xtensa/esp32: Use Polling instead of DMA for transfers below threshold
#3154 ESP32: Add Button support via BOOT button on GPIO0
#1893 xtensa/esp32: Add ESP32 WiFi adapter and driver
#3139 xtensa/esp32: Support esp32 wireless ioctl cmd
#3095 ESP32: Allow a BSS section to reside in external memory
#2507 boards/arm/stm32: add common and stm32f103-minimum support for WS2812
TIVA
#2684 boards: lm3s6965-ek: Add iperf to discover/defconfig
#3105 fs/epoll: correct the return value of epoll_ctl(2)
#2956 fs/mount: fix mount cmd break out when meet stat error
#3042 fs: vfs : Do some adjustments for epoll
#2317 fs: flashback to release all file descriptors in group to increase debugging time.
#2540 fs: Skip call fs_checkfd if fd < 3 in fs_fdopen
#3137 fs/littlefs: Suppport the duplication function
#2724 fs/tmpfs: Iterate the entry reversely in readdir
#2852 fs: Merge fs_poll into poll_fdsetup
#3060 fs: find_blockdriver: Don't ferr() on MTDs
#3070 fs/mmap: Return EACCES for incompatible file descriptors
#3069 fs/mmap: Clarify MAP_PRIVATE dependency on CONFIG_FS_RAMMAP
#2861 fs: change geometry sizes from size_t to uint32_t
#2260 fs: eventfd: remove the unique minor limit
#2598 fs/epoll: add asynchronous epoll control support
#3045 fs: Allocate file/socket dynamically
#2841 fs: procfs meminfo improvements
#2957 fs: mqueue: add poll support
#3212 fs/lfs: Update version to 2.4.0
#2414 net: tcp: implement the fast retransmit
#3257 net: tcp: support bind the same port with different domain
#2548 net: tcp: optimize TCP handshake performance
#3113 net: usrsock: add send multi-elements support
#2899 net: socket: Unify socket into file system to avoid the code duplication
#2695 netpacket: if_addr: add interface address header
#3081 tcp_send_buffered.c: improve tcp write buffering
#3025 net: Add sendmsg and recvmsg to syscall list
#2417 net: wireless: add country code control support
#2964 net: socket_rpmsg: add socket rpmsg support
#2415 net: gmp: add MULTICAST_TTL support
#2257 net: callback: remove the assert check of conn instance
#3043 net: local: Remove local_send.c since nobody use it now
#3221 net: tcp: tcp_send_buffered.c: Fix non-blocking I/O
#3100 net: tcp: correct the port byte order
#3106 net: if: remove the macro expansion of the public structure
#3104 net: dev: check the available address further
#3101 net: arp: add timeout to avoid infinite send wait
#2489 net: tcp: send the ACK in time after obtain ahead buffer from iobs
#3099 net: tcp: dup: do not start the tcp monitor if unestablished
#3103 net: tcp: reset the connection ref count before tcp_free()
#2688 net: Remove duplicate forward references
#2911 net: fix a few DP83848C and DP83825I constants
#2978 telnet: fix crash about telnet client connect
#3254 net: arp: Fix arp
#2959 net: socket: move si_send/recv into sendmsg/recvmsg
#2869 netdb.h: Add NI_MAXHOST and NI_MAXSERV
#3037 Revert "net: tcp: Add DEBUGASSERT() in psock_tcp_send()"
PR-1890 (commit 2caf3a69e3d60ec550980f7ba897c732e7a39df7) attempts to speed up compilation time for concurrent builds by changing assignment to makefile variables CFLAGS, CPPFLAGS, CXXFLAGS, and AFLAGS from recursive (=) to simple (:=). This causes these compile options to be expanded only once during the build.
If you are using NuttX on a custom board not in the NuttX repository, you may want to make a similar change to your Make.defs files. Change these recursive assignments:
CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe CXXFLAGS = $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) AFLAGS = $(CFLAGS) -D__ASSEMBLY__ |
to simple assignments:
CFLAGS := $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe CXXFLAGS := $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe CPPFLAGS := $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) AFLAGS := $(CFLAGS) -D__ASSEMBLY__ |
PR-2192 (commit 9208176f600d0d04446531909bf05710716a5ee4) refactors definition of the __NuttX__ preprocessor symbol to tools/Config.mk, so it is no longer necessary to define it in each board's Make.defs file.
If you are using NuttX on a custom board not in the NuttX repository, you may want to make a similar change to your Make.defs files.
Remove lines like this:
ARCHDEFINES = -D__NuttX__ |
Or remove -D__NuttX__ from lines like this:
CXXFLAGS += $(ARCHDEFINES) $(EXTRAFLAGS) -pipe -std=c++11 -D__NuttX__ |
Release artifacts for all current and past NuttX releases can be downloaded at:
The Apache NuttX project uses Git SCM as its version control system.
There are two primary repositories:
The main "Single Source of Truth" repositories are hosted by the ASF:
These are synchronized with repositories hosted at GitHub:
The main forum for project communication, to ask a question, get involved, or contribute to NuttX, is our mailing list, dev@nuttx.apache.org. The list is publicly archived and searchable at https://lists.apache.org/list.html?dev@nuttx.apache.org. For more information, see NuttX Community.
NuttX is a free open-source project. If you'd like to participate, whether it's to enhance documentation (even these release notes) or dive into the nitty gritty of some low-level drivers, please join us! You can join the conversation at our dev mailing list by emailing dev-subscribe@nuttx.apache.org. The mailing list is open to the public and archived. You can browse older messages at https://lists.apache.org/list.html?dev@nuttx.apache.org.