Work In Progress

Work In Progress

NuttX X.Y 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

What's New In This Release

Major Changes to Core OS

Sched

  • #14080 Revert "sched/group/setuptask_file: duplicate idle task fd for kernelthreads
  • #14190 Revert "sched/spinlock: remove nesting spinlock support"
  • #14804 Revert "sem: change sem wait to atomic operation"
  • #14497 Revert "shced:sem: replace mutex with spinlock"
  • #14203 Reapply "sched/spinlock: remove nesting spinlock support"
  • #14761 Reapply "SYSLOG_DEFAULT: wrap up_putc/up_nputs calls with critical section" with a fix
  • #13950 sched note enhance
  • #13901 Sched note wdog
  • #14164 sched_backtrace: fix when dump running thread in other-core
  • #14875 sched_unlock: remove redundant/stale logic and comment
  • #14631 sched: add header irq.h to exit.c
  • #14183 sched: delete the dump file list when the thread exits
  • #13962 sched: export sched_getcpu API in AMP mode
  • #14243 sched: fix nxsched_process_delivered did not call hook
  • #14083 sched: fix nxsched_suspend_scheduler regression
  • #14026 sched: fix omitted merging the pending queue regression
  • #14059 sched: inline nxsched_select_cpu nxsched_add_prioritized 
  • #14272 sched: modify CONFIG_DUMP_ON_EXIT to CONFIG_SCHED_DUMP_ON_EXIT
  • #14286 sched: remove duplicate functions
  • #13995 sched: remove param in nxsched_remove_readytorun
  • #14954 sched: replace up_cpu_index with this_cpu
  • #14051 sched: support backtrace record
  • #14048 sched: There is no need to use sched_[un]lock
  • #14340 sched: Use spinlock repalce sched_[un]lock in some place
  • #14863 sched/addrenv.c: Fix usage of atomic_fetch_sub
  • #14061 sched/cpuload: fix SMP situation CPULOAD statistics are inaccurate
  • #14504 sched/cpuload: move g_cpuload_wdog to private chapter
  • #14069 sched/group: clear tcb group after group_release
  • #13957 sched/group: There is no need to use sched_[un]lock
  • #14186 sched/instrument: rename stack_record.c to stack_monitor.c
  • #14941 sched/lockcount: replace all lockcount check to nxsched_islocked_tcb()
  • #14815 sched/misc/assert.c: don't compile dump_assert_info logic if CONFIG_DEBUG_ALERT=n
  • #14614 sched/misc/assert.c: don't compile dump_task logic if CONFIG_DEBUG_ALERT=n
  • #14191 sched/pthread: Remove unused pthread_sem_xxx functions
  • #14032 sched/pthread: save pid before task activate
  • #14089 sched/pthread: There is no need to use sched_[un]lock
  • #14627 sched/sched: change the judgment condition for nxsched_set_affinity
  • #13896 sched/signal: change pthread_exit to nx_pthread_exit
  • #13934 sched/signal: Fix compilation errors for MSVC.
  • #14079 sched/spinlock: remove nesting spinlock support
  • #14454 sched/task_exit.c: Refresh current CPU instead of relying on stale value
  • #14402 sched/timer: Simplify setitimer implementation.
  • #14013 sched/wdog: Fix code style
  • #14003 sched/wdog: Revert wd_cancel semantics
  • #14629 sched/wqueue: fix work_notifier_setup() false failure
  • #14569 nuttx/semaphore: Move define CONFIG_SEM_PREALLOCHOLDERS to include/semaphore.h
  • #14129 nuttx/syscall: export nxsem_getprioceiling and nxsem_setprioceiling v…
  • #14581 pthread_cond remove csection  and sched_lock
  • #14786 pthread_cond_broadcast use wait_count for judement
  • #14626 pthread: remove enter_critical_section in pthread_barrier_wait
  • #14161 pthread: We should not directly include arch/spinlock.h

MM

  • #14314 Revert "mm/iob: Replace the critical section with spin lock"
  • #14370 mempool backtrace fix and de-init fix
  • #15060 mm_grantable.c: Fix infinite loop due to memory fragmentation
  • #14572 mm: Complete remaining unused macros instead of memory to fill tags
  • #14588 mm: fix tlsf compiler error
  • #13893 mm: Resolve a series of issues caused by opening the software tag kasan
  • #14858 mm/gran: Speed optimize gran_match
  • #13849 mm/heap: hold heap lock before access mm_nregions
  • #14054 mm/heap: memory alignment before executing kasan_register
  • #14764 mm/iob: remove csection
  • #14506 mm/kasan: extern kasan API only MM_KASAN is enabled
  • #14294 mm/Kconfig: adjust config options order and fix typos
  • #14105 mm/Kconfig: fix build error when MM_BACKTRACE > 0 and disable mempool
  • #14091 mm/kconfig: Remove unnecessary dependencies
  • #13891 mm/kconfig: set the default alignment of global variable out-of-bounds detection is 1
  • #14575 mm/mm_gran: fix compile warnings
  • #14144 mm/mm_heap: Optimizing heap performance changing the mm_size2ndx and…
  • #14547 mm/mm_memalign: add debugging log
  • #14114 mm/sw_tags: add config for no longer checking for tags 0

Libc

  • #14218 Revert "libc/atomic: decoupling atomic and spinlock to avoid recursion"
  • #14313 Revert "libs/libc:Openlibm adds exp10 and exp10f function implementat…
  • #14153 lib_memoryregion: fix the comments about the memory flags
  • #14799 lib_pathbuffer: change nxmutex -> spinlock
  • #14316 lib_stdoutstream:need return write size
  • #14148 lib_uuid_create: try use hardware random number generators first
  • #14292 lib/stdatomic: include stddef.h in atomic.h
  • #14661 libbuiltin: Simplify makefile writing
  • #14782 libbuiltin/kconfig: Modify coverage function dependencies
  • #14679 libbuiltin/Makefile: Modify the libbuiltin makefile to standard
  • #14715 libbuitin/compiler_rt: Supports separate builtin rt.builtins or rt.profile
  • #14451 libc string:Separate code.
  • #13969 libc: add CRC-8-ROHC support
  • #14296 libc: Add debug assert to prevent tls allocation failure
  • #14523 libc: Fix lib_arc4random.c:111:(.text.arc4random_buf+0x26): undefined reference to `clock_systime_ticks'
  • #14388 libc: Fix typo in libc/string/Kconfig.
  • #14365 libc: Make getcwd() work even CONFIG_DISABLE_ENVIRON is enabled
  • #14509 libc: Refine the arc4random_buf implementation
  • #14198 libc/atomic: decoupling atomic and spinlock to avoid recursion
  • #14057 libc/lib_utsname: Store version number for debugging and preventing optimization
  • #14753 libc/libc.csv: Fix signature of getpass
  • #14050 libc/machine: Fix the error caused by tag kasan
  • #14605 libc/machine/CMakeLists: should alaways build arch_atomic.c
  • #14798 libc/misc: do not sanitize backtrace_format
  • #14297 libc/modlib: Make modlib selectable from defconfig
  • #14154 libc/newlib:Declaration of adding depth
  • #15000 libc/puts: newline was omitted for empty string
  • #14589 libc/unistd: fixed tasking build issue
  • #14459 libcxx: fix compile error
  • #14431 libcxx: Ignore compile warnings.
  • #14244 libcxx: optional localization.
  • #15017 libcxx/CMakeLists.txt: Remove unnecessary flags.
  • #15057 libcxxabi: Soft link the libcxxabi header file to nuttx/include
  • #14884 libcxxmini: Add missing runtime related classes.
  • #15036 libm: Do not link the toolchain's libm unless explicitly selected
  • #15037 libm: Do not link the toolchain's libm unless explicitly selected [2]
  • #14783 libm: fix typo caused compile failed
  • #15022 libm/newlib: Add arch-specific source code first to CSRCS
  • #14101 libm/newlib: remove -Wno-maybe-uninitialized
  • #14838 libs: add gcov framework support
  • #14291 libs: remove lib_libbsprintf automatic line wrapping
  • #14570 libs/arch_libc:Add kasan protection for memset and other mm api
  • #14136 libs/libc: Optimize the stack space of lib_vsprintf by splitting argl…
  • #14142 libs/libc:Openlibm adds exp10 and exp10f function implementations
  • #13961 libs/libc/fdt/Make.defs: cannot move due to directory not empty bugfix
  • #14559 libs/libc/obstack: fix allocated chunk overrun due to invalid limit
  • #14328 libs/libxx: uClibc depends on CONFIG_ALLOW_GPL_COMPONENTS=y
  • #14284 libs/misc/memoryregion: remove unused memory_region
  • #14600 libs/modlib: Load data using up_textheap_data_address
  • #14364 libs/modlib.c: Set VMA for empty and unallocated sections
  • #14705 libs/uClibc++: Fix the Download URL for uClibc++
  • #14706 libs/uClibc++: Fix the Download URL for uClibc++ (CMake)
  • #13988 libs/x86_64:Add the setjmp/longjmp function
  • #14145 libs/xxx/CMakeLists.txt: add cmake compile support
  • #14668 libxx: All cxx libraries move down one level
  • #14471 libxx: C++ low level library select LIBSUPCXX by default.
  • #14250 libxx: Globally reference the header file of libcxxabi.
  • #14586 libxx/patch: Remove jira information and change-id 
  • #14238 nuttx/libc:Add _dl_find_object and dl_iterate_phdr function.
  • #14085 nuttx/libcxxtest: Fix build error.

Tools

  • #13959 [bugfix]checkpatch.sh:Fix checking for wrong cmake files
  • #13958 [bugfix]tools/mkdeps.c:add options for gen full path object target
  • #14723 [darwin] CI macos-14 : updated toolchains for macOS Apple Silicon
  • #14892 [MSYS2] CMake+Ninja Fix arm-none-eabi-ar: Argument list too long
  • #14539 toolchain/tasking: fix build break on tasking toolchain
  • #14620 toolchains: Compiler versioning adds --print-memory-usage
  • #14387 tools: fix parsetrace.py output
  • #14046 tools: gcov.sh supports generating device-side code coverage
  • #14289 tools: Rename apps-or-nuttx-Make.defs to Make.defs
  • #14399 tools/checkpatch: fix isort doesn't return error
  • #14691 tools/ci/platforms/darwin.sh: Port NuttX CI Job to macOS-14
  • #14121 tools/configure.sh: add relative path
  • #14438 tools/esp32s3/Config.mk: fix "printf:`': invalid format character"
  • #14393 tools/esp32s3/Config.mk: fix "unterminated call to function" error
  • #14267 tools/espressif: add esptool version check to Espressif build system
  • #14933 tools/gdb: Add a singleton class for macros
  • #14902 tools/imx9: Add norimage support to bootloader
  • #14565 tools/mkdeps: increase MAX_BUFFER from 16384 to 65536
  • #14709 tools/rp2040: Building picotool if necessary
  • #14147 tools/showsize.sh: support pass custom nuttx executable
  • #14047 tools/Unix.mk: allow defconfig to overwrite old config

Various

  • #13919 OpenAMP Upgrade Part1: prepare for the OpenAMP Upgrade
  • #14155 openamp/libmetal: use config OPENAMP_CACHE to control lib metal cache…
  • #14843 GDB Plugin Upgrade Part1 - Thread related commands
  • #14851 GDB Plugin Upgrade part2: memory leak detection and other memory tools
  • #14854 GDB Plugin Upgrade part3: fs related tools
  • #14899 GDB Plugin Upgrade part4: net related tools
  • #14920 gdb/debug: add debugpy to debug python code
  • #14315 gdbserver.py optimization
  • #14486 gdbstub:remove ARCH_HAVE_DEBUG depends
  • #14789 gdbstub:typo fix
  • #13903 gdbstub:we can use uart to debug with gdb when crash
  • #14309 include: queue.h: Make flink clear after sq_rem
  • #14536 include/netinet/if_ether.h: add ethhdr definition
  • #14193 include/nuttx/arch.h: MSI alloc API should be always available
  • #15015 include/usbdev_trace: Fix argument number and return value of macro usbtrace_enumerate()
  • #14187 nuttx:move "#define STRINGIFY(x)" to nuttx/macro.h
  • #14537 nuttx/atomic.h:Add use condition for using stdatomic.h
  • #14233 nuttx/elf.h: Fix build error with unknown type name 'bool'.
  • #14665 nuttx/uorb.h: Add GNSS firmware version for struct sensor_gnss
  • #14913 nuttxgdb list function enhancement
  • #14916 nuttxgdb memory commands performance optimization
  • #15001 nuttxgdb minor fix
  • #14914 nuttxgdb net module update
  • #14912 nuttxgdb utils module update
  • #14915 nuttxgdb utils value update
  • #14919 nuttxgdb: add error hint to gdbinit
  • #14921 nuttxgdb: minor fix to diagnose command and thread module
  • #14976 nuttxgdb/rpmsg.py:dump rpmsg_service message
  • #14347 coredump bug fix
  • #14262 coredump: add architecture-specific registers dump including NVIC an…
  • #14485 coredump: coredump_add_memory_region need use flags
  • #14150 coredump: do not dump non-writeable memory segment
  • #14254 coredump: fix bug that memsegs got invalid value
  • #14295 coredump.c: del multiple behavior
  • #14553 coredump.py:bug fix python file not have rename

Build System

Improvements

  • #15053 kasan/globals: fix compile error
  • #15056 kasan/lto: Turn off lto by default anyway
  • #14327 clang: support gcov ARM LLVM clang supports code coverage detection
  • #14472 clang:libclang_rt.builtins-xxx.a supports builtin
  • #14637 clang/cmake: Fix clang cmake can't find libgcc align with makefile
  • #14877 Clang/gcov: Enhance clang gcov dump
  • #14544 clang/ld.lld: clang17's ld.lld and above support the option --print-memory-usage
  • #14095 common/Toolchain.defs: support CONFIG_DEBUG_NOOPT for x86_64
  • #14127 common/Toolchain.defs: support CONFIG_DEBUG_NOOPT for x86_64
  • #14123 Compile warning fix & header file adjust
  • #15032 gcc/gcov: Add instrumentation function
  • #14970 gcov: Add gcov gcc implementation and toolchain to ci compilation
  • #14890 gcov: Add toolchain gcov dependency option
  • #14946 gcov: Add usage documentation
  • #14538 gcov: Fix typographical errors
  • #14557 gcov: Support for the most streamlined profile of LLVM-embedded-toolchain-for-Arm
  • #13965 gcov:adjust gcov configuration name and delete non-existent dependencie
  • #14251 cmake: add newly added sources to cmake
  • #14615 cmake: don't include syslog files if CONFIG_SYSLOG=n
  • #14404 cmake: fix the fdiagnostics-color handle issue
  • #14401 cmake: Renamed savedefconfig with refreshsilent
  • #14756 cmake:bugfix kconfig menu in cmake cannot be generated recursively
  • #14592 cmake:implement CMake build of xtensa arch
  • #14576 cmake(bugfix): add host mkdeps&incdir tool CMake build and fix X86_64 compile error
  • #14206 cmake(bugfix):add dependencies for nuttx_post ensure time order
  • #14746 cmake(bugfix):add missing source file for driver/serial and keep romfs cmake intermediate 
  • #14607 cmake(bugfix):add xtensa libc machine function build
  • #14210 cmake(bugfix):disable proxy and service source in open-amp
  • #15064 cmake(bugfix):fix CMake build break on MacOS
  • #14703 cmake(bugfix):fix directory not being successfully added when adding romfs
  • #14780 cmake(bugfix):fix libcxx build error cause by layout changed
  • #14427 cmake(bugfix):Fixed the issue that the host toolchain version cannot be specified
  • #14624 cmake(bugfix):make sure the extra_lib only added once
  • #14757 cmake(bugfix):remove no need target_link_library in static target
  • #13971 cmake(bugfix):Synchronize the compilation differences between CMake and Makefile in nuttx repo
  • #14612 cmake(build):add the specified armclang compiler to the cmake  Toolchain file
  • #14265 cmake(clear warning):toolchain file do not need set parent scope
  • #14747 cmake(enhance):add NuttX CMake extensions module
  • #14907 cmake(enhance):enhance NuttX cmake target_dependencies and link_library modules
  • #15009 cmake(enhance):Enhance romfs so that RAWS files can be added in any location
  • #13955 cmake(Enhancement):enhance compile options for custom toolchainimplement the REVERSE opt of add_compile_options()
  • #14175 cmake(refine):fix cmake options typo and add EXTRA_FLAGS support
  • #13890 Cmake/kasan:  cmake supports multiple link global variables out of bounds
  • #14540 CMake/preprocess: fix typo PREPROCES -> PREPROCESS

Architectural Support

New Architecture Support

  • #14599 Adding STM32H5 arch files
  • #14831 Raspberry Pico 2 porting

Architecture Improvements

  • #13876 arch/irq: add the up_getusrpc macro to get the PC of the interrupted …
  • #14491 arch/Kconfig: remove ARCH_MATH_H if LIBCXX
  • #13967 arch/libc: Integrate vfork into fork and vfork directly call up_fork
  • #14058 arch/perf: modify the return value of up_perf_gettime to clock_t
  • #14779 arch/toolchain: Add toolchain gcc
  • #14170 Revert "nuttx/arch:Enabling ARCH_MATH_H is required when compiling sim with the 13.2 version of the toolchain"
  • #14803 arch_atomic : Introduce CONFIG_LIBC_ARCH_ATOMIC
  • #14827 arch_atomic: support nx atomic function
  • #14880 arch_atomic: use small lock in libs/libc/machine/arch_atomic.c
  • #14312 select ARM_HAVE_MVE and ARCH_HAVE_FPU for mps platform

ARM

  • #14221 Arm qemu
  • #14107 arm_gicv2_dump: optimize gic dump
  • #14434 arm: fix dataabort on qemu-armv7a:knsh
  • #14865 arm: remove up_set_current_regs/up_current_regs
  • #14134 arm/armv8-r: add implements of arm_get_mpid()
  • #14498 arm/armv8-r: fix unable to switch context in ISR context
  • #14496 arm/armv8-r: init HSCTLR and HACTLR for EL2
  • #14502 arm/armv8-r: optimize generic timer initialization
  • #14474 arm/build: suppress LOAD RWX linker warning
  • #14173 arm/cmake: fix cmake compile error
  • #14363 arm/cxd56: use chip specific vectors to allow smpcall update regs
  • #14846 arm/efm32: fix regression by PR#14810
  • #14503 arm/gicv3: replace this_cpu() to up_cpu_index()
  • #14219 arm/goldfish: add memory map for DDR region
  • #14959 arm/isr: move up_set_interrupt_context() to chip define
  • #14748 arm/olimex-stm32-p407: Fix kmodule board profile
  • #14712 arm/phy6222: Fix the garbled Linker Script
  • #14277 arm/riscv: remove redundant judgment
  • #14750 arm/rp2040: Add support for Waveshare RP2040 Zero board
  • #14197 arm/stm32f401rc-rs485: Add support to WS2812 addressable LED
  • #14887 armv6-m: fix the incorrect stub-function entry address of svc call
  • #14307 armv7-a:adjust gdb register order
  • #15058 armv7-a/armv7-r/armv8-r: percpu reg store this_task
  • #14301 armv8-m: set fpscr when do exception_direct
  • #14360 armv8-r/cp15: fix the problem of op1 operand confusion in ICC_SGI1R
  • #14160 armv8-r/gicv3: disable 64bits access gic 64bits registers
  • #14929 armv8-r/gicv3: support fiq
  • #14928 armv8-r/libc: optimize libc string apis with asm
  • #14495 armv8m/clang.cmake: add armv8m clang config
  • #13877 arch: fix the sched parameter update when exiting
  • #14135 arch: set current regs firstly in undefinedinsn
  • #13886 arch: support customized up_cpu_index() in AMP mode
  • #14881 arch/arm: syscall SYS_switch_context and SYS_restore_context use 0 para
  • #14264 arch/armv7:fix a typo
  • #13861 arch: cxd56xx: Add SD card 4-bit capability
  • #14847 arch: cxd56xx: Fix compile error of cxd56_gnss.c
  • #14842 arch: cxd56xx: Fix cxd56xx for SMP
  • #14993 arch: cxd56xx: use small lock in arch/arm/src/cxd56xx/cxd56_clock.c
  • #15031 arch: cxd56xx: use small lock in arch/arm/src/cxd56xx/cxd56_nxaudio_src.c
  • #15033 rp23xx: use small lock in arch/arm/src/rp23xx/rp23xx_usbdev.c
  • #15062 s32k1xx_serial: arch/arm/src/s32k1xx/s32k1xx_serial.c
  • #14795 arch/arm/src/samv7/sam_afec.c: AFEC1 actually has 12 physical inputs
  • #14436 sam_sfc.c incorrect EFUSEIOC name used
  • #14322 SAMA5 fix compiler warning in sam_adc.c
  • #14128 SAMA5D2. Fix DEBUGASSERT triggered in sam_updhs.c
  • #15013 samv7: fix bytes to words calculation in user signature read
  • #14425 samv7: fix QSPI build
  • #14512 arch/arm/stm32: convert error to warning when CCM is not enabled
  • #13870 arch/arm/stm32{|f7}/socketcan: fix debugassert for extid frames
  • #14527 arch/arm/stm32/Kconfig: fix Kconfig error
  • #14534 arch/arm/stm32/stm32_dumpgpio.c: fix print warnings
  • #14768 arch/stm32h5: Add ADC hardware register file
  • #14860 arch/stm32h5: add basic ADC support
  • #14692 arch/stm32h5: Add ethernet hardware support files
  • #14883 arch/stm32h5: Add timer register hardware file
  • #14676 arch/stm32h5: H5 add ethernet options to Kconfig
  • #14813 arch/stm32h5: Simplify PLL configuration.
  • #14336 STM32G4 Flash Driver
  • #14769 STM32H5 I2C Driver
  • #14675 STM32H5 RCC Fixes
  • #15021 Add STM32H5 FDCAN Hardware File
  • #14515 arch/arm/stm32h7: add workaround for Renode
  • #14995 imxrt_serial: use small lock in arch/arm/src/imxrt/imxrt_serial.c

ARM64

  • #14770 Add arm64 support for gdbserver.py tool
  • #13978 Arm64 arch
  • #14280 Arm64 board
  • #13985 ARM64 bug fix
  • #14074 ARM64 CONTEXT REGS number is 36
  • #14940 arm64: change name saved_reg to saved_regs
  • #14991 arm64: change some format
  • #14829 arm64: fix compile failed 'tpidr_el1' undeclared
  • #14628 arm64: fix compile failed when build ELF apps
  • #14476 arm64: fix fvp smp faild to boot
  • #14171 arm64: fix the cmake break in kernel mode
  • #14980 arm64: remove g_running_tasks[this_cpu()] = NULL
  • #14824 arm64: remove unused code
  • #14905 arm64: remove up_set_current_regs/up_current_regs
  • #14911 arm64: syscall SYS_switch_context and SYS_restore_context use 0 para
  • #15026 arm64/imx8: fix build break
  • #14787 arm64/imx9: add imx93-evk ddr training
  • #15054 arm64/lto: Fix link error after opening lto
  • #14771 arm64/mcount.c: Add to nuttx compilation
  • #14978 arm64/mte: Add support for arm64 mte
  • #15029 arm64/qemu: Add 9pfs configuration
  • #14983 arm64/toolchain: Cmake alignment makefile writing
  • #15052 arm64/toolchain: Fix toolchain judgment after opening lto
  • #14470 arm64/toolchains:Add the following kasan compilation options
  • #14455 arhc/arm64: vector table may be far away form arm64_fatal_handle
  • #14648 arch/arm64: add have fork config
  • #14235 arch/arm64: add support to config SPI interrupt affinity routing to CPU0 by default
  • #14730 arch/arm64: bug fixarm64_fatal_handler need regs parms
  • #14247 arch/arm64: fix build warnings
  • #14689 arch/arm64: Optimized SGI to avoid VM exit.
  • #14381 arch/arm64: Remove arm64_copystate.c
  • #14242 arch/arm64: remove struct regs_context
  • #14063 arch/arm64: rename register names to align with arm32
  • #14739 arch/arm64: syscall SYS_switch_context and SYS_restore_context use tcb as parm
  • #14986 arch/arm64/imx9: Boot move mmu init to correct place
  • #14972 arch/arm64/imx9: Clear DMA channel interrupts on init
  • #14653 arch/arm64/imx9: Clear edma4 mux conf before set
  • #14868 arch/arm64/imx9: Fix cntrfrq_el0 to correct value
  • #14688 arch/arm64/imx9: Reset rx fifo in mode change
  • #14973 arch/arm64/imx9/imx9_flexspi: Replace memcpy by while loop
  • #14864 arch/arm64/imx9/lspi: improve spi initialization
  • #14671 arch/arm64/src/common/arm64_fatal.c: Fix compilation warning with -We…
  • #14577 arch/arm64/src/imx9/imx9_lpuart.c: Fix parity get in TCGETS
  • #14306 imx8qm-mek: Resolve boot issue for non-EL3 environments
  • #14684 Imx9 flexspi updates
  • #14870 Imx9 lpi2c fixes
  • #14478 Imx9 lpspi fixes
  • #14545 Imx9 uart cleanups and flow control
  • #14685 imx9/flexcan: Add disable/enable cycle
  • #14373 imx9/flexcan: Make self reception disable to be configurable

RISC_V

  • #14741 arch/risc-v: Add ARCH_HAVE_RAMFUNCS option for ESP32-C3
  • #14878 arch/risc-v: Minor document improvement
  • #14961 arch/risc-v/src/cmake/Toolchain.cmake: Msys2 CMake fixed nuttx/config.h: No such file or directory
  • #14841 arch/risc-v/src/mpfs/mpfs_irq.c: Default global interrupt priorities
  • #14329 arch/riscv: Add cpuid mapping (hartid↔cpuid)
  • #14994 MPFS boot enhancements
  • #14345 mpfs/opnsbi: refine config for for insufficient envm capacity
  • #14561 mpfs/smp: Add riscv_macros to mpfs_shead
  • #14326 mps/bringup: Add initialization of tmpfs
  • #14530 mps/clang: Add a defconfig for mps to support clang compilation
  • #14143 mps/cmake: add cmake build
  • #14305 mps2-an500: add missing source file
  • #14270 mps2-an521: remove the unnecessary -pipe build options
  • #14776 mps3-an547:ap: Disable cmd_wait() as it depends on procfs currently
  • #14398 ricv/riscv_cpuid: Return meaningful values for CPU/Hart ID when SMP=no
  • #14754 risc-v and xtensa Kconfig : Remove LIBC_ARCH_ATOMIC
  • #14984 risc-v: remove g_running_tasks[this_cpu()] = NULL
  • #14064 risc-v:Unify module compilation options
  • #14432 risc-v/esp32: Fixed path of File-system mount point 
  • #14563 risc-v/esp32c3: linker script fix for mcuboot and wifi usage 
  • #14020 risc-v/espressif: Fix alert message in esp_setup_irq()
  • #14201 risc-v/mpfs: enable DEFAULT_SMALL for insufficient envm capacity
  • #14857 risc-v/up_testset: Implement test-and-set with AMOSWAP
  • #14384 riscv_cpuindex.c: Fix usage of CONFIG_ARCH_RV_HARTID_BASE
  • #14379 riscv_cpustart.c: Fix reading of interrupt status
  • #14700 riscv_syscall.S: Fix a massive bug in syscall dispatch logic
  • #14962 riscv: remove up_set_current_regs/up_current_regs
  • #15030 riscv: Some judgments are missing
  • #14724 riscv: Suppress LOAD RWX linker warning
  • #14981 riscv: syscall SYS_switch_context and SYS_restore_context use 0 para
  • #14642 riscv/common/espressif: Fix spi slave driver
  • #14366 riscv/cpustart: Ensure we receive Soft IRQ / IPI before booting CPU
  • #14765 riscv/espressif/bootloader/mcuboot: Sign image with MCUBoot version
  • #14397 riscv/mpfs: Add boilerplate code for SMP
  • #14967 riscv/riscv_ipi.h: Do not write to CSR_MIP.MSIP as it is read-only
  • #14562 riscv/syscall: Fix sched_note instrumentation for BUILD_KERNEL
  • #14876 riscv/syscall.h: Update comment for syscall

SIM

  • #14466 nuttx/sim: Fix m64 build error.
  • #14647 nuttx/sim: Remove math.h in sim.
  • #14228 nuttx/sim:Remove asan check in up_irq_save().
  • #14826 Revert "sim/m64:Fix ld error."
  • #14850 Revert "sim/make: fix macos sim:nsh make break no -mcmodel in clang"
  • #14119 Revert "sim/note: add note related configuration"
  • #13878 sim bug fix
  • #14361 sim_camera: modify sim camera init videosize using imgsensor extend p…
  • #14449 sim_uart: rm LF to CRLF convertion
  • #14693 sim: add defconfig for testing cmake compilation of quickjs
  • #14587 sim: add note related configuration
  • #13966 sim: disable sim uart output processing
  • #14462 sim: fix asan address space conflict
  • #14109 sim: fix crash caused by function recursion
  • #14908 sim: Fix sim m32 start up crash issue.
  • #13933 sim: fix sim smp boot regression
  • #14024 sim: only POSIX implementation (ARCH_HAVE_MULTICPU) is provided
  • #14767 sim:nsh: Enable PIPES to make nsh pipeline available
  • #14658 sim(feat):support sim elf and dynamic libs package in post build
  • #14341 sim/alsa: add ptr check in _stop
  • #14343 sim/alsa: clear AUDIO_APB_FINAL flag before DEQUEUE
  • #14344 sim/alsa: fix runtime warning.
  • #14797 sim/configs/rpserver/rpproxy_virtio: Change the sim 32bit to 64bit compilation
  • #14348 sim/heap: malloc returns a valid pointer when allocating 0 bytes.
  • #14852 sim/m64: Fix ld error.
  • #14230 sim/m64:Fix ld error.
  • #14982 sim/nsh: enable SIM_HOSTFS by default
  • #14988 sim/tflm: add tflite-micro demo into ci build
  • #15007 sim/tflm: enable tflm hello world
  • #14440 arch/sim/cmake: remove the host specific -U when HOSTSRCS. remove the bzero implement use macro to memset

x86_64

  • #14957 Add kernel build support for X86_64
  • #14036 x64: add acrn ioapic init support
  • #14081 x64: modify addr limit to support 64 bits addr backtrace
  • #14073 X86_64: Add libcxx availability macros.
  • #14132 x86_64: align some code
  • #14633 x86_64: fix compile warning
  • #13888 x86_64: fix regression
  • #14035 x86_64:Fix ld error.
  • #14900 x86-64: Added KASan compilation options
  • #14885 x86: Support symbol table and kasan global variables cross-border detection
  • #14099 x86/x86_64: change the build result from nuttx.elf to nuttx
  • #14209 x86/x86_64:Adjust the position of the nm command to execute it after NuttX is generated
  • #13983 arch/x68_64: properly align ap boot stack for vector operations
  • #13973 arch/x86_64: add support for thread_local
  • #13937 arch/x86_64: Add vfork support
  • #14040 arch/x86_64: cache convert all asm() to asm()
  • #14019 arch/x86_64: cpuid expect 32 bit variables
  • #14087 arch/x86_64: Fix SMP startup for ACRN Hypervisor
  • #14178 arch/x86_64: Fix SMP startup for ACRN Hypervisor
  • #14045 arch/x86_64: Fix up_timer_start.
  • #14021 arch/x86_64: idle convert all asm() to asm()
  • #13989 arch/x86_64: Map the new page table with read-write permissions
  • #13982 arch/x86_64: Resolve weak symbol compilation relocation errors
  • #14350 arch/x86_64: Resolving NUC Boot Failure Issue
  • #14349 arch/x86_64: The AP retrieves this_task after storing the CPU private…
  • #13980 arch/x86_64:Add allsymbol functionality
  • #13939 arch/x86_64:Add check stack function
  • #14084 arch/x86_64:Add configuration to disable vectorization optimization
  • #14237 arch/x86_64:Add CXX configuration for enabling x86_64 support for C++ applications.
  • #14405 arch/x86_64:Add CXX configuration for enabling x86_64 support for C++…
  • #14056 arch/x86_64:Add macros related to CPUID
  • #14015 arch/x86_64:Add nanosecond delay interface to TSC
  • #14016 arch/x86_64:Add perf tool
  • #14111 arch/x86_64:Change extern g_intstackalloc to g_isrstackalloc
  • #14133 arch/x86_64:Code style is consistent
  • #13993 arch/x86_64:Configure arch delay using CONFIG_ALARM_ARCH
  • #14075 arch/x86_64:Fix build cxx warning.
  • #14473 arch/x86_64:Fix variable used before assignment
  • #14017 arch/x86_64:Use the checkstack function
  • #14955 arch/x86_64/intel64: fix revoke_low_memory
  • #14958 arch/x86_64/intel64: up_disable_irq should work from any CPU
  • #14060 arch/x86_64/intel64/intel64_irq.c: fix busy irq logic
  • #14245 arch/intel64: optimise context switch
  • #14793 intel64: add mutliboot framebuffer support
  • #14234 nuttx/x86_64:Add _sinit and _einit initialization.

XTENSA

  • #15055 xtensa: inline up_switch_context
  • #14964 xtensa: remove g_running_tasks[this_cpu()] = NULL
  • #14960 xtensa: remove up_set_current_regs/up_current_regs
  • #15010 xtensa: syscall SYS_switch_context and SYS_restore_context use 0 para
  • #14760 xtensa: use up_interrupt_context() to determine if in interrupt context
  • #14855 xtensa/esp32: Remove duplicate board Make.defs
  • #14541 xtensa/esp32s3: add esp32s3 reset reasons interface
  • #14215 xtensa/esp32s3: add support for getting country code
  • #14542 xtensa/esp32s3: enable encrypted flag based on partition and device
  • #13991 xtensa/esp32s3: fix missing peripheral initialization for watchdog timer
  • #14214 xtensa/esp32s3: inspect if partition mapped as text
  • #14701 arch/esp32s3: lcd add fb pandisplay
  • #14963 nuttx/arch: remove the custom board check in up_testset implementation
  • #14088 nuttx/arch:Enabling ARCH_MATH_H is required when compiling sim with the 13.2 version of the toolchain
  • #14805 arch/xtensa: use arch atomic when enable iram heap

Driver Support

New Driver Support

  • #14358 drivers/power/battery: add charge/battery health interface support
  • #13880 Add goldfish timer driver support
  • #14895 draft driver for STUSB4500

Drivers With Improvements


  • #13925 driver: add GOLDFISH_GPU_FB_PRIORITY for goldfish_gpu_fb_vsync_thread
  • #14194 driver/i2c/ipcc: Post sempahore only when it's value is smaller than one
  • #14510 driver/serial: remove return value of up_putc()
  • #14603 drivers: Fix the missing headers.
  • #14817 drivers/adc: Rename up_ads1255initialize to ads1255_initialize
  • #15011 drivers/audio/wm8994.c: Include nuttx/arch.h to fix compilation (up_m…
  • #13979 drivers/battery: Fix Goldfish Battery x64 unresponsive interrupt issue
  • #13911 drivers/coresight: ETM4 set up
  • #13947 drivers/devicetree/fdt: get 'reg' property
  • #13916 drivers/fb: use ENOTTY to replace assert
  • #14790 Drivers/input
  • #14177 drivers/input: fix complie err about undefined
  • #14728 drivers/misc: fix rpmsg dev poll assert crash
  • #14729 drivers/misc: fix rpmsgdev read overflow
  • #15047 drivers/net: change netdev_lower_quota_load to macro
  • #13860 drivers/net: Register "/dev/net/tun" as tun node too
  • #13872 drivers/note: suport rpmsg transfer channel for notesome note api
  • #14185 drivers/optee: Return error if optee_recv return prematurely
  • #14165 drivers/pci: fix pci framework warning in 32bit chip
  • #14248 drivers/rpmsgdev: support get more battery info by rpmsgdev
  • #14078 drivers/rptun: minor fix about rptun
  • #14256 drivers/segger: inline note_sysview_get_timestamp
  • #14979 drivers/sensors/gnss: Add suffix to macro of geofence index
  • #14999 drivers/sensors/gnss: Different nbuffer for each topic
  • #14298 drivers/serial: fix cmsdk serial driver warning
  • #14411 drivers/spi_slave: call SPIS_DEV_NOTIFY when rx or tx complete for all spi slave driver
  • #14810 drivers/syslog: remove implement of syslog_putc()
  • #15038 drivers/timers: export arch timer api to support higher resolution
  • #13992 drivers/timers:Arch_alarm and arch_timer add up_ndelay interface
  • #14304 audio: add offload underflow msg state
  • #14342 audio: remove started from audio_complete
  • #14385 bluetooth: Fix the incompatibility made by https://github.com/apache/nuttx/pull/14224
  • #14549 Bluetooth: improved pairing process and host layer now successfully receives ACL packets
  • #14224 bluetooth: upload bt local bug fix and features
  • #14985 bt_atomic: use atomic macro to replace wireless/bluetooth/bt_atomic.c
  • #13943 misc/assert: add backtrace dump support for mutex hold task
  • #13952 misc/dev_mem: fix compile error in aarch64
  • #13981 misc/rpmsgdev: fix block mode read/write bug in rpmsgdev
  • #14076 misc/rpmsgdev: The private data should be freed only when endpoint is released
  • #13874 mmcsd: add multi partitions prototype implementation
  • #14293 mmcsd: add multi partitions support
  • #13990 mmcsd: refine emmc capacity calculate
  • #14492 mmcsd: SDIO_CAPS_4BIT_ONLY set buswidth MMCSD_SCR_BUSWIDTH_4BIT
  • #14266 mmcsd:add postsleep fields for mmc_ioc_cmd
  • #14249 mmcsd:add reset card to idle state (CMD0) support
  • #14246 mmcsd:add STATUS_SEND (CMD13) support
  • #14113 note enhance
  • #13948 note: change sched_note_counter to a macro
  • #14926 note: Remove enter_critical_section from the sched_note module
  • #13949 note: support asynchronous sched_note_printf output
  • #13892 notesnap_driver.c: modify struct notesnap_s member type
  • #14382 nuttx ai driver update
  • #14009 nuttx/drivers: add ept_release_cb for destroy server resource
  • #14207 nuttx/can: support to Send message priority sorting function.
  • #14096 nuttx/can.h: support timestamp for can frame.
  • #13866 Rpmsg fs: rpmsgfs bug fix and enhancement
  • #14023 Rpmsg ping: improve the rpmsg ping
  • #13887 rpmsg services: should release the tx buffer when rpmsg_send_nocopy failed
  • #13853 Rpmsg syslog: update rpmsg syslog
  • #14077 Rpmsg virtio: update rpmsg virtio and add sim config to verify rpmsg virtio
  • #14106 rpmsg_port_spi_slave: fix compile error when enable RPMSG_PORT_SPI_SL…
  • #14118 rpmsg_sockif: add some modifaction for rpsocket
  • #13854 rpmsgblk.c: fix compile warning
  • #13851 rptun: Remove include/nuttx/rptun/openamp.h
  • #15008 video/fb: fix integer overflow issue
  • #15043 virtio: Add virtio version check
  • #15074 virtio: fix compile error
  • #15045 virtio: Fix the problem of incorrect setting of virtio queue address under label kasan
  • #15061 wm8776: use small lock in drivers/audio/wm8776.c
  • #13945 usensor.c:fix container_of member error.
  • #14258 usb: Fix issue with the calculation descriptor length error
  • #13960 usb: If usb3.0 set the ep0 sssize to cfgdescsize
  • #13920 usbdev/cdcacm: Fix read queue counter in shutdown
  • #14033 uart_16550:fix bug regincr is used multiple times
  • #13871 uart_rpmsg: some bugs fixed
  • #13879 timer & nx_start small bug fix
  • #14571 timer_create:Checks whether the signo provided by the user is valid
  • #14619 timers: Replace DEBUGASSERT with the error code reopen from #12484
  • #14722 SYSLOG_DEFAULT: wrap up_putc/up_nputs calls with critical section
  • #14362 syslog: convert \n to \r\n in syslog framework layer
  • #14456 syslog: Don't allow blocking when in signal handler
  • #14421 syslog: enable LF to CRLF config as default
  • #14409 syslog: fix ramlog not work issue with cmake
  • #14874 syslog.rst: mention the correct kconfig option
  • #13994 support syslog redirection to sched_note
  • #14212 serial: remove 'TIOCSLINID'
  • #14104 serial: use nxsig_tgkill instead of nxsig_kill
  • #13914 serial:update some bug fixand functional improvements

Board Support

New Board Support

  • #14659 NSH support for Nucleo-H563ZI.

Boards With Improvements

  • #13908 board_reset: flush cache before reset
  • #14520 board: refresh boards after update LIBCANUTILS dependency
  • #13895 board/arm/nrf52: fix use up_interrupt_context to is_nesting_interrupt
  • #15025 board/nucleo-h563zi: Add HSE option
  • #14162 board/qemu-armv7a: use fdt_virtio_mmio_devices_register() to register mmio devices
  • #14287 boards: Enable LTO option for same70-xplained/mcuboot-loader
  • #15070 boards: Update configs about system/usbmsc
  • #14839 boards/arm/stm32/nucleo-f4x1re/src/stm32_adc.c: fix typo
  • #14840 boards/arm/stm32/nucleo-f4x1re/stm32_adc.c: remove dependency on AJOYSTICK
  • #14439 boards/arm/stm32f7: fix nucleo boards break for cmake
  • #14437 boards/arm/stm32f7: removed extra endif() from cmakefile for nucleo-f746zg nucleo-f722ze nucleo-f767zi
  • #14414 boards/arm/stm32f7: separate nucleo-144 board into individual boards
  • #13976 stm32f429i-disco: disable TM32_FB_CMAP
  • #14225 stm32f4discovery/testlibcxx: Enable tls to fix build error.
  • #14223 boards/arm64: Add an impls section to the link script
  • #14687 boards/arm64/imx9/imx93-evk: add trdc header
  • #14720 boards/esp32c3-legacy: Add missing include to esp32c3_boot.c
  • #14947 boards/esp32s3: Add ESP32-S3-WROOM-1-N8R8 depends for ESP32S3_DEVKIT
  • #14481 boards/esp32s3: Merge MCUboot and "simple-boot" linker scripts
  • #15027 boards/mte: Dependencies changed so need to delete it now
  • #14708 boards/nucleo-f302r8: fix LED1 pin
  • #14408 boards/nucleo-l432kc: Add internal DAC code.
  • #14055 boards/qemu: Open kasan on qemu
  • #15012 boards/qemu64:  Deleted test program of kasantest config
  • #14482 boards/risc-v: Remove ref to riscv_internal.h
  • #14261 boards/same70-xplained: refine config for insufficient flash capacity
  • #14853 boards/stm32: split nucleo-f4x1re into separate boards
  • #14762 boards/stm32f103-minimum: fix unaligned pointer to .data section in ld.script
  • #13915 boards/stm32f7/stm32f746g-disco: fix FMC pin
  • #14791 boards/x86_64/intel64/qemu-intel64: add jumbo configuration
  • #14949 boards/xtensa/esp32s3: Treat return value that greater than zero as succ
  • #14508 esp32: Fix a heap corruption bug with SPIRAM
  • #14068 esp32[c3]: Add BLE support
  • #14213 ESP32C6-DevKit C/M Add necessary Import to compilation
  • #14442 esp32c6-devkit: Remove -Werror to fix compile error
  • #14871 esp32s3_partition.c: Appease a compiler warning (-Wdiscarded-qualifiers)
  • #14832 esp32s3-devkit doc: Update the procedure after simple boot
  • #14906 esp32s3-devkit: Add configuration for ADB
  • #15003 esp32s3-devkit/usbmsc: Add bind for MTD
  • #14975 esp32s3: don't clear pending interrupts on eg. up_putc
  • #14501 esp32s3: Increase the init task stask size when using NSH
  • #14942 espressif/mcpwm: fix compile error

File System

Improvements

  • #14071 binfmt/libelf: Fix return code
  • #14039 fs poll optimize
  • #14752 fs_automount:fix ci break
  • #14184 fs_file.c: modify files_countlist comments
  • #14137 fs_heap_strdup/asprintf
  • #13907 fs_open:Adjust the definition of the open path
  • #14461 fs: add fs_heap_strndup replace strndup with fs_heap_strndup
  • #14673 fs: add merge partitions support
  • #13926 fs: fix compile break
  • #14609 fs: Fix mtd/sector512.c:554:19: error: incomplete definition of type 'struct partition_info_s'
  • #13928 fs: fix wrong config for FS_SHMFS
  • #14903 fs/littlefs: Add a kconfig to override littlefs version
  • #14935 fs/littlefs: make CONFIG_FS_LITTLEFS_VERSION include the "v" prefix
  • #14956 fs/littlefs: stop applying local patches for unknown versions of littlefs
  • #14445 fs/mnemofs: Add logs to bind and unbind.
  • #14463 fs/mnemofs: Fix extra log unused value error.
  • #14533 fs/mnemofs: Fix mkdir for depth > 3 bug better logs
  • #14604 fs/mnemofs: Fix open and rmdir return value and seek out of bounds.
  • #14528 fs/nfs: fix offset in append mode and attributes after create
  • #14429 fs/nxffs: Fix syslog formats compile error
  • #14948 fs/partition/txtable: Fix panic when no txtable was found in last eraseblock
  • #14763 fs/procfs: The procfsversion should be under control of FS_PROCFS_EXCLUDE_VERSION
  • #14359 fs/rpmsgfs[bug fix]: return real err value when open failed
  • #13931 fs/semaphore: fix a minor issue with goto label
  • #14582 fs/shm: support shm_open with flags O_TRUNC
  • #13929 fs/vfs: Avoid calling stat with oldrelpath twice in mountptrename
  • #14702 fs/vfs: Fix initialization of g_pseudofile_ops
  • #13918 nuttx/fs:Rename node with inode.
  • #13900 zipfs:zipfs not need mtd drivers

Networking

Improvements

  • #14535 arp.h: make struct arpreq four-byte aligned
  • #14556 arp.h: make struct arpreq four-byte aligned
  • #14650 net: fix inet #14634 regression
  • #14634 net: inet.h match inet_sockif.c definition
  • #14886 net: Move NET_TCP/UDP_HAVE_STACK to netconfig.h
  • #14727 net:Compatible with cellular network cards of lladdr generation
  • #14092 net/can: Save simple options to socket_conn_s
  • #14643 net/igc: Support Intel I226V.
  • #14018 net/local: fix the return address is incorrect when accept
  • #14447 net/local: fix used after free
  • #14630 net/netlink: fix netlink poll return value on success
  • #13905 net/rpmsg: add SO_SNDBUF and SO_RCVBUF support
  • #14573 net/rpmsg: Don't set POLLHUP if rpmsg channel has not been established
  • #14216 net/tcp: Reset the conn when receiving a ACK in the SYN_SENT state.
  • #14529 net/usrsock: usrsock supports offload netlink
  • #14163 net/vsock: add AF_VSOCK address family
  • #14138 netdb: fix may add duplicate DNS servers
  • #14192 netdev:In netdev_defaultIf there is only one loopback network devices it returns NULL
  • #14636 netinet/if_ether.h: move #define ETH_XXX into if_ether.h
  • #13859 Netlink minor fix
  • #14554 DNS: Implement TCP fallback
  • #14867 IPV6 macro
  • #13906 local_sock: fix accept use-after-free
  • #14103 local_socket: corrent send/recv return value after shutdown
  • #14574 tcp_input: if tcp->req > recvreq send ack only when state is TCP_ESTABLISHED
  • #14698 tcp: fix tcp can not retransmit timely when ACK with TCP_NEWDATA
  • #14595 sys/socket: fix struct sockaddr_storage alignment issue

Unsorted

  • #14278 add  lin status changes the format of the reported frame and add the …
  • #14112 add #define CPU_SETSIZE in sched.h
  • #14332 add a flag of lin internal sleep/wakeup state
  • #14303 Add AI engine driver for heterogeneous NPU backends.
  • #13904 Add base64 support to coredump to reduce syslog output size
  • #14130 Add GCCVER define to Toolchain.
  • #13999 add gprof support
  • #13847 Add heap note support
  • #14339 Add imx9 socketcan
  • #14125 add lin error flags to lin.h
  • #14801 add spinlock_type.h and use small lock to protect filelist
  • #14321 Add strptime
  • #13964 Add support fchstat and chstat  function for littlefs
  • #14866 Add tls cleanup to protect tcp
  • #14951 Add TXTABLE support for esp32s3
  • #14966 Add USB MSC support for esp32s3
  • #13951 Adding partitioning support for OTA
  • #15035 addrenv: Ensure that the transmission parameter of addrenv_switch is not NULL
  • #14859 addrenv/addrenv.c: Use atomic_ functions to handle the reference counter
  • #14065 assert: change the do-while of assert to a conditional expression
  • #14879 assert: in assert we use small spinlock replace enter_critical_section
  • #14353 bug/fix: Makefile expression error caused
  • #14420 Bugfix/fix esp spi slave receive data
  • #14211 Bugfix/samv7 rswdt
  • #13865 cache: do cache_invalidate_all before enable dcache
  • #14809 can/sja100: leave critical section properly
  • #13953 case SIOCGIWNAME: add filter out non-802.11 interfaces
  • #14241 Change the judgment of GCCVER version to greater equal.
  • #14182 Changed the i3c_priv_xfer's member to flags from rnw
  • #14300 circbuf: fix circbuf_get_read/writeptr return *size = 0 when circbuf full
  • #13848 circbuf: Move from mm/circbuf to libs/libc/misc
  • #14713 com/can: Remove unnecessary judgment logic
  • #15051 configs: Add defconfigs for esp-sparrow-kit
  • #14131 Contributing and PR template fix.
  • #14792 cosmetic changes in drivers/pci and drivers/sensors
  • #14179 cpuinfo: Decouple the fetch cpuinfo from up_perf_getfreq
  • #14997 crashdump change to choice add coredump to mtd support based on mtdout stream.
  • #14674 crypto/se05x: Allow set_enable_pin to be NULL and fix error handling
  • #13899 Deadlock detect fix
  • #15042 debug symbol level: Use config instead
  • #14378 Discourage the use of LIBC_PRINT_EXTENSION
  • #14094 dump more information when CONFIG_MM_DUMP_DETAILS_ON_FAILURE enabled flush log before coredump
  • #13902 e1000: add polling mode support for tx/rx
  • #14646 Enable DEV_PIPE_NPOLLWAITERS default value 4 for adapte APP
  • #14318 Expand samplerate bits from 8 to 32 enchance encode capacity in sim offload.
  • #14310 external/ffmpeg: add offloding audio recording with amr format.
  • #13867 Fdt mmio: add common fdt mmio virtio device register function
  • #14591 Feature/esp i2c bitbang
  • #14590 Feature/esp spi bitbang
  • #14008 Feature/esp temp sensor uorb support
  • #14597 file_readv_compat/file_writev_compat: Fix partial success handling
  • #13921 files_getlist:Handling the situation when tcb's grouplist is empty
  • #15019 First commit of STM32H5 SPI Hardware file.
  • #13875 Fix #13873
  • #14861 Fix ALIGN_UP duplicate definition error
  • #14396 fix bmi160 some issue
  • #14938 fix build error
  • #14392 fix build error shift-count-overflow
  • #14500 Fix CDCNCM driver printf formatter compiler warning
  • #14945 Fix compilation errors
  • #15004 Fix compile error
  • #15014 fix compile error
  • #14716 fix compiler error when CONFIG_CLOCK_TIMEKEEPING=y
  • #14552 Fix config repeat define in include deconfig mode
  • #14356 Fix disable msi when msi capability not exist issue
  • #14610 Fix Error: implicit declaration of function 'enter_critical_section'
  • #14433 fix GCCVER cmake define.
  • #14188 fix igmp group issue
  • #14453 Fix Kconfig style
  • #14882 Fix Kconfig style
  • #14606 fix macos sim nsh break fix no -mcmodel=medium in clang.
  • #14422 Fix make warn as error in pci drivers
  • #14820 Fix minor ld script error
  • #14965 fix nxstyle
  • #14977 fix nxstyle
  • #14944 Fix path Error
  • #14971 Fix path error
  • #14611 fix regression caused by remove sync pause
  • #14001 fix runtime pm pm_wakelock_uninit problem decrease charger log regulator possible no action when boot
  • #13917 fix snprintf truncation warnings
  • #14458 Fix some build error
  • #14925 fix some build error
  • #14837 fix some comment in https://github.com/apache/nuttx/pull/14764
  • #13909 Fix some compile warnings in net directory
  • #14873 Fix some minor style issues
  • #14677 Fix STM32H5 Serial APB Clock Sources
  • #14108 Fix system crash when set CONFIG_PRIORITY_INHERITANCE=y
  • #14818 Fix timers/arch_alarm.c:109:3: error: 'now' may be used uninitialized
  • #13977 Fix to compile parameters not taking effect When cmake version is greater than 3.18
  • #14072 fix typo error
  • #14737 Fix typo errors in include/nuttx/clock.h
  • #14489 Fix xtensa build error with choice LIBSUPCXX by default.
  • #14828 fix: remove duplicated statistics of upd.drop
  • #14889 fix(rp2350): should copy data before init clock
  • #15024 float.h: Define FLT_ROUNDS if not defined by toolchain previously
  • #14869 getifaddrs support returning multiple IPv6 addresses
  • #14037 Getline support backspace
  • #14232 gnu++20:fix ld error.
  • #14098 goldfish add gicv2m support
  • #14090 goldfish fix forget clear interrrpt add in cmake
  • #14122 goldfish: sync with qemu do rpmsg_syslog init at goldfish
  • #14725 gprof: Add a configuration dependency
  • #14740 gprof: move gprof function from sched to libbuiltin/libgcc
  • #14717 GreenHills Support: add __ARM_ARCH __ARM_FEATURE_DSP macro definition when build with ghs compiler
  • #14825 GreenHills support: add thumb mode detection support for ghs compiler
  • #14269 greenhills support: fix the build warning with ghs compiler
  • #14719 GreenHills support: fix the naked_function attr cannot handle warning with old version GHS compiler
  • #14718 GreenHills support: fix the naked_function function non-compatible issue with arm_svcall
  • #14836 group_signal_handler: Remove a redundant check
  • #13944 group: access group in critical section
  • #14766 icjx: disable interrupts in interrupt worker
  • #14443 Implement ADC driver interface for MCP3008
  • #14285 Implement Position-Independent-Code (PIC) loading
  • #14812 in smp_call handle we only change TCB_FLAG_CPU_LOCKED bit of tcb->flag
  • #13869 inotify: support truncate and close calls
  • #15002 install kconfiglib using apt repo
  • #14567 irq: force inline up_interrupt_context
  • #14199 irq: irq_attach_wqueue replace irq_attach_thread
  • #14856 irq/irq.h: Remove extern of non-existent global
  • #14686 isrthread: add configuring the stack of an isrthread as static
  • #14452 kconfig: Add link parameters that can print remaining memory information
  • #14325 Kconfig:Add an option to disable compilation of floating point
  • #15005 lc823450_usbdev: use small lock in arch/arm/src/lc823450/lc823450_usbdev.c
  • #14893 lm3s6965-ek/qemu: Using default max command line length
  • #14000 long double need use the format of 'Lf'
  • #14635 macos: fix “sed: -I or -i may not be used with stdin”
  • #15048 make arm-v6/7/8m compatible with signal delivery inside irq handler
  • #14696 makefile/build: Delete unnecessary bin and kbin folders
  • #14049 makefile/clang: Compare versions for upward compatibility
  • #13864 math: remove is_power_of_2() keep IS_POWER_OF_2()
  • #15006 max32660_wdt: use small lock in arch/arm/src/max326xx/max32660/max32660_wdt.c
  • #13898 Memory delay free kasan error fix and  memory note fix
  • #14146 mempool: add the minimum size configuration of mempool
  • #14410 merge some nrf52 configurations into one 
  • #14821 minor code refactor
  • #14617 Minor improve blkoutstream and mtdoutstream
  • #14334 modify for set conn status with connected when receive event USRSOCK_EVENT_SENDTO_READY
  • #14205 modlib:bug fixallow 64bit elf load and if sym is NULL not load symbol
  • #14732 modlib:need add ctors to init_array and dtors to fini_array
  • #14383 modlib/modlib_symbols.c: Fix usage of void* arithmetics
  • #14990 mps3an547 doc update
  • #13927 mq: correct inode release in mq_inode_release()
  • #14654 msys2: fix make[3]: warning: jobserver unavailable: using -j1.
  • #14189 mtd/nvs: Trigger recovery process in nvs_startup
  • #14053 nuttx-names.in: add feof
  • #14468 nuttx: Add LIBSUPCXX_TOOLCHAIN to link the prebuilt library provide by toolchain.
  • #14543 nuttx: Fix build warning with can't found xt-g++
  • #14721 nuttx/qemu: Fix funciton up_idle multiple definition
  • #13923 Pci bugfix
  • #13963 Pci fixbugs
  • #14969 Pci io
  • #14124 pci_ivshmem.c: ivshmem_support_irq API support
  • #15071 pci: fix pci dev alloc bridge mem error
  • #13897 pci: msi and msix irq need release irq
  • #14126 pci.h: add pci_write/read_mmio_qword support
  • #14097 PFU: do not cause execution of any instructions to be trapped
  • #14621 Pico SDK version bump + assimilate old READMEs into RST
  • #14904 Publish GDB Plugin as a standard python package
  • #14253 Py code check update
  • #13850 qemu & goldfish update
  • #14505 qemu-intel64: Fixes the linker 'noexecstack' warning
  • #14423 ramlog: Remove RAMLOG_CRLF config and related code
  • #14733 rammtd:add rammtd_uninitialize
  • #13912 release msi/msix irq clean capability struct
  • #14736 Remove "dumprun" functions from various LCD drivers
  • #14649 Remove all jira and changeid information from the kernel
  • #15050 Remove FAR from 32/64bit arch
  • #14450 Remove ndelay_accurate
  • #14613 remove nxsched_lock_irq/nxsched_unlock_irq
  • #15046 remove redundant judgments *running_task != NULL
  • #14974 remove redundant scheduling records
  • #14814 remove sched_lock in pthread_cond_broadcast
  • #14469 remove unused variable 'cpu_freq'
  • #14475 remove unused variable 'cpu_freq'
  • #13863 remove up_cpu_pause up_cpu_resume up_cpu_paused up_cpu_pausereq
  • #14596 remove up_current_regs in common code
  • #14608 Replace attribute((packed)) with [begin|end]_packed_struct
  • #14751 Revert "SYSLOG_DEFAULT: wrap up_putc/up_nputs calls with critical sec…
  • #14806 Revert "system: pthread_barrierwait should be moved to kernel space"
  • #14338 Revert "Update esptool version on docs and build system"
  • #14180 sdio_probe: set voltage use CMD5
  • #14802 segger/stream_rtt: fix warning after stream update
  • #14465 sem: change sem wait to atomic operation
  • #14152 setjmp: fix setjmp returns 0 when calling longjmp with 0 as the secon…
  • #14276 shm:fix build error
  • #14524 Shmfs bug fix
  • #14822 Simplify PCI driver configuration
  • #14656 smpcall: add nxsched_smp_call_async and nxsched_smp_call_single_async
  • #14663 smpcall: we directly call the function to handle local smpcall
  • #14337 Socketcan fixes
  • #14346 socketpair.c:Replace kmm with fs heap
  • #14927 spelling: fix spelling typo premption -> preemption
  • #14939 spinlock: remove recursive locks with write_lock_irqsave/read_lock_irqsave
  • #14931 spinlock: use spin_lock_init replace spin_initialize
  • #14989 st7789: add configuration option to set default background color
  • #14924 stream_getc: use lib_stream_eof instead of EOF
  • #14844 Support enabling/disabling attr attribute in littlefs for nuttx
  • #14678 Support for the Seeed Studio XIAO SAMD21
  • #14093 Support note print in Segger Sysview terminal
  • #13910 Support shutdown
  • #14168 support trace_beginex and trace_endex
  • #14196 systick:when isr_handle is NULL will be crash.
  • #14483 task_exit.c: Add missing sched_note_stop()
  • #13924 This patch is to allow the application layer to use ioctl to send can/lin status control information to the driver layer.
  • #14156 tlsr82/nsh: set LIBC_RAND_ORDER be 0 to fix compile error
  • #13852 unify MODULE & ELF flag to Toolchain.defs
  • #14100 Unify the code of libelf and modlib and delete the implementation of libelf
  • #14159 Unify the definition of GCCVER and remove duplicate code.
  • #14848 Unify the linking options for 32-bit and 64-bit to text-segment=0x3000000.
  • #14707 Update BOARD_USExxx naming input clock selection and setting of HSIDIV
  • #15067 Update cdc.h to fix typo in the comments
  • #14283 update defconfig
  • #14120 Update esptool version on docs and build system
  • #14794 update Intel64 and PCI documentation
  • #14778 update stream relative fix mtd&blk stream readback before block update. decrese int use in stream to handle FS_LARGEFILE
  • #13889 update the mm dump relative add orphan & biggest dump feature.
  • #13913 Upgrade openamp and libmetal to last commit
  • #14255 Use BACKTRACE_BUFFER_SIZE to declare backtrace buffer
  • #14517 Use memalign to align share memory to CPU cache line size
  • #14632 Use pathbuffer reduce stack
  • #14181 use r1-r3 as tmp register
  • #14930 use spin_lock_wo_note replace spin_lock in csection
  • #14351 userspace: Exclude nuttx/arch.h
  • #14953 Various improvements for e1000 and igc
  • #14279 vsprintf:fix bug when print int64 0x8000000000000000
  • #14499 when COMPILE_OPTIONS is not set skip the REMOVE_ITEM in ${HOSTSRCS} fix msvc reported case.

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