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

...

Architecture Improvements

...

arm

Driver Support

New Driver Support

Markdown
* [#11767#11409](https://github.com/apache/nuttx/pull/1176711409) drivers/analog/hx711arch: AddRemove driverthe foridentity hx711mapping weight scale ADC
of up_addrenv_va_to_pa and up_addrenv_pa_to_va
* [#11868#11812](https://github.com/apache/nuttx/pull/1186811812) drivers/can/sja1000: Add SJA1000 CAN driver support arch: use c++ standard lib that comes with gcc
* [#11806#11558](https://github.com/apache/nuttx/pull/1180611558) drivers/mtd/mtd_nandramarch/commons: Addsremove virtualduplicated NANDtask Flashexit simulatorlogging
* [#11552#11468](https://github.com/apache/nuttx/pull/1155211468) driversarch/usbhostKconfig: Addadd dependency ato USBMM_KMAP bluetooth driver

Drivers With Significant Improvements

Markdown
for ARCH_KMAP_VBASE
* [#11589#11632](https://github.com/apache/nuttx/pull/1158911632) driversarch/alt1250Kconfig: Notice instance informationreplace RPTUN_PING with RPMSG_PING
* [#11829#11453](https://github.com/apache/nuttx/pull/1182911453) drivers/analog/hx711: Fix few issuesarch/Refine exception handling in hx711 driverARM
* [#11941#11833](https://github.com/apache/nuttx/pull/1194111833) driversarch/arm/devicetreearm: addfix common FDT utilities APIscompile error
* [#11947#11855](https://github.com/apache/nuttx/pull/1194711855) drivers/ioexpander: icjx: add support for multiple pin read/writearch/arm/armv7-a/gicv2: move IRQ to group1 and group0 as the FIQ
* [#11590#11484](https://github.com/apache/nuttx/pull/1159011484) drivers/ioexpanderarch/arm/armv7-a/qemu: add QEMU_TRUSTZONE supportconfig forand iC-JXdefault expandern
* [#11423#11817](https://github.com/apache/nuttx/pull/1142311817) drivers/mtdarch/arm/armv7-a/r: Add MTD for AT25 eepromtimer update
* [#11886#11814](https://github.com/apache/nuttx/pull/1188611814) drivers/mtdarch/arm/armv7-a/r: mt_config_fs : update nvs to support align sizeuse _ebss as idle stack both in SMP mode or not
* [#11671#11835](https://github.com/apache/nuttx/pull/1167111835) drivers/modem/alt1250arch/arm/armv7-a/r: Adduse LTE_CMDID_RESTARTAPI command_ebss as idle stack both in SMP mode or not
* [#11580#11477](https://github.com/apache/nuttx/pull/1158011477) drivers/note: fix build with CONFIG_SCHED_INSTRUMENTATION_FUNCTIONarch/arm/armv7-m: Expose section name to allow relocation
* [#11857#11795](https://github.com/apache/nuttx/pull/1185711795) drivers/pipearch/arm/armv8-r: Changefix tobuild thebreak blockif mode by file_ioctl(FIONBIO)disable CONFIG_UART_PL011
* [#11618#11523](https://github.com/apache/nuttx/pull/1161811523) drivers/rpmsgarch/arm/armv8-r: Itfix shouldcompile be possible to use ping without rptun being enabled, so striped rptun_ping out of rptun and rename to rpmsg_ping.
* [#11714warning
* [#11521](https://github.com/apache/nuttx/pull/11521) arch/arm/armv8-r: wfi secondary cores if SMP is disabled
* [#11522](https://github.com/apache/nuttx/pull/1171411522) drivers/rpmsgarch/arm/fvp-v8r: make all rpmsg services depend on RPMSGfix arm_earlyserialinit() is not called correctly

* [#11699#11657](https://github.com/apache/nuttx/pull/1169911657) driversarch/rpmsgarm/ping: Replace UINT_MAX with CLOCK_MAXcxd56xx: Add new feature to use GNSS RAM
* [#11483#11834](https://github.com/apache/nuttx/pull/1148311834) driversarch/rpmsgarm/rpmsgdev_servercxd56xx: doFollow notinterface notifychange the client when the fds has teardownof set_buf() operation

* [#11481#11815](https://github.com/apache/nuttx/pull/1148111815) driversarc/rpmsg/rpmsg_sockif: recv/recvmsg return 0 when peer closearm/goldfish & qemu: handle MMU table and CONFIG_RAM_END
* [#11591#11837](https://github.com/apache/nuttx/pull/1159111837) drivers/rpmsgfsarc/arm/goldfish & qemu: decouplinghandle rpmsgfsMMU servertable and rpmsg virtio.CONFIG_RAM_END

* [#11510#11494](https://github.com/apache/nuttx/pull/1151011494) driversarch/arm/rpmsgfs: synchronous message transfer formatsama5: add LCD backlight PWM clock source selection
* [#11515#11569](https://github.com/apache/nuttx/pull/1151511569) driversarch/arm/rpmsgmtdsama5: use fixed length struct tosam_ehci: fix transfer between two cpuscancellation process.
* [#11687#11602](https://github.com/apache/nuttx/pull/1168711602) drivers/rptun: add explicit initialization for variablearch/arm/sama5: sam_serial: fix to compile with "UART Flow control enable…

* [#11537#11665](https://github.com/apache/nuttx/pull/1153711665) driversarch/arm/rptunsamv7: decouplingadd rptunsupport pingfor and rptunBOARDIOC_virtioRESET_device, rptun ping and rptun.CAUSE command
* [#11712#11836](https://github.com/apache/nuttx/pull/1171211836) driversarch/arm/rptunsamv7: dump:add move rptun_dump.c to rptun.c, remove redundant code.support for USART TX DMA transfers
* [#11603#11584](https://github.com/apache/nuttx/pull/1160311584) driversarch/arm/rptunsamv7: extract rptun char to rpmsg/rpmsg.c add support for SPI mode in USART peripheral
* [#11741#11601](https://github.com/apache/nuttx/pull/1174111601) driversarch/arm/rptun: ioctl: remove rptun_panic and rptun_dump_allsamv7: fix QSPI DMA option not showing in menuconfig
* [#11713#11880](https://github.com/apache/nuttx/pull/1171311880) driversarch/arm/rptunsamv7: ioctl: Strip rpmsg ioctl and rptun ioctl. fix typos in Kconfig PWM0 fault input selections - inv. polarity
* [#11487#11595](https://github.com/apache/nuttx/pull/1148711595) driversarch/arm/rptunsamv7: ping:refactor support data checksum and data transfer rate calculationDAC driver

* [#11520#11697](https://github.com/apache/nuttx/pull/1152011697) driversarch/arm/rptunstm32: removeFix rptunSTM32xx workPWM queueSTOP relatedin unusedmultichannel codemode
* [#11627#11752](https://github.com/apache/nuttx/pull/1162711752) drivers/rptunarch/arm/stm32/stm32f30xxx_rcc.c: removefix temporarilybroken retained RPTUNIOC_xxx definitions.flash setup
* [#11454#11901](https://github.com/apache/nuttx/pull/1145411901) drivers/rptun: Select OPENMAP under RPTUNarch/arm/stm32/stm32_serial.c: fix compilation of onewire driver mode
* [#11536#11981](https://github.com/apache/nuttx/pull/1153611981) driversarch/rptun: Strip rpmsg and rptun. arm/stm32h7: Fix race condition in ADC interrupt handling
* [#11719#11982](https://github.com/apache/nuttx/pull/1171911982) driversarch/arm/rptunstm32h7: should initializeModify the vringenable dalogic when da == 0 || da == -1of FDCAN
* [#11874#11582](https://github.com/apache/nuttx/pull/1187411582) driversarch/arm/sensors: add uorb support for lsm9ds1stm32h7: serial make TX DMA busy when there are an outstanding transaction
* [#11628#11963](https://github.com/apache/nuttx/pull/1162811963) drivers/sensorsarch/arm/stm32f7/stm32_foc.c: delete warning about argument type in bmi160Set .info_get to foc_lower_ops
* [#11792#11934](https://github.com/apache/nuttx/pull/1179211934) drivers/sensorsarch/arm/stm32h7/linum-stm32h753bi: RemoveAdd duplicated defnitions from bmi160.hbuzzer support
* [#11789#11849](https://github.com/apache/nuttx/pull/1178911849) driversarch/arm/sensorsstm32h7/bmi160: fix compilation errorslinum-stm32h753bi: Add support to eeprom using the i2c3
* [#11923#11830](https://github.com/apache/nuttx/pull/1192311830) driversarch/arm/sensorsstm32h7/bmi270linum-stm32h753bi: fixAdd accelsupport and gyro data positionto sdcard
* [#11525#11902](https://github.com/apache/nuttx/pull/1152511902) driversarch/arm/serialstm32f40/pl011stm32f40xxx_pinmap: add support3rd of uart0/2/3 portalternate mapping for USART6

* [#11813#11962](https://github.com/apache/nuttx/pull/1181311962) drivers/syslog: syslog_rpmsg: handle syslog_rpmsg_transfer() return value arch/arm/imxrt/imxrt_start.c: Clear CONTROL register at start to … 

* [#11965#11511](https://github.com/apache/nuttx/pull/1196511511) driversarch/usbdevarm/cdcecmmx8mp: removeFix mx8mp duplicateecspi assignmentinterruption statementsmanagement.

* [#11560#11878](https://github.com/apache/nuttx/pull/1156011878) driversarch/arm/usbhostnrf: Updatefixes USBfor bluetooth driverSPI
* [#11859#11843](https://github.com/apache/nuttx/pull/1185911843) drivers/video: Update for improvement and bug fixarch/arm/nrf{52|53|91}/spi: fix error message
* [#11936#11706](https://github.com/apache/nuttx/pull/1193611706) drivers/video/V4l2: header updatearch/arm/nrf{52|53|91}/xxx_rtc.h: include nuttx/irq.h
* [#11887#11702](https://github.com/apache/nuttx/pull/1188711702) drivers/video/v4l2: refactor
* [#11716](https://github.com/apache/nuttx/pull/11716) drivers/virtio: move metal_init to the virtio_register_drivers()
* [#11478arch/nrf{52|53|91}: let the events from comparator correspond to CC id
* [#11703](https://github.com/apache/nuttx/pull/1147811703) drivers/virtio-mmio: ack the interrupt as soon as possiblearch/nrf{52|53}/gpiote.c: fix event reconfiguration for a given pin

* [#11482#11648](https://github.com/apache/nuttx/pull/1148211648) drivers/virtio-mmioarch/arm/rp2040: avoidSupport output error log when not found mmio deviceClock Outputs

* [#11485#11845](https://github.com/apache/nuttx/pull/1148511845) drivers/virtio-mmioarch/arm/s32k1xx: useDisable byteinterrupt toduring byte in read/write config when length != 1,2,4,8FTFC operation

* [#11592#11564](https://github.com/apache/nuttx/pull/1159211564) driversarch/arm/wirelessxmc4: bcmf_driver:wlan interface status reset by unsolicited wpa packetadd GPIO_U1C0_SCLKOUT_3 P4.0 for spi2 on xm4 
* [#11617#11737](https://github.com/apache/nuttx/pull/1161711737) driversarch/arm/wirelessxmc4: IEEE802.15.4 Add tickless support for nrf52
* [#11701#11728](https://github.com/apache/nuttx/pull/1170111728) driversarch/arm/wirelessxmc4: ieee802154_mac: add TRACEDUMP request Add XMC4 flash command sequence API
* [#11705#11678](https://github.com/apache/nuttx/pull/1170511678) driversarch/arm/wirelessxmc4: mrf24j40:Fix add support for IEEE802154_ATTR_PHY_REGDUMPCCU registers
* [#11616#11581](https://github.com/apache/nuttx/pull/1161611581) driversarch/arm/wirelessxmc4: mrf24j40: minor fixesfix typo: it is P4.0 and not P0.4
* [#11535#11600](https://github.com/apache/nuttx/pull/1153511600) driversarch/wirelessarm/bluetoothxmc4: Preventxmc4 btsakccu4 from repeatedly showing the same error.

Board Support

New Board Support

global registers

arm64

Markdown
* [#11960#11986](https://github.com/apache/nuttx/pull/1196011986) boards: add two new gd32f4 boardsarch/arm64: Add the head obj to libarch.a as well
* [#11583#11969](https://github.com/apache/nuttx/pull/1158311969) boardsarch/arm64/src/common: BringRemove upvoid changes from nuttx/pci branch (2nd attempt)* arithmetic
* [#11991#11975](https://github.com/apache/nuttx/pull/1199111975) boards: esp32c6 devkitm supportarch/arm64/arm64_head.S: Add explicit input section for __start
* [#11945#11946](https://github.com/apache/nuttx/pull/1194511946) boards: Initial port for i.MX93 and i.MX93EVK boardarch/arm64/arm64_mmu: Add data synchronization barrier after page tables are written
* [#11879#11974](https://github.com/apache/nuttx/pull/1187911974) boardsarch/arm64/stm32h7imx9: add Waveshare OpenH743I board
 Add CCM (Clock Controller Module) driver

risc-v

Markdown
* [#11607#11612](https://github.com/apache/nuttx/pull/1160711612) boards/arm/xmc4arch/risc-v: add xmc4800-relaxstatus to nuttx

Boards With Improvements

...

File System

improvements

Markdown
fields for VS and XS
* [#11841#11985](https://github.com/apache/nuttx/pull/1184111985) fs: enhance file_allocate_from_tcb() mulit-threads saftey & remove memcpy when close the fdarch/risc-v: minor revision of risc-v/arch.h and fs_mmap.c
* [#11896#11824](https://github.com/apache/nuttx/pull/1189611824) fsarch/risc-v: reviseRename commentsexisting andCONFIG_PAGING hardento nx_mount logic
* [#11892](https://github.com/apache/nuttx/pull/11892) fs/driver: using nx_unlink to call unlink ops to release some resource
* [#11723CONFIG_LEGACY_PAGING and implement page-fault exception and on-demand paging for RISC-V
* [#11620](https://github.com/apache/nuttx/pull/1172311620) fsarch/fat: fs_fat32: fix default return value of fat_ioctl().risc-v: reorganization
* [#11850#11876](https://github.com/apache/nuttx/pull/1185011876) fsarch/inoderisc-v: add pre-allocated task files to avoid allocator accesssimpleboot support
* [#11958#11585](https://github.com/apache/nuttx/pull/1195811585) fs/inodearch/risc-v/bl808: replaceFlush someMMU globalCache variablesafter toupdating macroSATP
* [#11729#11472](https://github.com/apache/nuttx/pull/1172911472) fs/littlefsarch/risc-v/bl808: AddImplement toTimer get the full pathwith OpenSBI
* [#11680#11609](https://github.com/apache/nuttx/pull/1168011609) fs/mountarch/risc-v/canmv230: add FS_RPMSGFS as cause of NODFS_SUPPORTCMake support
* [#11540#11561](https://github.com/apache/nuttx/pull/1154011561) fs/partition: fs_mbr: fixarch/risc-v/cmake: set llvm cputype only for MBRLLVM block count calculation.based toolchain
* [#11776#11650](https://github.com/apache/nuttx/pull/1177611650) fs/procfsarch/risc-v/common: add buildparam config to /proc/versionto mmu_flush_cache interface
* [#11550#11961](https://github.com/apache/nuttx/pull/1155011961) fs/romfs: Move rn_child/rn_count before rn_namesizearch/risc-v/common/supervisor/riscv_perform_syscall.c: Record the…
* [#11629#11549](https://github.com/apache/nuttx/pull/1162911549) fs/shmfsarch/risc-v/toolchain: Fix CONFIG_FS_SHM -> CONFIG_FS_SHMFSconfigurable vendor ISA extensions
* [#11634#11721](https://github.com/apache/nuttx/pull/1163411721) fs/shmfsarch/risc-v/esp_<rmt|ws2812>: FixImplement stat()the systemRMT callperipheral for shmfs objectall the supported Risc-V ESP32 devices
* [#11635#11906](https://github.com/apache/nuttx/pull/1163511906) fs/shmfsarch/risc-v/k230: Fixadd shmfs_truncateARCH_HAVE_RESET and revise logging
* [#11647#11619](https://github.com/apache/nuttx/pull/1164711619) fs/vfatarch/risc-v/k230: Fixadd typobig in the macro DIRSEC_BYTENDXcore support
* [#11724#11726](https://github.com/apache/nuttx/pull/1172411726) fs/vfs: Implement Filelock

Networking

Improvements

Markdown
* [#11495arch/risc-v/k230: add IPI support to improve RPMsg efficiency
* [#11559](https://github.com/apache/nuttx/pull/1149511559) netarch/risc-v/k230: add supportNUTTSBI forbased multikernel PHY and optionally use it on imxrtbuild support
* [#11759#11504](https://github.com/apache/nuttx/pull/1175911504) netarch/risc-v/k230: Fixadd minorPROTECTED codingbuild problemssupport
* [#11492#11911](https://github.com/apache/nuttx/pull/1149211911) netarch/risc-v/k230: Onlyfix call arp_send for PF_INET and icmpv6_neighbor for PF_INET6k230_hart_is_big issue
* [#11491#11831](https://github.com/apache/nuttx/pull/1149111831) net/canarch/risc-v/k230: Releaseimprovements IOBto whensupport failedK230 to queue in datahandlervendor u-boot
* [#11856#11673](https://github.com/apache/nuttx/pull/1185611673) net/localarch/risc-v/k230: Fixinitial theAsymmetric minor issue foundMulti-Processing support
* [#11480#11762](https://github.com/apache/nuttx/pull/1148011762) net/local: local_sendmsg: fix peer->lc_cfps[] array out-of-range writearch/risc-v/k230: minor revision on configs
* [#11804#11869](https://github.com/apache/nuttx/pull/1180411869) net/localarch/risc-v/k230: Minorminor revision localon socketPMP improvementsettings
* [#11653#11691](https://github.com/apache/nuttx/pull/1165311691) net/nat: Fix ICMP Error MSG Processingarch/risc-v/k230: revise k230 hart operations and kernel linker script.
* [#11744#11513](https://github.com/apache/nuttx/pull/1174411513) net/pktarch/risc-v/k230: Supportuse bindingfully tolinked devicesapps otherin thankernel ETHbuild
* [#11509#11939](https://github.com/apache/nuttx/pull/1150911939) net/route: Support longest prefix match for routingarch/risc-v/litex: Allow FDT to be passed from previous boot change.
* [#11649#11497](https://github.com/apache/nuttx/pull/1164911497) net/rpmsgsockarch/risc-v/litex: Rename rpmsg_socket_getconnname to rpmsg_socket_getpeernamefix typo in litex/irq.h
* [#11578#11664](https://github.com/apache/nuttx/pull/1157811664) net/support to ARP Address Conflict Detectionarch/risc-v/mpfs: i2c fixes
* [#11909#11630](https://github.com/apache/nuttx/pull/1190911630) net/tcp: return true only when send window updatesarch/risc-v/mpfs: wrapper for sdio device drivers
* [#11598](https://github.com/apache/nuttx/pull/11598) arch/risc-v/mpfs/mpfs_corespi: Fix firing of stale interrupt after warm reset
* [#11910#11663](https://github.com/apache/nuttx/pull/11910) net/tun: in tun_write, try to release iob before iob_prepare
* [#11639](https://github.com/apache/nuttx/pull/11639) net/udp: Fix source address selection under IPv6

Security Issues Fixed In This Release

Compatibility Concerns

Changes to Build System

...

11663) arch/risc-v/mpfs/mpfs_irq.c: Fix up_irqinitialize for warm reboot
* [#11493](https://github.com/apache/nuttx/pull/11493) arch/risc-v/mpfs/mpfs_mpu: Add driver to set MPUCFG registers
* [#11528](https://github.com/apache/nuttx/pull/11528) arch/risc-v/mpfs/mpfs_mpucfg.c: Add mpfs_mpu_lock()
* [#11662](https://github.com/apache/nuttx/pull/11662) arch/risc-v/mpfs/mpfs_serial.c: Allow switching uart output to co…
* [#11527](https://github.com/apache/nuttx/pull/11527) arch/risc-v/mpfs/mpfs_usb.c: Remove PMPCFG configuration from the driver
* [#11794](https://github.com/apache/nuttx/pull/11794) arch/risc-v/rv-virt: Add .init_section to linker script
* [#11496](https://github.com/apache/nuttx/pull/11496) arch/risc-v/rv-virt: revise mstatus operations
* [#11524](https://github.com/apache/nuttx/pull/11524) arch/risc-v/rv-virt: use fully linked apps for kernel build
* [#11541](https://github.com/apache/nuttx/pull/11541) arch/risc-v/nuttsbi: add device specific initialization hook
* [#11533](https://github.com/apache/nuttx/pull/11533) arch/risc-v/nuttsbi: use ARCH_RV_MMIO_BITS for mtimer access selection
* [#11864](https://github.com/apache/nuttx/pull/11864) arch/risc-v/nuttsbi: revise PMP manipulation in NuttX SBI
* [#11638](https://github.com/apache/nuttx/pull/11638) arch/risc-v/nuttsbi: fix weak sbi_late_initialize issues
* [#11731](https://github.com/apache/nuttx/pull/11731) arch/risc-v/espressif: Add SPI Flash support
* [#11993](https://github.com/apache/nuttx/pull/11993) arch/risc-v/espressif: Fix esp32c6 strange characters on boot
* [#11599](https://github.com/apache/nuttx/pull/11599) arch/risc-v/espressif: Legacy bootloader clean-up
* [#11565](https://github.com/apache/nuttx/pull/11565) arch/risc-v/esp32c3-generic: add simple boot support

sim

Markdown
* [#11458](https://github.com/apache/nuttx/pull/11458) arch/sim: add assertions on hostfs copy of structures
* [#11610](https://github.com/apache/nuttx/pull/11610) arch/sim: fix X11 compile failed
* [#11461](https://github.com/apache/nuttx/pull/11461) arch/sim: make the cmake version of hostfs build similar to the Makefile one
* [#11983](https://github.com/apache/nuttx/pull/11983) arch/sim/matter: solve compilation problems for the matter community 
* [#11905](https://github.com/apache/nuttx/pull/11905) arch/sim/nxcamera: add CONFIG_SIM_FBBPP=32
* [#11459](https://github.com/apache/nuttx/pull/11459) arch/sim/src/sim/CMakeLists.txt: update a few file names 

tricore

Markdown
* [#11959](https://github.com/apache/nuttx/pull/11959) arch/tricore: add spinlock support

x86_64

Markdown
* [#11865](https://github.com/apache/nuttx/pull/11865) arch/x86_64: add addrenv support
* [#11747](https://github.com/apache/nuttx/pull/11747) arch/x86_64: add cmake support
* [#11866](https://github.com/apache/nuttx/pull/11866) arch/x86_64: add SSE instruction support
* [#11791](https://github.com/apache/nuttx/pull/11791) arch/x86_64: add spinlock support
* [#11782](https://github.com/apache/nuttx/pull/11782) arch/x86_64: change optimization to -Os for FULLOPT
* [#11899](https://github.com/apache/nuttx/pull/11899) arch/x86_64: move common Make.defs to common
* [#11715](https://github.com/apache/nuttx/pull/11715) arch/x86_64: move common toolchain options to Toolchain.defs
* [#11790](https://github.com/apache/nuttx/pull/11790) arch/x86_64: move PCI bus initialization from qemu-intel64 to common x86_64
* [#11809](https://github.com/apache/nuttx/pull/11809) arch/x86_64/intel64: add HPET timer support as oneshot timer
* [#11770](https://github.com/apache/nuttx/pull/11770) arch/x86_64/intel64: add software reset support
* [#11783](https://github.com/apache/nuttx/pull/11783) arch/x86_64/intel64: enable FPU and implement up_fpucmp to pass ostest
* [#11748](https://github.com/apache/nuttx/pull/11748) arch/x86_64/intel64: fix various issues with stack misalignment
* [#11873](https://github.com/apache/nuttx/pull/11873) arch/x86_64/intel64: improvements for interrupts
* [#11872](https://github.com/apache/nuttx/pull/11872) arch/x86_64/intel64: improvements for system clock
* [#11764](https://github.com/apache/nuttx/pull/11764) arch/x86_64/intel64: prase multiboot2 header before revoking the lower memory

xtensa

Markdown
* [#11563](https://github.com/apache/nuttx/pull/11563) arch/xtensa/esp32: Explicitly fail on boot-up for unsupported ESP32 versions
* [#11802](https://github.com/apache/nuttx/pull/11802) arch/xtensa/esp32: Fix issue of system blocking when SPIRAM is used as stack
* [#11897](https://github.com/apache/nuttx/pull/11897) arch/xtensa/esp32: Fix wrong interrupt number
* [#11588](https://github.com/apache/nuttx/pull/11588) arch/xtensa/esp32s3: Add APIs to release DMA channel resources
* [#11593](https://github.com/apache/nuttx/pull/11593) arch/xtensa/esp32s3: Add DMA peripheral to spi driver configuration
* [#11801](https://github.com/apache/nuttx/pull/11801) arch/xtensa/esp32s3: Add the return value of SPI driver
* [#11853](https://github.com/apache/nuttx/pull/11853) arch/xtensa/esp32s3: Configure DMA maximum buffer size based on access to different RAM
* [#11743](https://github.com/apache/nuttx/pull/11743) arch/xtensa/esp32s3: Deinitialize ESP32-S3 SPI slave GDMA engine
* [#11822](https://github.com/apache/nuttx/pull/11822) arch/xtensa/esp32s3: feat(esp32s3-bootloader): allow 32MB flash
* [#11604](https://github.com/apache/nuttx/pull/11604) arch/xtensa/esp32s3: Fix crash issue that occurs when deleting a semaphore in WPA3
* [#11685](https://github.com/apache/nuttx/pull/11685) arch/xtensa/esp32s2: Fix esp32s2 wdt interrupt bug
* [#11779](https://github.com/apache/nuttx/pull/11779) arch/xtensa/esp32s3: Fix issue of system blocking when SPIRAM is used as stack
* [#11807](https://github.com/apache/nuttx/pull/11807) arch/xtensa/esp32s3: Fix symbol collision between mbedTLS and the Wi-Fi driver
* [#11562](https://github.com/apache/nuttx/pull/11562) arch/xtensa/esp32s3: Fix USB pull-up and pull-down issue
* [#11852](https://github.com/apache/nuttx/pull/11852) arch/xtensa/esp32s3: Fix the issue of erasing a wide range of flash sectors
* [#11820](https://github.com/apache/nuttx/pull/11820) arch/xtensa/esp32s3: fix(esp32s3_spiflash_mtd): use correct type specifiers
* [#11534](https://github.com/apache/nuttx/pull/11534) arch/xtensa/esp32s3: Support WPA3 on softap mode
* [#11516](https://github.com/apache/nuttx/pull/11516) arch/xtensa/esp32[s2|s3] Following up update interrupt type constants.
* [#11557](https://github.com/apache/nuttx/pull/11557) arch/xtensa/esp32s3/pwm: Fix pwm output
* [#11519](https://github.com/apache/nuttx/pull/11519) arch/xtensa/esp32s3/rt_timer: Fix deadlock on RT-Timer thread and Fix Wi-Fi usage with SMP enabled.
* [#11554](https://github.com/apache/nuttx/pull/11554) arch/xtensa/esp32s3/spi: Add SPI bus init in bringup and fix SPI bus 2 and 3 conflict
* [#11575](https://github.com/apache/nuttx/pull/11575) arch/xtensa/esp32s3/spi-dma: Fix spi dma transfer.
* [#11538](https://github.com/apache/nuttx/pull/11538) arch/xtensa/esp32s3/wifi: Fix Wi-Fi connection to WPA3-SAE APs.

Driver Support

New Driver Support

Markdown
* [#11767](https://github.com/apache/nuttx/pull/11767) drivers/analog/hx711: Add driver for hx711 weight scale ADC
* [#11868](https://github.com/apache/nuttx/pull/11868) drivers/can/sja1000: Add SJA1000 CAN driver support 
* [#11806](https://github.com/apache/nuttx/pull/11806) drivers/mtd/mtd_nandram: Adds virtual NAND Flash simulator
* [#11552](https://github.com/apache/nuttx/pull/11552) drivers/usbhost: Add a USB bluetooth driver

Drivers With Improvements

Markdown
* [#11589](https://github.com/apache/nuttx/pull/11589) drivers/alt1250: Notice instance information
* [#11829](https://github.com/apache/nuttx/pull/11829) drivers/analog/hx711: Fix few issues in hx711 driver
* [#11941](https://github.com/apache/nuttx/pull/11941) drivers/devicetree: add common FDT utilities APIs
* [#11947](https://github.com/apache/nuttx/pull/11947) drivers/ioexpander: icjx: add support for multiple pin read/write
* [#11590](https://github.com/apache/nuttx/pull/11590) drivers/ioexpander: add support for iC-JX expander
* [#11423](https://github.com/apache/nuttx/pull/11423) drivers/mtd: Add MTD for AT25 eeprom
* [#11886](https://github.com/apache/nuttx/pull/11886) drivers/mtd: mt_config_fs : update nvs to support align size
* [#11671](https://github.com/apache/nuttx/pull/11671) drivers/modem/alt1250: Add LTE_CMDID_RESTARTAPI command
* [#11580](https://github.com/apache/nuttx/pull/11580) drivers/note: fix build with CONFIG_SCHED_INSTRUMENTATION_FUNCTION
* [#11857](https://github.com/apache/nuttx/pull/11857) drivers/pipe: Change to the block mode by file_ioctl(FIONBIO)
* [#11618](https://github.com/apache/nuttx/pull/11618) drivers/rpmsg: It should be possible to use ping without rptun being enabled, so striped rptun_ping out of rptun and rename to rpmsg_ping.
* [#11714](https://github.com/apache/nuttx/pull/11714) drivers/rpmsg: make all rpmsg services depend on RPMSG
* [#11699](https://github.com/apache/nuttx/pull/11699) drivers/rpmsg/ping: Replace UINT_MAX with CLOCK_MAX
* [#11483](https://github.com/apache/nuttx/pull/11483) drivers/rpmsg/rpmsgdev_server: do not notify the client when the fds has teardown
* [#11481](https://github.com/apache/nuttx/pull/11481) drivers/rpmsg/rpmsg_sockif: recv/recvmsg return 0 when peer close
* [#11591](https://github.com/apache/nuttx/pull/11591) drivers/rpmsgfs: decoupling rpmsgfs server and rpmsg virtio.
* [#11510](https://github.com/apache/nuttx/pull/11510) drivers/rpmsgfs: synchronous message transfer format
* [#11515](https://github.com/apache/nuttx/pull/11515) drivers/rpmsgmtd: use fixed length struct to transfer between two cpus
* [#11687](https://github.com/apache/nuttx/pull/11687) drivers/rptun: add explicit initialization for variable
* [#11537](https://github.com/apache/nuttx/pull/11537) drivers/rptun: decoupling rptun ping and rptun_virtio_device, rptun ping and rptun.
* [#11712](https://github.com/apache/nuttx/pull/11712) drivers/rptun: dump: move rptun_dump.c to rptun.c, remove redundant code.
* [#11603](https://github.com/apache/nuttx/pull/11603) drivers/rptun: extract rptun char to rpmsg/rpmsg.c
* [#11741](https://github.com/apache/nuttx/pull/11741) drivers/rptun: ioctl: remove rptun_panic and rptun_dump_all
* [#11713](https://github.com/apache/nuttx/pull/11713) drivers/rptun: ioctl: Strip rpmsg ioctl and rptun ioctl.
* [#11487](https://github.com/apache/nuttx/pull/11487) drivers/rptun: ping: support data checksum and data transfer rate calculation
* [#11520](https://github.com/apache/nuttx/pull/11520) drivers/rptun: remove rptun work queue related unused code
* [#11627](https://github.com/apache/nuttx/pull/11627) drivers/rptun: remove temporarily retained RPTUNIOC_xxx definitions.
* [#11454](https://github.com/apache/nuttx/pull/11454) drivers/rptun: Select OPENMAP under RPTUN
* [#11536](https://github.com/apache/nuttx/pull/11536) drivers/rptun: Strip rpmsg and rptun. 
* [#11719](https://github.com/apache/nuttx/pull/11719) drivers/rptun: should initialize the vring da when da == 0 || da == -1
* [#11874](https://github.com/apache/nuttx/pull/11874) drivers/sensors: add uorb support for lsm9ds1
* [#11628](https://github.com/apache/nuttx/pull/11628) drivers/sensors: delete warning about argument type in bmi160
* [#11792](https://github.com/apache/nuttx/pull/11792) drivers/sensors: Remove duplicated defnitions from bmi160.h
* [#11789](https://github.com/apache/nuttx/pull/11789) drivers/sensors/bmi160: fix compilation errors
* [#11923](https://github.com/apache/nuttx/pull/11923) drivers/sensors/bmi270: fix accel and gyro data position
* [#11525](https://github.com/apache/nuttx/pull/11525) drivers/serial/pl011: add support of uart0/2/3 port
* [#11813](https://github.com/apache/nuttx/pull/11813) drivers/syslog: syslog_rpmsg: handle syslog_rpmsg_transfer() return value 
* [#11965](https://github.com/apache/nuttx/pull/11965) drivers/usbdev/cdcecm: remove duplicate assignment statements
* [#11560](https://github.com/apache/nuttx/pull/11560) drivers/usbhost: Update USB bluetooth driver
* [#11859](https://github.com/apache/nuttx/pull/11859) drivers/video: Update for improvement and bug fix
* [#11936](https://github.com/apache/nuttx/pull/11936) drivers/video/V4l2: header update
* [#11887](https://github.com/apache/nuttx/pull/11887) drivers/video/v4l2: refactor
* [#11716](https://github.com/apache/nuttx/pull/11716) drivers/virtio: move metal_init to the virtio_register_drivers()
* [#11478](https://github.com/apache/nuttx/pull/11478) drivers/virtio-mmio: ack the interrupt as soon as possible
* [#11482](https://github.com/apache/nuttx/pull/11482) drivers/virtio-mmio: avoid output error log when not found mmio device
* [#11485](https://github.com/apache/nuttx/pull/11485) drivers/virtio-mmio: use byte to byte in read/write config when length != 1,2,4,8
* [#11592](https://github.com/apache/nuttx/pull/11592) drivers/wireless: bcmf_driver:wlan interface status reset by unsolicited wpa packet
* [#11617](https://github.com/apache/nuttx/pull/11617) drivers/wireless: IEEE802.15.4 support for nrf52
* [#11701](https://github.com/apache/nuttx/pull/11701) drivers/wireless: ieee802154_mac: add TRACEDUMP request
* [#11705](https://github.com/apache/nuttx/pull/11705) drivers/wireless: mrf24j40: add support for IEEE802154_ATTR_PHY_REGDUMP
* [#11616](https://github.com/apache/nuttx/pull/11616) drivers/wireless: mrf24j40: minor fixes
* [#11535](https://github.com/apache/nuttx/pull/11535) drivers/wireless/bluetooth: Prevent btsak from repeatedly showing the same error.

Board Support

New Board Support

Markdown
* [#11960](https://github.com/apache/nuttx/pull/11960) boards: add two new gd32f4 boards
* [#11583](https://github.com/apache/nuttx/pull/11583) boards: Bring up changes from nuttx/pci branch (2nd attempt)
* [#11991](https://github.com/apache/nuttx/pull/11991) boards: esp32c6 devkitm support
* [#11945](https://github.com/apache/nuttx/pull/11945) boards: Initial port for i.MX93 and i.MX93EVK board
* [#11879](https://github.com/apache/nuttx/pull/11879) boards/stm32h7: add Waveshare OpenH743I board
* [#11607](https://github.com/apache/nuttx/pull/11607) boards/arm/xmc4: add xmc4800-relax to nuttx
* [#9761](https://github.com/apache/nuttx/pull/9761) boards/risc-v: Add support for hpm6360evk

Boards With Improvements

arm

Markdown
* [#11765](https://github.com/apache/nuttx/pull/11765) boards: Enhance board/board.mk compilation capabilities
* [#11499](https://github.com/apache/nuttx/pull/11499) boards: Add CONFIG_LIBC_EXECFUNCS and CONFIG_PSEUDOTERM to adb config

* [#11626](https://github.com/apache/nuttx/pull/11626) boards/arm/cxd56xx: Add geoid to cxd5610 gnss driver
* [#11652](https://github.com/apache/nuttx/pull/11652) boards/arm/cxd56xx: Fix the modem reset sequence
* [#11793](https://github.com/apache/nuttx/pull/11793) boards/arm/spresense: Add reset control on BLE1507 Add-on board

* [#11531](https://github.com/apache/nuttx/pull/11531) boards/arm/sama5d3-xplained: Add USB mouse initialization.

* [#11614](https://github.com/apache/nuttx/pull/11614) boards/arm/{nrf52840-dk| nrf52840-dk}: use TIMER1 as hardware timer
* [#11704](https://github.com/apache/nuttx/pull/11704) boards/arm/nrf{52|53|91}/common: add reset logic

* [#11658](https://github.com/apache/nuttx/pull/11658) boards/arm/qemu-armv8a: Add nxrecorder to defconfigs

* [#11927](https://github.com/apache/nuttx/pull/11927) boards/arm/rp2040: Implement board_uniqueid()
* [#11717](https://github.com/apache/nuttx/pull/11717) boards/arm/rp2040/raspberrypi-pico: Add autoleds and userleds support
* [#11978](https://github.com/apache/nuttx/pull/11978) boards/arm/rp2040/raspberrypi-pico: Add buttons support example

* [#11623](https://github.com/apache/nuttx/pull/11623) boards/arm/g32f4: modified the execution logic of the board_late_initialize(),bringup().
* [#11642](https://github.com/apache/nuttx/pull/11642) boards/arm/stm32_bbsram.c: fix some build error when enable BBSRAM
* [#11926](https://github.com/apache/nuttx/pull/11926) boards/arm/stm32/stm32f429i-disco add CAN driver support
* [#11500](https://github.com/apache/nuttx/pull/11500) boards/arm/stm32f40/stm32f401rc-rs485: Add rs-485 support
* [#11828](https://github.com/apache/nuttx/pull/11828) boards/arm/stm32f40/stm32f401rc-rs485: Add support to ADC
* [#11882](https://github.com/apache/nuttx/pull/11882) boards/arm/stm32f40/stm32f401rc-rs485: Add support to PWM/DAC
* [#11929](https://github.com/apache/nuttx/pull/11929) boards/arm/stm32f40/stm32f401rc-rs485: Add support to Quadrature Encoder
* [#11708](https://github.com/apache/nuttx/pull/11708) boards/arm/stm32f40/stm32f401rc-rs485: Add USB console support
* [#11766](https://github.com/apache/nuttx/pull/11766) boards/arm/stm32f40/stm32f401rc-rs485: Add support to LM75 sensor
* [#11682](https://github.com/apache/nuttx/pull/11682) boards/arm/stm32f40/stm32f401rc-rs485: Add rs-485 master mode configuration
* [#11784](https://github.com/apache/nuttx/pull/11784) boards/arm/stm32f40/stm32f411-minimum: remove non existing include in Kconfig
* [#11698](https://github.com/apache/nuttx/pull/11698) boards/arm/stm32h7/linum-stm32h753bi: add modbus master using uart6
* [#11768](https://github.com/apache/nuttx/pull/11768) boards/arm/stm32h7/linum-stm32h753bi: Add USB console support
* [#11505](https://github.com/apache/nuttx/pull/11505) boards/arm/stm32h7/nucleo-h745zi/stm32_bringup.c: the cpuname should be the remote cpu name
* [#11669](https://github.com/apache/nuttx/pull/11669) boards/arm/stm32h7/nucleo-h743zi2: pysim Modified CONFIG_INIT_STACKSIZE to 2048
* [#11501](https://github.com/apache/nuttx/pull/11501) boards/arm/stm32h7/nucleo-l432kc: Fix board configuration for USART2
* [#11681](https://github.com/apache/nuttx/pull/11681) boards/arm/stm32h7/STM32-H745 files for pysimCoder

* [#11679](https://github.com/apache/nuttx/pull/11679) boards/arm/xmc4/xmc4800-relax: build xmc4800-relax using CMake
* [#11659](https://github.com/apache/nuttx/pull/11659) boards/arm/xmc4/xmc4800-relax: Add EtherCAT support on xmc4800-relax

arm64

Markdown
* [#11797](https://github.com/apache/nuttx/pull/11797) boards/arm64: SMP: fix crash when switch to new task which is still running
* [#11479](https://github.com/apache/nuttx/pull/11479) boards/arm64/qemu/qemu_bringup: add tmp fs mount for qemu-armv8a 

avr

Markdown
* [#11668](https://github.com/apache/nuttx/pull/11668) boards/avr/avr32dev1: Fix compilation and nsh boot-up

x86_64

Markdown
* [#11867](https://github.com/apache/nuttx/pull/11867) boards/intel64: move PCI initialization back to board logic
* [#11781](https://github.com/apache/nuttx/pull/11781) boards/intel64: qemu-intel64: add .note.gnu.* to linker script 

risc-v

Markdown
* [#11465](https://github.com/apache/nuttx/pull/11465) boards/risc-v/k230: adding kernel build for CanMV-K230 device
* [#11851](https://github.com/apache/nuttx/pull/11851) boards/risc-v/k230: remove unnecessary ARCH_LAZYFPU from defconfigs
* [#11489](https://github.com/apache/nuttx/pull/11489) boards/risc-v/k230: revise CanMV230 kernel build support
* [#11631](https://github.com/apache/nuttx/pull/11631) boarsd/risc-v/qemu: Use ROMFS image to load user applications in kernel mode and update rv-virt board documentation
* [#11660](https://github.com/apache/nuttx/pull/11660) boards/risc-v/rv-virt: Add nxrecorder to defconfigs
* [#11587](https://github.com/apache/nuttx/pull/11587) boards/risc-v/rv-virt: Fix the hello app crash with nsh64
* [#11633](https://github.com/apache/nuttx/pull/11633) boarsd/risc-v/rv-virt: Guard mount point for procfs/tmpfs
* [#11576](https://github.com/apache/nuttx/pull/11576) boards/risc-v/rv-virt/configs: avoid build errors with cmake or stock gcc 10.2 

xtrensa

Markdown
* [#11842](https://github.com/apache/nuttx/pull/11842) boards/xtensa/esp32: Increase init task stack size to 3072
* [#11895](https://github.com/apache/nuttx/pull/11895) boards/xtensa/esp32: ESP32 opencores network driver for QEMU
* [#11725](https://github.com/apache/nuttx/pull/11725) boards/xtensa/esp32-sparrow-kit: Add I2S support for the board's microphone
* [#11636](https://github.com/apache/nuttx/pull/11636) boards/xtensa/esp32/dac-one-shot: lower-half driver for ESP32 internal DAC
* [#11844](https://github.com/apache/nuttx/pull/11844) boards/xtensa/esp32c6: Remove sotest config for esp32c6

File System

improvements

Markdown
* [#11841](https://github.com/apache/nuttx/pull/11841) fs: enhance file_allocate_from_tcb() mulit-threads saftey & remove memcpy when close the fd
* [#11896](https://github.com/apache/nuttx/pull/11896) fs: revise comments and harden nx_mount logic
* [#11892](https://github.com/apache/nuttx/pull/11892) fs/driver: using nx_unlink to call unlink ops to release some resource
* [#11723](https://github.com/apache/nuttx/pull/11723) fs/fat: fs_fat32: fix default return value of fat_ioctl().
* [#11850](https://github.com/apache/nuttx/pull/11850) fs/inode: add pre-allocated task files to avoid allocator access
* [#11958](https://github.com/apache/nuttx/pull/11958) fs/inode: replace some global variables to macro
* [#11729](https://github.com/apache/nuttx/pull/11729) fs/littlefs: Add to get the full path
* [#11680](https://github.com/apache/nuttx/pull/11680) fs/mount: add FS_RPMSGFS as cause of NODFS_SUPPORT
* [#11540](https://github.com/apache/nuttx/pull/11540) fs/partition: fs_mbr: fix for MBR block count calculation.
* [#11776](https://github.com/apache/nuttx/pull/11776) fs/procfs: add build config to /proc/version
* [#11550](https://github.com/apache/nuttx/pull/11550) fs/romfs: Move rn_child/rn_count before rn_namesize
* [#11629](https://github.com/apache/nuttx/pull/11629) fs/shmfs: Fix CONFIG_FS_SHM -> CONFIG_FS_SHMFS
* [#11634](https://github.com/apache/nuttx/pull/11634) fs/shmfs: Fix stat() system call for shmfs object
* [#11635](https://github.com/apache/nuttx/pull/11635) fs/shmfs: Fix shmfs_truncate
* [#11647](https://github.com/apache/nuttx/pull/11647) fs/vfat: Fix typo in the macro DIRSEC_BYTENDX
* [#11724](https://github.com/apache/nuttx/pull/11724) fs/vfs: Implement Filelock

Networking

Improvements

Markdown
* [#11495](https://github.com/apache/nuttx/pull/11495) net: add support for multi PHY and optionally use it on imxrt
* [#11759](https://github.com/apache/nuttx/pull/11759) net: Fix minor coding problems
* [#11492](https://github.com/apache/nuttx/pull/11492) net: Only call arp_send for PF_INET and icmpv6_neighbor for PF_INET6
* [#11491](https://github.com/apache/nuttx/pull/11491) net/can: Release IOB when failed to queue in datahandler
* [#11856](https://github.com/apache/nuttx/pull/11856) net/local: Fix the minor issue found
* [#11480](https://github.com/apache/nuttx/pull/11480) net/local: local_sendmsg: fix peer->lc_cfps[] array out-of-range write
* [#11804](https://github.com/apache/nuttx/pull/11804) net/local: Minor local socket improvement
* [#11653](https://github.com/apache/nuttx/pull/11653) net/nat: Fix ICMP Error MSG Processing
* [#11744](https://github.com/apache/nuttx/pull/11744) net/pkt: Support binding to devices other than ETH
* [#11509](https://github.com/apache/nuttx/pull/11509) net/route: Support longest prefix match for routing
* [#11649](https://github.com/apache/nuttx/pull/11649) net/rpmsgsock: Rename rpmsg_socket_getconnname to rpmsg_socket_getpeername
* [#11578](https://github.com/apache/nuttx/pull/11578) net/support to ARP Address Conflict Detection
* [#11909](https://github.com/apache/nuttx/pull/11909) net/tcp: return true only when send window updates
* [#11910](https://github.com/apache/nuttx/pull/11910) net/tun: in tun_write, try to release iob before iob_prepare
* [#11639](https://github.com/apache/nuttx/pull/11639) net/udp: Fix source address selection under IPv6

Security Issues Fixed In This Release

Compatibility Concerns

Markdown
* [#11498](https://github.com/apache/nuttx/pull/11498) sched: move etc romfs mount from nsh to sched/init


Usually the startup script is placed under /etc. The contents of the etc directory are compiled and linked with Nuttx binary in the form of romfs. After startup, it will be mounted by Nsh.

etc is generated by the different boards, that use genromfs and xxd tools to generate and compile it into the Nuttx, for example: boards/arm/at32/at32f437-mini/tool/mkromfs.sh
The more common method is etc image generated from the content in the corresponding board/arch/board/board/src/etc directory, and added by Makefile for example: boards/sim/sim/sim/src/etc.

But in kernel/protected mode, Nuttx kernel and apps are run in different privileged/non-privileged mode or the isolated binarys, so as that nsh should use syscall to access Nuttx kernel by exported API. In this scenario, nsh can not mount the etc image content, because that is generated in board and as a part of Nuttx kernel.

changes:

move etc romfs mount from nsh to Nuttx, but keep the script to parse and execute.
move and rename the related CONFIG, move customized nsh_romfsimg.h to etc_romfs.c in boards, and no need declaration for romfs_img/romfs_img_len.

This commit changes and updates all configurations in Nuttx arch/board as much as possible,
but if any missing, please refer to the following simple guide:

rename CONFIG_NSH_ROMFSETC to CONFIG_ETC_ROMFS, and delete CONFIG_NSH_ARCHROMFS in defconfig
rename the etc romfs mount configs, for example CONFIG_NSH_FATDEVNO to CONFIG_ETC_FATDEVNO
move customized nsh_romfsimg.h to etc_romfs.c in board/arch/board/board/src and no need declaration for romfs_img/romfs_img_len.
delete default nsh_romfsimg.h, if ROMFSETC is enabled, should generate and compile etc_romfs.c in board/arch/board/board/src.

Known Problems In This Release

...

The main "Single Source of Truth" repositories are hosted by the ASF:

These are synchronized with repositories hosted at GitHub:

...