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 |
---|
* [#10770](https://github.com/apache/nuttx/pull/10770) drivers: add regmap subsystems support.
* [#10902](https://github.com/apache/nuttx/pull/10902) motor: Add stepper interface
* [#11253](https://github.com/apache/nuttx/pull/11253) mtd: Adds support to W25Q20CL memory.
* [#11149](https://github.com/apache/nuttx/pull/11149) mtd: mx25rxx: add support for MX25L25673G chip
* [#11422](https://github.com/apache/nuttx/pull/11422) net: ksz9477: Add simple port-based static VLAN configuration
* [#11339](https://github.com/apache/nuttx/pull/11339) net: lan9250: Add LAN9250 driver(SPI and QSPI mode)
* [#11280](https://github.com/apache/nuttx/pull/11280) sensors: Add support for MS5607
* [#10864](https://github.com/apache/nuttx/pull/10864) sensors: max31865:RTD-to-Digital Converter
* [#10914](https://github.com/apache/nuttx/pull/10914) stepper: add DRV8825
* [#11228](https://github.com/apache/nuttx/pull/11228) tee: add optee client driver module |
Drivers
...
Improvements
Markdown |
---|
* [#11071](https://github.com/apache/nuttx/pull/11071) Kconfigs: rename {Rpmsg|rpmsg} to RPMGS
* [#11061](https://github.com/apache/nuttx/pull/11061) can: Add new ioctls
* [#10845](https://github.com/apache/nuttx/pull/10845) foc: foc_dummy.c: update dummy device state only if dev opened
* [#11176](https://github.com/apache/nuttx/pull/11176) foc: return scaling factor for phase currents and BEMF via ioctl
* [#10808](https://github.com/apache/nuttx/pull/10808) ioexpander: Minor fix for ioexpander driver
* [#11147](https://github.com/apache/nuttx/pull/11147) lcd: add stride support for LCD driver
* [#11185](https://github.com/apache/nuttx/pull/11185) lcd: change lcd stride from pixel to bytes
* [#10926](https://github.com/apache/nuttx/pull/10926) math: mpi: add mpi driver in math
* [#11240](https://github.com/apache/nuttx/pull/11240) misc: Rpmsgblk function optimization
* [#11220](https://github.com/apache/nuttx/pull/11220) mmcsd: mmcsd_sdinitialize should save csd register into priv->csd
* [#10909](https://github.com/apache/nuttx/pull/10909) mtd: filemtd:Fix teardown return error number EINVAL
* [#11041](https://github.com/apache/nuttx/pull/11041) mtd: get mtd_geometry_s.model for mtd partition and optimize code
* [#11187](https://github.com/apache/nuttx/pull/11187) mtd: s25fl1: fix compile warnings caused by incorrect variable print format
* [#11370](https://github.com/apache/nuttx/pull/11370) mtd: w25q: add nxsig_usleep to busy waiting in w25qxxxjv_erase_sector()
* [#11391](https://github.com/apache/nuttx/pull/11391) net: qemu/wifi: Add the virtual wifi function on the emulator.
* [#11216](https://github.com/apache/nuttx/pull/11216) net: skeleton.c doesn't compile without this patch if ioctls are enabled
* [#10907](https://github.com/apache/nuttx/pull/10907) note: Change 0/1 to false/true
* [#11153](https://github.com/apache/nuttx/pull/11153) note: delete sched_note_flatten
* [#10840](https://github.com/apache/nuttx/pull/10840) note: optimize note performance
* [#10920](https://github.com/apache/nuttx/pull/10920) note: remove remaining event code
* [#11074](https://github.com/apache/nuttx/pull/11074) power: pm: use pm_staytimeout() in greedy_governor_activity()
* [#11132](https://github.com/apache/nuttx/pull/11132) rptun: check the status before stop remote proc
* [#11222](https://github.com/apache/nuttx/pull/11222) rtc: RTC driver improvement
* [#10831](https://github.com/apache/nuttx/pull/10831) rtt: make RTT console optional
* [#11296](https://github.com/apache/nuttx/pull/11296) segger: rtt: correct macro name to avoid unable to change default mode
* [#11419](https://github.com/apache/nuttx/pull/11419) sensors: mx56xx: Add support for second order compensation
* [#11426](https://github.com/apache/nuttx/pull/11426) sensors: mx56xx: Fix threshold and calculation
* [#11178](https://github.com/apache/nuttx/pull/11178) serial: uart_tcsendbreak: Remove cancel point, as tcsendbreak is not one
* [#11402](https://github.com/apache/nuttx/pull/11402) syslog: ramlog: improve ramlog performance
* [#11392](https://github.com/apache/nuttx/pull/11392) syslog: ramlog: multi readers
* [#10890](https://github.com/apache/nuttx/pull/10890) syslog: ramlog: remove sched_[un]lock and rl_nwaiters
* [#11186](https://github.com/apache/nuttx/pull/11186) timers: Rewrite adjtime() implementation to work for RTC and tickless kernel
* [#11356](https://github.com/apache/nuttx/pull/11356) usbdev: Add callback for CONFIG_USBDEV_SOFINTERRUPT
* [#11042](https://github.com/apache/nuttx/pull/11042) usbdev: config USBDEV_TRACE_INITIALIDSET when disbale USBDEV_TRACE
* [#11161](https://github.com/apache/nuttx/pull/11161) usbdev: Solve some problems of USB hotplug
* [#10985](https://github.com/apache/nuttx/pull/10985) usrsock: Make the field of usrsock_request native alignment
* [#11103](https://github.com/apache/nuttx/pull/11103) usrsock: rpmsg_server: Keep msg order in recursive call
* [#11107](https://github.com/apache/nuttx/pull/11107) usrsock: socket fallback with ENETDOWN
* [#10874](https://github.com/apache/nuttx/pull/10874) video: fb: Add fb_register_device
* [#10812](https://github.com/apache/nuttx/pull/10812) video: goldfish: Remove the vsync residual code
* [#11380](https://github.com/apache/nuttx/pull/11380) video: goldfish: optimize goldfish fb register
* [#11249](https://github.com/apache/nuttx/pull/11249) video: video.c: modify set_buf call seqence in start_capture function.
* [#11224](https://github.com/apache/nuttx/pull/11224) video: wait when the vsync queue is full in FBIO_WAITFORVSYNC
* [#11382](https://github.com/apache/nuttx/pull/11382) virtio: Support for setting MAC addresses of the virtio-net interfaces
* [#11385](https://github.com/apache/nuttx/pull/11385) virtio: virtio-gpu: convert virito-gpu fb_register to virtio_gpu_fb_register
* [#11201](https://github.com/apache/nuttx/pull/11201) virtio: Virtio Qemu 8.1.2 issues fix
* [#11013](https://github.com/apache/nuttx/pull/11013) wireless: bluetooth: Add option to set the HCI TX thread affinity while running with SMP enabled
* [#11072](https://github.com/apache/nuttx/pull/11072) wireless: bluetooth: rpmsg depends on RPTUN
|
Board Support
...
New Board Support
Boards With Significant Improvements
File System
Bug Fixes
Significant Improvements
...
Improvements
Markdown |
---|
arm
* [#10813#10987](https://github.com/apache/nuttx/pull/10813) Add CONFIG_NET_ICMPv6_ROUTER_LIFETIME10987) gd32f4: add gd32f470i board support
* [#10893#11094](https://github.com/apache/nuttx/pull/1089311094) allowstm32: icmpv6add and udpsupport to find the dev by the ifindex with s_boundto.LINUM-STM32H753BI board
* [#10916#10990](https://github.com/apache/nuttx/pull/1091610990) stm32: add Fixsupport RNDISto compilationSTM32F401RC-RS485 errorboard
* [#10819#11358](https://github.com/apache/nuttx/pull/1081911358) localstm32h7: Fix the problem that local udp socketpair cannot release fifo files.linum-stm32h753bi: Add modbus example using usart6
* [#11443#11276](https://github.com/apache/nuttx/pull/1144311276) localseeed-xiao-rp2040: makeAdd theinitial call return of each process consistent with linuxboard support
xtensa
* [#11015#10976](https://github.com/apache/nuttx/pull/1101510976) local: Support SO_SNDBUF option in getsockopt
Add ESP32-2432S028 board
* [#11289#10928](https://github.com/apache/nuttx/pull/1128910928) loopbackesp32s3-box: FixSupport flagshardware of lo deviceversion 3
risc-v
* [#11324#11379](https://github.com/apache/nuttx/pull/1132411379) icmpv6:OptimizeInitial thesupport processfor of obtaining the IPv6 address through RA.CanMV-k230 board
* [#11010#11377](https://github.com/apache/nuttx/pull/1101011377) icmpv6:Add Fixsupport netfor maskPINE64 logicOx64 inBL808 icmpv6_setaddresses
SBC
|
Board Improvements
Markdown |
---|
* [#11197#11056](https://github.com/apache/nuttx/pull/1119711056) igmp:Modify call IFF_SET_IPv4 when igmp_sendtest "ramtest" path
* [#11384#11192](https://github.com/apache/nuttx/pull/1138411192) ipv6:remove obsolete CONFIG_EXAMPLES_FOC_IPHASE_ADC option
|
arm
Markdown |
---|
* [#11101](https://github.com/apache/nuttx/pull/11101) cxd56xx: Add cxd5610 gnss driver
Fix source address with many addresses in same network
* [#11378#11373](https://github.com/apache/nuttx/pull/1137811373) ipv6gd32f4xx: Movechange xxx_ipv6multicast from arch to common codegd32f470z board code
* [#10894#11193](https://github.com/apache/nuttx/pull/1089411193) netdbimx6: When set a dns nameserver which already exists, retrun OKFix sabre-6quad:libcxx
* [#11076#11310](https://github.com/apache/nuttx/pull/1107611310) netconfignrf52: Enable SOCK_CLOEXEC for ioctl socketsnrf52832-dk: add timer example
* [#11396#10835](https://github.com/apache/nuttx/pull/1139610835) netdevnrf52: Modify the logic for setting the IFF_RUNNING status of interfaces.remove CONFIG_ARMV7M_SYSTICK form tickless configs
* [#11110#11150](https://github.com/apache/nuttx/pull/1111011150) Simplifysama5: gettingAdd valueQSPI forsupport different domainSAMA5
* [#11054#11151](https://github.com/apache/nuttx/pull/11054) Support multiple IPv6 address per netdev11151) sama5: sama5d2-xult: add support for QSPI flash and nxffs
* [#11406#11117](https://github.com/apache/nuttx/pull/1140611117) tcpstm32: Recover from iob shortage with TCP_WRITE_BUFFERSb-g431b-esc1: don't use CONFIG_STM32_USE_LEGACY_PINMAP=y
* [#11126#11306](https://github.com/apache/nuttx/pull/1112611306) tcpstm32h7: Supportfix initial sequence number described in RFC 6528config conflict
* [#11009#11214](https://github.com/apache/nuttx/pull/1100911214) tunstm32h7: Fix the error of calling tun_close when tun_txavail or tun_txavail_work is executedlinum-stm32h753bi: Add support to RTC and alarm
* [#10986#11167](https://github.com/apache/nuttx/pull/1098611167) tunstm32h7: Fix the error of calling tun_close when tun_txavail or tun_txavail_work is executedlinum-stm32h753bi: Added suport to userlerds library.
* [#11372#11265](https://github.com/apache/nuttx/pull/1137211265) udp stm32f4: stm32f401rc-rs485: Add check when sending too big packet without IP fragsdcard support
* [#11210#11217](https://github.com/apache/nuttx/pull/1121011217) udp stm32f4: stm32f401rc-rs485: Add buttons support for SO_TIMESTAMP
* [#11120
* [#11169](https://github.com/apache/nuttx/pull/11169) stm32f4: stm32f401rc-rs485: add support to userleds
* [#11255](https://github.com/apache/nuttx/pull/11255) stm32f4: stm32f401rc-rs485: Fix f401rc flash size |
risc-v
Markdown |
---|
* [#10736](https://github.com/apache/nuttx/pull/1112010736) esp32c3: udppm: modify ipv4 multicast to allow different conn to join simultaneously
* [#10878](https://github.com/apache/nuttx/pull/10878) usersock: Return -ENOSUPP directly if domain isn't equal to PF_INET/PF_INET6 |
Security Issues Fixed In This Release
Compatibility Concerns
Changes to Build System
Renamed or Modified Kconfig Options
Known Problems In This Release
Let PM_PROCFS depend on FS_PROCFS_REGISTER
* [#11418](https://github.com/apache/nuttx/pull/11418) esp32c6: Add ostest defconfig
* [#11096](https://github.com/apache/nuttx/pull/11096) mpfs: Add option for board specific PMP configuration
* [#11262](https://github.com/apache/nuttx/pull/11262) qemu-rv: rv-virt/knsh: Set correct RAM_START and RAM_SIZE
* [#11397](https://github.com/apache/nuttx/pull/11397) qemu-rv: Virtio sound |
sim
Markdown |
---|
* [#10960](https://github.com/apache/nuttx/pull/10960) fix Cygwin/MSYS2 ld: unrecognized option '-z'
* [#11290](https://github.com/apache/nuttx/pull/11290) nxscope: remove CONFIG_ALLSYMS=y |
xtensa
Markdown |
---|
* [#11142](https://github.com/apache/nuttx/pull/11142) esp32: Add LVGL defconfig
* [#11229](https://github.com/apache/nuttx/pull/11229) esp32: Add support enconder to ESP32-2432S028
* [#10961](https://github.com/apache/nuttx/pull/10961) esp32: Add wifishare board config and documentation
* [#10996](https://github.com/apache/nuttx/pull/10996) esp32: Rename Shift game to Brickmatch and add an board example to esp32-devkitc
* [#11417](https://github.com/apache/nuttx/pull/11417) esp32<|s2|s3>_board_spiflash: Fix error message about SmartFS init
* [#11425](https://github.com/apache/nuttx/pull/11425) esp32s2: Increase init task stack size to 3072
* [#11156](https://github.com/apache/nuttx/pull/11156) esp32s3: Link stack checking function and data to SRAM when enable flash or PSRAM driver
* [#11342](https://github.com/apache/nuttx/pull/11342) esp32s3: add esp32s3-devkit:toywasm kconfig
* [#11295](https://github.com/apache/nuttx/pull/11295) esp32s3: Add rtc defconfig
* [#10885](https://github.com/apache/nuttx/pull/10885) ESP32S3-EYE: GPIO and button support
* [#10884](https://github.com/apache/nuttx/pull/10884) ESP32-S3-EYE: I2C, SPI and LCD support
* [#10883](https://github.com/apache/nuttx/pull/10883) ESP32-S3-EYE: Wifi |
File System
Improvements
Markdown |
---|
* [#10995](https://github.com/apache/nuttx/pull/10995) Change inode_checkflags to static function
* [#11445](https://github.com/apache/nuttx/pull/11445) Fix hostfs after uid/gid changes
* [#11433](https://github.com/apache/nuttx/pull/11433) fat: Fix number of data clusters usable for fat driver
* [#11196](https://github.com/apache/nuttx/pull/11196) fat: fix ubsan warning of shift-out-of-bounds
* [#10706](https://github.com/apache/nuttx/pull/10706) fs_epoll: several epoll problems fix
* [#11125](https://github.com/apache/nuttx/pull/11125) fs_files.c: make sure that fs_getfilep is not interrupted when holding mutex
* [#11349](https://github.com/apache/nuttx/pull/11349) fs_gettype:add zipfs magic
* [#11446](https://github.com/apache/nuttx/pull/11446) hostfs:fix structure layout inconsistency in hostfs
* [#11090](https://github.com/apache/nuttx/pull/11090) inode: Change inode_unlink to static function
* [#11188](https://github.com/apache/nuttx/pull/11188) inode: check file list before memcpy
* [#11140](https://github.com/apache/nuttx/pull/11140) inode: improve the performance of get file pointer
* [#11318](https://github.com/apache/nuttx/pull/11318) proc: Fix groupfd to get fd by group instead of current tcb
* [#11449](https://github.com/apache/nuttx/pull/11449) procfs add poll support
* [#11360](https://github.com/apache/nuttx/pull/11360) procfs/cpuinfo: Zero copylen in cpuinfo_read
* [#11039](https://github.com/apache/nuttx/pull/11039) rename: fix use after free issue about rename
* [#11451](https://github.com/apache/nuttx/pull/11451) smartfs: Add necessary aligned access in smartfs_rename()
* [#11248](https://github.com/apache/nuttx/pull/11248) spiffs: correct mutex lock cycle of spiffs
* [#10804](https://github.com/apache/nuttx/pull/10804) support zipfs,can mount zipfile
* [#11232](https://github.com/apache/nuttx/pull/11232) tmpfs: fix an integer overflow
* [#10880](https://github.com/apache/nuttx/pull/10880) vfs: add munmap logic to pseudofs
|
Networking
Improvements
Markdown |
---|
* [#10813](https://github.com/apache/nuttx/pull/10813) Add CONFIG_NET_ICMPv6_ROUTER_LIFETIME
* [#10893](https://github.com/apache/nuttx/pull/10893) allow icmpv6 and udp to find the dev by the ifindex with s_boundto.
* [#10916](https://github.com/apache/nuttx/pull/10916) Fix RNDIS compilation error
* [#10819](https://github.com/apache/nuttx/pull/10819) local: Fix the problem that local udp socketpair cannot release fifo files.
* [#11443](https://github.com/apache/nuttx/pull/11443) local: make the call return of each process consistent with linux
* [#11015](https://github.com/apache/nuttx/pull/11015) local: Support SO_SNDBUF option in getsockopt
* [#11289](https://github.com/apache/nuttx/pull/11289) loopback: Fix flags of lo device
* [#11324](https://github.com/apache/nuttx/pull/11324) icmpv6:Optimize the process of obtaining the IPv6 address through RA.
* [#11010](https://github.com/apache/nuttx/pull/11010) icmpv6: Fix net mask logic in icmpv6_setaddresses
* [#11197](https://github.com/apache/nuttx/pull/11197) igmp: call IFF_SET_IPv4 when igmp_send
* [#11384](https://github.com/apache/nuttx/pull/11384) ipv6: Fix source address with many addresses in same network
* [#11378](https://github.com/apache/nuttx/pull/11378) ipv6: Move xxx_ipv6multicast from arch to common code
* [#10894](https://github.com/apache/nuttx/pull/10894) netdb: When set a dns nameserver which already exists, retrun OK
* [#11076](https://github.com/apache/nuttx/pull/11076) netconfig: Enable SOCK_CLOEXEC for ioctl sockets
* [#11396](https://github.com/apache/nuttx/pull/11396) netdev: Modify the logic for setting the IFF_RUNNING status of interfaces.
* [#11110](https://github.com/apache/nuttx/pull/11110) Simplify getting value for different domain
* [#11054](https://github.com/apache/nuttx/pull/11054) Support multiple IPv6 address per netdev
* [#11406](https://github.com/apache/nuttx/pull/11406) tcp: Recover from iob shortage with TCP_WRITE_BUFFERS
* [#11126](https://github.com/apache/nuttx/pull/11126) tcp: Support initial sequence number described in RFC 6528
* [#11009](https://github.com/apache/nuttx/pull/11009) tun: Fix the error of calling tun_close when tun_txavail or tun_txavail_work is executed
* [#10986](https://github.com/apache/nuttx/pull/10986) tun: Fix the error of calling tun_close when tun_txavail or tun_txavail_work is executed
* [#11372](https://github.com/apache/nuttx/pull/11372) udp: Add check when sending too big packet without IP frag
* [#11210](https://github.com/apache/nuttx/pull/11210) udp: Add support for SO_TIMESTAMP
* [#11120](https://github.com/apache/nuttx/pull/11120) udp: modify ipv4 multicast to allow different conn to join simultaneously
* [#10878](https://github.com/apache/nuttx/pull/10878) usersock: Return -ENOSUPP directly if domain isn't equal to PF_INET/PF_INET6 |
Security Issues Fixed In This Release
Compatibility Concerns
Markdown |
---|
* [#10605](https://github.com/apache/nuttx/pull/10605) Implement ticket spinlock
A proposal to slove #1488
Implement ticket spinlock.
* [#10861](https://github.com/apache/nuttx/pull/10861) spinlock: Add spin_lock_init and spin_is_locked macro
align with Linux api naming.
* [#11102](https://github.com/apache/nuttx/pull/11102) sched: explicitly select the cpuload clock source configuration
Different configurations require different dependencies.
Explicitly select dependencies to avoid automatically selecting
inappropriate configurations.
* [#11334](https://github.com/apache/nuttx/pull/11334) stm32h7_adc: Dynamically set clock prescaler and BOOST
First commit is aligning naming and is a breaking change.
* [#10827](https://github.com/apache/nuttx/pull/10827) Improve adjtime() functionality
Prior pull request #9084 and issue #8858 added basic adjtime()
support for the SAMv7 platform.
This pull request adds support for STM32 platform.
In addition I have made a few changes to the adjtime() configuration
options:
1) Previously adjustments less than 1 microsecond per tick would be
completely ignored. Now they are applied over a shorter period at
a rate of 1 us per tick.
2) Previously CLOCK_ADJTIME_PERIOD was in units of 1/100th of second.
Change to milliseconds to be more generally useful unit.
Change setting name to CLOCK_ADJTIME_PERIOD_MS to make the unit change
easier to notice.
3) Previously CLOCK_ADJTIME_SLEWLIMIT was in percentage.
Most clock crystals have better accuracy than 1%, so the minimum slew
rate was excessive. Change to CLOCK_ADJTIME_SLEWLIMIT_PPM with setting
value in parts per million.
4) No need to use floating point math in clock_adjtime.c.
Impact
Users who have used CLOCK_ADJTIME_PERIOD and CLOCK_ADJTIME_SLEWLIMIT
settings should update their configuration. New CLOCK_ADJTIME_PERIOD_MS is
10x the old period value, and new CLOCK_ADJTIME_SLEWLIMIT_PPM is 10000 times
the old slewlimit. |
Known Problems In This Release
NuttX on Ox64: getprime + hello crashes
Markdown |
---|
NuttShell (NSH) NuttX-12.4.0
nsh> uname -a
NuttX 12.4.0 96c2707737 Jan 15 2024 10:35:29 risc-v ox64
nsh>
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 0 msec
nsh>
nsh> hello
riscv_exception: EXCEPTION: Store/AMO page fault. MCAUSE: 000000000000000f, EPC: 0000000050208fcc, MTVAL: 0000000080200000
riscv_exception: PANIC!!! Exception = 000000000000000f |
More Information
How to Download
...
The main "Single Source of Truth" repositories are hosted by the ASF:
These are synchronized with repositories hosted at GitHub:
...