Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

Security Issues Fixed In This Release

Compatibility Concerns

Markdown
* [#17244#17396](https://github.com/apache/nuttx/pull/1724417396) [!] sched/event.editorconfig: removed event_tickwait_wait() and added TSTATE_WAIT_EVENT

fix character encoding property specification
* [#17339#17325](https://github.com/apache/nuttx/pull/1733917325) ! driver/timers: Remove oneshot callback, args and tick-based API. [ClockDevice Part III]

Unsorted

Markdown
* [#17396Add GHS Compiler support for Arm v8r
* [#17161](https://github.com/apache/nuttx/pull/1739617161) .editorconfig:Add fixMSS characterCAN encodingdriver propertyfor specificationMPFS
* [#17325#17218](https://github.com/apache/nuttx/pull/1732517218) 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 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

...