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
* [#11319](https://github.com/apache/nuttx/pull/11319) arm:imxrt: Add support for imxrt1170 Soc and imxrt1170-evk board
* [#11371](https://github.com/apache/nuttx/pull/11371) riscv: Add support for Bouffalo Lab BL808 SoC (T-Head C906)

Architecture Improvements

...

New Driver Support

Markdown
* [#10770#10836](https://github.com/apache/nuttx/pull/1077010836) driversarch: add regmap subsystems support.
* [#10902 a flag indicating that the chip doesn't support DMA transfer from/to FLASH
* [#10759](https://github.com/apache/nuttx/pull/1090210759) motorarch: add Adduse_data stepperto interfaceg_tcbinfo
* [#11253#11190](https://github.com/apache/nuttx/pull/1125311190) mtd: Adds supportarch: dumponexit: unify dump on exit to W25Q20CLcommon memory.code
* [#11149#10828](https://github.com/apache/nuttx/pull/1114910828) mtdarch: mx25rxx: add support for MX25L25673G chipsimplify ARCH_PERF_EVENTS related code
* [#11422#11160](https://github.com/apache/nuttx/pull/1142211160) netarch: ksz9477: Add simple port-based static VLAN configuration
* [#11339textheap: add _heapmember declare for text and data heap

arm

Markdown
 * [#11282](https://github.com/apache/nuttx/pull/1133911282) netclang: lan9250:replace Add LAN9250 driver(SPI and QSPI mode)deprecated parameter
* [#11280#11170](https://github.com/apache/nuttx/pull/1128011170) sensors: Add support for MS5607 Let's old arm's arm_doirq return register context like armv7-a
* [#10864#11413](https://github.com/apache/nuttx/pull/1086411413) sensorsdebug: max31865:RTD-to-Digital Converterfix gdbstub clear fpb & dwt when already use jtag/swo bug
* [#10914#11166](https://github.com/apache/nuttx/pull/1091411166) stepper: add DRV8825armv8-m: Fix typo error for NVIC_SYSHCON_HARDFAULTPENDED

* [#11228#11118](https://github.com/apache/nuttx/pull/1122811118) teecxd56xx: addSupport to opteeget clientgnss driver module

Drivers With Significant Improvements

Markdown
firmware version

* [#11071#11398](https://github.com/apache/nuttx/pull/1107111398) Kconfigsimxrt: rename {Rpmsg|rpmsg}Extend FlexIO support to RPMGS117x
* [#11061#11436](https://github.com/apache/nuttx/pull/1106111436) canimxrt: flexio move Addifdef newguard ioctlslower
* [#10845#11012](https://github.com/apache/nuttx/pull/1084511012) focimxrt: foc_dummy.c: update dummy device state only if dev opened NXP I2C non-DMA end only on stop with end of packet
* [#11176#11000](https://github.com/apache/nuttx/pull/1117611000) focimxrt: returnnxp scalinglpi2c factorcalculated fortimeout phasecan currentsnot and BEMF via ioctlbe 0
* [#10808#11033](https://github.com/apache/nuttx/pull/1080811033) ioexpanderimxrt: Minor fix for ioexpander driver NXP lpi2c DMA transaction only need the status conditioned
* [#11147#11164](https://github.com/apache/nuttx/pull/1114711164) lcdimxrt: NXP Serial addDo stridenot supportwait foron LCDTXDMA driversemaphore
* [#11185#11070](https://github.com/apache/nuttx/pull/1118511070) lcdimxrt: change lcd stride from pixel to bytesNXP Serial overcome race where DMA has not fetched TCD again
* [#10926#11020](https://github.com/apache/nuttx/pull/1092611020) math: mpi: add mpi driver in mathimxrt: serial Ensure the cache is updated if the DMA has updated again

* [#11240#11199](https://github.com/apache/nuttx/pull/1124011199) miscimx6: Rpmsgblk function optimization Replace cpu_start_t with start_t

* [#11220#10877](https://github.com/apache/nuttx/pull/1122010877) mmcsdmx8mp: mmcsd_sdinitializeAdd shouldsupport save csd register into priv->csdfor SPI

* [#10909#11203](https://github.com/apache/nuttx/pull/1090911203) mtdnRF91: filemtd:Fixinitial teardownsupport return error number EINVALfor GNSS
* [#11041#11308](https://github.com/apache/nuttx/pull/1104111308) mtd: get mtd_geometry_s.modelnrf{52|53|91}: add missing support for mtd1 partitionMbps andUART optimize codebaud
* [#11187#10826](https://github.com/apache/nuttx/pull/1118710826) mtdnrf{52|53|91}: s25fl1:add fixsupport compile warnings caused by incorrect variable print formatfor up_perf
* [#11370#10830](https://github.com/apache/nuttx/pull/1137010830) mtdnrf{52|53|91}: w25q:fixes add nxsig_usleep to busy waiting in w25qxxxjv_erase_sector()for timer

* [#11391#11172](https://github.com/apache/nuttx/pull/1139111172) netrp2040: qemu/wifipwm: AddFix theerrors virtual wifi function on the emulator.at CONFIG_PWM_NCHANNELS=1

* [#11216#10817](https://github.com/apache/nuttx/pull/1121610817) netsama5: skeleton.c doesn't compile without this patch if ioctls are enabledSort SAMA5D2 adc/tsd dma
* [#10907#10806](https://github.com/apache/nuttx/pull/1090710806) notesama5: TSD trigger Changeand 0/1pressure toscaling false/trueissues
* [#11153#11307](https://github.com/apache/nuttx/pull/1115311307) note: delete sched_note_flattensamd212: invert tx and rx in spi_dma_setup
* [#10840#11212](https://github.com/apache/nuttx/pull/1084011212) note: optimize note performance samd212: sam_dmac: Fix compilation and fix SAM_DMAC_CHINTENCLR settings
* [#10920#10855](https://github.com/apache/nuttx/pull/1092010855) notesamv7: channel removegain remainingswitching eventin codeaefc
* [#11074#11312](https://github.com/apache/nuttx/pull/1107411312) powersamv7: pmsam_emac: use pm_staytimeout() in greedy_governor_activity()Implement errata workaround for KSZ8061 PHY

* [#11132#10847](https://github.com/apache/nuttx/pull/1113210847) rptun{stm32|stm32f7|at32|samv7|imxrt}: checkfix the status before stop remote procfor adc_setup
* [#11222#11211](https://github.com/apache/nuttx/pull/1122211211) rtc: RTC driver improvementstm32: Add support for Ethernet packet timestamping and PTP timer
* [#10831#11175](https://github.com/apache/nuttx/pull/1083111175) rtt: make RTT console optionalstm32: foc: add support for board-specific ioctl
* [#11296#10833](https://github.com/apache/nuttx/pull/1129610833) seggerstm32: rtt:Initialize correctLED macrodriver nameduring tolate avoidinitialization unable to change default modefor nucleo-f446re
* [#11419#11181](https://github.com/apache/nuttx/pull/1141911181) sensorsstm32: mx56xxstm32/stm32_adc.c: Addprotect supportirq_attach for second order compensationwith refcounter
* [#11426#11194](https://github.com/apache/nuttx/pull/1142611194) sensorsstm32: mx56xxstm32_foc.c: Fixrename thresholdsome and calculationmacros
* [#11178#11194](https://github.com/apache/nuttx/pull/1117811194) serialstm32: uartstm32_tcsendbreaketh: RemoveFix cancelexcessively point,long ascritical tcsendbreaksection isin notifdown onehandlerm
* [#11402#10865](https://github.com/apache/nuttx/pull/1140210865) syslogstm32: ramlog: improve ramlog performance
* [#11392 UART needs to be disabled before changing setup

* [#10824](https://github.com/apache/nuttx/pull/1139210824) syslogstm32l4: ramlogADC: multi readersAdds low level operations to start and stop DMA.
* [#10890#11154](https://github.com/apache/nuttx/pull/1089011154) syslogstm32h7: ramlogserial: Do not remove sched_[un]lock and rl_nwaiterswait on TXDMA semaphore
* [#11186#11323](https://github.com/apache/nuttx/pull/1118611323) timersstm32h7: Rewriteserial adjtime()refactor implementationout totx work for RTC and tickless kerneldma semaphore
* [#11356#11332](https://github.com/apache/nuttx/pull/1135611332) usbdevstm32h7: Add callback for CONFIG_USBDEV_SOFINTERRUPT
serial Remove .txdmasem = SEM_INITIALIZER(1) bad cherry-pick
* [#11042#10841](https://github.com/apache/nuttx/pull/1104210841) usbdevstm32h7: config USBDEV_TRACE_INITIALIDSET when disbale USBDEV_TRACEstm32_oneshot.c: Fix format warnings.
* [#11161#11334](https://github.com/apache/nuttx/pull/1116111334) usbdevstm32h7: stm32h7_adc: SolveDynamically someset problemsclock ofprescaler USBand hotplugBOOST
* [#10985#11367](https://github.com/apache/nuttx/pull/1098511367) usrsockstm32u5: Make the field of usrsock_request native alignmentfix EXTICR2,3,4 register offsets

* [#11103#10846](https://github.com/apache/nuttx/pull/1110310846) usrsocks32k1xx: rpmsg_server: Keep msg order in recursive callFix LPUART inversion warnings & config.
* [#11107#10844](https://github.com/apache/nuttx/pull/1110710844) usrsocks32k1xx: Fix socketwarnings fallbackin withPWM ENETDOWNcode.
* [#10874#11099](https://github.com/apache/nuttx/pull/1087411099) video: fb: Add fb_register_devices32kxxx: flexcan doesn't set srr bit for extended frames
* [#10812#11325](https://github.com/apache/nuttx/pull/1081211325) videos32k3xx: goldfish:NXP RemoveS32K3xx theFixes vsyncstuttering residual codeoutput
* [#11380#11106](https://github.com/apache/nuttx/pull/1138011106) video: goldfish: optimize goldfish fb register
* [#11249s32k3xx: serial ensure the cache is updated if the DMA has updated again

arm64

Markdown
* [#10888](https://github.com/apache/nuttx/pull/1124910888) video: video.c: modify set_buf call seqence in start_capture function.Add support for FIQ interrupts
* [#11224#11352](https://github.com/apache/nuttx/pull/1122411352) videocoredump: waitsupport when the vsync queue is full in FBIO_WAITFORVSYNCarm64 coredump
* [#11382#11200](https://github.com/apache/nuttx/pull/1138211200) virtio: SupportDisable ARCH_HAVE_FORK for settingarm64 MACas addresses of the virtio-net interfacesa precaution
* [#11385#11429](https://github.com/apache/nuttx/pull/1138511429) virtio: virtio-gpu: convert virito-gpu fb_register to virtio_gpu_fb_registerFix GICv2 detection
* [#11201#10966](https://github.com/apache/nuttx/pull/1120110966) virtio:Remove Virtiounnecessary Qemu 8.1.2 issues fixcode in arm64_cpu_idle.S
* [#11013#11037](https://github.com/apache/nuttx/pull/1101311037) support wireless:relocate 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

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

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

...