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

Markdown
* [#11409](https://github.com/apache/nuttx/pull/11409) arch: Remove the identity mapping of up_addrenv_va_to_pa and up_addrenv_pa_to_va
* [#11812](https://github.com/apache/nuttx/pull/11812) arch: use c++ standard lib that comes with gcc
* [#11558](https://github.com/apache/nuttx/pull/11558) arch/commons: remove duplicated task exit logging
* [#11468](https://github.com/apache/nuttx/pull/11468) arch/Kconfig: add dependency to MM_KMAP for ARCH_KMAP_VBASE
* [#11632](https://github.com/apache/nuttx/pull/11632) arch/Kconfig: replace RPTUN_PING with RPMSG_PING
* [#11453](https://github.com/apache/nuttx/pull/11453) arch/Refine exception handling in ARM
* [#11833](https://github.com/apache/nuttx/pull/11833) arch/arm/arm: fix compile error
* [#11855](https://github.com/apache/nuttx/pull/11855) arch/arm/armv7-a/gicv2: move IRQ to group1 and group0 as the FIQ
* [#11484](https://github.com/apache/nuttx/pull/11484) arch/arm/armv7-a/qemu: add QEMU_TRUSTZONE config and default n
* [#11817](https://github.com/apache/nuttx/pull/11817) arch/arm/armv7-a/r: timer update
* [#11814](https://github.com/apache/nuttx/pull/11814) arch/arm/armv7-a/r: use _ebss as idle stack both in SMP mode or not
* [#11835](https://github.com/apache/nuttx/pull/11835) arch/arm/armv7-a/r: use _ebss as idle stack both in SMP mode or not
* [#11477](https://github.com/apache/nuttx/pull/11477) arch/arm/armv7-m: Expose section name to allow relocation
* [#11795](https://github.com/apache/nuttx/pull/11795) arch/arm/armv8-r: fix build break if disable CONFIG_UART_PL011
* [#11523](https://github.com/apache/nuttx/pull/11523) arch/arm/armv8-r: fix compile warning
* [#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/11522) arch/arm/fvp-v8r: fix arm_earlyserialinit() is not called correctly

* [#11657](https://github.com/apache/nuttx/pull/11657) arch/arm/cxd56xx: Add new feature to use GNSS RAM
* [#11834](https://github.com/apache/nuttx/pull/11834) arch/arm/cxd56xx: Follow interface change of set_buf() operation

* [#11815](https://github.com/apache/nuttx/pull/11815) arc/arm/goldfish & qemu: handle MMU table and CONFIG_RAM_END
* [#11837](https://github.com/apache/nuttx/pull/11837) arc/arm/goldfish & qemu: handle MMU table and CONFIG_RAM_END

* [#11494](https://github.com/apache/nuttx/pull/11494) arch/arm/sama5: add LCD backlight PWM clock source selection
* [#11569](https://github.com/apache/nuttx/pull/11569) arch/arm/sama5: sam_ehci: fix transfer cancellation process.
* [#11602](https://github.com/apache/nuttx/pull/11602) arch/arm/sama5: sam_serial: fix to compile with "UART Flow control enable…

* [#11665](https://github.com/apache/nuttx/pull/11665) arch/arm/samv7: add support for BOARDIOC_RESET_CAUSE command
* [#11836](https://github.com/apache/nuttx/pull/11836) arch/arm/samv7: add support for USART TX DMA transfers
* [#11584](https://github.com/apache/nuttx/pull/11584) arch/arm/samv7: add support for SPI mode in USART peripheral
* [#11601](https://github.com/apache/nuttx/pull/11601) arch/arm/samv7: fix QSPI DMA option not showing in menuconfig
* [#11880](https://github.com/apache/nuttx/pull/11880) arch/arm/samv7: fix typos in Kconfig PWM0 fault input selections - inv. polarity
* [#11595](https://github.com/apache/nuttx/pull/11595) arch/arm/samv7: refactor DAC driver

* [#11697](https://github.com/apache/nuttx/pull/11697) arch/arm/stm32: Fix STM32xx PWM STOP in multichannel mode
* [#11752](https://github.com/apache/nuttx/pull/11752) arch/arm/stm32/stm32f30xxx_rcc.c: fix broken flash setup
* [#11901](https://github.com/apache/nuttx/pull/11901) arch/arm/stm32/stm32_serial.c: fix compilation of onewire driver mode
* [#11981](https://github.com/apache/nuttx/pull/11981) arch/arm/stm32h7: Fix race condition in ADC interrupt handling
* [#11982](https://github.com/apache/nuttx/pull/11982) arch/arm/stm32h7: Modify the enable logic of FDCAN
* [#11582](https://github.com/apache/nuttx/pull/11582) arch/arm/stm32h7: serial make TX DMA busy when there are an outstanding transaction
* [#11963](https://github.com/apache/nuttx/pull/11963) arch/arm/stm32f7/stm32_foc.c: Set .info_get to foc_lower_ops
* [#11934](https://github.com/apache/nuttx/pull/11934) arch/arm/stm32h7/linum-stm32h753bi: Add buzzer support
* [#11849](https://github.com/apache/nuttx/pull/11849) arch/arm/stm32h7/linum-stm32h753bi: Add support to eeprom using the i2c3
* [#11830](https://github.com/apache/nuttx/pull/11830) arch/arm/stm32h7/linum-stm32h753bi: Add support to sdcard
* [#11902](https://github.com/apache/nuttx/pull/11902) arch/arm/stm32f40/stm32f40xxx_pinmap: add 3rd alternate mapping for USART6

* [#11962](https://github.com/apache/nuttx/pull/11962) arch/arm/imxrt/imxrt_start.c: Clear CONTROL register at start to … 

* [#11511](https://github.com/apache/nuttx/pull/11511) arch/arm/mx8mp: Fix mx8mp ecspi interruption management.

* [#11878](https://github.com/apache/nuttx/pull/11878) arch/arm/nrf: fixes for SPI
* [#11843](https://github.com/apache/nuttx/pull/11843) arch/arm/nrf{52|53|91}/spi: fix error message
* [#11706](https://github.com/apache/nuttx/pull/11706) arch/arm/nrf{52|53|91}/xxx_rtc.h: include nuttx/irq.h
* [#11702](https://github.com/apache/nuttx/pull/11702) arch/nrf{52|53|91}: let the events from comparator correspond to CC id
* [#11703](https://github.com/apache/nuttx/pull/11703) arch/nrf{52|53}/gpiote.c: fix event reconfiguration for a given pin

* [#11648](https://github.com/apache/nuttx/pull/11648) arch/arm/rp2040: Support Clock Outputs

* [#11845](https://github.com/apache/nuttx/pull/11845) arch/arm/s32k1xx: Disable interrupt during FTFC operation

* [#11564](https://github.com/apache/nuttx/pull/11564) arch/arm/xmc4: add GPIO_U1C0_SCLKOUT_3 P4.0 for spi2 on xm4 
* [#11737](https://github.com/apache/nuttx/pull/11737) arch/arm/xmc4: Add tickless support
* [#11728](https://github.com/apache/nuttx/pull/11728) arch/arm/xmc4: Add XMC4 flash command sequence API
* [#11678](https://github.com/apache/nuttx/pull/11678) arch/arm/xmc4: Fix CCU registers
* [#11581](https://github.com/apache/nuttx/pull/11581) arch/arm/xmc4: fix typo: it is P4.0 and not P0.4
* [#11600](https://github.com/apache/nuttx/pull/11600) arch/arm/xmc4: xmc4 ccu4 global registers

arm64

Markdown
* [#11986](https://github.com/apache/nuttx/pull/11986) arch/arm64: Add the head obj to libarch.a as well
* [#11969](https://github.com/apache/nuttx/pull/11969) arch/arm64/src/common: Remove void * arithmetic
* [#11975](https://github.com/apache/nuttx/pull/11975) arch/arm64/arm64_head.S: Add explicit input section for __start
* [#11946](https://github.com/apache/nuttx/pull/11946) arch/arm64/arm64_mmu: Add data synchronization barrier after page tables are written
* [#11974](https://github.com/apache/nuttx/pull/11974) arch/arm64/imx9: Add CCM (Clock Controller Module) driver

risc-v

Markdown
* [#11612](https://github.com/apache/nuttx/pull/11612) arch/risc-v: add status fields for VS and XS
* [#11985](https://github.com/apache/nuttx/pull/11985) arch/risc-v: minor revision of risc-v/arch.h and fs_mmap.c
* [#11824](https://github.com/apache/nuttx/pull/11824) arch/risc-v: Rename existing CONFIG_PAGING to CONFIG_LEGACY_PAGING and implement page-fault exception and on-demand paging for RISC-V
* [#11620](https://github.com/apache/nuttx/pull/11620) arch/risc-v: reorganization
* [#11876](https://github.com/apache/nuttx/pull/11876) arch/risc-v: simpleboot support
* [#11585](https://github.com/apache/nuttx/pull/11585) arch/risc-v/bl808: Flush MMU Cache after updating SATP
* [#11472](https://github.com/apache/nuttx/pull/11472) arch/risc-v/bl808: Implement Timer with OpenSBI
* [#11609](https://github.com/apache/nuttx/pull/11609) arch/risc-v/canmv230: add CMake support
* [#11561](https://github.com/apache/nuttx/pull/11561) arch/risc-v/cmake: set llvm cputype only for LLVM based toolchain
* [#11650](https://github.com/apache/nuttx/pull/11650) arch/risc-v/common: add param to mmu_flush_cache interface
* [#11961](https://github.com/apache/nuttx/pull/11961) arch/risc-v/common/supervisor/riscv_perform_syscall.c: Record the…
* [#11549](https://github.com/apache/nuttx/pull/11549) arch/risc-v/toolchain: configurable vendor ISA extensions
* [#11721](https://github.com/apache/nuttx/pull/11721) arch/risc-v/esp_<rmt|ws2812>: Implement the RMT peripheral for all the supported Risc-V ESP32 devices
* [#11906](https://github.com/apache/nuttx/pull/11906) arch/risc-v/k230: add ARCH_HAVE_RESET and revise logging
* [#11619](https://github.com/apache/nuttx/pull/11619) arch/risc-v/k230: add big core support
* [#11726](https://github.com/apache/nuttx/pull/11726) arch/risc-v/k230: add IPI support to improve RPMsg efficiency
* [#11559](https://github.com/apache/nuttx/pull/11559) arch/risc-v/k230: add NUTTSBI based kernel build support
* [#11504](https://github.com/apache/nuttx/pull/11504) arch/risc-v/k230: add PROTECTED build support
* [#11911](https://github.com/apache/nuttx/pull/11911) arch/risc-v/k230: fix k230_hart_is_big issue
* [#11831](https://github.com/apache/nuttx/pull/11831) arch/risc-v/k230: improvements to support K230 vendor u-boot
* [#11673](https://github.com/apache/nuttx/pull/11673) arch/risc-v/k230: initial Asymmetric Multi-Processing support
* [#11762](https://github.com/apache/nuttx/pull/11762) arch/risc-v/k230: minor revision on configs
* [#11869](https://github.com/apache/nuttx/pull/11869) arch/risc-v/k230: minor revision on PMP settings
* [#11691](https://github.com/apache/nuttx/pull/11691) arch/risc-v/k230: revise k230 hart operations and kernel linker script.
* [#11513](https://github.com/apache/nuttx/pull/11513) arch/risc-v/k230: use fully linked apps in kernel build
* [#11939](https://github.com/apache/nuttx/pull/11939) arch/risc-v/litex: Allow FDT to be passed from previous boot change.
* [#11497](https://github.com/apache/nuttx/pull/11497) arch/risc-v/litex: fix typo in litex/irq.h
* [#11664](https://github.com/apache/nuttx/pull/11664) arch/risc-v/mpfs: i2c fixes
* [#11630](https://github.com/apache/nuttx/pull/11630) arch/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
* [#11663](https://github.com/apache/nuttx/pull/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

...