This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch releases/12.12
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/releases/12.12 by this push:
new fcee238c866 Documentation: add NuttX-12.12.0 release notes
fcee238c866 is described below
commit fcee238c8662366f69ce9d1a00d7619a057492e7
Author: Alin Jerpelea <[email protected]>
AuthorDate: Tue Dec 23 09:06:00 2025 +0100
Documentation: add NuttX-12.12.0 release notes
Add release notes for 12.12.0 release
Signed-off-by: Alin Jerpelea <[email protected]>
---
Documentation/ReleaseNotes/NuttX-12.12.0 | 364 +++++++++++++++++++++++++++++++
1 file changed, 364 insertions(+)
diff --git a/Documentation/ReleaseNotes/NuttX-12.12.0
b/Documentation/ReleaseNotes/NuttX-12.12.0
new file mode 100644
index 00000000000..48b02cc8d07
--- /dev/null
+++ b/Documentation/ReleaseNotes/NuttX-12.12.0
@@ -0,0 +1,364 @@
+NuttX-12.12.0
+------------
+
+What's New In This Release
+Major Changes to Core OS
+Sched
+* [#17056](https://github.com/apache/nuttx/pull/17056) sched: add stack
overflow check on switch context
+* [#17121](https://github.com/apache/nuttx/pull/17121) sched: Improve nxsched
stack overflow checking implementation
+* [#17075](https://github.com/apache/nuttx/pull/17075) sched: merge
nxsched_switch_context and add nxsched_switch_critmon
+* [#16933](https://github.com/apache/nuttx/pull/16933) sched: remove csection
in event
+* [#17266](https://github.com/apache/nuttx/pull/17266) sched: replace
spinlock/sched_lock with spin_lock_irqsave_nopreempt
+* [#17060](https://github.com/apache/nuttx/pull/17060) sched: use
nxsched_switch_context to unify the calls to nxsched_suspend_scheduler and
nxsched_resume_scheduler
+* [#17326](https://github.com/apache/nuttx/pull/17326) sched/clock: Only allow
clock_systime_ticks() to access g_system_ticks
+* [#17104](https://github.com/apache/nuttx/pull/17104) sched/clock: remove
return value of clock_systime_timespec()
+* [#17176](https://github.com/apache/nuttx/pull/17176) sched/clock: remove
unused function clock_dow() (dow:day of week)
+* [#16920](https://github.com/apache/nuttx/pull/16920) sched/event: add
nxevent_clear api
+* [#16993](https://github.com/apache/nuttx/pull/16993) sched/event: add
nxevent_getmask api
+* [#16990](https://github.com/apache/nuttx/pull/16990) sched/event: fix event
bug after csection was removed by PR 16933
+* [#17272](https://github.com/apache/nuttx/pull/17272) sched/event: Fix
uninitialized need_switch flag issue in event_post()
+* [#16942](https://github.com/apache/nuttx/pull/16942) sched/event: move the
temporary even_wait variable out of nxevent_tickwait
+* [#16919](https://github.com/apache/nuttx/pull/16919)
sched/init/nx_bringup.c: Add support for CONFIG_INIT_NONE in a flat build
+* [#17110](https://github.com/apache/nuttx/pull/17110) sched/irq: add a check
for the interrupt stack in irq_dispatch
+* [#17190](https://github.com/apache/nuttx/pull/17190) sched/irq: fixed some
issues with irq stack overflow detection
+* [#16944](https://github.com/apache/nuttx/pull/16944) sched/semaphore: add
support to customize semaphore max allowed value
+* [#17222](https://github.com/apache/nuttx/pull/17222) sched/sched: add
nxsched_wakeup(), introduce TSTATE_SLEEPING and improve nxsched_ticksleep()
+* [#17324](https://github.com/apache/nuttx/pull/17324) sched/sched: Fix
nxsched_suspend() logic
+* [#17199](https://github.com/apache/nuttx/pull/17199) sched/sched: Replace
nxsched_alarm_tick_expiration() with nxsched_tick_expiration()
+* [#17359](https://github.com/apache/nuttx/pull/17359) sched/signal: Fix
nxsig_ismember() return value behavior
+* [#17367](https://github.com/apache/nuttx/pull/17367) sched/signal: Fix nxsig
clockwait() implementation issue
+* [#17366](https://github.com/apache/nuttx/pull/17366) sched/signal:
Initialize signal action pool during init phase
+* [#17252](https://github.com/apache/nuttx/pull/17252) sched/signal: Improve
nxsig_wait_irq() for performance enhancement and code duplication reduction
+* [#17196](https://github.com/apache/nuttx/pull/17196) sched/signal: Remove
shadow definitions to reduce unnecessary API
+* [#17212](https://github.com/apache/nuttx/pull/17212) sched/signal: use
list_waitingforsignal() to access g_waitingforsignal
+* [#16939](https://github.com/apache/nuttx/pull/16939)
sched/signal/sig_dispatch.c: Correct signal dispatch to specific thread
+* [#17263](https://github.com/apache/nuttx/pull/17263)
sched/signal/sig_dispatch.c: Remove DEBUGASSERT(!sched_idletask())
+* [#17130](https://github.com/apache/nuttx/pull/17130) sched/sig_pending:
sigpending() should return caller pending signals only
+* [#17368](https://github.com/apache/nuttx/pull/17368) sched/sleep: Add
nxsched_nanosleep() API
+* [#17200](https://github.com/apache/nuttx/pull/17200) sched/sleep: add
support for scheduling sleep
+* [#17204](https://github.com/apache/nuttx/pull/17204) sched/sleep: replace
all Signal-based sleep implement to Scheduled sleep
+* [#17106](https://github.com/apache/nuttx/pull/17106) sched/task: move lock
to mhead scope
+* [#17293](https://github.com/apache/nuttx/pull/17293) sched/wdog: Fix
wd_start() boundary check for WDOG_MAX_DELAY
+* [#17279](https://github.com/apache/nuttx/pull/17279) sched/wdog: Improve
wdog precision
+* [#17295](https://github.com/apache/nuttx/pull/17295) sched/wdog: Introduce
wd_restart()/wd_restart_next() for convenient watchdog restart
+* [#17159](https://github.com/apache/nuttx/pull/17159) sched/wdog: remove
unnecessary list_node redefinition
+* [#17286](https://github.com/apache/nuttx/pull/17286) sched/wdog: Use
list_in_list() to detect active watchdogs
+* [#17300](https://github.com/apache/nuttx/pull/17300) sched_lock: remove the
check for whether tcb is NULL
+libc
+* [#17214](https://github.com/apache/nuttx/pull/17214) lib: Introduce the
invariant-divisor fast division
+* [#17139](https://github.com/apache/nuttx/pull/17139) libc/crc: Add
crc8rohcincr for incremental CRC8 ROHC calculation
+* [#16994](https://github.com/apache/nuttx/pull/16994) libc/fclose: Validate
the user provided stream pointer
+* [#17129](https://github.com/apache/nuttx/pull/17129)
libc/pthread/pthread_keydelete.c: reset key value
+* [#17380](https://github.com/apache/nuttx/pull/17380) libc/unistd: Replace
pipe() macro with proper function implementation
+* [#17289](https://github.com/apache/nuttx/pull/17289) libs/libc: Fix Kconfig
issue for ARMv8-R assembly implementations of memcpy and memset
+* [#17400](https://github.com/apache/nuttx/pull/17400) libs/libc/arm: add back
__aeabi_mem* function
+
+tools
+* [#16969](https://github.com/apache/nuttx/pull/16969) Revert "codespellrc:
add ans to ignore words"
+* [#16945](https://github.com/apache/nuttx/pull/16945) tools/checkpatch.sh:
check format for all commits in patch
+* [#16968](https://github.com/apache/nuttx/pull/16968) tools/checkpatch.sh:
fix check for HEAD commit
+* [#17335](https://github.com/apache/nuttx/pull/17335) tools/checkpatch.sh:
Improved error display on GitHub
+* [#16974](https://github.com/apache/nuttx/pull/16974) tools/configure.sh:
align tools/configure.sh with CmakeLists.tx
+
+Build System
+Cmake
+* [#17020](https://github.com/apache/nuttx/pull/17020) cmake: add cmake
disassembly support for GHS compiler
+* [#17198](https://github.com/apache/nuttx/pull/17198) cmake: correct
nuttx_wildcard_sources cmake usage
+* [#17346](https://github.com/apache/nuttx/pull/17346) CMake: Enable both
sub-Kconfig and generated menu Kconfig
+* [#17350](https://github.com/apache/nuttx/pull/17350) CMake: Enable Kconfig
generation for external directories
+* [#17027](https://github.com/apache/nuttx/pull/17027) cmake: improve board
specific Toolchain.cmake
+* [#17412](https://github.com/apache/nuttx/pull/17412) cmake: Improve
nuttx_generate_kconfig()
+* [#17072](https://github.com/apache/nuttx/pull/17072) CMake: Move global
compiler flags setting before add_executable()
+* [#17105](https://github.com/apache/nuttx/pull/17105) cmake: pass exclusion
list to nuttx_add_subdirectory
+* [#17028](https://github.com/apache/nuttx/pull/17028) cmake: Provide better
.hex and .srec gen for tasking compiler
+* [#17061](https://github.com/apache/nuttx/pull/17061) Cmake: Provide linker
script preprocess for tasking compiler
+* [#17209](https://github.com/apache/nuttx/pull/17209) cmake: Remove redundant
logic in CMake scripts
+* [#17210](https://github.com/apache/nuttx/pull/17210) cmake: Remove unused
BUILD_OOTCPP guard from configuration.
+
+Architectural Support
+* [#17023](https://github.com/apache/nuttx/pull/17023) arch: Add condition
checking in Kconfig source statement
+* [#17034](https://github.com/apache/nuttx/pull/17034) arch: fix alignment bug
for archs that need stack alignment
+* [#17029](https://github.com/apache/nuttx/pull/17029) arch: fix stack
alignment bug for arm and tricore arch
+* [#17071](https://github.com/apache/nuttx/pull/17071) arch: Make common, weak
definition of up_*delay functions
+* [#17277](https://github.com/apache/nuttx/pull/17277) arch: replace
spinlock/sched_lock with spin_lock_irqsave_nopreempt
+* [#17312](https://github.com/apache/nuttx/pull/17312) arch: Simplify the
current timer drivers. [ClockDevice Part I].
+
+ARM
+* [#17288](https://github.com/apache/nuttx/pull/17288) arch/arm: Solving the
ghs compiler not recognizing 0b prefix representing binary
+* [#17005](https://github.com/apache/nuttx/pull/17005) arch/arm/armv8-m: stack
pointer should be 8-byte aligned in signal context
+* [#16996](https://github.com/apache/nuttx/pull/16996) arch/arm/armv8-r:
remove redundant and misleading pointer in arm_syscall()
+* [#17353](https://github.com/apache/nuttx/pull/17353) arch/arm/cxd56xx: Fix
failure to get RTC time in multi-core environment
+* [#16941](https://github.com/apache/nuttx/pull/16941) arch/arm/imxrt: Add
support to both USB Controllers of iMXRT
+* [#17307](https://github.com/apache/nuttx/pull/17307) arch/arm/kinetis: CMake
build implemented for NXP Kinetis MCUs
+* [#17415](https://github.com/apache/nuttx/pull/17415) arch/arm/kl: CMake
build implemented for NXP KL Series Arm MCUs
+* [#17313](https://github.com/apache/nuttx/pull/17313)
arch/arm/{nrf52|nrf53|nrf91}/i2c: fix I2C bus getting stuck during read
+* [#16997](https://github.com/apache/nuttx/pull/16997) arch/arm/rp2040: merge
conflicting definitions of `hw_*` functions
+* [#17151](https://github.com/apache/nuttx/pull/17151) arch/arm/rp23xx: CMake
build for Raspberry Pi RP23xx implemented
+* [#17389](https://github.com/apache/nuttx/pull/17389) arch/arm/samv7: add
support for SPI_SETDELAY
+* [#17031](https://github.com/apache/nuttx/pull/17031) arch/arm/samv7: enable
USART peripherals for SAMx7xJ series
+* [#17187](https://github.com/apache/nuttx/pull/17187) arch/arm/stm32: Prepare
files to support semihosting syslog
+* [#17007](https://github.com/apache/nuttx/pull/17007) arch/arm/stm32h5: ADC
Driver Improvements (Watchdog and Channel Structure)
+* [#17232](https://github.com/apache/nuttx/pull/17232) arch/arm/stm32h5: Add
missing AWD defines
+* [#17243](https://github.com/apache/nuttx/pull/17243) arch/arm/stm32h5: CMake
build implemented for STM32H5 MCU series
+* [#17239](https://github.com/apache/nuttx/pull/17239) arch/arm/stm32h5:
STM32H5 PWM Driver (STM32H7 port)
+* [#17254](https://github.com/apache/nuttx/pull/17254) arch/arm/stm32h5: Use
au_receive_batch in adc_dmaconvcallback
+* [#17045](https://github.com/apache/nuttx/pull/17045) arch/arm/stm32h7: Fix
and enhance WWDG (Window Watchdog) support
+* [#17203](https://github.com/apache/nuttx/pull/17203) arch/arm/stm32h7: Fix
UART TX DMA getting stuck
+* [#17146](https://github.com/apache/nuttx/pull/17146) arch/arm/stm32f0l0g0:
add FLASH support for STM32C0
+* [#17165](https://github.com/apache/nuttx/pull/17165) arch/arm/stm32f0l0g0:
add stm32_flash.c support for CMake
+* [#17149](https://github.com/apache/nuttx/pull/17149) arch/arm/stm32f0l0g0:
don't compile stm32_pwr.c for STM32C0
+* [#17147](https://github.com/apache/nuttx/pull/17147) arch/arm/stm32f0l0g0:
update STM32C0 PWR registers
+ARM64
+* [#17172](https://github.com/apache/nuttx/pull/17172) arch/arm64/imx9: add
CAN ID filtering
+* [#17044](https://github.com/apache/nuttx/pull/17044) arch/arm64/imx9: Add
ele commit message
+* [#17410](https://github.com/apache/nuttx/pull/17410)
arch/arm64/imx9/ethernet: Add a configuration option to use HPWORK queue
+* [#17102](https://github.com/apache/nuttx/pull/17102) arch/arm64/bcm2711:
BCM2711 VideoCore mailbox API implementation
+* [#17012](https://github.com/apache/nuttx/pull/17012) arch/arm64/bcm2711:
Implement I2C support for all user-accessible interfaces
+AVR
+* [#17404](https://github.com/apache/nuttx/pull/17404) arch/avr: Add TWI
support, fix missing pins code, doc update.
+* [#17403](https://github.com/apache/nuttx/pull/17403) arch/avr: fix MCU type
for 64 pin chips.
+RISC-V
+* [#16965](https://github.com/apache/nuttx/pull/16965) arch/risc-v: improve
E-Fuse support for ESP32-C3|C6|H2
+* [#17220](https://github.com/apache/nuttx/pull/17220) arch/risc-v: remove
duplicated nxsched_switch_context() call
+* [#17417](https://github.com/apache/nuttx/pull/17417) arch/risc-v: rename
ESP32-C3 boards
+* [#16995](https://github.com/apache/nuttx/pull/16995) arch/risc-v/esp32c6:
Add lpcore support
+* [#17141](https://github.com/apache/nuttx/pull/17141) arch/risc-v/esp32c6:
Add ULP shared memory encapsulation
+* [#17211](https://github.com/apache/nuttx/pull/17211)
arch/risc-v/espressif/i2s: Fix common driver issues
+* [#17144](https://github.com/apache/nuttx/pull/17144)
arch/risc-v/espressif/ledc: Update common source code functions
+* [#17411](https://github.com/apache/nuttx/pull/17411) arch/risc-v/mpfs: DDR
training fixes
+* [#17173](https://github.com/apache/nuttx/pull/17173) arch/risc-v/Mpfs:
enable caches on e51 monitor core
+* [#17305](https://github.com/apache/nuttx/pull/17305) arch/risc-v/mpfs:
Remove strict CAN frame data length check.
+* [#17399](https://github.com/apache/nuttx/pull/17399)
arch/risc-v/esp32[-c3|-c6|-h2]: Add deep sleep support
+SIM
+* [#16987](https://github.com/apache/nuttx/pull/16987) arch/sim: add loopback
support for CAN character dev
+* [#16988](https://github.com/apache/nuttx/pull/16988) arch/sim: fix CAN flags
decoding for message
+TRICORE
+* [#16971](https://github.com/apache/nuttx/pull/16971) arch/tricore: add
one_shot .tick_start implementation
+* [#17013](https://github.com/apache/nuttx/pull/17013) arch/tricore: add
tasking compiler support to gen raw/hex binary
+* [#17006](https://github.com/apache/nuttx/pull/17006) arch/tricore: allow
user defined compiler path
+* [#17073](https://github.com/apache/nuttx/pull/17073) arch/tricore: allow
Make to gen .srec and .hex for tasking compiler
+* [#17062](https://github.com/apache/nuttx/pull/17062) arch/tricore: align
Makefile with Cmake for tasking linker script preprocessing
+* [#16964](https://github.com/apache/nuttx/pull/16964) arch/tricore: fix
tricore_doirq function local var "regs" not initialized issue
+* [#17413](https://github.com/apache/nuttx/pull/17413) arch/tricore: fix build
errors in tricore architecture
+* [#16998](https://github.com/apache/nuttx/pull/16998) arch/tricore: fix
tasking compiler linking error
+* [#17078](https://github.com/apache/nuttx/pull/17078) arch/tricore: fix
tricore arch build error
+* [#17118](https://github.com/apache/nuttx/pull/17118) arch/tricore: fix
tricore context switch bug introduced by PR17060
+* [#17191](https://github.com/apache/nuttx/pull/17191) arch/tricore: place
nxsched_switch_context() at the correct location
+* [#16986](https://github.com/apache/nuttx/pull/16986) arch/tricore: remove
duplicated local variable in tricore_doirq()
+* [#16981](https://github.com/apache/nuttx/pull/16981) arch/tricore: remove
redundant and misleading pointer usage in tricore_doirq()
+* [#17275](https://github.com/apache/nuttx/pull/17275) arch/tricore: remove
magic number in tc3xx uart config
+* [#17025](https://github.com/apache/nuttx/pull/17025) arch/tricore: remove
magic number in tricore_checkstack.c
+* [#17079](https://github.com/apache/nuttx/pull/17079) arch/tricore: remove
tasking compiler tool specific code from common Cmake scripts
+* [#17327](https://github.com/apache/nuttx/pull/17327) arch/tricore/tc397: Add
UART port pin configuration for TC397
+X86_64
+* [#17383](https://github.com/apache/nuttx/pull/17383) arch/x86_64: fix bootup
problem in SMP
+XTENSA
+* [#17207](https://github.com/apache/nuttx/pull/17207) arch/xtensa: add
non-iram interrupt support for ESP32-S2
+* [#16975](https://github.com/apache/nuttx/pull/16975) arch/xtensa: update
E-Fuse driver on ESP32|S2|S3
+* [#17195](https://github.com/apache/nuttx/pull/17195) arch/xtensa: update
MCUBoot and virtual E-Fuse offset
+* [#17008](https://github.com/apache/nuttx/pull/17008) arch/xtensa: refactor
Wi-Fi driver for ESP32|S2|S3
+* [#17241](https://github.com/apache/nuttx/pull/17241) arch/xtensa/esp32: Fix
support for hardware accelerated AES
+* [#17235](https://github.com/apache/nuttx/pull/17235)
arch/xtensa/esp32[-|-s3]: Fix exception issue when pm active
+* [#17140](https://github.com/apache/nuttx/pull/17140)
arch/xtensa/esp32[-s2|-s3]: Add ulp riscv coprocessor support
+* [#17236](https://github.com/apache/nuttx/pull/17236)
arch/xtensa/esp32[-s2|-s3]: Modify the method of downloading the repository
+* [#17414](https://github.com/apache/nuttx/pull/17414)
arch/xtensa/esp32[-s2|-s3]: Refactor PM support
+* [#17237](https://github.com/apache/nuttx/pull/17237) arch/xtensa/esp32[-s3]:
Add ULP RISCV coprocessor wakeup
+* [#17202](https://github.com/apache/nuttx/pull/17202) arch/xtensa/esp32s3:
expose UART RX FIFO controls
+* [#17156](https://github.com/apache/nuttx/pull/17156) arch/xtensa/esp32s3:
fix FSM check to avoid PM deadlocks
+* [#17419](https://github.com/apache/nuttx/pull/17419) arch/xtensa/espressif:
fix capture driver missing 'getedges'
+* [#17166](https://github.com/apache/nuttx/pull/17166) arch/xtensa/espressif:
Fix efuse build warning for esp32
+* [#17115](https://github.com/apache/nuttx/pull/17115) arch/xtensa/espressif:
fix Wi-Fi netpkt copy error
+* [#17049](https://github.com/apache/nuttx/pull/17049) arch/xtensa/espressif:
temperature: Fix incorrect pointer casting
+
+Driver Support
+New Drivers
+* [#17331](https://github.com/apache/nuttx/pull/17331) driver: AT25EE
multi-device support
+* [#17182](https://github.com/apache/nuttx/pull/17182) drivers/1Wire: DS2XXX
driver for various Maxim/Analog devices memories
+* [#16936](https://github.com/apache/nuttx/pull/16936) drivers/net: Add
network driver for 10BASE-T1x SPI MAC-PHYs
+* [#17363](https://github.com/apache/nuttx/pull/17363) drivers/sensors: Add
QST QMI8658 6-axis IMU sensor driver
+Drivers With Improvements
+* [#17278](https://github.com/apache/nuttx/pull/17278) drivers/can: Fix buffer
overrun and read failures
+* [#17360](https://github.com/apache/nuttx/pull/17360) drivers/can: message
alignment for read and write operations
+* [#17136](https://github.com/apache/nuttx/pull/17136)
drivers/can/ctucanfd_pci.c: refactor to use netdev_uperhalf
+* [#17135](https://github.com/apache/nuttx/pull/17135)
drivers/can/kvaser_pci.c: refactor to use netdev_upperhalf
+* [#17344](https://github.com/apache/nuttx/pull/17344) drivers/eeprom: Set the
bus frequency
+* [#17175](https://github.com/apache/nuttx/pull/17175)
drivers/mtd/CMakeLists.txt: Aligned Cmake with Make
+* [#17388](https://github.com/apache/nuttx/pull/17388) drivers/mtd/w25:
support custom SPI transfers delay
+* [#16999](https://github.com/apache/nuttx/pull/16999) drivers/net/mdio: add
mdio bus
+* [#17378](https://github.com/apache/nuttx/pull/17378) drivers/pci: qemu_edu:
fix arm32 build warning
+* [#17341](https://github.com/apache/nuttx/pull/17341) drivers/sensors: Fix
Kconfig
+* [#17392](https://github.com/apache/nuttx/pull/17392) drivers/sensors:
improvements for Kconfig
+* [#17076](https://github.com/apache/nuttx/pull/17076) drivers/sensors/ms56xx:
Replace custom curtime with standard function
+* [#17267](https://github.com/apache/nuttx/pull/17267) drivers/syslog: Add
early_syslog() for early boot or system down debugging
+* [#16982](https://github.com/apache/nuttx/pull/16982) drivers/syslog: let
syslog_write() return the maximum bytes writen through a channel
+* [#17316](https://github.com/apache/nuttx/pull/17316) drivers/timers:
Introduce clockcount, the time conversion API. [ClockDevice Part II]
+* [#17345](https://github.com/apache/nuttx/pull/17345) drivers/timers:
Re-implemented timer drivers with the count-based oneshot API [ClockDevice Part
V]
+* [#17221](https://github.com/apache/nuttx/pull/17221)
drivers/timers/arch_alarm: Revert removal of ndelay_accurate
+* [#17178](https://github.com/apache/nuttx/pull/17178) drivers/usbdev: Aligned
Cmake with Make
+* [#17180](https://github.com/apache/nuttx/pull/17180) drivers/usbhost:
Aligned Cmake with Make
+* [#17247](https://github.com/apache/nuttx/pull/17247) drivers/usbhost_hub:
Add support to Multiple TT HS HUB
+* [#17181](https://github.com/apache/nuttx/pull/17181) drivers/usbmisc:
Aligned Cmake with Make
+* [#17174](https://github.com/apache/nuttx/pull/17174)
drivers/wireless/ieee80211/bcm43xxx/CMakeLists.txt: Aligned Cmake with Make
+* [#17177](https://github.com/apache/nuttx/pull/17177)
drivers/wireless/bluetooth: Aligned Cmake with Make
+
+Board Support
+New Boards
+* [#17298](https://github.com/apache/nuttx/pull/17298) boards/arm/stm32h7: add
Arduino Portenta H7
+Boards With Improvements
+* [#17281](https://github.com/apache/nuttx/pull/17281) boards/arm: remove
custom MCUBoot version from defconfigs
+* [#16991](https://github.com/apache/nuttx/pull/16991)
boards/a2g-tc397-5v-tft: Enable events by default in the a2g-tc397-5v-tft
defconfig
+* [#16989](https://github.com/apache/nuttx/pull/16989) boards/arm/imxrt: CMake
added teensy-4.x board
+* [#17314](https://github.com/apache/nuttx/pull/17314) boards/arm/kinetis:
CMake added NXP Freedom-K28F and Freedom-K66F boards
+* [#17328](https://github.com/apache/nuttx/pull/17328) boards/arm/kinetis:
CMake added NXP TWR-K60N512 and TWR-K64F120M boards
+* [#17329](https://github.com/apache/nuttx/pull/17329) boards/arm/kinetis:
CMake added NXP KWIKSTIK-K40 and PJRC Teensy 3.x boards
+* [#17297](https://github.com/apache/nuttx/pull/17297)
boards/arm/qemu/qemu-armv7a: add demo for gdbstub
+* [#17224](https://github.com/apache/nuttx/pull/17224) boards/arm/rp2040:
allow flash write operation on rp2040 in SMP mode
+* [#17033](https://github.com/apache/nuttx/pull/17033) boards/arm/rp2040:
implement "board_boot_image" for bootloader support
+* [#17112](https://github.com/apache/nuttx/pull/17112) boards/arm/rp2040:
CMake added Adafruit boards
+* [#17142](https://github.com/apache/nuttx/pull/17142) boards/arm/rp2040:
CMake added Raspberry Pi Pico W board
+* [#17114](https://github.com/apache/nuttx/pull/17114) boards/arm/rp2040:
CMake added Seeed, WIZnet and Waveshare boards
+* [#17138](https://github.com/apache/nuttx/pull/17138) boards/arm/rp2040:
CMake added Waveshare RP2040-LCD-1.28 board and Improvements in
rp2040_boot_stage2.cmake
+* [#17099](https://github.com/apache/nuttx/pull/17099) boards/arm/rp2040:
CMake added pimoroni-tiny2040 board and Improvements in rp2040_boot_stage2.cmake
+* [#17160](https://github.com/apache/nuttx/pull/17160) boards/arm/rp23xx:
CMake added Pimoroni Pico Plus 2 board
+* [#17154](https://github.com/apache/nuttx/pull/17154) boards/arm/rp23xx:
CMake added Seeed Studio XIAO RP2350 board
+* [#17168](https://github.com/apache/nuttx/pull/17168)
boards/arm/rp23xx/pimoroni-pico-2-plus: added ‘rp23xx_spisd.h’ in board.h
+* [#17163](https://github.com/apache/nuttx/pull/17163)
boards/arm/rp23xx/pimoroni-pico-2-plus: Corrected all defconfig files
+* [#17155](https://github.com/apache/nuttx/pull/17155)
boards/arm/rp23xx/pimoroni-pico-2-plus: fix 'BOARD_HSTX_FREQ' undeclared
+* [#17164](https://github.com/apache/nuttx/pull/17164)
boards/arm/rp23xx/pimoroni-pico-2-plus: fix linker scripts 100% RAM usage
+* [#17167](https://github.com/apache/nuttx/pull/17167)
boards/arm/rp23xx/pimoroni-pico-2-plus: fix implicit declaration of function
'board_spisd_initialize'
+* [#17169](https://github.com/apache/nuttx/pull/17169)
boards/arm/rp23xx/xiao-rp2350: fix linker scripts 100% RAM usage
+* [#17022](https://github.com/apache/nuttx/pull/17022)
boards/arm/samv7/samv71-xult: Add support for the OA-TC6 10BASE-T1x M…
+* [#17038](https://github.com/apache/nuttx/pull/17038)
boards/arm/samv7/samv71-xult/configs/oa_tc6: Add plcatool support
+* [#17421](https://github.com/apache/nuttx/pull/17421)
boards/arm/stm32l4/nucleo-l476rg: CMake fix addition of HTS221 and LSM6DSL
sensors
+* [#17391](https://github.com/apache/nuttx/pull/17391)
boards/arm/stm32f4/stm32f429i-disco: Add NX boot logo splash screen
+* [#17320](https://github.com/apache/nuttx/pull/17320) boards/nucleo-h743zi:
register TMPFS
+* [#17035](https://github.com/apache/nuttx/pull/17035) boards/risc-v: add
support for init script on ESP32-C3|C6|H2
+* [#17334](https://github.com/apache/nuttx/pull/17334) boards/risc-v/esp32c3:
remove CXX initialization from BLE defconfig
+* [#17021](https://github.com/apache/nuttx/pull/17021) boards/risc-v/esp32c6:
Add support for the OA-TC6 10BASE-T1x MAC-PHYs
+* [#17059](https://github.com/apache/nuttx/pull/17059)
boards/risc-v/esp32[c3|h2]/<board>: Unset `-Werror` flag by default
+* [#17064](https://github.com/apache/nuttx/pull/17064)
boards/risc-v/esp32[c3|c6|h2]: Fix GPIO function used by the button
+* [#17285](https://github.com/apache/nuttx/pull/17285)
boards/risc-v/esp32s3_lan9250.c: fix some unused variable build warning
+* [#17015](https://github.com/apache/nuttx/pull/17015) boards/weact-stm32h750
+* [#17319](https://github.com/apache/nuttx/pull/17319)
boards/x86_64/intel64/qemu-intel64: register TMPFS
+* [#17131](https://github.com/apache/nuttx/pull/17131)
boards/x86_64/qemu-intel64: increase stack size for ostest
+* [#17001](https://github.com/apache/nuttx/pull/17001) boards/xtensa: fix the
issue of undefined symbol reference errors
+* [#17227](https://github.com/apache/nuttx/pull/17227) boards/xtensa: optimize
linker script IRAM section
+* [#17401](https://github.com/apache/nuttx/pull/17401) boards/xtensa/esp32s3:
Fix esp32s3-devkitc:knsh
+* [#17262](https://github.com/apache/nuttx/pull/17262) boards/xtensa/esp32s3:
Increase LCD PWM frequency to reduce LCD flicker
+* [#17148](https://github.com/apache/nuttx/pull/17148) boards/xtensa/esp32s3:
Refactor ES8311 initialization to use I2C handle
+* [#17050](https://github.com/apache/nuttx/pull/17050)
boards/xtensa/esp32s3-lckfb-szpi: Remove obsolete device function prototypes
+
+File System
+* [#17128](https://github.com/apache/nuttx/pull/17128) fs/mmap/fs_mmap.c: add
missing NULL pointer
+* [#17126](https://github.com/apache/nuttx/pull/17126) fs/mmap/fs_mmap.c: fix
errno when fd is not valid
+* [#17125](https://github.com/apache/nuttx/pull/17125) fs/mmap/fs_mmap.c:
MAP_PRIVATE or MAP_SHARED must be specified
+* [#17127](https://github.com/apache/nuttx/pull/17127) fs/mmap/fs_msync.c:
don't flush changes if MAP_PRIVATE
+* [#17124](https://github.com/apache/nuttx/pull/17124) fs/mmap/fs_munmap.c:
return error if len is 0
+* [#17233](https://github.com/apache/nuttx/pull/17233) fs/fat: Ignore //...
sequences in the file path
+* [#17348](https://github.com/apache/nuttx/pull/17348) fs/fat: Ignore multiple
consecutive slashes in long file names
+* [#17264](https://github.com/apache/nuttx/pull/17264) vfs/fs_stat: set
st_size on EEPROM character drivers
+
+Unsorted
+* [#17396](https://github.com/apache/nuttx/pull/17396) .editorconfig: fix
character encoding property specification
+* [#17325](https://github.com/apache/nuttx/pull/17325) Add GHS Compiler
support for Arm v8r
+* [#17161](https://github.com/apache/nuttx/pull/17161) Add MSS CAN driver for
MPFS
+* [#17218](https://github.com/apache/nuttx/pull/17218) Add multiple bin
support for esp32[-s2|-s3|-c6]
+* [#17150](https://github.com/apache/nuttx/pull/17150) add userled support to
freedom-k64f
+* [#17058](https://github.com/apache/nuttx/pull/17058) arm/rp2040: CMake build
for Raspberry Pi RP2040 implemented
+* [#17296](https://github.com/apache/nuttx/pull/17296) arm64: add demo for
gdbstub
+* [#17245](https://github.com/apache/nuttx/pull/17245) bcm2711/sdio: Support
for EMMC interfaces on the BCM2711
+* [#17122](https://github.com/apache/nuttx/pull/17122) binfmt: Add a
configuration flag to store the module filename
+* [#17010](https://github.com/apache/nuttx/pull/17010) cdcacm: Enable using
the device pointer stored in filesystem for cdcam_uninitialize
+* [#17032](https://github.com/apache/nuttx/pull/17032) cmake/stm32h7: Add LTDC
support to CMakeLists.txt
+* [#16966](https://github.com/apache/nuttx/pull/16966) codespellrc: add ans to
ignore words
+* [#17257](https://github.com/apache/nuttx/pull/17257) espressif: update SPI
Flash driver
+* [#17336](https://github.com/apache/nuttx/pull/17336) Feature/arduino r4
minima timer
+* [#17317](https://github.com/apache/nuttx/pull/17317) fiq: fix some FIQ
config in arm64/armv7-r/armv8-r
+* [#16976](https://github.com/apache/nuttx/pull/16976) fix missing gnu-elf.ld
cp when generating export
+* [#17407](https://github.com/apache/nuttx/pull/17407) Fix newlib multiple
definition compiling errors
+* [#17152](https://github.com/apache/nuttx/pull/17152) freedom-k64f map and
configure spi 0 driver
+* [#16928](https://github.com/apache/nuttx/pull/16928) In multicore system, We
add a busywait flag to synchronize the startup of other cores.
+* [#17409](https://github.com/apache/nuttx/pull/17409) inttype.h: add
PRIuTM(time_t) to handle TIME64 & TIME32 print compatible
+* [#17347](https://github.com/apache/nuttx/pull/17347) Imx9 enable lpspi pcs
manual control
+* [#17037](https://github.com/apache/nuttx/pull/17037) imx9/imx9_usbdev.c: Fix
interrupt handling in SMP mode
+* [#17261](https://github.com/apache/nuttx/pull/17261) imxrt: make DTCM heap
size configurable
+* [#17041](https://github.com/apache/nuttx/pull/17041)
include/nuttx/spi/spi_bitbang: Fix incompatible pointer type issue
+* [#17000](https://github.com/apache/nuttx/pull/17000) Kconfig: add
stack-protector level options
+* [#16992](https://github.com/apache/nuttx/pull/16992) mtd/nvs: Save events if
not waited
+* [#16972](https://github.com/apache/nuttx/pull/16972) mtd/nvs: Trigger
`POLLPRI` on config change
+* [#17306](https://github.com/apache/nuttx/pull/17306) net_bufpool.c:when the
timeout value is zero, it should not interrupt the network lock
+* [#17284](https://github.com/apache/nuttx/pull/17284)
netdb/lib_dnsdelserver.c: support delete the DNS server address by index or
address
+* [#17103](https://github.com/apache/nuttx/pull/17103) nuttx/list: Add
`list_for_every_entry_from()`
+* [#17077](https://github.com/apache/nuttx/pull/17077) nuttx/list: Add
`list_prepare_entry()`
+* [#17309](https://github.com/apache/nuttx/pull/17309) nuttx/mtd: Add
MTDIOC_RESET command and implementation for imx9 FlexSPI NOR flash
+* [#17201](https://github.com/apache/nuttx/pull/17201) nxgdb: fix
remote-register regular expression match
+* [#17294](https://github.com/apache/nuttx/pull/17294)
raspberrypi-4b/graphics: Add frame buffer graphics support
+* [#17185](https://github.com/apache/nuttx/pull/17185) Remove references to
non-existent readme.txt files
+* [#17057](https://github.com/apache/nuttx/pull/17057) risc-v/espressif:
Remove duplicated Kconfig entry ESPRESSIF_<chip>
+* [#17100](https://github.com/apache/nuttx/pull/17100) risc-v/espressif/i2c:
Update common source code functions
+* [#17145](https://github.com/apache/nuttx/pull/17145) risc-v/espressif/gpio:
Update common source code functions
+* [#17134](https://github.com/apache/nuttx/pull/17134) risc-v/espressif/mcpwm:
Update common source code functions
+* [#17137](https://github.com/apache/nuttx/pull/17137) risc-v/espressif/pcnt:
Update common source code functions
+* [#17068](https://github.com/apache/nuttx/pull/17068) risc-v/espressif/rmt:
Update common source code functions
+* [#17143](https://github.com/apache/nuttx/pull/17143) risc-v/espressif/sha:
Update common source code functions
+* [#17219](https://github.com/apache/nuttx/pull/17219) risc-v/espressif/spi:
Update common source code functions
+* [#17047](https://github.com/apache/nuttx/pull/17047)
risc-v/espressif/timers: Update common source code functions
+* [#17067](https://github.com/apache/nuttx/pull/17067) risc-v/espressif/twai:
Update common source code functions
+* [#17070](https://github.com/apache/nuttx/pull/17070) risc-v/espressif/uart:
Update common source code functions
+* [#17226](https://github.com/apache/nuttx/pull/17226) risc-v/rp23xx-rv: CMake
build for Raspberry Pi RP23xx RISC-V implemented
+* [#17208](https://github.com/apache/nuttx/pull/17208) SAMV7:
sam_has_revb_periphs
+* [#17019](https://github.com/apache/nuttx/pull/17019) Select
ARCH_HAVE_ELF_EXECUTABLE for imx9 and mpfs
+* [#17193](https://github.com/apache/nuttx/pull/17193) stm32/stm32_usbdev.c:
include arch/board/board.h
+* [#17356](https://github.com/apache/nuttx/pull/17356) stm32f746g-disco: fix
lvgldemo failed
+* [#17205](https://github.com/apache/nuttx/pull/17205) style/FAR: remove FAR
qualifier
+* [#17290](https://github.com/apache/nuttx/pull/17290) The implementation
logic of "pl011_irq_tx_ready" and "pl011_txready" is reversed.
+* [#17338](https://github.com/apache/nuttx/pull/17338) timers/oneshot:
Introduce count-based oneshot API. [ClockDevice Part IV]
+* [#17186](https://github.com/apache/nuttx/pull/17186) video/fb: add
FBIOGET_PANINFOCNT ioctl
+* [#17382](https://github.com/apache/nuttx/pull/17382) xtensa/esp32: Add
support for hardware accelerated HMAC-SHA
+
+Compatibility Concerns
+* [#17244](https://github.com/apache/nuttx/pull/17244) [!] sched/event:
removed event_tickwait_wait() and added TSTATE_WAIT_EVENT
+ This PR contains breaking changes for event implementation to improve its
performance, safety and make its api cleaner and easier to use
+ Change summary:
+ Refactors the event module by removing its dependency on semaphores and
separate wait objects, and introduces a new task state
+ TSTATE_WAIT_EVENT to simplify scheduling and improve maintainability.
+ Details:
+ 1. Remove semaphore dependency
+ Reason:
+ - Semaphore objects consume more memory than necessary for event
synchronization.
+ - Semaphore interfaces are relatively complex, involving global locks and
logic that exceeds
+ the needs of the event mechanism.
+ Benefit:
+ - Simplifies the event module and reduces runtime and memory overhead.
+ 2. Remove wait object dependency
+ Reason:
+ - Wait objects introduce additional memory usage.
+ - The current design either uses a local wait object in the waiting task
(which is unsafe because the posting task also accesses it)
+ or requires users to define global wait objects and call
event_tickwait_wait(). This leads to complicated and error-prone usage.
+ - By removing wait objects, the event module can be implemented more
cleanly.
+ Benefit:
+ - Simplifies API usage.
+ - Improves safety and code maintainability.
+ 3. Introduce TSTATE_WAIT_EVENT and move the scheduling list to the event
object
+ Reason:
+ - Makes the event module implementation more concise.
+ - Allows the scheduler to handle tasks blocked on events more flexibly in
special cases (e.g., task deletion).
+ Benefit:
+ - Improves modularity and better integrates event handling with the
scheduler.
+ Impact
+
+ This change streamlines the event mechanism by eliminating unnecessary
abstractions, reducing memory footprint,
+ and improving the clarity of both the implementation and external API, no
impact to other nuttx functions
+
+* [#17339](https://github.com/apache/nuttx/pull/17339) ! driver/timers: Remove
oneshot callback, args and tick-based API. [ClockDevice Part III]
+ Summary
+ This is Part III of the #17276. In this PR, we
+ Removed the callback and args for all oneshot timer drivers and let
the upper-half manage the callback and args.
+ Removed all tick-based oneshot drivers and provide the temporary
fallbacks.
+ The next part is #17338.
+Impact
+ These code commits affect the timing subsystem, as well as the following
architecture:
+ arm-v7a/arm-v7r/arm-v8r
+ arm-v8a
+ risc-v
+ tricore