DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
| Table of Contents |
|---|
Work In Progress
| Warning | ||
|---|---|---|
| ||
| NuttX X.Y has not been released yet. These Release Notes are a work-in-progress in preparation for the next release of NuttX. There is a board tracking the PRs that need to be looked at to add to this doc for the OS TODO ADD LINK and for the Apps TODO ADD LINK |
What's New In This Release
...
| Markdown |
|---|
* [#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 |
MM
libc
...
| Markdown |
|---|
* [#16969#17214](https://github.com/apache/nuttx/pull/1696917214) Revert "codespellrclib: addIntroduce ansthe toinvariant-divisor ignorefast words"division * [#16945#17139](https://github.com/apache/nuttx/pull/1694517139) toolslibc/checkpatch.shcrc: checkAdd formatcrc8rohcincr for allincremental commitsCRC8 inROHC patchcalculation * [#16968#16994](https://github.com/apache/nuttx/pull/1696816994) toolslibc/checkpatch.shfclose: Validate fixthe checkuser forprovided HEADstream commitpointer * [#17335#17129](https://github.com/apache/nuttx/pull/1733517129) tools/checkpatch.shlibc/pthread/pthread_keydelete.c: Improvedreset error display on GitHubkey value * [#16974#17380](https://github.com/apache/nuttx/pull/1697417380) toolslibc/configure.shunistd: align tools/configure.sh with CmakeLists.tx |
various
...
Build System
Cmake
| Markdown |
|---|
* [#17020Replace pipe() macro with proper function implementation * [#17289](https://github.com/apache/nuttx/pull/1702017289) cmake: add cmake disassembly support for GHS compilerlibs/libc: Fix Kconfig issue for ARMv8-R assembly implementations of memcpy and memset * [#17198#17400](https://github.com/apache/nuttx/pull/1719817400) libs/libc/arm: add back __aeabi_mem* function |
tools
| Markdown |
|---|
* [#16969cmake: correct nuttx_wildcard_sources cmake usage * [#17346](https://github.com/apache/nuttx/pull/1734616969) CMakeRevert "codespellrc: Enableadd bothans sub-Kconfigto and generated menu Kconfigignore words" * [#17350#16945](https://github.com/apache/nuttx/pull/1735016945) CMake: Enable Kconfig generation for external directoriestools/checkpatch.sh: check format for all commits in patch * [#17027#16968](https://github.com/apache/nuttx/pull/1702716968) cmake: improve board specific Toolchain.cmaketools/checkpatch.sh: fix check for HEAD commit * [#17412#17335](https://github.com/apache/nuttx/pull/1741217335) cmake: Improve nuttx_generate_kconfig()tools/checkpatch.sh: Improved error display on GitHub * [#17072#16974](https://github.com/apache/nuttx/pull/1707216974) CMaketools/configure.sh: align tools/configure.sh with CmakeLists.tx |
Build System
Cmake
| Markdown |
|---|
* [#17020Move global compiler flags setting before add_executable() * [#17105](https://github.com/apache/nuttx/pull/1710517020) cmake: add cmake passdisassembly exclusionsupport listfor to nuttx_add_subdirectoryGHS compiler * [#17028#17198](https://github.com/apache/nuttx/pull/1702817198) cmake: Provide better .hex and .srec gen for tasking compilercorrect nuttx_wildcard_sources cmake usage * [#17061#17346](https://github.com/apache/nuttx/pull/1706117346) CmakeCMake: ProvideEnable linkerboth scriptsub-Kconfig preprocessand forgenerated taskingmenu compilerKconfig * [#17209#17350](https://github.com/apache/nuttx/pull/1720917350) cmakeCMake: RemoveEnable redundantKconfig logicgeneration infor CMakeexternal scriptsdirectories * [#17210#17027](https://github.com/apache/nuttx/pull/1721017027) cmake: Removeimprove unusedboard BUILD_OOTCPP guard from configuration. |
Architectural Support
New Architecture Support
Driver Support
New Drivers
| Markdown |
|---|
specific Toolchain.cmake * [#17331#17412](https://github.com/apache/nuttx/pull/1733117412) drivercmake: AT25EE multi-device supportImprove nuttx_generate_kconfig() * [#17182#17072](https://github.com/apache/nuttx/pull/1718217072) drivers/1WireCMake: DS2XXXMove driverglobal forcompiler variousflags Maxim/Analogsetting devices memoriesbefore add_executable() * [#16936#17105](https://github.com/apache/nuttx/pull/1693617105) drivers/netcmake: Addpass networkexclusion driverlist for 10BASE-T1x SPI MAC-PHYsto nuttx_add_subdirectory * [#17363#17028](https://github.com/apache/nuttx/pull/1736317028) drivers/sensors: Add QST QMI8658 6-axis IMU sensor driver |
Drivers With Improvements
| Markdown |
|---|
* [#17278cmake: Provide better .hex and .srec gen for tasking compiler * [#17061](https://github.com/apache/nuttx/pull/1727817061) drivers/can: Fix buffer overrun and read failuresCmake: Provide linker script preprocess for tasking compiler * [#17360#17209](https://github.com/apache/nuttx/pull/1736017209) drivers/cancmake: messageRemove alignmentredundant forlogic readin andCMake write operationsscripts * [#17136#17210](https://github.com/apache/nuttx/pull/1713617210) cmake: Remove unused BUILD_OOTCPP guard from configuration. |
Architectural Support
| Markdown |
|---|
* [#17023drivers/can/ctucanfd_pci.c: refactor to use netdev_uperhalf * [#17135](https://github.com/apache/nuttx/pull/1713517023) drivers/can/kvaser_pci.carch: refactorAdd to use netdev_upperhalfcondition checking in Kconfig source statement * [#17344#17034](https://github.com/apache/nuttx/pull/1734417034) drivers/eeprom: Set the bus frequencyarch: fix alignment bug for archs that need stack alignment * [#17175#17029](https://github.com/apache/nuttx/pull/1717517029) drivers/mtd/CMakeLists.txt: Aligned Cmake with Makearch: fix stack alignment bug for arm and tricore arch * [#17388#17071](https://github.com/apache/nuttx/pull/1738817071) drivers/mtd/w25: support custom SPI transfers delayarch: Make common, weak definition of up_*delay functions * [#16999#17277](https://github.com/apache/nuttx/pull/1699917277) arch: replace drivers/net/mdio: add mdio busspinlock/sched_lock with spin_lock_irqsave_nopreempt * [#17378#17312](https://github.com/apache/nuttx/pull/1737817312) arch: Simplify the current timer drivers. [ClockDevice Part I]. |
ARM
| Markdown |
|---|
* [#17288drivers/pci: qemu_edu: fix arm32 build warning * [#17341](https://github.com/apache/nuttx/pull/1734117288) driversarch/sensorsarm: Fix KconfigSolving the ghs compiler not recognizing 0b prefix representing binary * [#17392#17005](https://github.com/apache/nuttx/pull/1739217005) drivers/sensors: improvements for Kconfigarch/arm/armv8-m: stack pointer should be 8-byte aligned in signal context * [#17076#16996](https://github.com/apache/nuttx/pull/1707616996) driversarch/sensorsarm/ms56xxarmv8-r: remove Replaceredundant customand curtimemisleading withpointer standard functionin arm_syscall() * [#17267#17353](https://github.com/apache/nuttx/pull/1726717353) driversarch/arm/syslogcxd56xx: Add early_syslog() for early boot or system down debuggingFix failure to get RTC time in multi-core environment * [#16982#16941](https://github.com/apache/nuttx/pull/1698216941) driversarch/arm/syslogimxrt: let syslog_write() return the maximum bytes writen through a channelAdd support to both USB Controllers of iMXRT * [#17316#17307](https://github.com/apache/nuttx/pull/1731617307) driversarch/arm/timerskinetis: IntroduceCMake clockcount,build theimplemented timefor conversionNXP API. [ClockDevice Part II] Kinetis MCUs * [#17345#17415](https://github.com/apache/nuttx/pull/1734517415) driversarch/arm/timerskl: Re-implementedCMake timerbuild driversimplemented withfor theNXP count-basedKL oneshotSeries API [ClockDevice Part V]Arm MCUs * [#17221#17313](https://github.com/apache/nuttx/pull/1722117313) drivers/timers/arch_alarm: Revert removal of ndelay_accuratearch/arm/{nrf52|nrf53|nrf91}/i2c: fix I2C bus getting stuck during read * [#17178#16997](https://github.com/apache/nuttx/pull/1717816997) driversarch/arm/usbdevrp2040: merge conflicting Aligneddefinitions Cmake with Makeof `hw_*` functions * [#17180#17151](https://github.com/apache/nuttx/pull/1718017151) driversarch/arm/usbhostrp23xx: Aligned Cmake with Make CMake build for Raspberry Pi RP23xx implemented * [#17247#17389](https://github.com/apache/nuttx/pull/1724717389) drivers/usbhost_hubarch/arm/samv7: Addadd support to Multiple TT HS HUBfor SPI_SETDELAY * [#17181#17031](https://github.com/apache/nuttx/pull/1718117031) driversarch/arm/usbmiscsamv7: enable USART Alignedperipherals Cmakefor withSAMx7xJ Makeseries * [#17174#17187](https://github.com/apache/nuttx/pull/1717417187) driversarch/wireless/ieee80211/bcm43xxx/CMakeLists.txt: Aligned Cmake with Makearm/stm32: Prepare files to support semihosting syslog * [#17177#17007](https://github.com/apache/nuttx/pull/1717717007) driversarch/wirelessarm/bluetoothstm32h5: AlignedADC Driver CmakeImprovements with Make |
Board Support
New Boards
...
Boards With Improvements
...
File System
| Markdown |
|---|
(Watchdog and Channel Structure) * [#17128#17232](https://github.com/apache/nuttx/pull/1712817232) fsarch/mmap/fs_mmap.carm/stm32h5: addAdd missing NULLAWD pointerdefines * [#17126#17243](https://github.com/apache/nuttx/pull/1712617243) fsarch/mmap/fs_mmap.carm/stm32h5: fixCMake errnobuild whenimplemented fdfor isSTM32H5 notMCU validseries * [#17125#17239](https://github.com/apache/nuttx/pull/1712517239) fsarch/mmap/fs_mmap.carm/stm32h5: MAP_PRIVATESTM32H5 orPWM MAP_SHARED must be specifiedDriver (STM32H7 port) * [#17127#17254](https://github.com/apache/nuttx/pull/1712717254) fsarch/mmap/fs_msync.carm/stm32h5: don't flush changes if MAP_PRIVATEUse au_receive_batch in adc_dmaconvcallback * [#17124#17045](https://github.com/apache/nuttx/pull/1712417045) fsarch/mmap/fs_munmap.c: return error if len is 0arm/stm32h7: Fix and enhance WWDG (Window Watchdog) support * [#17233#17203](https://github.com/apache/nuttx/pull/1723317203) fsarch/arm/fatstm32h7: Ignore //... sequences in the file pathFix UART TX DMA getting stuck * [#17348#17146](https://github.com/apache/nuttx/pull/1734817146) fsarch/arm/fatstm32f0l0g0: Ignoreadd multipleFLASH consecutivesupport slashes in long file namesfor STM32C0 * [#17264#17165](https://github.com/apache/nuttx/pull/1726417165) vfs/fs_statarch/arm/stm32f0l0g0: setadd ststm32_sizeflash.c onsupport EEPROM character drivers |
Networking
...
Security Issues Fixed In This Release
Compatibility Concerns
| Markdown |
|---|
for CMake * [#17244#17149](https://github.com/apache/nuttx/pull/1724417149) [!] sched/event: removed event_tickwait_wait() and added TSTATE_WAIT_EVENT arch/arm/stm32f0l0g0: don't compile stm32_pwr.c for STM32C0 * [#17339#17147](https://github.com/apache/nuttx/pull/1733917147) ! driver/timers: Remove oneshot callback, args and tick-based API. [ClockDevice Part III]arch/arm/stm32f0l0g0: update STM32C0 PWR registers |
ARM64
| Markdown |
|---|
* [#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
| Markdown |
|---|
* [#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
| Markdown |
|---|
* [#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
| Markdown |
|---|
* [#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
| Markdown |
|---|
* [#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
| Markdown |
|---|
* [#17383](https://github.com/apache/nuttx/pull/17383) arch/x86_64: fix bootup problem in SMP |
XTENSA
| Markdown |
|---|
* [#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
| Markdown |
|---|
* [#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
| Markdown |
|---|
* [#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
| Markdown |
|---|
* [#17298](https://github.com/apache/nuttx/pull/17298) boards/arm/stm32h7: add Arduino Portenta H7
|
Boards With Improvements
| Markdown |
|---|
* [#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
| Markdown |
|---|
* [#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
| Markdown |
|---|
* [#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
| Markdown |
|---|
* [#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 |
Known Problems In This Release
...