Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Work In Progress

Warning
titleWork 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

...

Markdown
* [#11242](https://github.com/apache/nuttx/pull/11242) Revert "libc/lib_bzero:Add bzero prototype."
* [#10881](https://github.com/apache/nuttx/pull/10881) arm, arm64, xtensa, libxx: Change sed -r to sed -E to support macOS
* [#11027](https://github.com/apache/nuttx/pull/11027) assert: rename __ASSERT to __ASSERT__ to avoid conflict
* [#11025](https://github.com/apache/nuttx/pull/11025) audio: add amr format support
* [#11055](https://github.com/apache/nuttx/pull/11055) binfmt/elf: Select ARCH_USE_TEXT_HEAP if ARCH_HAVE_TEXT_HEAP 
* [#11238](https://github.com/apache/nuttx/pull/11238) clock.h: use CONFIG_DEBUG_SCHED to test init ticks
* [#10924](https://github.com/apache/nuttx/pull/10924) crypto/rsa_verify: export rsa verify via /dev/crypto
* [#10978](https://github.com/apache/nuttx/pull/10978) debug/assert: decouple configuration of show file name feature
* [#10809](https://github.com/apache/nuttx/pull/10809) dma: support source/destination address auto step
* [#10870](https://github.com/apache/nuttx/pull/10870) fixedmath: add abs and sign operations
* [#11111](https://github.com/apache/nuttx/pull/11111) ioctl: add definitions related to ethtool
* [#11121](https://github.com/apache/nuttx/pull/11121) ioctl: add SIOCGIWNAME support
* [#11026](https://github.com/apache/nuttx/pull/11026) kernel: replace all sem_* to nxsem_*: in kernel space
* [#10849](https://github.com/apache/nuttx/pull/10849) langinfo: The character U+ff0c "," could be confused with the ASCII character U…
* [#11243](https://github.com/apache/nuttx/pull/11243) list: search prev item in reverse order
* [#11221](https://github.com/apache/nuttx/pull/11221) poll: pollsetup should notify only one fd passed by caller
* [#10892](https://github.com/apache/nuttx/pull/10892) refine: move BIT Macro to nuttx/bits.h
* [#11218](https://github.com/apache/nuttx/pull/11218) spinlock: Move the inclusion of stdatomic.h to source file
* [#10869](https://github.com/apache/nuttx/pull/10869) sys/types: supporting 32-bit IDs for gid_t/uid_t
* [#11207](https://github.com/apache/nuttx/pull/11207) tcbinfo:remove total_num form tcbinfo.
* [#11298](https://github.com/apache/nuttx/pull/11298) video: Update v4l2m2m interface & create videoio.h
* [#11362](https://github.com/apache/nuttx/pull/11362) virtio.h: add virtio_has_feature api for virtio driver

...

Build System

New Features

Bug Fixes

Architectural Support

New Architecture Support

Driver Support

...

Improvements

Markdown
* [#10770#11007](https://github.com/apache/nuttx/pull/1077011007) driversRevert "make/archive: add regmap subsystems support.Use the full path name when matching or storing…
* [#10902#11047](https://github.com/apache/nuttx/pull/1090211047) motor: Add stepper interfaceapplications: Move the test tools in the system to the testing
* [#11253#11395](https://github.com/apache/nuttx/pull/1125311395) mtdcmake: build Addsfile support towith W25Q20CLlibcxx memory17.0.6
* [#11149#10982](https://github.com/apache/nuttx/pull/1114910982) mtdcmake: mx25rxx:correct addcmake supportrule forfile MX25L25673G chipname
* [#11422#11375](https://github.com/apache/nuttx/pull/1142211375) netcmake: ksz9477: Add simple port-based static VLAN configurationfix NUTTX_COMMON_DIR
* [#11339#11031](https://github.com/apache/nuttx/pull/1133911031) netcmake: lan9250: Add LAN9250 driver(SPI and QSPI mode)init RISC-V cmake qemu-rv build
* [#11280#10843](https://github.com/apache/nuttx/pull/1128010843) sensors: Add support for MS5607cmake: raise error if previous make build was not cleaned
* [#10864#10879](https://github.com/apache/nuttx/pull/1086410879) sensors: max31865:RTD-to-Digital Converterfix: TreeNode has same attribute with NodeMixin
* [#10914#10968](https://github.com/apache/nuttx/pull/1091410968) stepper: add DRV8825nuttx: generate nuttx.map file when enable debug link map.
* [#11228#11303](https://github.com/apache/nuttx/pull/1122811303) teesh: addEnhanced opteecompilation client driver module

Drivers With Significant Improvements

Markdown
* [#11071system
* [#11432](https://github.com/apache/nuttx/pull/1107111432) Kconfigs: rename {Rpmsg|rpmsg} to RPMGStools: config.mk: whether verbosity is enabled or not, should use bash
* [#11061#11098](https://github.com/apache/nuttx/pull/1106111098) can: tools: configure.c and tools/sethost.sh Add CONFIG_EXPERIMENTAL for configure windows native

Architectural Support

New Architecture Support

Markdown
* [#11319Add new ioctls
* [#10845](https://github.com/apache/nuttx/pull/1084511319) foc: foc_dummy.carm:imxrt: updateAdd dummysupport devicefor stateimxrt1170 onlySoc ifand devimxrt1170-evk openedboard
* [#11176#11371](https://github.com/apache/nuttx/pull/1117611371) focriscv: returnAdd scalingsupport factor for phaseBouffalo currentsLab andBL808 SoC (T-Head C906)

Architecture Improvements

Markdown
BEMF via ioctl
* [#10808#10836](https://github.com/apache/nuttx/pull/1080810836) ioexpander: Minor fix for ioexpander driverarch: add a flag indicating that the chip doesn't support DMA transfer from/to FLASH
* [#11147#10759](https://github.com/apache/nuttx/pull/1114710759) lcdarch: add strideuse_data support for LCD driverto g_tcbinfo
* [#11185#11190](https://github.com/apache/nuttx/pull/1118511190) lcdarch: changedumponexit: lcdunify stridedump fromon pixelexit to common bytescode
* [#10926#10828](https://github.com/apache/nuttx/pull/1092610828) matharch: mpi: add mpi driver in mathsimplify ARCH_PERF_EVENTS related code
* [#11240#11160](https://github.com/apache/nuttx/pull/1124011160) arch: textheap: add _heapmember declare for text and data heap

arm

Markdown
 misc: Rpmsgblk function optimization
* [#11220#11282](https://github.com/apache/nuttx/pull/1122011282) mmcsdclang: mmcsd_sdinitializereplace should save csd register into priv->csddeprecated parameter
* [#10909#11170](https://github.com/apache/nuttx/pull/1090911170) mtd: filemtd:Fix teardown Let's old arm's arm_doirq return errorregister number EINVALcontext like armv7-a
* [#11041#11413](https://github.com/apache/nuttx/pull/1104111413) mtddebug:fix gdbstub clear get mtd_geometry_s.model for mtd partition and optimize codefpb & dwt when already use jtag/swo bug
* [#11187#11166](https://github.com/apache/nuttx/pull/1118711166) mtdarmv8-m: s25fl1:Fix fixtypo compileerror warnings caused by incorrect variable print formatfor NVIC_SYSHCON_HARDFAULTPENDED

* [#11370#11118](https://github.com/apache/nuttx/pull/1137011118) mtdcxd56xx: w25q: add nxsig_usleep Support to busyget waitinggnss in w25qxxxjv_erase_sector()firmware version

* [#11391#11398](https://github.com/apache/nuttx/pull/1139111398) netimxrt: qemu/wifi: Add the virtual wifi function on the emulator.Extend FlexIO support to 117x
* [#11216#11436](https://github.com/apache/nuttx/pull/1121611436) netimxrt: skeleton.c doesn't compile without this patch if ioctls are enabledflexio move ifdef guard lower
* [#10907#11012](https://github.com/apache/nuttx/pull/1090711012) note: Change 0/1 to false/trueimxrt: NXP I2C non-DMA end only on stop with end of packet
* [#11153#11000](https://github.com/apache/nuttx/pull/1115311000) note: delete sched_note_flattenimxrt: nxp lpi2c calculated timeout can not be 0
* [#10840#11033](https://github.com/apache/nuttx/pull/1084011033) note: optimize note performanceimxrt: NXP lpi2c DMA transaction only need the status conditioned
* [#10920#11164](https://github.com/apache/nuttx/pull/1092011164) note: remove remaining event codeimxrt: NXP Serial Do not wait on TXDMA semaphore
* [#11074#11070](https://github.com/apache/nuttx/pull/1107411070) power: pm: use pm_staytimeout() in greedy_governor_activity()imxrt: NXP Serial overcome race where DMA has not fetched TCD again
* [#11132#11020](https://github.com/apache/nuttx/pull/1113211020) rptunimxrt: serial checkEnsure the status before stop remote proc cache is updated if the DMA has updated again

* [#11222#11199](https://github.com/apache/nuttx/pull/1122211199) rtcimx6: RTC driver improvement Replace cpu_start_t with start_t

* [#10831#10877](https://github.com/apache/nuttx/pull/1083110877) rttmx8mp: makeAdd RTTsupport consolefor optionalSPI

* [#11296#11203](https://github.com/apache/nuttx/pull/1129611203) seggernRF91: rtt:initial correctsupport macro name to avoid unable to change default modefor GNSS
* [#11419#11308](https://github.com/apache/nuttx/pull/1141911308) sensorsnrf{52|53|91}: mx56xx:add Addmissing support for 1 secondMbps orderUART compensationbaud
* [#11426#10826](https://github.com/apache/nuttx/pull/1142610826) sensorsnrf{52|53|91}: mx56xx:add Fixsupport threshold and calculationfor up_perf
* [#11178#10830](https://github.com/apache/nuttx/pull/1117810830) serialnrf{52|53|91}: uart_tcsendbreak: Remove cancel point, as tcsendbreak is not onefixes for timer

* [#11402#11172](https://github.com/apache/nuttx/pull/1140211172) syslogrp2040: ramlogpwm: Fix improveerrors ramlog performanceat CONFIG_PWM_NCHANNELS=1

* [#11392#10817](https://github.com/apache/nuttx/pull/1139210817) syslogsama5: Sort ramlog: multi readersSAMA5D2 adc/tsd dma
* [#10890#10806](https://github.com/apache/nuttx/pull/1089010806) syslogsama5: ramlog: remove sched_[un]lock and rl_nwaitersTSD trigger and pressure scaling issues
* [#11186#11307](https://github.com/apache/nuttx/pull/1118611307) timerssamd212: Rewriteinvert adjtime()tx implementationand torx work for RTC and tickless kernelin spi_dma_setup
* [#11356#11212](https://github.com/apache/nuttx/pull/1135611212) usbdevsamd212: sam_dmac: AddFix compilation callbackand forfix CONFIGSAM_USBDEVDMAC_SOFINTERRUPTCHINTENCLR settings
* [#11042#10855](https://github.com/apache/nuttx/pull/1104210855) usbdevsamv7: config USBDEV_TRACE_INITIALIDSET when disbale USBDEV_TRACEchannel gain switching in aefc
* [#11161#11312](https://github.com/apache/nuttx/pull/1116111312) usbdevsamv7: sam_emac: SolveImplement someerrata problemsworkaround offor USBKSZ8061 hotplugPHY

* [#10985#10847](https://github.com/apache/nuttx/pull/10985) usrsock: Make the field of usrsock_request native alignment10847) {stm32|stm32f7|at32|samv7|imxrt}: fix for adc_setup
* [#11103#11211](https://github.com/apache/nuttx/pull/1110311211) usrsockstm32: rpmsg_server: Keep msg order in recursive call Add support for Ethernet packet timestamping and PTP timer
* [#11107#11175](https://github.com/apache/nuttx/pull/1110711175) stm32: usrsockfoc: add socketsupport fallbackfor withboard-specific ENETDOWNioctl
* [#10874#10833](https://github.com/apache/nuttx/pull/1087410833) video: fb: Add fb_register_devicestm32: Initialize LED driver during late initialization for nucleo-f446re
* [#10812#11181](https://github.com/apache/nuttx/pull/1081211181) videostm32: goldfish: Remove the vsync residual codestm32/stm32_adc.c: protect irq_attach with refcounter
* [#11380#11194](https://github.com/apache/nuttx/pull/1138011194) videostm32: goldfishstm32_foc.c: optimizerename goldfishsome fb registermacros
* [#11249#11194](https://github.com/apache/nuttx/pull/1124911194) videostm32: video.c: modify set_buf call seqence in start_capture function.stm32_eth: Fix excessively long critical section in ifdown handlerm
* [#11224#10865](https://github.com/apache/nuttx/pull/1122410865) videostm32: waitUART whenneeds theto vsyncbe queuedisabled isbefore full in FBIO_WAITFORVSYNCchanging setup

* [#11382#10824](https://github.com/apache/nuttx/pull/1138210824) virtiostm32l4: SupportADC: forAdds settinglow MAClevel addressesoperations ofto the virtio-net interfacesstart and stop DMA.
* [#11385#11154](https://github.com/apache/nuttx/pull/1138511154) virtiostm32h7: virtio-gpuserial: Do convertnot virito-gpu fb_register to virtio_gpu_fb_registerwait on TXDMA semaphore
* [#11201#11323](https://github.com/apache/nuttx/pull/1120111323) virtiostm32h7: serial Virtiorefactor Qemu 8.1.2 issues fixout tx dma semaphore
* [#11013#11332](https://github.com/apache/nuttx/pull/1101311332) wirelessstm32h7: bluetooth:serial AddRemove option.txdmasem to set the HCI TX thread affinity while running with SMP enabled
* [#11072](https://github.com/apache/nuttx/pull/11072) wireless: bluetooth: rpmsg depends on RPTUN

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

Renamed or Modified Kconfig Options

Known Problems In This Release

= SEM_INITIALIZER(1) bad cherry-pick
* [#10841](https://github.com/apache/nuttx/pull/10841) stm32h7: stm32_oneshot.c: Fix format warnings.
* [#11334](https://github.com/apache/nuttx/pull/11334) stm32h7: stm32h7_adc: Dynamically set clock prescaler and BOOST
* [#11367](https://github.com/apache/nuttx/pull/11367) stm32u5: fix EXTICR2,3,4 register offsets

* [#10846](https://github.com/apache/nuttx/pull/10846) s32k1xx: Fix LPUART inversion warnings & config.
* [#10844](https://github.com/apache/nuttx/pull/10844) s32k1xx: Fix warnings in PWM code.
* [#11099](https://github.com/apache/nuttx/pull/11099) s32kxxx: flexcan doesn't set srr bit for extended frames
* [#11325](https://github.com/apache/nuttx/pull/11325) s32k3xx: NXP S32K3xx Fixes stuttering output
* [#11106](https://github.com/apache/nuttx/pull/11106) s32k3xx: serial ensure the cache is updated if the DMA has updated again

arm64

Markdown
* [#10888](https://github.com/apache/nuttx/pull/10888) Add support for FIQ interrupts
* [#11352](https://github.com/apache/nuttx/pull/11352) coredump: support arm64 coredump
* [#11200](https://github.com/apache/nuttx/pull/11200) Disable ARCH_HAVE_FORK for arm64 as a precaution
* [#11429](https://github.com/apache/nuttx/pull/11429) Fix GICv2 detection
* [#10966](https://github.com/apache/nuttx/pull/10966) Remove unnecessary code in arm64_cpu_idle.S
* [#11037](https://github.com/apache/nuttx/pull/11037) support relocate for aarch64
* [#10917](https://github.com/apache/nuttx/pull/10917) support up_coherent_dcache function 
* [#10918](https://github.com/apache/nuttx/pull/10918) target cpuid calculation error in arm64_gic_raise_sgi function
* [#11182](https://github.com/apache/nuttx/pull/11182) the bug of sscanf exception output in arm64 platform
* [#11245](https://github.com/apache/nuttx/pull/11245) vector: no need to save x0 to sp
* [#10904](https://github.com/apache/nuttx/pull/10904) XN should only be set when the attribute MT_EXECUTE_NEVER is set

risc-v

Markdown
* [#10856](https://github.com/apache/nuttx/pull/10856) addrenv: utils: Determine page table flags by type of vaddr
* [#11113](https://github.com/apache/nuttx/pull/11113) addrenv: Fix static page table mapping (paddr instead of vaddr)
* [#10838](https://github.com/apache/nuttx/pull/10838) addrenv: Fix the user VMA end address
* [#10829](https://github.com/apache/nuttx/pull/10829) addrenv: Fix two SHM related issues
* [#11389](https://github.com/apache/nuttx/pull/11389) arch_elf: Check for _HI20 relocation validity
* [#11437](https://github.com/apache/nuttx/pull/11437) espressif: mcuboot: Fix dependency of the Espressif's port MCUboot.
* [#11034](https://github.com/apache/nuttx/pull/11034) espressif: Update esp-hal-3rdparty version
* [#11024](https://github.com/apache/nuttx/pull/11024) litex/litex_emac: Add support for KSZ8061 ethernet PHY.
* [#11029](https://github.com/apache/nuttx/pull/11029) litex/litex-emac: Add support for phy interrupts.
* [#11028](https://github.com/apache/nuttx/pull/11028) litex/litex_gpio: Fix ISR dispatch when using higher GPIO indexes.
* [#11365](https://github.com/apache/nuttx/pull/11365) mmu: Extend MMU Flags to 64-bit for T-Head C906 and Svpbmt
* [#11283](https://github.com/apache/nuttx/pull/11283) mpfs: corespi: Round up divider to prevent overlock of SPI
* [#10822](https://github.com/apache/nuttx/pull/10822) mpfs: corespi: Several speed optimizations to the FPGA driver
* [#10921](https://github.com/apache/nuttx/pull/10921) mpfs: ethernet: Fix RX/TX buffer and descriptor handling
* [#11405](https://github.com/apache/nuttx/pull/11405) mpfs: ethernet: Remove DMA_ENABLE hack
* [#10922](https://github.com/apache/nuttx/pull/10922) mpfs: entrypoints: Fix potential R_RISCV_JAL linker error
* [#11247](https://github.com/apache/nuttx/pull/11247) mpfs: ihc: cleanup DEBUGASSERTs and irq enabling
* [#11355](https://github.com/apache/nuttx/pull/11355) mpfs: mpfs_head.S: Change j/jal to tail call
* [#10923](https://github.com/apache/nuttx/pull/10923) mpfs: mpfs_head.S: Simplify clearing PMP
* [#11233](https://github.com/apache/nuttx/pull/11233) mpfs: opensbi: update opensbi to version 1.3.1 
* [#11404](https://github.com/apache/nuttx/pull/11404) mpfs: usb: Use kernel memory instead of user memory for DMA
* [#11403](https://github.com/apache/nuttx/pull/11403) mpfs: pmpcfg: Move PMPCFG registers to common location
* [#10875](https://github.com/apache/nuttx/pull/10875) pgalloc.h: Return kernel vaddr for kernel RAM paddr
* [#11374](https://github.com/apache/nuttx/pull/11374) riscv_pmp.c: Revert LOG2_CEIL back to run-time log2ceil function
* [#11001](https://github.com/apache/nuttx/pull/11001) Simplify PMP configuration and code
* [#11441](https://github.com/apache/nuttx/pull/11441) Update mode.h to add CSR_TVEC

sim

Markdown
* [#10930](https://github.com/apache/nuttx/pull/10930) crypto: Use mbedtls default configuration without special check
* [#11381](https://github.com/apache/nuttx/pull/11381) sim_lcd: add open & close
* [#11122](https://github.com/apache/nuttx/pull/11122) sim_netdriver: some sim defconfig have problems when using the network
* [#11246](https://github.com/apache/nuttx/pull/11246) sim support 16bbp
* [#11237](https://github.com/apache/nuttx/pull/11237) simwifi: Connect the wifi whose ssid contains the special charaters.
* [#11235](https://github.com/apache/nuttx/pull/11235) simwifi: Escapes the special characters of ssid in the scan results.
* [#11069](https://github.com/apache/nuttx/pull/11069) simwifi: Fix the error of the need length for scan bssinfo.
* [#11112](https://github.com/apache/nuttx/pull/11112) simwifi: For scan results, parse and translate the Chinese ssid encoded by the wpa_cli.
* [#11066](https://github.com/apache/nuttx/pull/11066) simwifi: host wlan0 obtains ip and set dns for wlan0 in the defwan wlan0
* [#11108](https://github.com/apache/nuttx/pull/11108) simwifi: Transfer the special characters in ssid.
* [#11104](https://github.com/apache/nuttx/pull/11104) simwifi: Support that get the connected Chinese essid.
* [#11051](https://github.com/apache/nuttx/pull/11051) simwifi: Support that simwifi connects to the hidden ssid.
* [#11171](https://github.com/apache/nuttx/pull/11171) Replace [enter|leave]_critical_section with up_irq_[save|restore]
* [#11219](https://github.com/apache/nuttx/pull/11219) Remove the wrong comment from up_allocate_heap
* [#11205](https://github.com/apache/nuttx/pull/11205) usb_rawgadget: remove halt operation
* [#10910](https://github.com/apache/nuttx/pull/10910) Update Fix more generic for platforms that do not have execinfo.h
* [#11030](https://github.com/apache/nuttx/pull/11030) wifidriver: Fix the scan error.
* [#10886](https://github.com/apache/nuttx/pull/10886) wifidriver: Support the sim wifi.

x86_64

Markdown
* [#10899](https://github.com/apache/nuttx/pull/10899) Fix idle stack assignment

xtensa

Markdown
* [#11141](https://github.com/apache/nuttx/pull/11141) esp32: ble: Enable the BLE interrupt during an SPI flash operation
* [#10859](https://github.com/apache/nuttx/pull/10859) esp32: ble: Fix task_create_wrapper CPU core ID passed as argument
* [#10851](https://github.com/apache/nuttx/pull/10851) esp32: irq: Fix erroneous interrupt allocation for each CPU core
* [#11139](https://github.com/apache/nuttx/pull/11139) esp32s2: Add rtc heap support
* [#11300](https://github.com/apache/nuttx/pull/11300) esp32s2: Add RTC support
* [#11138](https://github.com/apache/nuttx/pull/11138) esp32s2: Add SPI slave support
* [#10850](https://github.com/apache/nuttx/pull/10850) esp32s2: add UART RS485 support
* [#10823](https://github.com/apache/nuttx/pull/10823) esp32s2: Add support to TWAI/CANBus controller
* [#11431](https://github.com/apache/nuttx/pull/11431) esp32s2: Add xtwdt and rwdt support
* [#10873](https://github.com/apache/nuttx/pull/10873) esp32s2: ESP32-S3 I2C improvements
* [#11259](https://github.com/apache/nuttx/pull/11259) esp32s3: Add rtc heap support
* [#11180](https://github.com/apache/nuttx/pull/11180) esp32s3: Add RWDT support
* [#11287](https://github.com/apache/nuttx/pull/11287) esp32s3: Add SPIRAM high memory support
* [#11179](https://github.com/apache/nuttx/pull/11179) esp32s3: Add XTWDT support
* [#10854](https://github.com/apache/nuttx/pull/10854) esp32s3: ble: enable the BLE interrupt during a SPI flash operation
* [#11331](https://github.com/apache/nuttx/pull/11331) esp32s3: enable LIBC_ARCH_ATOMIC
* [#11299](https://github.com/apache/nuttx/pull/11299) esp32s3: Fix esp32s3 mcuboot ota crash
* [#11136](https://github.com/apache/nuttx/pull/11136) esp32s3: Fix issue regarding IRAM-enabled ISRs by fixing the linker
* [#11285](https://github.com/apache/nuttx/pull/11285) esp32s3: Fix some ESP32S3 module reboot and QVL issues
* [#10882](https://github.com/apache/nuttx/pull/10882) esp32s3: Fix the os halt issue when esp32s3 wlan has high-speed or long time d…
* [#11427](https://github.com/apache/nuttx/pull/11427) esp32s3: Fixed bbpll not calibrated from bootloader issue
* [#11328](https://github.com/apache/nuttx/pull/11328) esp32s3: GPIO clear pending interrupt status before enable IRQ
* [#11329](https://github.com/apache/nuttx/pull/11329) esp32s3: QSPI disable DMA when sending command to slave
* [#11286](https://github.com/apache/nuttx/pull/11286) esp32s3: Invalidate cache if the flash address used has a cache mapping.
* [#11144](https://github.com/apache/nuttx/pull/11144) esp32s3: Support malloc from external RAM and internal RAM
* [#11157](https://github.com/apache/nuttx/pull/11157) esp32s3: Support multiple PHY init data bin
* [#11434](https://github.com/apache/nuttx/pull/11434) esp32s3: Support reading encrypted partitions
* [#11052](https://github.com/apache/nuttx/pull/11052) esp32s3: Support to read data from flash to PSRAM
* [#11340](https://github.com/apache/nuttx/pull/11340) esp32s3: Tasks use SPIRAM as stack can do SPI flash read/write/erase/map/unmap
* [#11428](https://github.com/apache/nuttx/pull/11428) espressif/rmt: Implement a common RMT (Remote Control) driver for xtensa-based devices.

Driver Support

New Driver Support

Markdown
* [#10770](https://github.com/apache/nuttx/pull/10770) drivers: add regmap subsystems support.
* [#10902](https://github.com/apache/nuttx/pull/10902) motor: Add stepper interface
* [#11253](https://github.com/apache/nuttx/pull/11253) mtd: Adds support to W25Q20CL memory.
* [#11149](https://github.com/apache/nuttx/pull/11149) mtd: mx25rxx: add support for MX25L25673G chip
* [#11422](https://github.com/apache/nuttx/pull/11422) net: ksz9477: Add simple port-based static VLAN configuration
* [#11339](https://github.com/apache/nuttx/pull/11339) net: lan9250: Add LAN9250 driver(SPI and QSPI mode)
* [#11280](https://github.com/apache/nuttx/pull/11280) sensors: Add support for MS5607
* [#10864](https://github.com/apache/nuttx/pull/10864) sensors: max31865:RTD-to-Digital Converter
* [#10914](https://github.com/apache/nuttx/pull/10914) stepper: add DRV8825
* [#11228](https://github.com/apache/nuttx/pull/11228) tee: add optee client driver module

Drivers Improvements

Markdown
* [#11071](https://github.com/apache/nuttx/pull/11071) Kconfigs: rename {Rpmsg|rpmsg} to RPMGS
* [#11061](https://github.com/apache/nuttx/pull/11061) can: Add new ioctls
* [#10845](https://github.com/apache/nuttx/pull/10845) foc: foc_dummy.c: update dummy device state only if dev opened
* [#11176](https://github.com/apache/nuttx/pull/11176) foc: return scaling factor for phase currents and BEMF via ioctl
* [#10808](https://github.com/apache/nuttx/pull/10808) ioexpander: Minor fix for ioexpander driver
* [#11147](https://github.com/apache/nuttx/pull/11147) lcd: add stride support for LCD driver
* [#11185](https://github.com/apache/nuttx/pull/11185) lcd: change lcd stride from pixel to bytes
* [#10926](https://github.com/apache/nuttx/pull/10926) math: mpi: add mpi driver in math
* [#11240](https://github.com/apache/nuttx/pull/11240) misc: Rpmsgblk function optimization
* [#11220](https://github.com/apache/nuttx/pull/11220) mmcsd: mmcsd_sdinitialize should save csd register into priv->csd
* [#10909](https://github.com/apache/nuttx/pull/10909) mtd: filemtd:Fix teardown return error number EINVAL
* [#11041](https://github.com/apache/nuttx/pull/11041) mtd: get mtd_geometry_s.model for mtd partition and optimize code
* [#11187](https://github.com/apache/nuttx/pull/11187) mtd: s25fl1: fix compile warnings caused by incorrect variable print format
* [#11370](https://github.com/apache/nuttx/pull/11370) mtd: w25q: add nxsig_usleep to busy waiting in w25qxxxjv_erase_sector()
* [#11391](https://github.com/apache/nuttx/pull/11391) net: qemu/wifi: Add the virtual wifi function on the emulator.
* [#11216](https://github.com/apache/nuttx/pull/11216) net: skeleton.c doesn't compile without this patch if ioctls are enabled
* [#10907](https://github.com/apache/nuttx/pull/10907) note: Change 0/1 to false/true
* [#11153](https://github.com/apache/nuttx/pull/11153) note: delete sched_note_flatten
* [#10840](https://github.com/apache/nuttx/pull/10840) note: optimize note performance
* [#10920](https://github.com/apache/nuttx/pull/10920) note: remove remaining event code
* [#11074](https://github.com/apache/nuttx/pull/11074) power: pm: use pm_staytimeout() in greedy_governor_activity()
* [#11132](https://github.com/apache/nuttx/pull/11132) rptun: check the status before stop remote proc
* [#11222](https://github.com/apache/nuttx/pull/11222) rtc: RTC driver improvement
* [#10831](https://github.com/apache/nuttx/pull/10831) rtt: make RTT console optional
* [#11296](https://github.com/apache/nuttx/pull/11296) segger: rtt: correct macro name to avoid unable to change default mode
* [#11419](https://github.com/apache/nuttx/pull/11419) sensors: mx56xx: Add support for second order compensation
* [#11426](https://github.com/apache/nuttx/pull/11426) sensors: mx56xx: Fix threshold and calculation
* [#11178](https://github.com/apache/nuttx/pull/11178) serial: uart_tcsendbreak: Remove cancel point, as tcsendbreak is not one
* [#11402](https://github.com/apache/nuttx/pull/11402) syslog: ramlog: improve ramlog performance
* [#11392](https://github.com/apache/nuttx/pull/11392) syslog: ramlog: multi readers
* [#10890](https://github.com/apache/nuttx/pull/10890) syslog: ramlog: remove sched_[un]lock and rl_nwaiters
* [#11186](https://github.com/apache/nuttx/pull/11186) timers: Rewrite adjtime() implementation to work for RTC and tickless kernel
* [#11356](https://github.com/apache/nuttx/pull/11356) usbdev: Add callback for CONFIG_USBDEV_SOFINTERRUPT
* [#11042](https://github.com/apache/nuttx/pull/11042) usbdev: config USBDEV_TRACE_INITIALIDSET when disbale USBDEV_TRACE
* [#11161](https://github.com/apache/nuttx/pull/11161) usbdev: Solve some problems of USB hotplug
* [#10985](https://github.com/apache/nuttx/pull/10985) usrsock: Make the field of usrsock_request native alignment
* [#11103](https://github.com/apache/nuttx/pull/11103) usrsock: rpmsg_server: Keep msg order in recursive call
* [#11107](https://github.com/apache/nuttx/pull/11107) usrsock: socket fallback with ENETDOWN
* [#10874](https://github.com/apache/nuttx/pull/10874) video: fb: Add fb_register_device
* [#10812](https://github.com/apache/nuttx/pull/10812) video: goldfish: Remove the vsync residual code
* [#11380](https://github.com/apache/nuttx/pull/11380) video: goldfish: optimize goldfish fb register
* [#11249](https://github.com/apache/nuttx/pull/11249) video: video.c: modify set_buf call seqence in start_capture function.
* [#11224](https://github.com/apache/nuttx/pull/11224) video: wait when the vsync queue is full in FBIO_WAITFORVSYNC
* [#11382](https://github.com/apache/nuttx/pull/11382) virtio: Support for setting MAC addresses of the virtio-net interfaces
* [#11385](https://github.com/apache/nuttx/pull/11385) virtio: virtio-gpu: convert virito-gpu fb_register to virtio_gpu_fb_register
* [#11201](https://github.com/apache/nuttx/pull/11201) virtio: Virtio Qemu 8.1.2 issues fix
* [#11013](https://github.com/apache/nuttx/pull/11013) wireless: bluetooth: Add option to set the HCI TX thread affinity while running with SMP enabled
* [#11072](https://github.com/apache/nuttx/pull/11072) wireless: bluetooth: rpmsg depends on RPTUN

Board Support

New Board Support

Markdown
arm
* [#10987](https://github.com/apache/nuttx/pull/10987) gd32f4: add gd32f470i board support
* [#11094](https://github.com/apache/nuttx/pull/11094) stm32: add support to LINUM-STM32H753BI board
* [#10990](https://github.com/apache/nuttx/pull/10990) stm32: add support to STM32F401RC-RS485 board
* [#11358](https://github.com/apache/nuttx/pull/11358) stm32h7: linum-stm32h753bi: Add modbus example using usart6
* [#11276](https://github.com/apache/nuttx/pull/11276) seeed-xiao-rp2040: Add initial board support

xtensa
* [#10976](https://github.com/apache/nuttx/pull/10976) Add ESP32-2432S028 board
* [#10928](https://github.com/apache/nuttx/pull/10928) esp32s3-box: Support hardware version 3

risc-v
* [#11379](https://github.com/apache/nuttx/pull/11379) Initial support for CanMV-k230 board
* [#11377](https://github.com/apache/nuttx/pull/11377) Add support for PINE64 Ox64 BL808 SBC

Board Improvements

Markdown
* [#11056](https://github.com/apache/nuttx/pull/11056) Modify test "ramtest" path
* [#11192](https://github.com/apache/nuttx/pull/11192) remove obsolete CONFIG_EXAMPLES_FOC_IPHASE_ADC option

arm

Markdown
* [#11101](https://github.com/apache/nuttx/pull/11101) cxd56xx: Add cxd5610 gnss driver

* [#11373](https://github.com/apache/nuttx/pull/11373) gd32f4xx: change gd32f470z board code

* [#11193](https://github.com/apache/nuttx/pull/11193) imx6: Fix sabre-6quad:libcxx

* [#11310](https://github.com/apache/nuttx/pull/11310) nrf52: nrf52832-dk: add timer example
* [#10835](https://github.com/apache/nuttx/pull/10835) nrf52: remove CONFIG_ARMV7M_SYSTICK form tickless configs

* [#11150](https://github.com/apache/nuttx/pull/11150) sama5: Add QSPI support SAMA5
* [#11151](https://github.com/apache/nuttx/pull/11151) sama5: sama5d2-xult: add support for QSPI flash and nxffs

* [#11117](https://github.com/apache/nuttx/pull/11117) stm32: b-g431b-esc1: don't use CONFIG_STM32_USE_LEGACY_PINMAP=y
* [#11306](https://github.com/apache/nuttx/pull/11306) stm32h7: fix config conflict
* [#11214](https://github.com/apache/nuttx/pull/11214) stm32h7: linum-stm32h753bi: Add support to RTC and alarm
* [#11167](https://github.com/apache/nuttx/pull/11167) stm32h7: linum-stm32h753bi: Added suport to userlerds library.
* [#11265](https://github.com/apache/nuttx/pull/11265) stm32f4: stm32f401rc-rs485: Add sdcard support
* [#11217](https://github.com/apache/nuttx/pull/11217) stm32f4: stm32f401rc-rs485: Add buttons support
* [#11169](https://github.com/apache/nuttx/pull/11169) stm32f4: stm32f401rc-rs485: add support to userleds
* [#11255](https://github.com/apache/nuttx/pull/11255) stm32f4: stm32f401rc-rs485: Fix f401rc flash size

risc-v

Markdown
* [#10736](https://github.com/apache/nuttx/pull/10736) esp32c3: pm: Let PM_PROCFS depend on FS_PROCFS_REGISTER
* [#11418](https://github.com/apache/nuttx/pull/11418) esp32c6: Add ostest defconfig
* [#11096](https://github.com/apache/nuttx/pull/11096) mpfs: Add option for board specific PMP configuration
* [#11262](https://github.com/apache/nuttx/pull/11262) qemu-rv: rv-virt/knsh: Set correct RAM_START and RAM_SIZE
* [#11397](https://github.com/apache/nuttx/pull/11397) qemu-rv: Virtio sound

sim

Markdown
* [#10960](https://github.com/apache/nuttx/pull/10960) fix Cygwin/MSYS2 ld: unrecognized option '-z'
* [#11290](https://github.com/apache/nuttx/pull/11290) nxscope: remove CONFIG_ALLSYMS=y

xtensa

Markdown
* [#11142](https://github.com/apache/nuttx/pull/11142) esp32: Add LVGL defconfig
* [#11229](https://github.com/apache/nuttx/pull/11229) esp32: Add support enconder to ESP32-2432S028
* [#10961](https://github.com/apache/nuttx/pull/10961) esp32: Add wifishare board config and documentation
* [#10996](https://github.com/apache/nuttx/pull/10996) esp32: Rename Shift game to Brickmatch and add an board example to esp32-devkitc
* [#11417](https://github.com/apache/nuttx/pull/11417) esp32<|s2|s3>_board_spiflash: Fix error message about SmartFS init
* [#11425](https://github.com/apache/nuttx/pull/11425) esp32s2: Increase init task stack size to 3072
* [#11156](https://github.com/apache/nuttx/pull/11156) esp32s3: Link stack checking function and data to SRAM when enable flash or PSRAM driver
* [#11342](https://github.com/apache/nuttx/pull/11342) esp32s3: add esp32s3-devkit:toywasm kconfig
* [#11295](https://github.com/apache/nuttx/pull/11295) esp32s3: Add rtc defconfig
* [#10885](https://github.com/apache/nuttx/pull/10885) ESP32S3-EYE: GPIO and button support
* [#10884](https://github.com/apache/nuttx/pull/10884) ESP32-S3-EYE: I2C, SPI and LCD support
* [#10883](https://github.com/apache/nuttx/pull/10883) ESP32-S3-EYE: Wifi

File System

Improvements

Markdown
* [#10995](https://github.com/apache/nuttx/pull/10995) Change inode_checkflags to static function
* [#11445](https://github.com/apache/nuttx/pull/11445) Fix hostfs after uid/gid changes
* [#11433](https://github.com/apache/nuttx/pull/11433) fat: Fix number of data clusters usable for fat driver
* [#11196](https://github.com/apache/nuttx/pull/11196) fat: fix ubsan warning of shift-out-of-bounds
* [#10706](https://github.com/apache/nuttx/pull/10706) fs_epoll: several epoll problems fix
* [#11125](https://github.com/apache/nuttx/pull/11125) fs_files.c: make sure that fs_getfilep is not interrupted when holding mutex
* [#11349](https://github.com/apache/nuttx/pull/11349) fs_gettype:add zipfs magic
* [#11446](https://github.com/apache/nuttx/pull/11446) hostfs:fix structure layout inconsistency in hostfs
* [#11090](https://github.com/apache/nuttx/pull/11090) inode: Change inode_unlink to static function
* [#11188](https://github.com/apache/nuttx/pull/11188) inode: check file list before memcpy
* [#11140](https://github.com/apache/nuttx/pull/11140) inode: improve the performance of get file pointer
* [#11318](https://github.com/apache/nuttx/pull/11318) proc: Fix groupfd to get fd by group instead of current tcb
* [#11449](https://github.com/apache/nuttx/pull/11449) procfs add poll support
* [#11360](https://github.com/apache/nuttx/pull/11360) procfs/cpuinfo: Zero copylen in cpuinfo_read
* [#11039](https://github.com/apache/nuttx/pull/11039) rename: fix use after free issue about rename
* [#11451](https://github.com/apache/nuttx/pull/11451) smartfs: Add necessary aligned access in smartfs_rename()
* [#11248](https://github.com/apache/nuttx/pull/11248) spiffs: correct mutex lock cycle of spiffs
* [#10804](https://github.com/apache/nuttx/pull/10804) support zipfs,can mount zipfile
* [#11232](https://github.com/apache/nuttx/pull/11232) tmpfs: fix an integer overflow
* [#10880](https://github.com/apache/nuttx/pull/10880) vfs: add munmap logic to pseudofs

Networking

Improvements

Markdown
* [#10813](https://github.com/apache/nuttx/pull/10813) Add CONFIG_NET_ICMPv6_ROUTER_LIFETIME
* [#10893](https://github.com/apache/nuttx/pull/10893) allow icmpv6 and udp to find the dev by the ifindex with s_boundto.
* [#10916](https://github.com/apache/nuttx/pull/10916) Fix RNDIS compilation error
* [#10819](https://github.com/apache/nuttx/pull/10819) local: Fix the problem that local udp socketpair cannot release fifo files.
* [#11443](https://github.com/apache/nuttx/pull/11443) local: make the call return of each process consistent with linux
* [#11015](https://github.com/apache/nuttx/pull/11015) local: Support SO_SNDBUF option in getsockopt
* [#11289](https://github.com/apache/nuttx/pull/11289) loopback: Fix flags of lo device
* [#11324](https://github.com/apache/nuttx/pull/11324) icmpv6:Optimize the process of obtaining the IPv6 address through RA.
* [#11010](https://github.com/apache/nuttx/pull/11010) icmpv6: Fix net mask logic in icmpv6_setaddresses
* [#11197](https://github.com/apache/nuttx/pull/11197) igmp: call IFF_SET_IPv4 when igmp_send
* [#11384](https://github.com/apache/nuttx/pull/11384) ipv6: Fix source address with many addresses in same network
* [#11378](https://github.com/apache/nuttx/pull/11378) ipv6: Move xxx_ipv6multicast from arch to common code
* [#10894](https://github.com/apache/nuttx/pull/10894) netdb: When set a dns nameserver which already exists, retrun OK
* [#11076](https://github.com/apache/nuttx/pull/11076) netconfig: Enable SOCK_CLOEXEC for ioctl sockets
* [#11396](https://github.com/apache/nuttx/pull/11396) netdev: Modify the logic for setting the IFF_RUNNING status of interfaces.
* [#11110](https://github.com/apache/nuttx/pull/11110) Simplify getting value for different domain
* [#11054](https://github.com/apache/nuttx/pull/11054) Support multiple IPv6 address per netdev
* [#11406](https://github.com/apache/nuttx/pull/11406) tcp: Recover from iob shortage with TCP_WRITE_BUFFERS
* [#11126](https://github.com/apache/nuttx/pull/11126) tcp: Support initial sequence number described in RFC 6528
* [#11009](https://github.com/apache/nuttx/pull/11009) tun: Fix the error of calling tun_close when tun_txavail or tun_txavail_work is executed
* [#10986](https://github.com/apache/nuttx/pull/10986) tun: Fix the error of calling tun_close when tun_txavail or tun_txavail_work is executed
* [#11372](https://github.com/apache/nuttx/pull/11372) udp: Add check when sending too big packet without IP frag
* [#11210](https://github.com/apache/nuttx/pull/11210) udp: Add support for SO_TIMESTAMP
* [#11120](https://github.com/apache/nuttx/pull/11120) udp: modify ipv4 multicast to allow different conn to join simultaneously
* [#10878](https://github.com/apache/nuttx/pull/10878) usersock: Return -ENOSUPP directly if domain isn't equal to PF_INET/PF_INET6

Security Issues Fixed In This Release

Compatibility Concerns

Markdown
* [#10605](https://github.com/apache/nuttx/pull/10605)  Implement ticket spinlock

A proposal to slove #1488

Implement ticket spinlock.


* [#10861](https://github.com/apache/nuttx/pull/10861) spinlock: Add spin_lock_init and spin_is_locked macro

align with Linux api naming.


* [#11102](https://github.com/apache/nuttx/pull/11102) sched: explicitly select the cpuload clock source configuration

Different configurations require different dependencies.
Explicitly select dependencies to avoid automatically selecting
inappropriate configurations.

* [#11334](https://github.com/apache/nuttx/pull/11334) stm32h7_adc: Dynamically set clock prescaler and BOOST

First commit is aligning naming and is a breaking change.

* [#10827](https://github.com/apache/nuttx/pull/10827) Improve adjtime() functionality

Prior pull request #9084 and issue #8858 added basic adjtime()
support for the SAMv7 platform.

This pull request adds support for STM32 platform.

In addition I have made a few changes to the adjtime() configuration
options:

1) Previously adjustments less than 1 microsecond per tick would be
   completely ignored. Now they are applied over a shorter period at
   a rate of 1 us per tick.

2) Previously CLOCK_ADJTIME_PERIOD was in units of 1/100th of second.
   Change to milliseconds to be more generally useful unit.
   Change setting name to CLOCK_ADJTIME_PERIOD_MS to make the unit change
   easier to notice.

3) Previously CLOCK_ADJTIME_SLEWLIMIT was in percentage.
   Most clock crystals have better accuracy than 1%, so the minimum slew
   rate was excessive. Change to CLOCK_ADJTIME_SLEWLIMIT_PPM with setting
   value in parts per million.

4) No need to use floating point math in clock_adjtime.c.

Impact

Users who have used CLOCK_ADJTIME_PERIOD and CLOCK_ADJTIME_SLEWLIMIT 
settings should update their configuration. New CLOCK_ADJTIME_PERIOD_MS is
10x the old period value, and new CLOCK_ADJTIME_SLEWLIMIT_PPM is 10000 times
the old slewlimit.

Known Problems In This Release

NuttX on Ox64: getprime + hello crashes 

Markdown
NuttShell (NSH) NuttX-12.4.0
nsh> uname -a
NuttX 12.4.0 96c2707737 Jan 15 2024 10:35:29 risc-v ox64
nsh> 
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 0 msec
nsh> 
nsh> hello
riscv_exception: EXCEPTION: Store/AMO page fault. MCAUSE: 000000000000000f, EPC: 0000000050208fcc, MTVAL: 0000000080200000
riscv_exception: PANIC!!! Exception = 000000000000000f

More Information

How to Download

...

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

...