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 |
|---|
* [#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 |
...
| Markdown |
|---|
* [#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 |
...
| Markdown |
|---|
Build System
Cmake
| Markdown |
|---|
* [#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
New Architecture Support
Driver Support
New Drivers
| Markdown |
|---|
* [#17331#17023](https://github.com/apache/nuttx/pull/1733117023) driverarch: AT25EE multi-device supportAdd condition checking in Kconfig source statement * [#17182#17034](https://github.com/apache/nuttx/pull/1718217034) drivers/1Wirearch: fix DS2XXXalignment driverbug for various Maxim/Analog devices memoriesarchs that need stack alignment * [#16936#17029](https://github.com/apache/nuttx/pull/1693617029) drivers/netarch: Addfix stack networkalignment driverbug for arm 10BASE-T1xand SPItricore MAC-PHYsarch * [#17363#17071](https://github.com/apache/nuttx/pull/1736317071) drivers/sensorsarch: AddMake QSTcommon, QMI8658weak 6-axisdefinition IMU sensor driver |
Drivers With Improvements
| Markdown |
|---|
of up_*delay functions * [#17278#17277](https://github.com/apache/nuttx/pull/1727817277) drivers/canarch: Fix buffer overrun and read failuresreplace spinlock/sched_lock with spin_lock_irqsave_nopreempt * [#17360#17312](https://github.com/apache/nuttx/pull/1736017312) drivers/canarch: Simplify messagethe alignmentcurrent fortimer readdrivers. and[ClockDevice writePart I]. |
ARM
| Markdown |
|---|
operations * [#17136#17288](https://github.com/apache/nuttx/pull/1713617288) drivers/can/ctucanfd_pci.c: refactor to use netdev_uperhalfarch/arm: Solving the ghs compiler not recognizing 0b prefix representing binary * [#17135#17005](https://github.com/apache/nuttx/pull/1713517005) driversarch/can/kvaser_pci.carm/armv8-m: refactor to use netdev_upperhalfstack pointer should be 8-byte aligned in signal context * [#17344#16996](https://github.com/apache/nuttx/pull/1734416996) drivers/eeprom: Set the bus frequencyarch/arm/armv8-r: remove redundant and misleading pointer in arm_syscall() * [#17175#17353](https://github.com/apache/nuttx/pull/1717517353) driversarch/mtdarm/CMakeLists.txt: Aligned Cmake with Makecxd56xx: Fix failure to get RTC time in multi-core environment * [#17388#16941](https://github.com/apache/nuttx/pull/1738816941) driversarch/mtdarm/w25imxrt: Add support to both customUSB SPIControllers transfersof delayiMXRT * [#16999#17307](https://github.com/apache/nuttx/pull/1699917307) driversarch/netarm/mdiokinetis: add mdio bus CMake build implemented for NXP Kinetis MCUs * [#17378#17415](https://github.com/apache/nuttx/pull/1737817415) driversarch/arm/pci: qemu_edu: fix arm32 build warningkl: CMake build implemented for NXP KL Series Arm MCUs * [#17341#17313](https://github.com/apache/nuttx/pull/1734117313) drivers/sensors: Fix Kconfigarch/arm/{nrf52|nrf53|nrf91}/i2c: fix I2C bus getting stuck during read * [#17392#16997](https://github.com/apache/nuttx/pull/1739216997) driversarch/arm/sensorsrp2040: merge improvementsconflicting fordefinitions Kconfig * [#17076of `hw_*` functions * [#17151](https://github.com/apache/nuttx/pull/1707617151) driversarch/sensorsarm/ms56xxrp23xx: ReplaceCMake build customfor curtimeRaspberry withPi standardRP23xx functionimplemented * [#17267#17389](https://github.com/apache/nuttx/pull/1726717389) driversarch/arm/syslogsamv7: Add early_syslog()add support for early boot or system down debuggingSPI_SETDELAY * [#16982#17031](https://github.com/apache/nuttx/pull/1698217031) driversarch/arm/syslogsamv7: let syslog_write() return the maximum bytes writen through a channelenable USART peripherals for SAMx7xJ series * [#17316#17187](https://github.com/apache/nuttx/pull/1731617187) driversarch/timersarm/stm32: IntroducePrepare clockcount,files theto timesupport conversion API. [ClockDevice Part II] semihosting syslog * [#17345#17007](https://github.com/apache/nuttx/pull/1734517007) driversarch/arm/timersstm32h5: Re-implementedADC timerDriver driversImprovements with(Watchdog theand count-based oneshot API [ClockDevice Part V]Channel Structure) * [#17221#17232](https://github.com/apache/nuttx/pull/1722117232) driversarch/timersarm/arch_alarmstm32h5: RevertAdd removalmissing ofAWD ndelay_accuratedefines * [#17178#17243](https://github.com/apache/nuttx/pull/1717817243) driversarch/arm/usbdevstm32h5: AlignedCMake Cmakebuild withimplemented Make * [#17180for STM32H5 MCU series * [#17239](https://github.com/apache/nuttx/pull/1718017239) driversarch/arm/usbhoststm32h5: AlignedSTM32H5 PWM CmakeDriver with(STM32H7 Makeport) * [#17247#17254](https://github.com/apache/nuttx/pull/1724717254) drivers/usbhost_hubarch/arm/stm32h5: Add support to Multiple TT HS HUBUse au_receive_batch in adc_dmaconvcallback * [#17181#17045](https://github.com/apache/nuttx/pull/1718117045) driversarch/arm/usbmiscstm32h7: Aligned Cmake with MakeFix and enhance WWDG (Window Watchdog) support * [#17174#17203](https://github.com/apache/nuttx/pull/1717417203) driversarch/wireless/ieee80211/bcm43xxx/CMakeLists.txtarm/stm32h7: Aligned Cmake with MakeFix UART TX DMA getting stuck * [#17177#17146](https://github.com/apache/nuttx/pull/1717717146) driversarch/wirelessarm/bluetoothstm32f0l0g0: Alignedadd FLASH Cmakesupport with Make |
Board Support
New Boards
| Markdown |
|---|
for STM32C0 * [#17298#17165](https://github.com/apache/nuttx/pull/1729817165) boardsarch/arm/stm32h7stm32f0l0g0: add Arduino Portenta H7 |
Boards With Improvements
| Markdown |
|---|
stm32_flash.c support for CMake * [#17281#17149](https://github.com/apache/nuttx/pull/1728117149) boardsarch/arm/stm32f0l0g0: removedon't custom MCUBoot version from defconfigscompile stm32_pwr.c for STM32C0 * [#16991#17147](https://github.com/apache/nuttx/pull/1699117147) arch/arm/stm32f0l0g0: update STM32C0 PWR registers |
ARM64
| Markdown |
|---|
* [#17172boards/a2g-tc397-5v-tft: Enable events by default in the a2g-tc397-5v-tft defconfig * [#16989](https://github.com/apache/nuttx/pull/1698917172) boardsarch/armarm64/imxrtimx9: CMakeadd added teensy-4.x boardCAN ID filtering * [#17314#17044](https://github.com/apache/nuttx/pull/1731417044) boardsarch/armarm64/kinetisimx9: CMakeAdd addedele NXP Freedom-K28F and Freedom-K66F boardscommit message * [#17328#17410](https://github.com/apache/nuttx/pull/1732817410) boardsarch/arm64/armimx9/kinetisethernet: CMakeAdd addeda NXPconfiguration TWR-K60N512option and TWR-K64F120M boardsto use HPWORK queue * [#17329#17102](https://github.com/apache/nuttx/pull/1732917102) boardsarch/armarm64/kinetisbcm2711: CMakeBCM2711 addedVideoCore NXPmailbox KWIKSTIK-K40 and PJRC Teensy 3.x boardsAPI implementation * [#17297#17012](https://github.com/apache/nuttx/pull/1729717012) boardsarch/arm/qemu/qemu-armv7aarm64/bcm2711: addImplement I2C demosupport for all user-accessible interfaces |
AVR
| Markdown |
|---|
gdbstub * [#17224#17404](https://github.com/apache/nuttx/pull/1722417404) boardsarch/arm/rp2040avr: allowAdd flashTWI writesupport, operationfix onmissing rp2040pins incode, SMPdoc modeupdate. * [#17033#17403](https://github.com/apache/nuttx/pull/1703317403) boardsarch/arm/rp2040avr: fix implement "board_boot_image"MCU type for 64 pin chips. |
RISC-V
| Markdown |
|---|
bootloader support * [#17112#16965](https://github.com/apache/nuttx/pull/1711216965) boards/arm/rp2040: CMake added Adafruit boardsarch/risc-v: improve E-Fuse support for ESP32-C3|C6|H2 * [#17142#17220](https://github.com/apache/nuttx/pull/1714217220) boards/arm/rp2040arch/risc-v: CMakeremove added Raspberry Pi Pico W boardduplicated nxsched_switch_context() call * [#17114#17417](https://github.com/apache/nuttx/pull/1711417417) boards/arm/rp2040arch/risc-v: CMakerename added Seeed, WIZnet and Waveshare ESP32-C3 boards * [#17138#16995](https://github.com/apache/nuttx/pull/1713816995) boardsarch/armrisc-v/rp2040esp32c6: CMakeAdd added Waveshare RP2040-LCD-1.28 board and Improvements in rp2040_boot_stage2.cmakelpcore support * [#17099#17141](https://github.com/apache/nuttx/pull/1709917141) boardsarch/armrisc-v/rp2040esp32c6: CMakeAdd addedULP pimoroni-tiny2040shared board and Improvements in rp2040_boot_stage2.cmakememory encapsulation * [#17160#17211](https://github.com/apache/nuttx/pull/1716017211) boardsarch/arm/rp23xxrisc-v/espressif/i2s: CMakeFix addedcommon Pimoroni Pico Plus 2 boarddriver issues * [#17154#17144](https://github.com/apache/nuttx/pull/1715417144) boards/arm/rp23xxarch/risc-v/espressif/ledc: CMakeUpdate addedcommon Seeedsource Studio XIAO RP2350 boardcode functions * [#17168#17411](https://github.com/apache/nuttx/pull/1716817411) boardsarch/arm/rp23xx/pimoroni-pico-2-plus: added ‘rp23xx_spisd.h’ in board.hrisc-v/mpfs: DDR training fixes * [#17163#17173](https://github.com/apache/nuttx/pull/1716317173) boardsarch/arm/rp23xx/pimoroni-pico-2-plus: Corrected all defconfig filesrisc-v/Mpfs: enable caches on e51 monitor core * [#17155#17305](https://github.com/apache/nuttx/pull/1715517305) boardsarch/arm/rp23xx/pimoroni-pico-2-plus: fix 'BOARD_HSTX_FREQ' undeclared risc-v/mpfs: Remove strict CAN frame data length check. * [#17164#17399](https://github.com/apache/nuttx/pull/1716417399) boardsarch/arm/rp23xx/risc-v/esp32[-c3|-c6|-h2]: Add deep sleep support |
SIM
| Markdown |
|---|
* [#16987pimoroni-pico-2-plus: fix linker scripts 100% RAM usage * [#17167](https://github.com/apache/nuttx/pull/1716716987) boards/arm/rp23xx/pimoroni-pico-2-plusarch/sim: fixadd implicitloopback support declarationfor ofCAN function 'board_spisd_initialize'character dev * [#17169#16988](https://github.com/apache/nuttx/pull/1716916988) boards/arm/rp23xx/xiao-rp2350arch/sim: fix linkerCAN scriptsflags 100%decoding for message |
TRICORE
| Markdown |
|---|
RAM usage * [#17022#16971](https://github.com/apache/nuttx/pull/1702216971) boards/arm/samv7/samv71-xultarch/tricore: Addadd support for the OA-TC6 10BASE-T1x M…one_shot .tick_start implementation * [#17038#17013](https://github.com/apache/nuttx/pull/1703817013) boards/arm/samv7/samv71-xult/configs/oa_tc6: Add plcatool supportarch/tricore: add tasking compiler support to gen raw/hex binary * [#17421#17006](https://github.com/apache/nuttx/pull/1742117006) boards/arm/stm32l4/nucleo-l476rgarch/tricore: CMakeallow fixuser additiondefined of HTS221 and LSM6DSL sensorscompiler path * [#17391#17073](https://github.com/apache/nuttx/pull/1739117073) boards/arm/stm32f4/stm32f429i-disco: Add NX boot logo splash screenarch/tricore: allow Make to gen .srec and .hex for tasking compiler * [#17320#17062](https://github.com/apache/nuttx/pull/1732017062) boardsarch/nucleo-h743zi: register TMPFStricore: align Makefile with Cmake for tasking linker script preprocessing * [#17035#16964](https://github.com/apache/nuttx/pull/1703516964) boardsarch/risc-vtricore: add support for init script on ESP32-C3|C6|H2fix tricore_doirq function local var "regs" not initialized issue * [#17334#17413](https://github.com/apache/nuttx/pull/1733417413) boards/risc-v/esp32c3arch/tricore: removefix CXXbuild initializationerrors fromin BLEtricore defconfigarchitecture * [#17021#16998](https://github.com/apache/nuttx/pull/1702116998) boards/risc-v/esp32c6arch/tricore: Addfix supporttasking forcompiler the OA-TC6 10BASE-T1x MAC-PHYslinking error * [#17059#17078](https://github.com/apache/nuttx/pull/1705917078) boards/risc-v/esp32[c3|h2]/<board>: Unset `-Werror` flag by defaultarch/tricore: fix tricore arch build error * [#17064#17118](https://github.com/apache/nuttx/pull/1706417118) boards/risc-v/esp32[c3|c6|h2]: Fix GPIO function used by the buttonarch/tricore: fix tricore context switch bug introduced by PR17060 * [#17285#17191](https://github.com/apache/nuttx/pull/1728517191) boards/risc-v/esp32s3_lan9250.carch/tricore: fix some unused variable build warningplace nxsched_switch_context() at the correct location * [#17015#16986](https://github.com/apache/nuttx/pull/1701516986) boards/weact-stm32h750 * [#17319](https://github.com/apache/nuttx/pull/17319) boards/x86_64/intel64/qemu-intel64: register TMPFSarch/tricore: remove duplicated local variable in tricore_doirq() * [#17131#16981](https://github.com/apache/nuttx/pull/1713116981) boards/x86_64/qemu-intel64: increase stack size for ostestarch/tricore: remove redundant and misleading pointer usage in tricore_doirq() * [#17001#17275](https://github.com/apache/nuttx/pull/1700117275) boardsarch/xtensatricore: fixremove themagic issuenumber ofin undefinedtc3xx symboluart reference errorsconfig * [#17227#17025](https://github.com/apache/nuttx/pull/1722717025) boardsarch/xtensatricore: optimizeremove linkermagic scriptnumber IRAM section in tricore_checkstack.c * [#17401#17079](https://github.com/apache/nuttx/pull/1740117079) boardsarch/xtensa/esp32s3: Fix esp32s3-devkitc:knshtricore: remove tasking compiler tool specific code from common Cmake scripts * [#17262#17327](https://github.com/apache/nuttx/pull/1726217327) boardsarch/xtensatricore/esp32s3tc397: IncreaseAdd LCDUART PWMport frequencypin toconfiguration reduce LCD flicker for TC397 |
X86_64
| Markdown |
|---|
* [#17148#17383](https://github.com/apache/nuttx/pull/1714817383) boards/xtensa/esp32s3arch/x86_64: Refactorfix ES8311bootup initializationproblem in SMP |
XTENSA
| Markdown |
|---|
to use I2C handle * [#17050#17207](https://github.com/apache/nuttx/pull/1705017207) boardsarch/xtensa/esp32s3-lckfb-szpi: Remove obsolete device function prototypes |
File System
| Markdown |
|---|
add non-iram interrupt support for ESP32-S2 * [#17128#16975](https://github.com/apache/nuttx/pull/1712816975) fs/mmap/fs_mmap.c: add missing NULL pointerarch/xtensa: update E-Fuse driver on ESP32|S2|S3 * [#17126#17195](https://github.com/apache/nuttx/pull/1712617195) fs/mmap/fs_mmap.carch/xtensa: fixupdate errnoMCUBoot whenand fdvirtual is not validE-Fuse offset * [#17125#17008](https://github.com/apache/nuttx/pull/1712517008) fs/mmap/fs_mmap.c: MAP_PRIVATE or MAP_SHARED must be specifiedarch/xtensa: refactor Wi-Fi driver for ESP32|S2|S3 * [#17127#17241](https://github.com/apache/nuttx/pull/1712717241) fsarch/mmap/fs_msync.c: don't flush changes if MAP_PRIVATExtensa/esp32: Fix support for hardware accelerated AES * [#17124#17235](https://github.com/apache/nuttx/pull/1712417235) fsarch/mmap/fs_munmap.c: return error if len is 0xtensa/esp32[-|-s3]: Fix exception issue when pm active * [#17233#17140](https://github.com/apache/nuttx/pull/1723317140) fs/fat: Ignore //... sequences in the file patharch/xtensa/esp32[-s2|-s3]: Add ulp riscv coprocessor support * [#17348#17236](https://github.com/apache/nuttx/pull/1734817236) fs/fatarch/xtensa/esp32[-s2|-s3]: IgnoreModify multiplethe consecutivemethod slashesof indownloading longthe file namesrepository * [#17264#17414](https://github.com/apache/nuttx/pull/1726417414) vfs/fs_stat: set st_size on EEPROM character drivers |
Networking
...
Security Issues Fixed In This Release
Compatibility Concerns
| Markdown |
|---|
* [#17244arch/xtensa/esp32[-s2|-s3]: Refactor PM support * [#17237](https://github.com/apache/nuttx/pull/1724417237) [!] sched/event: removed event_tickwait_wait() and added TSTATE_WAIT_EVENT arch/xtensa/esp32[-s3]: Add ULP RISCV coprocessor wakeup * [#17339#17202](https://github.com/apache/nuttx/pull/1733917202) ! driver/timersarch/xtensa/esp32s3: Removeexpose oneshotUART callback,RX args and tick-based API. [ClockDevice Part III] |
Unsorted
| Markdown |
|---|
FIFO controls * [#17396#17156](https://github.com/apache/nuttx/pull/1739617156) .editorconfigarch/xtensa/esp32s3: fix FSM check characterto encodingavoid propertyPM specificationdeadlocks * [#17325#17419](https://github.com/apache/nuttx/pull/1732517419) Add GHS Compiler support for Arm v8rarch/xtensa/espressif: fix capture driver missing 'getedges' * [#17161#17166](https://github.com/apache/nuttx/pull/17161) Add MSS CAN driver17166) arch/xtensa/espressif: Fix efuse build warning for MPFSesp32 * [#17218#17115](https://github.com/apache/nuttx/pull/1721817115) Add multiple bin support for esp32[-s2|-s3|-c6] arch/xtensa/espressif: fix Wi-Fi netpkt copy error * [#17150#17049](https://github.com/apache/nuttx/pull/1715017049) add userled support toarch/xtensa/espressif: temperature: Fix incorrect pointer casting |
Driver Support
New Drivers
| Markdown |
|---|
* [#17331]( freedom-k64f * [#17058](https://github.com/apache/nuttx/pull/1705817331) arm/rp2040driver: CMakeAT25EE build for Raspberry Pi RP2040 implementedmulti-device support * [#17296#17182](https://github.com/apache/nuttx/pull/1729617182) arm64drivers/1Wire: addDS2XXX demodriver for gdbstubvarious Maxim/Analog devices memories * [#17245#16936](https://github.com/apache/nuttx/pull/1724516936) bcm2711drivers/sdionet: SupportAdd fornetwork EMMCdriver interfacesfor on10BASE-T1x theSPI BCM2711MAC-PHYs * [#17122#17363](https://github.com/apache/nuttx/pull/1712217363) binfmtdrivers/sensors: Add aQST configurationQMI8658 flag6-axis toIMU sensor driver |
Drivers With Improvements
| Markdown |
|---|
store the module filename * [#17010#17278](https://github.com/apache/nuttx/pull/1701017278) cdcacmdrivers/can: EnableFix usingbuffer theoverrun deviceand pointer stored in filesystem for cdcam_uninitializeread failures * [#17032#17360](https://github.com/apache/nuttx/pull/1703217360) cmakedrivers/stm32h7can: Add LTDC support to CMakeLists.txtmessage alignment for read and write operations * [#16966#17136](https://github.com/apache/nuttx/pull/1696617136) codespellrcdrivers/can/ctucanfd_pci.c: addrefactor ans to ignoreuse wordsnetdev_uperhalf * [#17257#17135](https://github.com/apache/nuttx/pull/1725717135) espressifdrivers/can/kvaser_pci.c: updaterefactor SPIto Flash driver use netdev_upperhalf * [#17336#17344](https://github.com/apache/nuttx/pull/1733617344) Feature/arduino r4 minima timerdrivers/eeprom: Set the bus frequency * [#17317#17175](https://github.com/apache/nuttx/pull/1731717175) fiqdrivers/mtd/CMakeLists.txt: fixAligned someCmake FIQ config in arm64/armv7-r/armv8-rwith Make * [#16976#17388](https://github.com/apache/nuttx/pull/1697617388) fix missing gnu-elf.ld cp when generating exportdrivers/mtd/w25: support custom SPI transfers delay * [#17407#16999](https://github.com/apache/nuttx/pull/1740716999) Fix newlib multiple definition compiling errorsdrivers/net/mdio: add mdio bus * [#17152#17378](https://github.com/apache/nuttx/pull/1715217378) freedom-k64f map and configure spi 0 driverdrivers/pci: qemu_edu: fix arm32 build warning * [#16928#17341](https://github.com/apache/nuttx/pull/1692817341) In multicore system, We add a busywait flag to synchronize the startup of other cores.drivers/sensors: Fix Kconfig * [#17409#17392](https://github.com/apache/nuttx/pull/1740917392) inttype.hdrivers/sensors: add PRIuTM(time_t) to handle TIME64 & TIME32 print compatibleimprovements for Kconfig * [#17347#17076](https://github.com/apache/nuttx/pull/1734717076) Imx9 enable lpspi pcs manual controldrivers/sensors/ms56xx: Replace custom curtime with standard function * [#17037#17267](https://github.com/apache/nuttx/pull/1703717267) imx9/imx9_usbdev.c: Fix interrupt handling in SMP modedrivers/syslog: Add early_syslog() for early boot or system down debugging * [#17261#16982](https://github.com/apache/nuttx/pull/1726116982) imxrtdrivers/syslog: make DTCM heap size configurable let syslog_write() return the maximum bytes writen through a channel * [#17041#17316](https://github.com/apache/nuttx/pull/1704117316) include/nuttx/spi/spi_bitbang: Fix incompatible pointer type issue * [#17000drivers/timers: Introduce clockcount, the time conversion API. [ClockDevice Part II] * [#17345](https://github.com/apache/nuttx/pull/1700017345) Kconfig: add stack-protector level optionsdrivers/timers: Re-implemented timer drivers with the count-based oneshot API [ClockDevice Part V] * [#16992#17221](https://github.com/apache/nuttx/pull/1699217221) mtd/nvsdrivers/timers/arch_alarm: SaveRevert eventsremoval if not waitedof ndelay_accurate * [#16972#17178](https://github.com/apache/nuttx/pull/1697217178) mtddrivers/nvsusbdev: TriggerAligned `POLLPRI`Cmake onwith config changeMake * [#17306#17180](https://github.com/apache/nuttx/pull/1730617180) net_bufpool.c:when the timeout value is zero, it should not interrupt the network lock drivers/usbhost: Aligned Cmake with Make * [#17284#17247](https://github.com/apache/nuttx/pull/1728417247) netdbdrivers/libusbhost_dnsdelserver.chub: Add support deleteto theMultiple DNSTT server address by index or addressHS HUB * [#17103#17181](https://github.com/apache/nuttx/pull/1710317181) nuttxdrivers/listusbmisc: Aligned Cmake Add `list_for_every_entry_from()`with Make * [#17077#17174](https://github.com/apache/nuttx/pull/1707717174) nuttx/listdrivers/wireless/ieee80211/bcm43xxx/CMakeLists.txt: Add `list_prepare_entry()` * [#17309Aligned Cmake with Make * [#17177](https://github.com/apache/nuttx/pull/1730917177) nuttxdrivers/wireless/mtdbluetooth: AddAligned MTDIOC_RESETCmake command and implementation for imx9 FlexSPI NOR flash with Make |
Board Support
New Boards
| Markdown |
|---|
* [#17201#17298](https://github.com/apache/nuttx/pull/1720117298) nxgdbboards/arm/stm32h7: fixadd remote-registerArduino regularPortenta H7 |
Boards With Improvements
| Markdown |
|---|
expression match * [#17294#17281](https://github.com/apache/nuttx/pull/1729417281) raspberrypi-4bboards/graphicsarm: Addremove custom frameMCUBoot bufferversion graphicsfrom supportdefconfigs * [#17185#16991](https://github.com/apache/nuttx/pull/17185) Remove references to non-existent readme.txt files16991) boards/a2g-tc397-5v-tft: Enable events by default in the a2g-tc397-5v-tft defconfig * [#17057#16989](https://github.com/apache/nuttx/pull/1705716989) risc-v/espressifboards/arm/imxrt: RemoveCMake duplicated Kconfig entry ESPRESSIF_<chip>added teensy-4.x board * [#17100#17314](https://github.com/apache/nuttx/pull/1710017314) risc-vboards/espressifarm/i2ckinetis: Update common source code functionsCMake added NXP Freedom-K28F and Freedom-K66F boards * [#17145#17328](https://github.com/apache/nuttx/pull/1714517328) risc-vboards/espressifarm/gpiokinetis: Update common source code functionsCMake added NXP TWR-K60N512 and TWR-K64F120M boards * [#17134#17329](https://github.com/apache/nuttx/pull/1713417329) risc-vboards/espressifarm/mcpwm: Update common source code functionskinetis: CMake added NXP KWIKSTIK-K40 and PJRC Teensy 3.x boards * [#17137#17297](https://github.com/apache/nuttx/pull/1713717297) risc-v/espressif/pcnt: Update common source code functionsboards/arm/qemu/qemu-armv7a: add demo for gdbstub * [#17068#17224](https://github.com/apache/nuttx/pull/1706817224) risc-vboards/espressifarm/rmt: Update common source code functionsrp2040: allow flash write operation on rp2040 in SMP mode * [#17143#17033](https://github.com/apache/nuttx/pull/1714317033) risc-vboards/espressifarm/sharp2040: Update common source code functionsimplement "board_boot_image" for bootloader support * [#17219#17112](https://github.com/apache/nuttx/pull/1721917112) risc-vboards/espressifarm/spirp2040: UpdateCMake commonadded sourceAdafruit code functionsboards * [#17047#17142](https://github.com/apache/nuttx/pull/1704717142) risc-vboards/espressifarm/timersrp2040: CMake added UpdateRaspberry commonPi sourcePico codeW functionsboard * [#17067#17114](https://github.com/apache/nuttx/pull/1706717114) risc-vboards/espressifarm/twairp2040: Update common source code functionsCMake added Seeed, WIZnet and Waveshare boards * [#17070#17138](https://github.com/apache/nuttx/pull/1707017138) risc-vboards/espressifarm/uartrp2040: Update common source code functions CMake added Waveshare RP2040-LCD-1.28 board and Improvements in rp2040_boot_stage2.cmake * [#17226#17099](https://github.com/apache/nuttx/pull/1722617099) risc-v/rp23xx-rvboards/arm/rp2040: CMake buildadded forpimoroni-tiny2040 Raspberryboard Piand RP23xxImprovements RISC-V implementedin rp2040_boot_stage2.cmake * [#17208#17160](https://github.com/apache/nuttx/pull/1720817160) SAMV7: sam_has_revb_periphsboards/arm/rp23xx: CMake added Pimoroni Pico Plus 2 board * [#17019#17154](https://github.com/apache/nuttx/pull/17019) Select ARCH_HAVE_ELF_EXECUTABLE for imx9 and mpfs17154) boards/arm/rp23xx: CMake added Seeed Studio XIAO RP2350 board * [#17193#17168](https://github.com/apache/nuttx/pull/1719317168) stm32/stm32_usbdev.c: include arch/board/boards/arm/rp23xx/pimoroni-pico-2-plus: added ‘rp23xx_spisd.h’ in board.h * [#17356#17163](https://github.com/apache/nuttx/pull/1735617163) stm32f746g-disco: fix lvgldemo failedboards/arm/rp23xx/pimoroni-pico-2-plus: Corrected all defconfig files * [#17205#17155](https://github.com/apache/nuttx/pull/1720517155) style/FAR: remove FAR qualifierboards/arm/rp23xx/pimoroni-pico-2-plus: fix 'BOARD_HSTX_FREQ' undeclared * [#17290#17164](https://github.com/apache/nuttx/pull/1729017164) The implementation logic of "pl011_irq_tx_ready" and "pl011_txready" is reversed.boards/arm/rp23xx/pimoroni-pico-2-plus: fix linker scripts 100% RAM usage * [#17338#17167](https://github.com/apache/nuttx/pull/1733817167) timers/oneshotboards/arm/rp23xx/pimoroni-pico-2-plus: Introducefix count-basedimplicit oneshotdeclaration API.of [ClockDevice Part IV]function 'board_spisd_initialize' * [#17186#17169](https://github.com/apache/nuttx/pull/1718617169) video/fb: add FBIOGET_PANINFOCNT ioctlboards/arm/rp23xx/xiao-rp2350: fix linker scripts 100% RAM usage * [#17382#17022](https://github.com/apache/nuttx/pull/1738217022) xtensa/esp32boards/arm/samv7/samv71-xult: Add support for hardware accelerated HMAC-SHAthe 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
...