You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

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

  • #12191 drivers/sensors: add support for bmm150 magnetometer
  • #12193 drivers/sensors: add support for adxl362 accelerometer
  • #12329 drivers/video/V4l2m2m

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

  • #12186 Support for W5500-EVB-Pico board
  • #12324 boards/stm32h7: Add initial support to WeAct STM32H743
  • #12528 risc-v/k230: initial rv64ilp32 support

Boards With  Improvements

  • #12287 Added support in Nucleo-L476RG board for BMP280 sensor.
  • #12347 Added support in Nucleo-L476RG board for MPU9250 sensor.
  • #12373 Fixed collision between CAN1 and I2C1. Board nucleo-l476rg.
  • #12384 XMC4800 fix config board.h
  • #12440 boards: cxd56xx: Fix read position in cxd5610 gnss driver
  • #12038 boards: Fix board configs after disabling NSH_DISABLE_HELP
  • #12410 boards: Kconfig esp32c3, esp32 and esp32s3 corrected PM block
  • #12028 boards: rp2040: Fix build errors for nshsram configurations
  • #12420 boards/raspberrypi-pico: Add support to BMP280
  • #12025 boards/raspberrypi-pico: Fix nshsram build error
  • #12448 boards/raspberrypi-pico: Remove early return for error cases in initialization functions.
  • #12403 boards/arm/stm32: Add support to transparent OLED SSD1309
  • #12371 boards/arm/stm32: Stm32f401rc rs485 hcsr04
  • #12241 boards/arm/stm32/common/src/stm32_bh1750.c: fix include
  • #12370 boards/arm/stm32h7/linum-stm32h753bi: add support to ethernet connection
  • #12248 boards/arm/stm32h7/linum-stm32h753bi: Add support to rndis(etherver over usb)
  • #12272 boards/arm/stm32h7/linum-stm32h753bi: Add support to usbmsc with sdcard
  • #12082 boards/arm/stm32h7/linum-stm32h753bi: add support to zmodem
  • #12039 boards/arm/stm32h7/linum-stm32h753bi: fixed leds example
  • #12162 boards/arm64/imx9/imx93-evk/src/imx9_pwm.c: Fix initialization of TPM…
  • #12358 boards/arm64/imx93-evk: Fix potential warning about unused variable
  • #12021 boards/control: add irq affinity control
  • #12166 boards/stm32: Fix ds1307 and move it to stm32/common
  • #12245 boards/stm32f103-minimum: fix i2c driver register
  • #12257 boards/stm32f401rc-rs485: Add support to Mass Storage
  • #12246 boards/stm32f401rc-rs485: Add support to RNDIS
  • #12483 boards/thingy53: add sensors support
  • #12510 boards/risc-v: Add support for Milk-V Duo S SBC (SOPHGO SG2000 SoC)
  • #12408 boards/risc-v/litex/arty_a7/Kconfig: Added if LITEX_SDIO for common dependency
  • #12365 boards/risc-v/mpfs/common/src: Update mpfs_emmcsd.c and mpfs_composite.c
  • #12372 boards/risc-v/rv-virt: Use config to compute memory layout for kernel build
  • #12308 boards/risc-v/rv-virt/configs: enable debug features
  • #12155 boards/risc-v/rv-virt/knsh32: enable debugging options
  • #12304 boards/xtensa: update esp32-devkitc/wamr_wasi_debug
  • #12310 boards/xtensa/esp32s3: Limit MTD partition size according to the flash size and revert "esp32s3: give ESP32S3_APP_FORMAT_LEGACY a prompt
  • #12256 boards/xtensa/esp32/lvgl: fix lvgl v9 configuration error

File System

Bug Fixes

Improvements

Networking

Improvements

  • #12215 Netlink route support
  • #12080 net: Fix max conn always one less than configured value
  • #12487 net: fixed bind can not return error when used same addr.
  • #12454 net: Enable CONFIG_NET_ARP_SEND by default
  • #12110 net: Make TCP/UDP max & min port customizable
  • #12129 net: Optimize TCP/UDP port selection
  • #12508 net: Support packet filter (firewall) and corresponding iptables/ip6tables
  • #12338 net/icmpv6: fix resource leak of icmpv6
  • #12452 net/inet: Rename ttl to s_ttl in sconn
  • #12251 net/ipv6: Optimized the ipv6 sending of the Layer 3 NIC
  • #12340 net/ipv6/netlink: add netlink report when get ipv6 address by icmpv6
  • #12465 net/can: Add SO_RCVBUF option for can socket
  • #12089 net/can: deliver data into multiple CAN conn bound to same dev
  • #12344 net/netdev: Check quota when registering lower-half devices
  • #12203 net/netdev_upperhalf: add L3 packet handle
  • #12221 net/netfilter: Correction of header files
  • #12156 net/netlink: Add NETLINK_NETFILTER's CONNTRACK support
  • #12458 net/netlink: fix IPV6 macro bug
  • #12130 net/nat: Minor code optimizations
  • #12107 net/nat: Slightly optimize the IPv4 NAT
  • #12116 net/nat: Support IPv6 Masquerading (NAT66)
  • #12085 net/nat: Support Symmetric NAT
  • #12339 net/route: fix Mico definition bug
  • #12253 net/tcp: decouple TCP_NODELAY and NET_TCP_KEEPALIVE
  • #12391 net/tcp: fix tcp will not close when tcp retransmission reaches TCP_MAXRTX
  • #12342 net/udp: fix udp wrb-iob leak when NIC was down
  • #12015 net/udp: Slight improvement on multicast
  • #12212 net/udp_input: Only dup packets for broadcast / multicast.

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.orgFor 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.

  • No labels