DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Work In Progress
Work In Progress
What's New In This Release
Major Changes to Core OS
New Features
Bug Fixes
Major Changes to the Build System
New Features
#2824 build/esp32: Create Flash size configuration and a new DOWNLOAD make target
#2107 build: Makefile should reference CONFIG_HOST_xxx
Bug Fixes
#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
#3094 toos: 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
Architectural Support
New Architecture Support
Simulator
New Features
#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
Driver Support
Bug Fixes
#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
#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)
#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
#2692 syslog: Prepend Process ID to syslog message
#2691 wireless: bluetooth: add more hci event definitions
#2201 wireless: gs2200m: Add function to get IWNWID / IWFREQ / IWSENS information
#2175 wireless: gs2200m: Check disassociation from AP and enable rejoin
New Driver Support
#2429 audio: add simple wm8994 codec driver
#2282 audio: cxd56: add initial audio SRC implementation
#2301analog: 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)
#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
Drivers With Significant Improvements
Board Support
Significant Improvements
New Board Support
Boards With Significant Improvements
File System
Bug Fixes
Significant Improvements
Networking
Applications
Improvements
Bug Fixes
Security Issues Fixed In This Release
Compatibility Concerns
Changes to Build System
Change CFLAGS, CPPFLAGS, CXXFLAGS, and AFLAGS from Recursive to Simple Assignment
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__
Not Necessary to Define __NuttX__ in Make.defs
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__
Known Problems In This Release
More Information
How to Download
Release artifacts for all current and past NuttX releases can be downloaded at:
How to Clone the Git Repository
The Apache NuttX project uses Git SCM as its version control system.
There are two primary repositories:
- nuttx - The real time operating system itself.
- apps - Optional applications and example programs for the operating system. You can use this repository or make your own custom one.
The main "Single Source of Truth" repositories are hosted by the ASF:
- https://gitbox.apache.org/repos/asf?p=incubator-nuttx.git
- https://gitbox.apache.org/repos/asf?p=incubator-nuttx-apps.git
These are synchronized with repositories hosted at GitHub:
How to Contact the Community
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.
Enthusiastic Contributors Welcome!
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.