Work In Progress
Work In Progress
What's New In This Release
Major Changes to Core OS
Sched
- #12404 nuttx/arch.h: Update parameter type to match definition.
- #12464 Revert "sched: replace some global variables to macro"
- #12175 sched: Move dump.c to sched_dumponexit.c
- #12376 sched: remove g_cpu_schedlock g_cpu_irqsetlock g_cpu_locksetlock
- #12377 sched: remove redundant variables "switched"
- #12031 sched: SMP: Fix issues of return values of nxsched_add_readytorun()
- #12140 sched_lock: we can remove these sched_lock,
- #12009 sched/environ: Improve performance of set/unset environment
- #12114 sched/irq: irq_cpu_locked can be remove
- #12115 sched/irq: remove scheduling check in csection
- #11973 sched/irq: spinlock should not depends on SMP
- #12427 sched/kconfig: add PID_INITIAL_LENGTH
- #12179 sched/Kconfig: make disable idle loop configurable
- #12434 sched/Kconfig: waitpid() depends on SCHED_HAVE_PARENT if BUILD_KERNEL
- #12316 sched/misc: dump stack as platform bit width
- #12319 sched/mqueue: add support of tick based send() and receive()
- #12126 sched/mqueue: correct list parameter
- #12001 sched/mqueue: merge System-V message queue initialize into posix
- #12402 sched/mqueue: reclaim unsent message
- #12315 sched/posixspawn: disable tedious logging
- #12106 sched/pthread: detached thread should destroy the join info
- #12314 sched/pthread: pthread_join null pointer
- #12388 sched/pthread: rename pthread_initialize.c
- #12462 sched/pthread: simplify pthread_create() branch logic
- #12282 sched/sched: CONFIG_SCHED_RESUMESCHEDULER macro define error
- #12284 sched/sched: Simplify the scheduling logic in nxsched_add_readytorun() for SMP
- #12141 sched/sched: There is no need to use sched_[un]lock
- #11997 sched/signal: add sanity check for siginfo
- #12380 sched/signal: fix deadlock when sigdeliver call enter_critical_section
- #12432 sched/signal: move signal structures pool to bss
- #12406 sched/signal: reclaim sigaction
- #12302 sched/task: minor revision on task_init.c
- #12320 sched/tcb: use shared group for kthreads
- #12285 sched/tee: In tee, we need to disable the IRQ interrupt to make the A core policy consistent with the M core.
- #12412 sched/tls: fix build error under CONFIG_PTHREAD_ATFORK enabled
- #12113 sched/timer: use spin_lock_irqsave protect g_alloctimers
- #12142 sched/wqueue: There is no need to use sched_[un]lock
- #12079 stack: update up_get_intstackbase API to support cpu id
mm
- #12449 mm: check double free before adding to delaylist
- #12467 mm: fix mm_curused calculate err
- #12541 mm: seperate mm_pool and mm_pool init
- #12041 mm/arch: user-space device mapping support
- #12445 mm/gran: Fix GRAN_ALIGNED() macro
- #12095 mm/gran: remove size limitation
- #12224 mm/iob: Support alloc IOB via malloc
- #12124 mm/map: minor reformating vm_region.c
- #12040 mm/map.h: polish field defs/comments
libc
- #12230 Basic locale support for C++ (libstdc++)
- #12422 Fixes for symbol definition in libc.csv and syscall.csv
- #12158 libc: add support for reallocarray
- #12168 libc.csv: Fix macro guard for TLS related symbols
- #12297 libc/lib_bzero:Add bzero prototype.
- #12112 libs/libc/fdcheck: update fdcheck impl
- #12263 libc/string: replace __builtin_ffsl with inline function
- #12451 libc/sem_open: return error code, sem returned by parameter
- #12426 libs/libc/gdbstub:fix get thread rsp command crash
- #12211 libs/libc/inttypes: add support for imaxdiv
tools
- #12087 Adjust the apps/benchmarks directory and add some new Profile tools
- #12231 tools: Extend default appdir list.
- #12137 tools/configure.sh: list confs by board
- #12195 tools/configure.sh: revise help message
- #12363 tools/minidump: 64-bit dump support
- #12010 tools/minidump: support multiple ELF files
- #12469 tools/minidumpserver: fix 32bit crash log parsing
- #12153 tools/uncrustify: disable leading space removal for block comment
various
- #12439 Kconfig: move LTO options to Build Setup menu
- #12045 all: Fix accessing uninitialized local variables
- #12492 compiler: fix build break on niche platform
- #12354 include: Add missing c symbols to std namespace
- #12303 include: When defining NDEBUG, assert will implement alignment standards
- #12075 include/nuttx/timers/pwm.h: add dcpol attribute to pwm_chan_s
- #12343 include/sys/socket.h: add the definition of SCM_TIMESTAMP
- #12529 include/unistd.h: Adds some posix supported definitions
Changes to the Build System
- #12171 boards/stm32: Add ds1307 to CMake build
- #12270 cmake: bugfix KERNEL should not be defined with FLAT mode in libc, mm etc.
- #12423 cmake:bugfix CMake compilation options settings should not use strings
- #12237 cmake: bugfix generate config.h contain ; characters will be handled incorrectly
- #12173 cmake: fix a few bugs during use CMake build
- #12035 cmake: implement ALLSYMS feat of CMake version
- #12011 cmake: init protected-mode for CMake build
- #12201 cmake/export: fix kernel mode app building
- #12312 cmake/romfs: separate c flags to avoid compile fail
- #12016 openamp/cmake: sync with libmetal.defs
- #12017 risc-v/cmake: revision for kernel mode
- #12023 virtio/cmake: sync with makefile system
Architectural Support
New Architecture Support
Architecture improvements
Driver Support
New Driver Support
Drivers With Improvements
- #12531 drivers: add note when driver registers
- #12139 drivers: There is no need to use sched_[un]lock
- #12473 drivers/1wire: update pm callback use container_of
- #12411 drivers/analog: add configuration option to set DAC FIFO size
- #12143 drivers/analog: enable support for multible devices of mcp48xx
- #11940 drivers/devicetree: Add a set of commonly used FDT utilities.
- #12405 drivers/devicetree/fdt: add additional fdt parsing utilities
- #12519 drivers/can/sja1000: fix cmd register write
- #12507 drivers/can/sja1000: fix Rx buffer pointer issue
- #12084 drivers/filemtd supports Nand-like file systems
- #12058 drivers/ioexpander/icjx: add support for change of input interrupts on NINT
- #12311 drivers/ioexpander/icjx: use iC-JX interrupt config instead of the general one
- #12367 drivers/misc/fix: call rwb->rhreload() when nblocks > 0
- #12188 drivers/misc/fix: the bug about rwbuffer causing mem overflow
- #12202 drivers/misc/rwbuffer: fix rwbuffer overflow issue
- #12317 drivers/mmcsd/mmcsd_sdio.c: Fix SD card 4-bit support
- #12042 drivers/net/lan9250: Fix crash issue of sending packets by lan9250 driver under SMP and multi-thread
- #12120 drivers/power/pm: Fix warning of type cast
- #12233 drivers/serial: mps3-an547:support nuttx run qemu(cortex-m55)
- #12177 drivers/serial/16550: remove unused function
- #12443 drivers/serial/pl011: add the interface about clock and reset control.
- #12262 drivers/serial/pl011: configurable clock frequency
- #12369 drivers/sensors: improvements for bmm150 and bh1749nuc
- #12240 drivers/sensors: various fixes for sensors
- #12258 drivers/sensors/Kconfig: Added if SENSORS_BME680 for common dependency
- #12192 drivers/sensors/adxl372: add support for the new sensor framework
- #12190 drivers/sensors/bh1749nuc: add support for the new sensor framework
- #12189 drivers/sensors/bmi270: add support for the new sensor framework
- #12513 drivers/sensors/bmi270: fix bmi270_uorb build
- #12244 drivers/sensors/bmi270_uorb.c: move init sequence to register function
- #12012 drivers/spi: Add support for FPGA iCE40 bitstream loading.
- #12341 drivers/tun: add tx packets dump
- #12413 drivers/timers/mcp794xx: store datetime in UTC and add trimming support
- #12474 drivers/timers/watchdog: fix idle callback maybe not upperhalf
- #12198 drivers/usbdev: fix complile break about mtp class
- #12199 drivers/usbdev/cdcacm: simply cdcacm uninitialize flow and fix double issue
- #12197 drivers/usbdev/fs: fix issue between adb/fastboot/mtp and usbdev fs
- #12539 drivers/video: fix code scan
- #11995 drivers/video: Make the I2C access more efficient
- #11994 drivers/video/isx019: Fix default_value of 3A status
- #11999 drivers/video/isx019: Fix the default_value of some parameters
- #12024 drivers/virtio/gpu: minor revision on virtio_gpu_send_cmd()
- #12330 drivers/vnc:fix vnc kbd assert cause by wrong data conversion
Board Support
New Board Support
Boards With Significant Improvements
File System
Bug Fixes
Significant Improvements
Networking
Improvements
Bug Fixes
Security Issues Fixed In This Release
Compatibility Concerns
Changes to Build System
Renamed or Modified Kconfig Options
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:
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.