You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

What's New In This Release

Major Changes to Core OS

sched

mm

libs

binfmt

others

Changes to the Build System

Improvements

  • #9993 Add PREBUILD definition
  • #10029 add prefix addr2line to parsememdump.py
  • #9627 Add script to parse callstack
  • #10576 build: Restore ARLOCK to improve compile speed in incremental case
  • #10597 checkpach supports python files
  • #9765 cmake: add initial support for nrf52:nrf53:nrf91
  • #10490 cmake: complete missing changes during cmake reforming
  • #10138 cmake: enable nxlib cmake build,fix build break
  • #10399 cmake: export_header support origin link and export install
  • #10409 cmake: support libm:newlib cmake build
  • #10213 cmake: fix add_user_library module archive issue
  • #9797 cmake: fix build after c33d1c9 (vfork -> fork)
  • #10421 cmake: fix invalid configs when export defconfig and .config
  • #9831 cmake: fix nrf91 modem static library build
  • #9785 cmake: fix NUTTX_COMMON_DIR definition
  • #10224 cmake: new feature on enhance apps header cmake module
  • #9881 cmake: port stm32f0l0g0
  • #10379 cmake: replace custom_patch_target with PATCH_COMMAND
  • #9783 cmake: some fixes for stm32 and support for stm32f7 and stm32h7
  • #10106 cmake: support armv7-r and tms570 chip
  • #9803 cmake: support pre-processor for linker script
  • #9819 cmake: win32: set default LINK_STACKSIZE to avoid stack overflow
  • #10492 kasan: add option to disable read:write checks
  • #10700 minidumpserver: don't stop while gdb client is stopping
  • #10720 minidumpserver: refactor codes
  • #10733 minudumpserver: support auto parse log file feature
  • #10756 minudumpserver: support auto start GDB and execute some commands
  • #10546 mkdeps: increase MAX_BUFFER:MAX_EXPAND:MAX_SHQUOTE to 16384
  • #10540 mkexport: copy full library directly if library without path
  • #9618 mkexport: Allow boards to supply custom gnu-elf.ld.
  • #10511 prasetrace: remvoe function name filter
  • #10774 parsememdump.py: support the sequence number parse
  • #10335 refresh.sh: Add option to refresh custom board
  • #10619 Remove archive lock file in make distclean
  • #10398 RFC: Add a toolchaine file for CMake in exported archive.
  • #10582 showstack: add configurable rank parameters
  • #10595 Support defconfig merge
  • #10277 support xtensa esp32s3 arm-a thumb to use log create gdbserver
  • #10699 Switch riscv GCC to 12.3
  • #10229 toolchain: detect use of large stack variables
  • #10763 Unix.mk:replace process substitution to pipe avoid out of order
  • #10689 use GCC 13.2 from xPack for risc-v

Architectural Support

New Architecture Support

  • #10646 arm: add Artery at32
  • #10558 arm: add Goldfosh arm32
  • #10378 arm: Add i.MX8MP platform (Cortex-M7)
  • #9796 arm: add support for STM32H745
  • #10092 arm: nrf52: Board port to Arduino Nano 33 BLE
  • #10186 arm: qemu: Supports qemu arm32
  • #10645 arm64: Add support for FriendlyElec NanoPi M4
  • #10193 arm64: Add support for PINE64 PinePhone Pro
  • #10656 arm64: Goldfish arm64
  • #10294 arm64: IMX8 platform (Cortex-A53) support
  • #10069 risc-v: Add support for StarFive JH7110 SoC

Architecture With Improvements

  • #10482 arch_alarm: change tick to g_current_tick

  • #10010 arch_memcpy: Optimize arch memcpy for armv7-m and armv8-m

  • #10553 fix led panic feature

  • #10268 hostfs: support SEEK_CUR

  • #10057 Interrupt nesting

  • #10795 Kconfig: Add prompt string to ARCH_CHIP_CUSTOM

  • #9837 Kconfig: Change some "default y" to "default !DEFAULT_SMALL"

  • #9906 move [enter|leave]_critical_section

  • #10334 nuttx: add -Wno-psabi to Toolchain.defs.

  • #10081 nuttx: support to obtain host cpuinfo in NSH.

  • #9763 nuttx: toolchain: Add macro _LDBL_EQ_DBL to nuttx:arm64:src:Toolchain.defs

  • #9866 perf: add ARCH_HAVE_PERF_EVENTS to support hardware perf events

  • #10648 remove FAR from source code under 32bit arch and board

  • #10145 timer: frequency 0 should not be set

  • #9959 update g_running_tasks when context switch occurred

  • #10250 arm: Avoid hard fault when reading vectors in text section.

  • #10139 arm: arm_backtrace_sp: check the addr after every operation to addr

  • #10156 arm: clang: enhance compatibility of clang compiler

  • #9957 arm: Change the default value to ARCH_TRUSTZONE_NONSECURE

  • #10773 arm: Enable FPU on qemu and goldfish platforms

  • #10771 arm: Fix onchip flash erase fail

  • #9641 arm: move -mthumb option back to ARCHCPUFLAGS

  • #10499 arm: oneshot: rm sched_[un]lock

  • #10632 arm: unwinder: fix unwind abort for uleb128 case

  • #9823 arm: vfork: modify struct vfork_s

  • #10568 arm: support reboot : poweroff for qemu virt arm

  • #10610 arm: psci: Fixed arm psci related compilation errors

  • #10254 arm: update secure handling to gic

  • #9809 arm: arm_gicv2: accesses the non-secure copy in non-secure state

  • #9907 arm: trustzone: update defconfig

  • #9944 arm: trustzone: time interrupt setting failed

  • #9960 arm: arm-m: Check the dcache status before enabling dcache

  • #10054 arm: arm-m: update memset function

  • #10276 arm: armv6: select ARCH_HAVE_CPUINFO by default

  • #10132 arm: armv6-m: add armv6-m cpuinfo

  • #10264 arm: armv6-m: cpuinfo: show cpufreq when hardware performance counting enabled

  • #10204 arm: armv7-a: Update the macro definition in gic.h

  • #10045 arm: armv7 updated

  • #9802 arm: armv{7/8}-m: Add Get Cache Information interface

  • #10536 arm: armv{7/8}-m: implement dcache clean as barrier in write-through mode

  • #10344 arm: armv{7/8}-m: mpu.h: add macro to configure shared memory region

  • #9699 arm: armv8-m: add support for ARMv8-M Security Extensions

  • #9804 arm: armv8-m: arm_hardfault: add arm_gen_nonsecurefault information

  • #9700 arm: armv8-m: arm_secure_irq.c: fix writing to the NVIC_AIRCR register

  • #9698 arm: armv8-m: nvic.h: add definition for NVIC non-secure registers offset

  • #10723 arm: armv8-m: strcpy: add arch optimize version

  • #10043 arm: armv8-m: support busfault forward to TEE

  • #10130 arm: armv8-m: the FPSCR[18:16] LTPSIZE field in exception_common

  • #9621 arm: cxd56xx: cxd56_dmac, lcd_dev: fix null pointer dereference

  • #9697 arm: cxd56xx: Fix bug when watchdog restart

  • #10721 arm: cxd56xx: Return error for RTC alarm setting before initialization

  • #10500 arm: cxd56xx: rm sched_[un]lock

  • #9495 arm: imxrt: add support for YT8512 phy

  • #9984 arm: imxrt: fix txdeadline add ecc:fd support

  • #10087 arm: imxrt: flexcan use hpwork for receiving frames

  • #10194 arm: imxrt: s32k: edma lpi2c : lpspi fixes

  • #10220 arm: imxrt: Serial Preserve all but W1C bit in SR

  • #10464 arm: imx8mp: Add GPIO support for i.MX8MP

  • #10450 arm: imx8mp: Add i2c support for the i.MX8MP

  • #10232 arm: kinetis: s32k1 s32k3 kinetis: add propseg to ctrl1 timing mask

  • #9749 arm: phy62xx: Remove unused phy6222_irq.h

  • #10125 arm: qemu: add devicetree support for arm:arm64

  • #10252 arm: qemu: Remove qemu_net.c which isn't needed anymore

  • #10628 arm: s32k3xx: emac use semi-unique MAC address

  • #10501 arm: sama5: sam_hsmci:rm sched_[un]lock

  • #10154 arm: sama5: MCAN Error corrections plus changes to improve clarity

  • #10688 arm: samv7: add phy bordinit functionality

  • #10716 arm: samv7: add support for 1 wire over UART:USART

  • #10527 arm: samv7: add support for SD card detection from CD:DAT3 line

  • #10429 arm: samv7: allow usage of QSPI in SPI mode for all MCUs

  • #9684 arm: samv7: fix minor issues with serial DMA

  • #10391 arm: samv7: pwm: add option to set channel polarity with IOCTL

  • #9711 arm: stm32: add rtc

  • #10360 arm: stm32: Fix bugs related to software flow control in file stm32_hciuart.c.

  • #9977 arm: stm32: Optimize stm32 RTC accuracy

  • #10065 arm: stm32: stm32f4:f7:h7_eth: Improvements in Ethernet DMA error handling.

  • #9649 arm: stm32: stm32f0l0g0: Fix gpio outputs from being configured as interrupts in stm32f0l0g0 gpio driver

  • #10328 arm: stm32: stm32h7: add CM4 core support

  • #10472 arm: stm32: stm32l4: fix argument of nxsem_wait_uninterruptible

  • #10189 arm: stm32: stm32h7: stm32h7x5: fixed typo on SPI header inclusion

  • #10222 arm: stm32: stm32h7: use correct name for bit 2 in STM32_PWR_CR3 register

  • #10207 arm: nrf52: Added config setting for NRF52 I2C timing bug workaround.

  • #10205 arm: nrf52: Changed NRF52 USB initialization to check for power via USBREGSTATUS

  • #10206 arm: nrf52: Fixed NRF52 I2C register naming.

  • #10208 arm: nrf52: Port recent changes in nrf52 to other Nordic chips

  • #10305 arm: nrf91: add missing include guards

  • #9895 arm: nrf91: fix for secure env only configurations

  • #9902 arm: nrf91: modem: fix returned source address

  • #9746 arm: nrf91: more work towards a usable port

  • #10788 arm: nrf{52|53}: pwm: fix compilation for MULTICHAN not set

  • #10741 arm: nrf{52|53|91}: fixes for serial driver

  • #10216 arm: nrf{52|53|91}: handle I2C errors in interrupt mode

  • #9973 arm64: add ARM64_DCACHE_DISABLE and ARM64_ICACHE_DISABLE config

  • #10148 arm64: add hostfs support

  • #9971 arm64: add kasan support for arm64

  • #10653 arm64: add mcpu option for all Cortex CPU

  • #9967 arm64: arm64_backtrace: use running_task if arch_get_current_tcb return NULL

  • #9949 arm64: default select ARCH_HAVE_SETJMP

  • #9646 arm64: Do not set cntfrq_el0 in qemu_boot.c

  • #9794 arm64: enable ARCH_FPU for qemu-armv8a:netnsh_smp and netnsh_smp_hv

  • #10142 arm64: enable for arm64 virt to choice CPU core

  • #10650 arm64: fix arm64_start_cpu

  • #10135 arm64: Fixed arm64 backtrace support for other processes

  • #10008 arm64: get_cpu_id according to the correct affinity level

  • #10266 arm64: gnu: Set arch_* optimizations to be on by default.

  • #10125 arm64: qemu: add devicetree support for arm64

  • #10297 arm64: remove unnecessary trace interface

  • #10131 arm64: save and restore fpu regs in jmp when ARCH_FPU enabled

  • #10694 arm64: select ARCH_HAVE_IRQTRIGGER for all arm64 chip

  • #9652 arm64: smp with kvm

  • #10701 arm64: support reboot : poweroff for qemu virt arm64

  • #10662 arm64: sync make file rules from arm

  • #9810 arm64: Use the correct aff in up_affinity_irq function

  • #9811 arm64: Use the correct cpu id for fpu idle task init

  • #10502 mips: pic32mx: sched_lock should replace with enter_critical_secion

  • #10346 risc-v: Allocate heap for default task stacksize

  • #9577 risc-v: fpu: Implement correct lazy-FPU functionality (attempt #2)

  • #10300 risc-v: esp32c3: wifi_ble: Use nxsem_trywait to take semphr from ISR

  • #10643 risc-v: esp32c6: fix compilation of esp32c6 serial driver

  • #10089 risc-v: espressif: Add MCUboot support for ESP32-C3

  • #9874 risc-v: espressif: Add PWM:LEDC support

  • #9633 risc-v: espressif: Add USB-Serial-JTAG driver

  • #9896 risc-v: espressif: get esp-hal-3rdparty sources based on its version

  • #9917 risc-v: espressif: update esp-hal-3rdparty and related issues

  • #10231 risc-v: espressif: Update esp-hal-3rdparty version

  • #9860 risc-v: hpm6750: keep cpu clock on after "wfi"

  • #10233 risc-v: litex: Add platform specific tickless implementation.

  • #10393 risc-v: litex: Add system reset and access to core control registers.

  • #10481 risc-v: litex: litex_sdio: Address race condition in eventwait.

  • #9871 risc-v: mpfs: Add configuration option to enable DDR manual a…

  • #10635 risc-v: mpfs: Add DMA buffer allocator for eMMC access

  • #10461 risc-v: mpfs: clear L2 before use

  • #10246 risc-v: mpfs: Ddr training fixes upstream

  • #10447 risc-v: mpfs: ddr fixes upstream

  • #9843 risc-v: mpfs: emmcsd: fix csd read

  • #10483 risc-v: mpfs: ethernet updates

  • #9657 risc-v: mpfs: Fix cache and scratchpad init

  • #10484 risc-v: mpfs: IHC bugfixes and perf enhancements

  • #10285 risc-v: mpfs: MPFS DDR training cleanups

  • #10341 risc-v: mpfs: mpfs_usb: fix tx fifo size setup

  • #10599 risc-v: mpfs: mpfs_i2c.c: Clean up using priv->status and STOP…

  • #10423 risc-v: mpfs: mpfs_i2c.c: Replace 1 second timeout with Time-on-Air based timeout

  • #9851 risc-v: mpfs: mpfs_ddr.c: Correct erroneous register addresses…

  • #9904 risc-v: mpfs: Set hart2 default entrypoint to -1 like the others

  • #10724 risc-v: riscv_pmp.c: fix broken TOR checks

  • #10451 risc-v: riscv_pmp.c: Improve NAPOT area validity checks

  • #10030 sim: add -Ttext-segment to load the image in the fixed address

  • #10141 sim: add set:get_power for sim_framebuffer.c

  • #10735 sim: add sim uart_ram support

  • #10494 sim: add up_irq_enbale function.

  • #10678 sim: alsa: add AUDIO_FMT_PCM query handler.

  • #10617 sim: audio: add 24K sample rate support

  • #9693 sim: audio: add AUDIOIOC_FLUSH ioctl

  • #10520 sim: audio: add media session support for sim_alsa audio_ops_s interface

  • #9689 sim: audio: driver add AUDIOIOC_GETLATENCY ioctl

  • #9680 sim: audio: register mixer device

  • #10600 sim: change Mac sim archive operate from replace to quick insertion

  • #10179 sim: crypto: compile mbedtls alternative implementation

  • #10583 sim: crypto: support MBEDTLS_MD5_ALT config

  • #10128 sim: Fix sim stack smashing problem

  • #10671 sim: fix text-segment not taking effect

  • #10505 sim: framebuffer: fix memory leak in XStringListToTextProperty

  • #10052 sim: framebuffer: Optimize the timing of window to open and to close

  • #10606 sim: Guard frame buffer related setting in SIM_X11FB

  • #9935 sim: hostfs: fix issue about access file with size more than 2GB

  • #10414 sim: internal: add typedef pid_t to enhance sim compatibility

  • #10679 sim: posix: Add the host_system interface

  • #10325 sim: posix: Add the host_system interface used to execute the host command

  • #9770 sim: posix_test: fix shm_open() return file descriptor associated with FD_CLOEXEC

  • #10181 sim: Remove unnecessary configurations

  • #9667 sim: Rename sim_video to sim_camera

  • #10137 sim: rptun support panit & reset and fix uinput_rpmsg bug

  • #10044 sim: set loop thread priority to configurable

  • #9859 sim: Support thread command by gdb python script

  • #10685 sim: sim_alsa: reset alsa pcm device when snd_pcm_avail < 0

  • #9676 sim: sim_alsa.c: add paused variable instead of snd_pcm_pause.

  • #10003 sim: sim_alsa.c: fix ioctl AUDIOIOC_GETBUFFERINFO error

  • #10781 sim: sim_rptun: unlink shm when quit

  • #10263 sim: sim_usbdev: add sim netdev config for rndis test

  • #10284 sim: simlulator rptun powerdown

  • #10489 sim: support configuring whether the master will automatically boot slave

  • #10551 sim: To avoid system calls being interrupted when use host api

  • #9899 sim: tcbinfo:add ebp to tcbinfo

  • #10351 sim: toywasm: disable example apps (hello, nettest)

  • #10185 sim: use correct size to avoid buffer overflow

  • #10067 sim: use workquene instead of sim_bthcisock_loop

  • #9869 sim: use workquene instead rptun_loop

  • #9950 sim: usbdev: fix return value issue

  • #10349 sim: vpnkit: disable binfmt debug

  • #9828 sparc: bm3823: bm3823.h: Fix the name of the constant BM3823_Is_interrupt_pending

  • #10311 xtensa: enable -Oz for xtensa to reduce codesize

  • #10251 xtensa: Update MCUboot build process

  • #9805 xtensa: xtensa_saveusercontext:Leave the context information empty

  • #9705 xtensa: esp32: change free to kmm_free as it was allocated via kmm_malloc

  • #9707 xtensa: esp32: common: RGB LED support

  • #10598 xtensa: esp32: RMT update

  • #6992 xtensa: esp32: WS2812 LED driver using ESP32's RMT peripheral

  • #10521 xtensa: esp32s3: Add support to TWAI:CANBus controller

  • #10491 xtensa: esp32s3: add UART RS485 support

  • #10467 xtensa: esp32s3: add UART2 support

  • #10015 xtensa: esp32s3: Enhance protected build linker scripts and memory layout to add support to protected build + Wi-Fi driver

  • #10637 xtensa: esp32s3: Fix octal lines mode SPIRAM blocking issue

  • #9658 xtensa: esp32s2: Fix UART1 default pins

  • #10465 xtensa: esp32s3: i2s: Add support for the I2S peripheral + Audio subsystem

  • #10200 xtensa: esp32s3: Implement ESP32-S3 BLE support with Wi-Fi coexistence

  • #10696 xtensa: esp32s3: LCD controller driver

  • #10625 xtensa: esp32s3: SPI support psram and flash timing tuning

Driver Support

New Driver Support

  • #10172 battery:add goldfish battery driver
  • #10249 crypto: Added NXP SE05x support (secure element)
  • #9204 devicetree:fdt: Add initial FDT support and procfs for userspace export
  • #10165 input:support mouse driver
  • #10056 ioexpander: add support for pcf8575 expander
  • #10435 ioexpander: add support for ISO1I813T expander
  • #10426 ioexpander: add support for ISO1H812G expander
  • #9629 ioexpander: add SX1509 support
  • #10532 ioexpander: mcp23008 Initial support
  • #9683 mtd: ramtron.c: add FM25V02A-DGQ
  • #10503 net: Add initial ksz9477 switch support
  • #9777 segger: Add SEGGER RTT serial:console support
  • #9916 sensors: add support for BME680
  • #10127 sensors: add force sensor
  • #10760 sensors: goldfish: add goldfish sensors driver
  • #10725 sensors: goldfish: add goldfish gps driver
  • #9954 sensors: gps: Implement the GPS driver framework
  • #10152 power: Regulator:add new features
  • #10167 reset: Add resest driver framework
  • #10001 timers: qemu: add qemu rtc driver.
  • #10171 video: add NuttX Goldfish-FB driver
  • #10118 video: add NuttX goldfish camera driver
  • #10195 virtio: add virtio input driver
  • #10498 virtio: rpmb: add virtio rpmb support
  • #10166 virtio: audio:add virtio snd driver
  • #10173 virtio: add VirtIO GPU driver
  • #9297 virtio: add virtio framework in NuttX

Drivers With Improvements

  • #9900 Revert "video: Don't need update vbuf_tail in dequeue_vbuf_unsafe
  • #10516 Revert "rpmsgfs: cache statfs result in case of deadlock"
  • #9887 Format pointer through "%p" for kthread_create
  • #9776 return sequential characters for :dev:ascii device
  • #9922 adc: add missing parameters in ADC_RXINT
  • #10512 alarm: modify the default precision of up_perf_gettime to ns
  • #10757 alt1250: Correspond to shutdown
  • #10281 audio: add format for AAC:MSBC:CVSD
  • #10400 audio: cxd56: Move cxd56 sources into arch:cxd56xx
  • #9912 audio: cxd56: Support 24bit, 192kHz and 4ch max
  • #9846 audio: low level reset must always succeed
  • #9838 audio: remove unnecessary switch in switch
  • #10428 battery: add FAR for battery_gauge_operations_s
  • #9800 battery: fix poll return type
  • #9953 bch: fix sector buffer invalidation issue
  • #10468 clk: Change CLK_SET_RATE_NO_REPARENT to CLK_MUX_SET_RATE_NO_REPARENT
  • #10746 clk: fix some issues when use rpmsg clk
  • #10495 clk: Minor clk improvement
  • #9920 clk: rpmsgclk: allow client to disable clk of server
  • #10076 clk: support using clk function at interrupt and idle #9938 noteram: multi-instance support
  • #10634 input: button: First press pwrkey is ineffective
  • #10533 input: button_upper.c:Modify log level
  • #10215 input: fix circbuf leak
  • #10163 input: Fix setting the number of keyboard driver buffers fails
  • #10133 input: Implement the debounce in button_upper.c
  • #10692 input: touchscreen: Bring up TSIOC_[SET|GET]CALIB macro
  • #9682 input: touchscreen: Translate raw X:Y data into pixel coordinates
  • #10147 input: rm sched_[un]lock
  • #10005 ioexpander: add option to register GPIO by name for IOexpander
  • #10083 ioexpander: define IOEXPANDER_OPTION_NONGENERIC option
  • #9694 leds: Modified rgb led pwm freq from 100 to 200
  • #9787 lcd: add area alignment ioctl for lcd driver
  • #10271 lcd: add ioctl passthrough for LCD driver
  • #10640 lcd: Adding Byte-Per-Pixel Memory model option to memlcd
  • #9830 lcd: st7789: add support for 3 wire interface
  • #10639 lcd: Fixing row_size calculation when bpp is equal 1 in lcd_dev driver
  • #10318 math: Cordic api modify
  • #10180 math: math api support FFT
  • #10504 mmcsd: Add RPMB ioctl
  • #10778 mmcsd: add get emmc cid register interface.
  • #10168 mmcsd: fix byte_block_count error in byte mode
  • #10440 mmcsd: fix regression causing emmcsd not working
  • #9937 mmcsd: mmcsd_sdio: config timout to write one data block
  • #10560 mmcsd: Rename mmc_rpmb_frame_s to rpmb_frame
  • #10732 mmcsd: support dump cid and csd with mmc-utils
  • #10672 mmcsd: update cid reg layout
  • #10269 misc: ftl: fix ftl_flush will read:erase beyond the end of the partition
  • #9822 misc: rpmsg: use workqueue for rpmsgdev poll notify
  • #9919 misc: Rpmsgblk: add support for mmc_ioc_cmd:mmc_multi_ioc_cmd ioctl
  • #10265 misc: rpmsgdev: add tun device ioctl support
  • #9825 misc: rpmsgblk: get return value from header
  • #10187 misc: rpmsgblk: fix build break if CONFIG_DISABLE_PSEUDOFS_OPERATIONS
  • #10175 misc: rpmsgdev: support single read:write mode device
  • #9930 misc: rwbuffer: using unify lock function for lock and unlock
  • #10738 modem: alt1250: Fix bug that errno was not converted correctly
  • #10737 modem: alt1250: Fix bug that modem version could not be taken
  • #10161 mtd: Add new functions part_isbad and part_markbad in mtd partition.
  • #10332 mtd: add dhara compatiblity layer
  • #10518 mtd: dhara: add dhara folder in gitignore
  • #9958 mtd: ftl: Modify erasure result processing error issue
  • #9931 mtd: ftl: support to skip bad block for earse:bread:bwrite
  • #9983 mtd: ftl: pass the number of eraseblock for ftl_get_cblock
  • #10095 mtd: mtd_config: add mtdconfig_register_by_path()
  • #10104 mtd: mtd_config: just query when data is null or len is zero
  • #10097 mtd: mtdconfig_fs: return -ENOENT when delete non-existed key
  • #9974 mtd: w25.c: enable support for W25QxxxJV NOR flash memories
  • #9772 net: Add wireless ops in upper-half driver
  • #9817 net: fix visual studio Compiler Error C2059
  • #9918 net: Make netdev_upperhalf work well with can
  • #9663 net: Remove HAVE_ATOMICS and use CONFIG_HAVE_ATOMICS directly
  • #10713 net: rpmsgdrv.c: Take netdev_register() return value into account
  • #10190 note: add maximum channel number check
  • #10272 note: add noteram crash dump
  • #10425 note: Add support for atrace mark:counter type
  • #10258 note: dump irq handler address to trace
  • #10506 note: fix sched_note declaration inconsistency
  • #10424 note: fix trace dump: dump failed
  • #10124 note: move the note formatting code from trace_dump into noteram_drivers.c
  • #10088 noteram: Remove the unnessary inclusion and declaration from header file
  • #10784 power: pm: check the domain in pm_querystate
  • #10585 power: pm: fix issue that system crash when passed invalid relpath value
  • #10049 power: pm: fix second time add wakelock dq caused error
  • #10601 power: pm: support pm runtime function
  • #10427 power: supply: Regulator: check the id when register
  • #10651 power: supply: regulator: Refine rpmsg regulator
  • #10745 power: supply: regulator: fix some issues about rpmsg regualtor
  • #10123 pipes: use circbuf to refine buffer model
  • #10330 pipes: fix busyloop issue when circbuf is full
  • #10270 pty: Support get and set local mode of pty
  • #9926 ramdisk: don't free memory for romdisk
  • #10691 rptun: add remote poweroff support
  • #10047 rptun: rptun update
  • #10182 rtt: add rtt syslog channel configuration
  • #9834 segger: Rename serial device from :dev:rttx to :dev:ttyRx
  • #9839 segger: Simplify serial driver configuration
  • #5882 sensors: Add coordinate conversion function
  • #10740 sensors: add suffix _uorb to all sensors that use the new sensor framework
  • #10457 sensors: APDS9922 - remove unnecessary spinlock, consolidate i2c read:write
  • #10544 sensors: BMI270 fix compilation if sensor works in SPI mode
  • #9994 sensors: bmi270.c: fix define BMI270_TEMPERATURE
  • #10497 sensors: fix race condition about sensor rpmsg
  • #10410 sensors: fix wrong depends on SN_XXX
  • #10396 sensors: Move SCU-specific sensors into spresense board
  • #10077 sensors: optimize bmi160 sensor adapt to uorb.
  • #10080 sensors: optimize bmp180 sensor adapt to uorb.
  • #10623 sensors: remove non-standard message from bream privat…
  • #10693 sensors: Remove the selection of UORB from Kconfig
  • #10542 sensors: Remove unnecessary heap allocation for bmi270
  • #10726 sensors: Solve the busy loop problem caused by sampling problems
  • #10259 sensors: update nbuffer to upper state
  • #10673 serial: Add ram uart driver
  • #10170 serial: filter out control character in pty echo
  • #10443 serial: fix error echo about VT100 escape sequence
  • #10442 serial: fix race condition about calling rxflowcontrol in mutli thread
  • #9799 serial: serial.c fix logic error
  • #9980 serial: Simplify the echo process
  • #10019 serial: uart_16550: Wait before setting Line Control Register (Synopsys DesignWare 8250)
  • #10262 serial: uart: h5: add bt h5 uart serial driver
  • #10727 spi: call bind and unbind when user open or close to save power
  • #10192 spi: slave: use POLLPRI to notify TX_COMPLETE.
  • #9759 spi: add support for qspi hwfeatures
  • #10782 spi: avoid calling QPOLL to change rx_length and cause data loss
  • #9921 spi: spi_slave: enhance spi_slave driver
  • #9781 syslog: add syslog channel filtering function
  • #9780 syslog: Fix syslog stack usage is too large
  • #10514 syslog: reset syslog buffer when syslog buffer include invalid character
  • #10048 syslog: syslog & ramlog update
  • #10261 syslog: syslog_rpmsg: update check method when do flush()
  • #9779 timers: add up_perf_init weak_function
  • #9968 timers: add CONFIG_WATCHDOG_PANIC_NOTIFIER for panic notifier
  • #10486 timers: pcf85263.c: Fix compilation
  • #10665 timers: timer_getoverrun: adjust the default errno from ENOSYS to EINVAL
  • #10485 usb: Add usb fs driver for userspace transfer
  • #10162 usb: Fixed memory leak for usb uninitialize process
  • #10011 Usb: Modify macro errors with COMPOSITE equipment.
  • #10085 usbdev: add adb boardctl
  • #10242 usbdev: clear configid after class disconnect
  • #10112 usbdev: composite: Use the correct USB dual-speed descriptor when enabling IAD
  • #10113 usbdev: composite: add COMPOSITE_DEVICES config for composite device
  • #10616 usbdev: Fix build error with BOARD_USBDEV_SERIALSTR
  • #10070 usbdev: fixed composite usbdev issue
  • #10068 usbdev: move usbdev_req function to common code
  • #10620 usbdev: mtp: support media transfer protocol (MTP) class driver
  • #10331 usbdev: rndis: Fixing erroneous macros
  • #10567 usbdev: support usb adb fastboot
  • #10525 usrsock: fix rpmsg_usrsock memory leak when stop remote
  • #9913 usbhost: fix usbhost_hidkbd some errors
  • #9852 usbhost: usb communication memory should use DRVR_ALLOC
  • #10174 usrsock: usrsock_server: coverity fix for access invalid index
  • #10460 usrsock: usrsock_server: fix coverity for recvfrom handle
  • #10609 usrsock: usrsock_rpmsg_server: Add net_lock to combine get_tx_payload and recvfrom in recvfrom_handler
  • #10596 usrsock: usrsock_rpmsg_server: Clear revents for POLLHUP and POLLERR
  • #10036 video: fb: add fboverlay pandisplay & display area ioctl
  • #10526 video: fb: add vsync queue mechanism
  • #10037 video: fb: fix that vtable.priv is not freed when fb register failed.
  • #10432 video: Fix an issue isx019 may freeze
  • #10023 video: fix if video node do not exist on host of sim env, video driver init fail
  • #9964 video: Fix returned errno in error cases
  • #9965 video: Initialize flags member of query control APIs
  • #10580 video: Modify the properties of the goldfish camera driver kthread_create
  • #9786 video: use kmm_free(buff) to free memory instead of realloc(b…
  • #10071 video: video driver supports NV12
  • #10682 video: vnc_updater: use [enter|leave]critical_section replace sched[un]lock
  • #10339 virtio: Add support to offload small IOBs
  • #10800 virtio: virtio-snd: add state sync for virtio snd device
  • #10715 wireless: bcm_driver: revert packed attribute for scan structure
  • #10710 wireless: bcm43xxx: Add handle type for disconnecting event
  • #10709 wireless: bcm43xxx: add Packet Traffic Arbitration Priority support
  • #10711 wireless: bcm43xxx: correct beacon loss behavior
  • #10712 wireless: bcm43xxx: parse channel from IE when ctl_ch is 0
  • #10783 wireless: bcm43xxx: revert part of the previous upstream code
  • #9668 wireless: gs2200m: add NET_TCP dependency to NFS_DONT_BIND_TCP_SOCKET option

Board Support

New Board Support

  • #10790 arm: nrf52: add initial support for thingy91 board (nrf9160 and nrf52840 chips)
  • #10217 arm: nrf52: arduino-nano-33ble-rev2:Add support for Arduino Nano 33 BLE Rev2 board
  • #10791 arm: nrf91: initial support for nrf9160-dk
  • #10385 arm: stm32f7: Meadow.OS integration - Part 1
  • #9853 arm: stm32u5: nucleo-u5a5zj-q: Initial support for NUCLEO-U5A5ZJ-Q board
  • #10631 arm: stm32f7: Add support to F7 Core Compute
  • #10392 arm: stm32f7: Add support to Common Boards to STM32F7 and ProjectLab board
  • #10094 risc-v: jh7110:star64: Add support for PINE64 Star64 JH7110 SBC
  • #10769 xtensa: esp32s3: Add ESP32-S3-BOX development board basic BSP

Boards With Improvements

  • #10074 add KEEP to (.init_array .init_array.)

  • #9671 boardctl: Add const to struct boardioc_symtab_s::symtab

  • #9659 Enable virtio-blk and FAT for virt configurations

  • #10342 Fix QEMU_VIRTIO_MMIO_NUM

  • #10382 init_array.* needs to be executed in order

  • #10227 update README for virtio gpu driver

  • #9856 use the example from NuttX-apps for all NimBLE configurations

  • #9660 arm: qemu-armv8a: Add defconfigs for hypervisor

  • #9713 arm: cxd56xx: alt1250: Change power on sequence

  • #10099 arm: cxd56xx: Disable NET_ARP from lte defconfig

  • #10389 arm: cxd56xx: Fix charger and gauge initialize functions

  • #10101 arm: cxd56xx: Fix duplicate make target

  • #9966 arm: cxd56xx: Fix issue that GPO is not iniitalized by watchdog

  • #9692 arm: cxd56xx: Fix system clock to HV mode for video drivers

  • #10407 arm: cxd56xx: lte: use mbedtls version configured

  • #10777 arm: sam34: arduino-due: Add activation of SPI0 on arduino due

  • #10718 arm: sam34: arduino-due: Use standard arm-none-eabi toolchain by default.

  • #10210 arm: stm32: stm32f429i-disco: enable CONFIG_BOARDCTL for ofloader

  • #9962 arm: stm32: stm32f429i-disco: support stm32f429i-disco run open flash loader

  • #10522 arm: stm32: stm32f411e-disco: Fixes f4 disco

  • #10524 arm: stm32: stm32f411e-disco: F411e disco buttons

  • #10006 arm: stm32: nucleo-f446re: SystemView example based on nucleo-f446re

  • #10753 arm: stm32l4: nucleo-l432kc: Fix I2C1 pinout.

  • #10109 arm: stm32f7: stm32f7-meadow: Add spiflash support

  • #9847 arm: stm32f7: stm32f777zit6-meadow: Add usbnsh board profile

  • #10750 arm: stm32h7: nucleo-h745zi: access CM4 core NSH over uart rpmsg

  • #10223 arm: stm32h7: nucleo-h743zi: HCLK and ACLK are delivered from SYSCLK not CPUCLK

  • #10198 arm: stm32h7: stm32h745i-disco: supported external SDRAM

  • #10196 arm: kinetis: freedom-k28f:nshsdusb: Remove CONFIG_NETDB_BUFSIZE

  • #10274 arm: nrf52: arduino-nano-33ble{-rev2}: use bool for leds state

  • #10412 arm: nrf52: nrf52840-dk: add lsm9ds1 sensor support

  • #10767 arm: nrf52: thingy52: use RTT console as default

  • #10304 arm: nrf53: fix broken rptun

  • #10789 arm: nrf53: thingy53: add rgbled and i2c tools support

  • #9873 arm: nrf91: nrf9160-dk: improvements for modem and support for modem sockets

  • #9639 arm: xmc4: Fixes for xmc4700-relax board

  • #10529 arm64: rk3399: pinephonepro: Add support for board reset.

  • #10574 qemu: get reg and irq from devicetree node rather than macro

  • #10345 risc-v: Add -melf64lriscv to 64bit USER_LDFLAGS:LDELFFLAGS

  • #10307 risc-v: bl602: Move c++ related setting from wifi to elf

  • #10444 sim: add defconfig for ltp openposix testsuite

  • #10115 sim: add wakaama example configuration

  • #9955 sim: remove unnecessary config EXAMPLES_SOTEST_DEVPATH

  • #10695 sim: Minor USB improvement

  • #10016 sim: enable SIM_WALLTIME_SIGNAL for citest

  • #10570 sim: crypto: Enable CONFIG_CRYPTO_SW_AES

  • #9801 arm: tiva: lm3s6432-s2e: Enable LTO for lm3s6432-s2e:nsh

  • #10530 xtensa: esp32: Add twai defconfigs to esp32

  • #9884 xtensa: esp32: esp32-devkitc: Refresh wifi_smp_rmt config

  • #9709 xtensa: esp32: esp32-devkitc: wamr_wasi_debug: enable wasi-threads

  • #9752 xtensa: esp32s2: Add basic support to SPIFLASH

  • #9868 xtensa: esp32s3: Do not include specfic board in commom

  • #9870 xtensa: esp32s3: Some follow-up changes for ESP32s3 32M flash support

  • #10748 xtensa: esp32s3: esp32s3-devkit:disable esp32s3-devkit:ksta_softap spinlock config

  • #10588 xtensa: esp32s3: esp32s3-devkit:Add board GPIO support

  • #10387 xtensa: esp32s3: esp32s3-lcd-ev: Add ESP32-S3-LCD-EV development board BSP

  • #10591 x86_64: Change up_netinitialize to x86_64_netinitialize

Graphics

Improvements

  • #9909 graphics: remove sched_[un]lock

Crypto

Improvements

  • #10072 add curve25519 license
  • #10772 cryptodev: expansion hash operation
  • #10073 export MD5:SHA1:SHA256:SHA512 via :dev:crypto
  • #10129 export SHA224:SHA384 via :dev:crypto
  • #10517 fix multiple definition of `poly1305_init'
  • #10020 fix nuttx crypto stability bug
  • #10134 fix typo for blake2s
  • #10060 not use software algorithm in nuttx crypto by default
  • #10026 porting Curve25519
  • #10211 remove CRYPTO_SW_AES and CRYPTO_BLAKE2S
  • #10244 remove software algorithm coupling in cryptodev
  • #10260 update aes algorithm process

File System

Improvements

  • #10061 add pipe type support to inode
  • #10764 add syncfs api for sync whole fs data
  • #9656 Define __USE_FILE_OFFSET64 when CONFIG_FS_LARGEFILE is enabled
  • #10779 hostfs: mask bit fields of not support
  • #10257 ioctl: add BIOC_BLKGETSIZE cmd to get block sector numbers
  • #10418 inode:i_private: remove all unnecessary cast for i_private
  • #10422 inode: remove all unnecessary check for filep:inode
  • #9685 mount: correct df -h output format
  • #9654 nfs: Fix nfs client
  • #9963 nfs: support seek, fsync operation
  • #9936 partition: Add txt partition table parser
  • #9939 procfs: call the close of each component when procfs_close
  • #10059 procfs: Optimize fd information output format
  • #10647 procfs: vela fs procfs add clock procfs entry
  • #9929 pseudo-file: support pseudo-file operation
  • #10004 romfs: Fix FIOC_FILEPATH for dup'ed file
  • #10075 remove (flags & MAP_PRIVATE) == 0.
  • #9905 semaphore: modify or remove sched_[un]lock
  • #9924 semaphore: fix sem_open
  • #10343 shmfs: Fix illegal usage of void* arithmetics
  • #10039 tmpfs: fix tmpfs_read overwrite after seek over tfo_size
  • #9910 unionfs: Remove unionfs_mount function
  • #10295 vfs: add nxsched_foreach to sched_lock avoid crash
  • #9798 vfs: add refcnt using epoll_create to fix bug when use popen which dup the fd and close at end after epoll_create
  • #9927 vfs: dup: add nonblock flag to avoid happening block when dup
  • #10545 vfs: fix dup issue for eventfd:signalfd:timerfd
  • #10096 vfs: fs_open: add ioctl checkflag
  • #10007 vfs: open: Use file mode only when O_CREAT is specified.
  • #9925 vfs: posix: fix ltp test errors

Networking

Improvements

  • #10038 add check for address binding
  • #10226 add FIOC_FILEPATH ioctl support for ICMP(v6):RPMsg:Usrsock sockets
  • #10103 add FIOC_FILEPATH ioctl support for tcp:udp:local sockets
  • #10319 add IP_MULTICAST_IF & IPV6_MULTICAST_IF function implementation
  • #9791 add msg_peek support for udp and tcp
  • #10111 add poll lock for local socket poll
  • #9744 add netfilter compatible definitions for iptables
  • #10539 arp: arp should depends on MM_IOB
  • #10293 arp: print dest ip address when receive wait timeout
  • #10449 assert: remove all unnecessary check for psock:conn
  • #10448 can: correct the return value if unsupported socket type
  • #10279 can: socketcan: fixed CAN ID cast error
  • #10549 can: socketcan: recv : fixed recv filter not work in special case
  • #10547 can: socketcan: support error frame filter
  • #10611 cmake: complete missing changes during reforming for net
  • #10314 devif: devif_poll : d_len must positive before invoke callback
  • #10621 devif_callback: modify the code logic to conform to the comment
  • #10278 icmp: add SOCK_RAW type support
  • #10158 icmpv6: Fix icmpv6_neighbor for link-local address
  • #10140 icmpv6: Fix value of SIZEOF_ICMPV6_ECHO_xxx_S
  • #9743 if.h: add definitions associated with IF_OPER_
  • #10541 inet_sendto: correct error messages and remove the comment
  • #10034 inet_sockif.c: In tcp protocol, Add random ports during the listening phase, if no ports are bound
  • #9742 ioctl: add some bridge calls command
  • #10301 ip: print ip addresses using ip4_addrN macro
  • #10018 ipv4_setsockopt.c:Modify IP_ MULTICAST_ TTL setting range
  • #10296 ipv6_setsockopt: remove redundant logic
  • #9702 limit max value for Send:Recv bufsize
  • #10230 local: Add peek support for pipe and MSG_PEEK support for local so…
  • #9999 local: Add support for MSG_DONTWAIT to SOCK_STREAM
  • #10219 local: Fix the error return length when read the bigger packet.
  • #10308 local: Fix the bug that localsocket fails to send in CONFIG_NET_LOCAL_DGRAM …
  • #10413 local: fix visual studio Compiler Error C2057
  • #9867 local: forward threshold ioctl() to pipe
  • #10298 local: local_recvmsg: do not print error message when errno is EAGAIN
  • #10027 local: local_sockif.c:add local_getpeername function implementation
  • #9841 local: remove client from server.lc_waiters when client close
  • #10221 local: Return an error when write the too big packet.
  • #10466 local: Replace strlen with sizeof for kconfig string
  • #10785 local: socket: fix accept used after free
  • #9814 local: Support the abstract path to connect
  • #9778 local: Support the socketpair interface of local udp socket.
  • #10538 mld: add byte order conversion for ipv6 address printing
  • #10117 netdev: Simplify handling of SIOCSIFMTU
  • #9745 netlink: add some definition
  • #10143 remove [enter|leave]critical_section and sched[un]lock
  • #9928 rpmsg: get credentials between client and server
  • #9952 rpmsg: read receiving data after unbind
  • #10046 rpmsg: rpmsg_socket update
  • #10289 rpmsg: rpmsg_sockif: block poll shoud not set POLLERR
  • #10661 rpmsg: set conn->backlog=-1 only when socket listening
  • #10669 rpmsg: socket: add return value check.
  • #10537 rpmsg_sockif: add recvlock for conn->sendsize in connect
  • #9879 setsockopt: Add IP_TTL support
  • #10437 socket: bind: make sure that an address was provided
  • #10309 tcp: Added tcp zero window probe timer support
  • #10218 tcp: Fix the sack byte aligment error.
  • #10324 tcp: Fix unreadable error when doing poll operation on tcp socket.
  • #10022 tcp: return -EINVAL if bind is called more than once
  • #10608 tcp: Set SO_ERROR for poll error in setup
  • #10618 tcp: Stop monitor in tcp_free
  • #10459 tcp: tcp_input: update tx_unack before reorder_ofosegs
  • #10703 tcp: tcp_ofosegs: prepare iob to reset io_offset
  • #10627 tcp: psock_tcp_cansend: return EWOULDBLOCK when send buffer is full
  • #10177 tun: move tun related macro definitions out of CONFIG_NET_TUN
  • #10025 udp: add check of the ip packet length
  • #9844 udp: Change conn->readahead to I:O buffer chain
  • #9792 udp: Fix the bug of overwriting when the udp recv buffer is full
  • #10329 udp: Fix hybrid dual-stack IPv6:IPv4 socket
  • #9625 udp: Populate the udp connection structure with the address family.
  • #10032 udp: resolve udp disconnection, status not synchronized error
  • #9647 usrsock: Add new interface to tell usrsock available
  • #10762 utils: refine: set file mode when oflags contains O_CREAT
  • #10390 xx: wrbuffer: Do not use SEM_INITIALIZER for buffers
  • #10102 wireless: bluetooth: correct judgment conditions
  • #10654 wireless: enable O_CLOEXEC explicit

Compatibility Concerns

* [#10480](https://github.com/apache/nuttx/pull/10480) usbdev: Split usbdev descriptor information  

Split usbdev descriptor information, let the class device only handles descriptor information specific to the class, and shared descriptor information is passed through parameters and handled by the composite driver.

Impact

composite_initialize arguments have changed and board specific composite initialization needs to be updated.

before:
FAR void *composite_initialize(uint8_t ndevices, FAR struct composite_devdesc_s *pdevices);

after:
FAR void *composite_initialize(FAR const struct usbdev_devdescs_s *devdescs, FAR struct composite_devdesc_s *pdevices, uint8_t ndevices);

* [#10453](https://github.com/apache/nuttx/pull/10453) usbdev: Use BOARD_USBDEV_SERIALSTR config directly  

A usbdev has only one serial string, so use a unique macro to control it.
Delete the configurations for COMPOSITE_BOARD_SERIALSTR, PL2303_BOARD_SERIALSTR, CDCACM_BOARD_SERIALSTR, USBADB_BOARD_SERIALSTR, USBMSC_BOARD_SERIALSTR, and RNDIS_BOARD_SERIALSTR, and use BOARD_USBDEV_SERIALSTR for unification.

Impact

For boards that enable board serial string using COMPOSITE_BOARD_SERIALSTR, PL2303_BOARD_SERIALSTR, CDCACM_BOARD_SERIALSTR, USBADB_BOARD_SERIALSTR, USBMSC_BOARD_SERIALSTR, and RNDIS_BOARD_SERIALSTR, they need to be replaced with BOARD_USBDEV_SERIALSTR.


* [#9932](https://github.com/apache/nuttx/pull/9932) video: driver support multiple instance 

The interface of video_uninitialize() has changed and is no longer compatible.


Known Problems In This Release

More Information

How to Download

Release artifacts for all current and past NuttX releases can be downloaded at:

How to Clone the Git Repository

The Apache NuttX project uses Git SCM as its version control system.

There are two primary repositories:

  • nuttx - The real time operating system itself.
  • apps - Optional applications and example programs for the operating system. You can use this repository or make your own custom one.

The main "Single Source of Truth" repositories are hosted by the ASF:

These are synchronized with repositories hosted at GitHub:

How to Contact the Community

The main forum for project communication, to ask a question, get involved, or contribute to NuttX, is our mailing list, dev@nuttx.apache.org. The list is publicly archived and searchable at https://lists.apache.org/list.html?dev@nuttx.apache.orgFor more information, see NuttX Community.

Enthusiastic Contributors Welcome!

NuttX is a free open-source project. If you'd like to participate, whether it's to enhance documentation (even these release notes) or dive into the nitty gritty of some low-level drivers, please join us! You can join the conversation at our dev mailing list by emailing dev-subscribe@nuttx.apache.org. The mailing list is open to the public and archived. You can browse older messages at https://lists.apache.org/list.html?dev@nuttx.apache.org.

  • No labels