Versions Compared

Key

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

Table of Contents

Work In Progress

Warning
titleWork In Progress
NuttX 10.2 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


Markdown
# What's New In This Release

## Highlights
* Feature 1
* Feature 2
* Feature 3

## Major Changes to Core OS

   ### New Features

### Bug Fixes 
 * [#3708](https://github.com/apache/incubator-nuttx/pull/3708) sched/signal: Correct kill with cancellation #4615openamp: Update to 2020.10.0 official release   
 * [#3709](https://github.com/apache/incubator-nuttx/pull/3709) sched:Update Fixlibcxx CPU affinity issues in SMP #4619to 12.0.0 release  
 * [#3674](https://github.com/apache/incubator-nuttx/pull/3674) libc/termios: Implement MoveTCSADRAIN pthreadand stuffTCSAFLUSH tofor userspacetcsetattr #3626 
 * [#4595](https://github.com/apache/incubator-nuttx/pull/4595) includelibc/spawn.hmisc: Addadd POSIXlib_SPAWN_SETSIDglob definition #3672 
 * [#4594](https://github.com/apache/incubator-nuttx/pull/4594) libc/ptystring: Makeadd ptsname[_r] support PSEUDOTERM_BSD config too #3673lib_strchrnul    
 * [#3672](https://github.com/apache/incubator-nuttx/pull/3672) libcinclude/termiosspawn.h: Implement TCSADRAIN and TCSAFLUSH for tcsetattr #3674 Add POSIX_SPAWN_SETSID definition  
 * [#4265](https://github.com/apache/incubator-nuttx/pull/4265) libc/misc: add lib_glob #4595Support message catalog function  
 * [#3102](https://github.com/apache/incubator-nuttx/pull/3102) libcmm/stringiob: add lib_strchrnul #4594 


## Major Changes to the Build System

### New Features

### Bug Fixes

## Architectural Support

### New Architecture

### Architectures with significant improvements

#### ARM
 * [#4522iob_free_queue() interface  
 * [#3893](https://github.com/apache/incubator-nuttx/pull/#45223893) archlibs/libc/armnetdb: Addadd ARCH_CORTEXM55dns Kconfig for cortex-m55clear interface  
 * [#3759#3959](https://github.com/apache/incubator-nuttx/pull/#37593959) arm/v7-a/fpulibc/time: addImplement VFP-v3timegm D32function support    
 * [#4536#3963](https://github.com/apache/incubator-nuttx/pull/#45363963) archlibc/armsched: correctImplement the function name from arm_getsp() to up_getsp()  nice API  
 * [#4410#3977](https://github.com/apache/incubator-nuttx/pull/#44103977) arch/arm/assertsched: enhance the assert dumpAdd kthread_create_with_stack  
 * [#4409#4016](https://github.com/apache/incubator-nuttx/pull/#4409) arch/arm/cortex-m: add up_backtrace support4016) Add heap & stack check to idle thread  
 * [#4405#4114](https://github.com/apache/incubator-nuttx/pull/#44054114) archlibc/armv7math: addAdd up_backtracefmax supportand basedfmin onfunctions frame pointer  
 * [#4385#4130](https://github.com/apache/incubator-nuttx/pull/#43854130) archsys/armv8-mpoll: Updateadd per the latest architecture reference manual  POLLRDHUP definition   
 * [#4354#4262](https://github.com/apache/incubator-nuttx/pull/#43544262) arch/armlibc: correctAdd the frameempty pointernl_langinfo registerimplementation declare 
 * [#4205#4272](https://github.com/apache/incubator-nuttx/pull/#42054272) armlibc: add up_secure_irq supportImplement gettext function  
 * [#4176#4432](https://github.com/apache/incubator-nuttx/pull/#41764432) ARMlibc:machine: fix CPSR corruption after exception handling  add atomic_load/store/exchange API  
 * [#4094#4438](https://github.com/apache/incubator-nuttx/pull/#40944438) arch/armv7-auClibcxx: Removeadd theweak specialattribute SMPfor SGInew/del processops  
 * [#4451#3681](https://github.com/apache/incubator-nuttx/pull/#44513681) archlibc: ReplaceImplement ar, nm and ld with gcc-ar, gcc-nm and gcc  openpty function  
 * [#4343#4363](https://github.com/apache/incubator-nuttx/pull/#43434363) archsched/armv8-mbacktrace: Addadd SAUsched_backtrace support  
 * [#4341#4374](https://github.com/apache/incubator-nuttx/pull/#43414374) arch/armlibxx: Add NVIC_FPCCR_XXX macro to avoid the hard code valueadd new low level c++ standard library support  
 * [#4279#4425](https://github.com/apache/incubator-nuttx/pull/#42794425) arch/cortex-mlibc: replace arm_switchcontext to c-styleadd common machine atomic operation  
 * [#4106#3687](https://github.com/apache/incubator-nuttx/pull/#41063687) armlibc/setjmp.h:add c++ support pwd: Add NSS_BUFLEN_PASSWD macro   
 * [#4013#3970](https://github.com/apache/incubator-nuttx/pull/#40133970) armlibc: fixImplement enablefesetround interrupt& toofegetround earlier caused system crash  for arm 
 * [#4483#4104](https://github.com/apache/incubator-nuttx/pull/#44834104) sched/clock: Fixadd compilationnsec ofrange armcheck protectedin buildclock_settime  
 * [#3879#4518](https://github.com/apache/incubator-nuttx/pull/#38794518) archgetaddrinfo: Renamesupport xxxAF_getspLOCAL toand upAF_getsp RPMSG 

#### CXD56XX
 * [#4557#4595](https://github.com/apache/incubator-nuttx/pull/#45574595) archlibc/misc: cxd56xx: Replace the critical section with spinlock in cxd56_serial.c 
 * [#3743]add lib_glob  
 * [#3985](https://github.com/apache/incubator-nuttx/pull/#37433985) archmmap: arm: cxd56xx: Update cxd56xx driversImplement the minial but reasonable mlock/munlock/mprotect  
 * [#3845#4065](https://github.com/apache/incubator-nuttx/pull/#38454065) Fixmm: spresense with elf  

#### LPC17XX_40XXAdd kmm_malloc_size and mm_malloc_size  
 * [#4072#4096](https://github.com/apache/incubator-nuttx/pull/#40724096) lpc17xxmm: AddedSimplify the WDTsemaphore driver.handling  
 * [#4316#4100](https://github.com/apache/incubator-nuttx/pull/#43164100) lpc17_40: Fixed I2C port sanity check. Implement utime and futimes  

### Bug Fixes 
 * [#4148#4615](https://github.com/apache/incubator-nuttx/pull/#41484615) lpc17_40sched/signal: styleCorrect fixkill inwith WDTcancellation definitions.  
 * [#4107#4619](https://github.com/apache/incubator-nuttx/pull/#41074619) lpc17_40sched: Fixed progmem driver.  

#### STM32Fix CPU affinity issues in SMP  
 * [#3761#3626](https://github.com/apache/incubator-nuttx/pull/#37613626) ET-STM32 Stamp: An STM32F103RET6 target for NuttXlibc: Move pthread stuff to userspace  
 * [#4350#3673](https://github.com/apache/incubator-nuttx/pull/#43503673) arch/arm/src/stm32l4/Kconfig: add new STM32L4+ chip typeslibc/pty: Make ptsname[_r] support PSEUDOTERM_BSD config too  
 * [#4310#4599](https://github.com/apache/incubator-nuttx/pull/#43104599) arch/stm32: improvements for qencoder sched:tcb_s:rearrange sched_priority/int_priority to word align  
 * [#3752#3747](https://github.com/apache/incubator-nuttx/pull/#37523747) Usemm:initialize inttypesensure stm32fxalignment. i2c  
 * [#4090#3962](https://github.com/apache/incubator-nuttx/pull/#4090) STM32G43XX Analog Comparator3962) sched/task/task_spawn.c: initialize variables explicitly  
 * [#3942#3916](https://github.com/apache/incubator-nuttx/pull/#39423916) Changedsched/posix_spawn: Don't insert name at the STM32begin Analogof Comparatorargv driver. 
 * [#3729#3858](https://github.com/apache/incubator-nuttx/pull/#37293858) stm32 timerstls: PreferMove GTIMpthread macroskey anddestructor maketo this use more uniform.  

#### STM32L4libc  
 * [#3668#3719](https://github.com/apache/incubator-nuttx/pull/#36683719) arch/arm/src/stm32l4/hardware/stm32l4xrxx: pinmap alternative function for SPI2  group/group_signal: cancel dispatch signal when child process doesn't exist  
 * [#4468#4453](https://github.com/apache/incubator-nuttx/pull/#44684453) arch/arm/src/stm32l4libs/libxx: fixEnforce STM32L4+RTTI optionfor bytesbuilding memorylibcxxabi address  
 * [#4501#4450](https://github.com/apache/incubator-nuttx/pull/#45014450) arch/arm/src/stm32l4libxx:uClibc++: add control for Vddio2 independent I/Os supply validdisable new_handler.cpp when use libsupc++  
 * [#4469#4456](https://github.com/apache/incubator-nuttx/pull/#44694456) arch/arm/src/stm32l4/stm32l4_flash.c: fix FLASH_CONFIG_I to use dual-bank access  

#### STM32L5

#### S32K1XX
 * [#3850libc/gettext: Initialize path field when creating mofile struct.  
 * [#4466](https://github.com/apache/incubator-nuttx/pull/#3850) UCANS32K146 add support for B revision4466) sched/wdog/wd_start.c: prevent accessing watch-dog lag if head is NULL  
 * [#4493#4499](https://github.com/apache/incubator-nuttx/pull/#4493) Fix error in s32k118_pinmux.h4499) uClibc++:remove typeinfo.cpp that confict with libsupc++  
 * [#3795#3698](https://github.com/apache/incubator-nuttx/pull/#37953698) S32K1XX LSPI Double word up to 64 bits support  

#### IMX6sched/task: Simplify the syscall handling of task_spawn  
 * [#3777#3813](https://github.com/apache/incubator-nuttx/pull/#37773813) archsyscall/syscall.csv: imx6:Correct Addordering termios support to imx6  

#### IMXRTof entries  
 * [#3988#4020](https://github.com/apache/incubator-nuttx/pull/#39884020) arch/arm/src/imxrt/imxrt_flexpwm.c: fix mistake in submodules address offset  SMP should depends on ARCH_INTERRUPTSTACK 
 * [#4431#3957](https://github.com/apache/incubator-nuttx/pull/#44313957) i.MX RTsched/wdog: ChangesRemove toflags FlexCANfield driverfrom andwdog_s Teensyto 4.xsave CANmemory configuration  
 * [#4285#3967](https://github.com/apache/incubator-nuttx/pull/#42853967) arch/arm/src/imxrt/imxrt_flexpwm.clibc/dirname: SetHandle LDOKthe bitsconsecutive after'/' allcorrectly channels are set  
 * [#4138#4018](https://github.com/apache/incubator-nuttx/pull/#41384018) i.MX RTlibs/libc/spawn: added support for Tickless OS  

#### RP2040fix posix_spawn_file_actions_adddup2 alloc size error  
 * [#4049#4009](https://github.com/apache/incubator-nuttx/pull/#4049) Raspipico smp4009) Move aligned_alloc, posix_memalign and valloc from mm/umm to libs/libc/stdlib  
 * [#4251#4021](https://github.com/apache/incubator-nuttx/pull/#42514021) raspberrypi-picosched/waitpid: addhandle waitpid supportwaitting for lcd_dev  

#### RTL8720Ctcb->group is NULL  
 * [#4076#4026](https://github.com/apache/incubator-nuttx/pull/#40764026) AmebaZ2sched/idle: disable Addsched socwhen srcidle code 

#### NRF52

#### STM32H7/STM32F7call nx_bringup  
 * [#4331#4035](https://github.com/apache/incubator-nuttx/pull/#43314035) arch/arm/stm32h7: dma and serial: add TRBUFF flag.work_queue: schedule the work queue using the timer mechanism  
 * [#4441#4048](https://github.com/apache/incubator-nuttx/pull/#44414048) arch/arm/stm32f7/stm32_irq: Fix format stringslibc: Move pthread_key_destructor to task_info_s  
 * [#4098#4057](https://github.com/apache/incubator-nuttx/pull/#40984057) stm32h7libs: Ethernetlibnx: addnxfonts: yieldFix andprefix timeoutof togenerated notfonts hogdata CPU  
 * [#3730#4109](https://github.com/apache/incubator-nuttx/pull/#37304109) stm32h7 rcclibc: SyncImplement h7x7xxttyname and h7x3xx.ttyname_r Changes are relevant to both  
 
 * [#3892#4115](https://github.com/apache/incubator-nuttx/pull/#38924115) arch/arm/src/stm32h7libc/math: qspiFix usecalculation indirecterror writeof insteadlog of indirectfunction read 
 * [#3728#4124](https://github.com/apache/incubator-nuttx/pull/#37284124) stm32f7: Remove references to BOARD_ENABLE_USBOTG_HSULPI.add #undef for some libc function  
 * [#3731#4125](https://github.com/apache/incubator-nuttx/pull/#37314125) stm32libc/stm32f7 ticklesssysconf: FixAdd up_timer_getmask to be correctMONOTONIC_CLOCK for the width of the timer.consistency  
 * [#3976#4127](https://github.com/apache/incubator-nuttx/pull/#3976) STM32F7 SDMMC fixes4127) libc: Increase the function of crc8 to use custom polynomials  
 * [#3924#4160](https://github.com/apache/incubator-nuttx/pull/#39244160) stm32h7 fix for adc to handle overrun and the DR's fifo  

#### Renesas 
 * [#4230](httpsgroup/child_status: Dynamically expand group child_status  
 * [#4183](https://github.com/apache/incubator-nuttx/pull/#42304183) renesassched/rx65ntask: addFix longwrong typereturn forvalue all PRI*PTR  

#### RX65N

#### Risc-Vfrom nxspawn_open()  
 * [#3770#4226](https://github.com/apache/incubator-nuttx/pull/#37704226) Add support for PolarFire SoC and icicle boardsyslog: reslove crash because vmov.i32 instruction is not ready  
 * [#3997#4246](https://github.com/apache/incubator-nuttx/pull/#39974246) risc-v/bl602: update wifi firmware versionlibc/pthread_barrierattr_destory.c: Destroy shouldn't reinitialize the attributes  
 * [#4381#4270](https://github.com/apache/incubator-nuttx/pull/#43814270) arch/riscv/asserttzset: enhance the assert dumpavoid taking semaphore in interrupt for non-kernel mode  
 * [#4367#4413](https://github.com/apache/incubator-nuttx/pull/#43674413) riscvsched/backtracewdog: addfix upswitch_backtracecontext supportcaused error 
 * [#4365in wd_start()  
 * [#3703](https://github.com/apache/incubator-nuttx/pull/#43653703) riscvsched/commonspawn: addSupport CURRENT_REGSthe declarestack inaddress RV32argument  
 * [#4342#4287](https://github.com/apache/incubator-nuttx/pull/#43424287) riscv/bl602signal: FixAllow thatSIG_EVTHREAD APselectable cannotin be start when STA have been started.  protected mode  
 * [#4335#4296](https://github.com/apache/incubator-nuttx/pull/#4335) arch/bl602:Add bl602 os adapter layer4296) sched: Fix crash on early syslog message with prepended process name  
 * [#4145#4368](https://github.com/apache/incubator-nuttx/pull/#41454368) risc-v/bl602libs/libxx/uClibc++.defs: updateDownload wifithe firmwarecorrect andfile some fixuptype.  
 * [#3849#4369](https://github.com/apache/incubator-nuttx/pull/#38494369) risc-vlibs/mpfslibxx: irq fixes, more register defines and up_systemreset()  Download C++ libraries during context.  
 * [#3984#4382](https://github.com/apache/incubator-nuttx/pull/#39844382) risc-vsched/bl602backtrace: Supportsimplify the APassign andof STAtcb asin independentcase networkof interfacenegative devicepid  
 * [#3913#4377](https://github.com/apache/incubator-nuttx/pull/#39134377) archtask_spawn: k210: Fix stack coloring forrelease g_spawn_parmsem and sched_unlock at the idleending thread  stack  
 * [#3757#4068](https://github.com/apache/incubator-nuttx/pull/#37574068) riscvmm: Add inline IRQ process functions  Remove mm_heap_impl_s struct  
 * [#4041#4247](https://github.com/apache/incubator-nuttx/pull/#40414247) risc-v/bl602: add efuse driver  

#### RV64

#### ESP32C3Redirect _l function to non-locale version  
 * [#3853#4380](https://github.com/apache/incubator-nuttx/pull/#38534380) arch/risc-v/esp32c3: add esp32c3_modtext to allow ELF loading  
 
#### BL602 
 * [#3784som byteorder modification  
 * [#4283](https://github.com/apache/incubator-nuttx/pull/#37844283) risc-vlibc/bl602gettext: AddChange RTCg_domain driverto array  
 * [#4607#4512](https://github.com/apache/incubator-nuttx/pull/#46074512) Open ble controller adaptation code  

#### Xtensalib_vsprintf: Add %pV format support  
 * [#4280#4513](https://github.com/apache/incubator-nuttx/pull/#42804513) arch:xtensa: add new GNU toolchain for xtensa.libc/rexec/rexec_af: support remote command execution  
 * [#4478#4516](https://github.com/apache/incubator-nuttx/pull/#44784516) archlib_fread: xtensa: add xtensa cache support return the number of bytes actually read when error occurs.  
 * [#4547#4520](https://github.com/apache/incubator-nuttx/pull/#45474520) archdebug:xtensa: addallow fullcustomize bactraceEXTRA_FMT support 
 * [#4407#3978](https://github.com/apache/incubator-nuttx/pull/#4407) arch/xtensa/src/common: Use irq_spin APIs in modifyregXX3978) Decouple the initialization of the separate heaps from the TEXT_HEAP option.  
 * [#4403#4029](https://github.com/apache/incubator-nuttx/pull/#44034029) Use driver-specific spinlock for ESP32 serial driver.  mm: fix memory corruption when loop create/exit thread in SMP mode  
 * [#4458#4055](https://github.com/apache/incubator-nuttx/pull/#44584055) arch:xtensa: add xtensa mpu supportmm: Move the real implementation of mm_sbrk to sbrk  
 * [#3762#4030](https://github.com/apache/incubator-nuttx/pull/#37624030) xtensa: #ifdef SYMBOL is always true if SYMBOL defined as 0  

#### ESP32Fix procfs memory corruption when meet long string, add thread run time to procfs  
 * [#4638#4043](https://github.com/apache/incubator-nuttx/pull/#46384043) esp32xx_rom.ldselect: Stronglyfix declareasan some of the libgcc.a functions that are ROM residentreport error  
 * [#4417#4519](https://github.com/apache/incubator-nuttx/pull/#44174519) arch/esp32errno: Properly handle GPIO interrupt in SMP. use staic errno to replace tl_errno before tls initialization  
 * [#4234#3992](https://github.com/apache/incubator-nuttx/pull/#42343992) espressif/esp32/esp32s2/esp32c3: Disable wdt on initialization.  

### Minor changes

## SimulatorRefine tls_info_s and task_info_s  
 * [#3921#4019](https://github.com/apache/incubator-nuttx/pull/#39214019) sim:Fix Useasan cc as linker, which usually aliases to either GCC or Clang  report error  
 * [#4108#4053](https://github.com/apache/incubator-nuttx/pull/#41084053) boards/simmm: enable nxlooper for alsa configMove procfs_register_meminfo into common place  
 * [#4222#4054](https://github.com/apache/incubator-nuttx/pull/#42224054) sim/cmdlinemm: saveCall bootmemalign cmdlinein malloc 
if * [#4209](https://github.com/apache/incubator-nuttx/pull/#4209) Fix sim smpARCH_ADDRENV and BUILD_KERNEL are defined  
 * [#4207#4454](https://github.com/apache/incubator-nuttx/pull/#42074454) archuser/trap: sim: WorkaroundSet MQ_MAXMSGSIZE to make64 theto IPIget workNX onworking macOS  
 * [#4167#3725](https://github.com/apache/incubator-nuttx/pull/#41673725) archcmd/simfree: Theadd secondnused/nfree CPUfield shouldn'tin callcommand up_irqinitializefree  
 * [#3904#3753](https://github.com/apache/incubator-nuttx/pull/#39043753) boards/sim/sim/simlibelf: correctfix LDLINKFLAGS after migrating from ld to gcc"nsh: nsh_session: readline failed: 13" error  
 * [#4056#3767](https://github.com/apache/incubator-nuttx/pull/#40563767) arch/simbinfmt: FixMove btargv andcopy audio simulation stop work in SMP mode  into exec_module  
 * [#4045#3764](https://github.com/apache/incubator-nuttx/pull/#40453764) sim/smpbinfmt: fixRename smp can't start, caused by signal too busy  dump_module to binfmt_dumpmodule  
 * [#4015#4064](https://github.com/apache/incubator-nuttx/pull/#40154064) modify sim clock to PC abs timebinfmt: Replace all nx_ API with file_ API  
 * [#3983#3928](https://github.com/apache/incubator-nuttx/pull/#39833928) arch/simbinfmt: Implement mm_mallinfo and malloc_size for the custom heapHandle argv/argv[0] == NULL correctly in exec_module  
 * [#4459#3867](https://github.com/apache/incubator-nuttx/pull/#44593867) simTLS: InhibitCorrect stackhandling protectorof onreturned stackerror colorationvalues. function  
 * [#3721#4185](https://github.com/apache/incubator-nuttx/pull/#37214185) sim/rptuniob_trimhead: support multi(>2) core interactive by share memory  fix an integer truncation  
 * [#4306#4117](https://github.com/apache/incubator-nuttx/pull/#43064117) boards/sim: Add smartfs profile example  

### New Features

### Bug Fixes

## Documentation

### New FeaturesDynamically extend Pidhash table  
 * [#3970#4186](https://github.com/apache/incubator-nuttx/pull/#39704186) libc: Implement fesetround & fegetround for arm 

### Improvements

### Driver Supporttimes function  
 * [#3842#3908](https://github.com/apache/incubator-nuttx/pull/#38423908) Added automatic log rotation, when log file is opened.crypto/random_pool.c: Correct indexing on void pointer  
 * [#3837#3817](https://github.com/apache/incubator-nuttx/pull/#38373817) audio: SYSLOGvarious channelfixes add functions

## returnMajor handleChanges to the channel. Build System

### New Features 
 * [#3848#4525](https://github.com/apache/incubator-nuttx/pull/#38484525) Syslog mkromfsimg: Add optional rcS file rotationspath number is configurable.
 * [#3808#4491](https://github.com/apache/incubator-nuttx/pull/#38084491) Ramlogcheckpatch.sh: recoveradd lastcheck crashgerrit log from ram buffer.  Change-Id support  
 * [#4614#3716](https://github.com/apache/incubator-nuttx/pull/#46143716) input/touchtools: addAdd ioa commandbash forcompletion touchscript firmwarefor versionthe configure 

###tool Bug  Fixes

### New Driver Support 
 
 * [#3727#3819](https://github.com/apache/incubator-nuttx/pull/#37273819) docker/linux: Add basicESP32-S2 supporttoolchain for MCP23017 I/O Expander and binaries.
 * [#3859#4203](https://github.com/apache/incubator-nuttx/pull/#38594203) tools: Add Holtek HT16K33 14-segment display driverarmv7-a support to nuttx-gdbinit  
 * [#4641#3705](https://github.com/apache/incubator-nuttx/pull/#46413705) drivers/mtd/m25px.cdocker: add ninja-build support for MT25Q256 SPI

### NORBug Fixes 
 * [#4606#4418](https://github.com/apache/incubator-nuttx/pull/#46064418) Add support for MT25Q1G SPI NOR  
 

## Board Support

### New Board Support

### Boards With Significant Improvements

#### ARM 
 
#### CXD56compiler.h: add __builtin_offsetof instead of offsetof 
 * [#3815](https://github.com/apache/incubator-nuttx/pull/3815) tools/mksyscall: Fix build break of syscall instrumentation wrapper   
 * [#3833#4461](https://github.com/apache/incubator-nuttx/pull/#38334461) Spresense new memorymaptools/ci: Minor improvements to CI build script  
 * [#4526#4492](https://github.com/apache/incubator-nuttx/pull/#4526) Rearch video4492) tools/nxstyle: Fix the check tool incorrectly reported no alignment.  
 * [#3973#3710](https://github.com/apache/incubator-nuttx/pull/#39733710) boardstools/ci: spresense: Update rndis and rndis_smp for workaroundRename sim0x.dat to sim-0x.dat to align with arm-xx.dat  
 * [#3744#4455](https://github.com/apache/incubator-nuttx/pull/#37444455) boardsmakefile: cxd56xx: Update drivers on spresense board  

#### IMX6let clean_context in distclean command  
 * [#3733#4423](https://github.com/apache/incubator-nuttx/pull/#37334423) imx6board: elfEnable supportCONFIG_LIBCXXABI #3733when  

#### IMXRTCONFIG_LIBCXX is enabled  
 * [#3982#4196](https://github.com/apache/incubator-nuttx/pull/#39824196) boards/arm/imxrt/teensy-4.x: added board level support for GPIO driver
 * [#3929tools: Fix nuttx-gdbinit  

## Architectural Support

### New Architecture 

#### MIPS

##### PIC32
 * [#4252](https://github.com/apache/incubator-nuttx/pull/#39294252) Addedpic32mz: encoderadded support for Teensy 4.x PIC32MZ2048EFG MCU 

### Architectures with significant improvements

#### ARM
 * [#3980#4522](https://github.com/apache/incubator-nuttx/pull/#39804522) FlexPWM support for iMXRT MCU arch/arm: Add ARCH_CORTEXM55 Kconfig for cortex-m55  
 * [#4581#3759](https://github.com/apache/incubator-nuttx/pull/#45813759) Fixed imxrt flexcan driver compilation error (incorrect variable scope)  

#### LPC17XX_40XX

#### NRF52

#### RP2040arm/v7-a/fpu: add VFP-v3 D32 support    
 * [#3917#4536](https://github.com/apache/incubator-nuttx/pull/#39174536) arch/arm/rp2040:USB device controller support  : correct the function name from arm_getsp() to up_getsp()  
 * [#3857#4410](https://github.com/apache/incubator-nuttx/pull/#38574410) boardsarch/arm/assert: rp2040:enhance Addthe userassert gpiodump driver 
 * [#3996#4409](https://github.com/apache/incubator-nuttx/pull/#39964409) Support for Waveshare Pico-LCD-1.x module
arch/arm/cortex-m: add up_backtrace support  
#### S32K1XX
 * [#4643#4405](https://github.com/apache/incubator-nuttx/pull/#46434405) S32K1xx arch/armv7: Add (optional)add up_backtrace support forbased SPIon native/hardware chip selectframe pointer  
 * [#4634#4385](https://github.com/apache/incubator-nuttx/pull/#46344385) S32K1XX arch/armv8-m: gpioreadUpdate mayper alsothe belatest usedarchitecture forreference outputmanual pins   
 * [#4592#4354](https://github.com/apache/incubator-nuttx/pull/#45924354) S32K1XXarch/arm: correct Addthe LPI2Cframe slavepointer supportregister declare 
 * [#4541#4205](https://github.com/apache/incubator-nuttx/pull/#45414205) S32K1XXarm: EVB boards cleanup & updateadd up_secure_irq support  
 * [#4578#4176](https://github.com/apache/incubator-nuttx/pull/#45784176) S32K1XXEVB boardsARM: Fixfix RGBCPSR LEDcorruption outputafter andexception addhandling comments  
 * [#4533#4094](https://github.com/apache/incubator-nuttx/pull/#45334094) S32k1xx: added PM supportarch/armv7-a: Remove the special SMP SGI process  
 * [#4596#4451](https://github.com/apache/incubator-nuttx/pull/#45964451) S32K1XX: Add FlexIO registersarch: Replace ar, nm and ld with gcc-ar, gcc-nm and gcc  
 * [#4508#4343](https://github.com/apache/incubator-nuttx/pull/#45084343) s32k1xxarch/armv8-m: addedAdd way to get the reset cause in a proc fs  

#### SAM34SAU support  
 * [#3732#4341](https://github.com/apache/incubator-nuttx/pull/#37324341) boardarch/arm: Add support for Adafruit Circuit Express NVIC_FPCCR_XXX macro to avoid the hard code value  
 * [#3840#4279](https://github.com/apache/incubator-nuttx/pull/#38404279) Add ST7789 LCD controller support for SAMV71 XPlained Ultra board

#### STM32  
 * [#3944arch/cortex-m: replace arm_switchcontext to c-style  
 * [#4106](https://github.com/apache/incubator-nuttx/pull/#39444106) boards/arm/stm32/nucleo-f446re: addedsetjmp.h:add c++ support for DAC driver
 * [#3880#4013](https://github.com/apache/incubator-nuttx/pull/#38804013) boards/arm/stm32/nucleo-f446re: added support for GPIO driver: fix enable interrupt too earlier caused system crash  
 * [#3909#4483](https://github.com/apache/incubator-nuttx/pull/#39094483) Fix Addedcompilation of basicarm supportprotected forbuild nucleo-g431kb board.
 * [#3922#3879](https://github.com/apache/incubator-nuttx/pull/#39223879) Addsarch: PWMRename examplexxx_getsp to nucleo-g431kb board.  up_getsp  
 * [#3914#4227](https://github.com/apache/incubator-nuttx/pull/#39144227) boards: added support for EMW3162 Wi-Fi boardpwm: add option to break the loops when using multiple PWM channels  
 * [#3878#4261](https://github.com/apache/incubator-nuttx/pull/#38784261) Add FOC support for B-G431-ESC1 board   
 * [#3637EXC_SECURE and SECURE_STACK just can clear at TRUSTZONE_NONSECURE  

#### CXD56XX
 * [#4557](https://github.com/apache/incubator-nuttx/pull/#36374557) boards/arm/stm32/nucleo-f446re: added support for PWM  arch: cxd56xx: Replace the critical section with spinlock in cxd56_serial.c 
 * [#3660#3743](https://github.com/apache/incubator-nuttx/pull/#36603743) stm32_pwm arch: arm: improvementscxd56xx: forUpdate PULSECOUNTcxd56xx supportdrivers  
 * [#4505#3845](https://github.com/apache/incubator-nuttx/pull/#45053845) STM32Fix F4,spresense F7,with H7elf USB OTG Device Ensure EP initialized to proper state on usb reset and configure  

#### LPC17XX_40XX
 * [#4589#4072](https://github.com/apache/incubator-nuttx/pull/#45894072) Fixlpc17xx: stm32xxAdded GPIO glitches from configuration bad order of operations  WDT driver.  
 * [#4085#4316](https://github.com/apache/incubator-nuttx/pull/#40854316) stm32,stm32f7,stm32h7lpc17_40: supportedFixed ETHI2C MACport promiscuoussanity modecheck.  
 * [#4255#4148](https://github.com/apache/incubator-nuttx/pull/#42554148) STM32 DAC Driver - Add support to DAC3lpc17_40: style fix in WDT definitions.  
 * [#3796#4107](https://github.com/apache/incubator-nuttx/pull/#3796) boards/arm/stm32/nucleo-f412zg/scripts/Make.defs: Replace EXTRADEFINES by EXTRAFLAGS  4107) lpc17_40: Fixed progmem driver.  

#### STM32
 * [#4284#3761](https://github.com/apache/incubator-nuttx/pull/#42843761) stm32_pmwET-STM32 Stamp: fix pwm_stop() function to enable multiple PWM start and stop  An STM32F103RET6 target for NuttX 
 * [#4353#4350](https://github.com/apache/incubator-nuttx/pull/#43534350) stm32/stm32_serial.c fix issuearch/arm/src/stm32l4/Kconfig: add new STM32L4+ chip types  
 * [#4244#4310](https://github.com/apache/incubator-nuttx/pull/#42444310) STM32G4arch/stm32: add supportimprovements for CORDICqencoder math accelerator  
 * [#4437#3752](https://github.com/apache/incubator-nuttx/pull/#44373752) stm32_serial.c: Don't fake a TX interrupt when interrupts are not suppressedUse inttypes stm32fx i2c  
 * [#3863#4090](https://github.com/apache/incubator-nuttx/pull/#38634090) boards/arm/stm32/nucleo-f446re: fixed wrong qetimer config nameSTM32G43XX Analog Comparator  

#### STM32L4  
 * [#4534#3942](https://github.com/apache/incubator-nuttx/pull/#45343942) Changed STM32L4the LPUARTSTM32 supportAnalog Comparator 

####driver. STM32F4

#### STM32F7 / STM32H7 
 * [#3646#3729](https://github.com/apache/incubator-nuttx/pull/#36463729) stm32 boards/stm32f7timers: AddPrefer i2c and mpu60x0 support to nucleo-144GTIM macros and fixmake bitmaskthis buguse inmore mpu60x0uniform.  
 * [#3650#4163](https://github.com/apache/incubator-nuttx/pull/#36504163) stm32{H7|F7} Disables/Enabled the use of GPIO_OTG_ID pin  Files for pysimCoder 
 * [#3669#4151](https://github.com/apache/incubator-nuttx/pull/#36694151) STM32 {F7|H7} Use 250 Ms Data path timeout, regardless of Card Clock frequency Change DAC driver to support STM32G4 DAC  

#### STM32L4
 * [#3668](https://github.com/apache/incubator-nuttx/pull/3668) arch/arm/src/stm32l4/hardware/stm32l4xrxx: pinmap alternative function for SPI2  
 * [#3651#4468](https://github.com/apache/incubator-nuttx/pull/#36514468) Use inttypes in stm32{f7|h7}, Kinetis, s32k drivers.arch/arm/src/stm32l4: fix STM32L4+ option bytes memory address  
 * [#4524#4501](https://github.com/apache/incubator-nuttx/pull/#45244501) stm32*7/stm32_serial.c: Don't fake a TX interrupt when interrupts are not suppressed 
 * [#4598arch/arm/src/stm32l4: add control for Vddio2 independent I/Os supply valid  
 * [#4469](https://github.com/apache/incubator-nuttx/pull/4469) arch/arm/src/stm32l4/stm32l4_flash.c: fix FLASH_CONFIG_I to use dual-bank access  

#### STM32L5

#### S32K1XX
 * [#3850](https://github.com/apache/incubator-nuttx/pull/3850) UCANS32K146 add support for B revision  
 * [#4493](https://github.com/apache/incubator-nuttx/pull/4493) Fix error in s32k118_pinmux.h  
 * [#3795](https://github.com/apache/incubator-nuttx/pull/3795) S32K1XX LSPI Double word up to 64 bits support  

#### IMX6 
 * [#3777](https://github.com/apache/incubator-nuttx/pull/3777) arch: imx6: Add termios support to imx6  

#### IMXRT 
 * [#3988](https://github.com/apache/incubator-nuttx/pull/3988) arch/arm/src/imxrt/imxrt_flexpwm.c: fix mistake in submodules address offset  
 * [#4431](https://github.com/apache/incubator-nuttx/pull/4431) i.MX RT: Changes to FlexCAN driver and Teensy 4.x CAN configuration  
 * [#4285](https://github.com/apache/incubator-nuttx/pull/4285) arch/arm/src/imxrt/imxrt_flexpwm.c: Set LDOK bits after all channels are set  
 * [#4138](https://github.com/apache/incubator-nuttx/pull/4138) i.MX RT: added support for Tickless OS  

#### RP2040 
 * [#4049](https://github.com/apache/incubator-nuttx/pull/4049) Raspipico smp 
 * [#4251](https://github.com/apache/incubator-nuttx/pull/4251) raspberrypi-pico: add support for lcd_dev  
 * [#4002](https://github.com/apache/incubator-nuttx/pull/4002) Kinetis Replace DMA with a proper eDMA driver and use it on SPI and Serial  

#### RTL8720C
 * [#4076](https://github.com/apache/incubator-nuttx/pull/4076) AmebaZ2: Add soc src code 

#### NRF52

#### STM32H7/STM32F7
 * [#4331](https://github.com/apache/incubator-nuttx/pull/4331) arch/arm/stm32h7: dma and serial: add TRBUFF flag. 
 * [#4441](https://github.com/apache/incubator-nuttx/pull/4441) arch/arm/stm32f7/stm32_irq: Fix format strings  
 * [#4098](https://github.com/apache/incubator-nuttx/pull/4098) stm32h7 Ethernet add yield and timeout to not hog CPU  
 * [#3730](https://github.com/apache/incubator-nuttx/pull/3730) stm32h7 rcc: Sync h7x7xx and h7x3xx. Changes are relevant to both  
 * [#3892](https://github.com/apache/incubator-nuttx/pull/3892) arch/arm/src/stm32h7: qspi use indirect write instead of indirect read 
 * [#3728](https://github.com/apache/incubator-nuttx/pull/3728) stm32f7: Remove references to BOARD_ENABLE_USBOTG_HSULPI.  
 * [#3731](https://github.com/apache/incubator-nuttx/pull/3731) stm32/stm32f7 tickless: Fix up_timer_getmask to be correct for the width of the timer. 
 * [#3976](https://github.com/apache/incubator-nuttx/pull/3976) STM32F7 SDMMC fixes  
 * [#3924](https://github.com/apache/incubator-nuttx/pull/3924) stm32h7 fix for adc to handle overrun and the DR's fifo  

#### Renesas 
 * [#4230](https://github.com/apache/incubator-nuttx/pull/4230) renesas/rx65n: add long type for all PRI*PTR  
 * [#3989](https://github.com/apache/incubator-nuttx/pull/3989) Renesas/RX added setjmp and placeholder ioctl  

#### Risc-V
 * [#3770](https://github.com/apache/incubator-nuttx/pull/3770) Add support for PolarFire SoC and icicle board
 * [#3997](https://github.com/apache/incubator-nuttx/pull/3997) risc-v/bl602: update wifi firmware version  
 * [#4381](https://github.com/apache/incubator-nuttx/pull/4381) arch/riscv/assert: enhance the assert dump  
 * [#4367](https://github.com/apache/incubator-nuttx/pull/4367) riscv/backtrace: add up_backtrace support  
 * [#4365](https://github.com/apache/incubator-nuttx/pull/4365) riscv/common: add CURRENT_REGS declare in RV32  
 * [#4342](https://github.com/apache/incubator-nuttx/pull/4342) riscv/bl602: Fix that AP cannot be start when STA have been started.  
 * [#4335](https://github.com/apache/incubator-nuttx/pull/4335) arch/bl602:Add bl602 os adapter layer  
 * [#4145](https://github.com/apache/incubator-nuttx/pull/4145) risc-v/bl602: update wifi firmware and some fixup.  
 * [#3849](https://github.com/apache/incubator-nuttx/pull/3849) risc-v/mpfs: irq fixes, more register defines and up_systemreset()  
 * [#3984](https://github.com/apache/incubator-nuttx/pull/3984) risc-v/bl602: Support AP and STA as independent network interface device  
 * [#3913](https://github.com/apache/incubator-nuttx/pull/3913) arch: k210: Fix stack coloring for the idle thread stack  
 * [#3757](https://github.com/apache/incubator-nuttx/pull/3757) riscv: Add inline IRQ process functions  
 * [#4041](https://github.com/apache/incubator-nuttx/pull/4041) risc-v/bl602: add efuse driver  
 * [#4384](https://github.com/apache/incubator-nuttx/pull/4384) Mpfs core pwm  
 * [#4507](https://github.com/apache/incubator-nuttx/pull/4507) various MPFS fixes  

#### ESP32-C3
 * [#3853](https://github.com/apache/incubator-nuttx/pull/3853) arch/risc-v/esp32c3: add esp32c3_modtext to allow ELF loading  
 
#### BL602 
 * [#3784](https://github.com/apache/incubator-nuttx/pull/3784) risc-v/bl602: Add RTC driver  
 * [#4607](https://github.com/apache/incubator-nuttx/pull/4607) Open ble controller adaptation code  

#### Xtensa
 * [#4280](https://github.com/apache/incubator-nuttx/pull/4280) arch:xtensa: add new GNU toolchain for xtensa.  
 * [#4478](https://github.com/apache/incubator-nuttx/pull/4478) arch: xtensa: add xtensa cache support   
 * [#4547](https://github.com/apache/incubator-nuttx/pull/4547) arch:xtensa: add full bactrace support 
 * [#4407](https://github.com/apache/incubator-nuttx/pull/4407) arch/xtensa/src/common: Use irq_spin APIs in modifyregXX  
 * [#4403](https://github.com/apache/incubator-nuttx/pull/4403) Use driver-specific spinlock for ESP32 serial driver.  
 * [#4458](https://github.com/apache/incubator-nuttx/pull/4458) arch:xtensa: add xtensa mpu support  
 * [#3762](https://github.com/apache/incubator-nuttx/pull/3762) xtensa: #ifdef SYMBOL is always true if SYMBOL defined as 0  

#### ESP32
 * [#4638](https://github.com/apache/incubator-nuttx/pull/4638) esp32xx_rom.ld: Strongly declare some of the libgcc.a functions that are ROM resident  
 * [#4417](https://github.com/apache/incubator-nuttx/pull/4417) arch/esp32: Properly handle GPIO interrupt in SMP. 
 * [#4234](https://github.com/apache/incubator-nuttx/pull/4234) espressif/esp32/esp32s2/esp32c3: Disable wdt on initialization.  

#### X86_64
 * [#4447](https://github.com/apache/incubator-nuttx/pull/4447) Fix x86_64  

### General changes
 * [#4233](https://github.com/apache/incubator-nuttx/pull/4233) board/ctrl: Add BOARDIOC_BOOT_IMAGE for booting a new application image  
 * [#4191](https://github.com/apache/incubator-nuttx/pull/4191) Add BOARDCTL_SWITCH_BOOT to support switch boot system 
 * [#4089](https://github.com/apache/incubator-nuttx/pull/4089) board/ctrl: add BOARDCTL_UNIQUEKEY support  
 
 ## Simulator 
 * [#3921](https://github.com/apache/incubator-nuttx/pull/3921) sim: Use cc as linker, which usually aliases to either GCC or Clang  
 * [#4108](https://github.com/apache/incubator-nuttx/pull/4108) boards/sim: enable nxlooper for alsa config  
 * [#4222](https://github.com/apache/incubator-nuttx/pull/4222) sim/cmdline: save boot cmdline  
 * [#4209](https://github.com/apache/incubator-nuttx/pull/4209) Fix sim smp  
 * [#4207](https://github.com/apache/incubator-nuttx/pull/4207) arch: sim: Workaround to make the IPI work on macOS  
 * [#4167](https://github.com/apache/incubator-nuttx/pull/4167) arch/sim: The second CPU shouldn't call up_irqinitialize  
 * [#3904](https://github.com/apache/incubator-nuttx/pull/3904) boards/sim/sim/sim: correct LDLINKFLAGS after migrating from ld to gcc  
 * [#4056](https://github.com/apache/incubator-nuttx/pull/4056) arch/sim: Fix bt and audio simulation stop work in SMP mode  
 * [#4045](https://github.com/apache/incubator-nuttx/pull/4045) sim/smp: fix smp can't start, caused by signal too busy  
 * [#4015](https://github.com/apache/incubator-nuttx/pull/4015) modify sim clock to PC abs time  
 * [#3983](https://github.com/apache/incubator-nuttx/pull/3983) arch/sim: Implement mm_mallinfo and malloc_size for the custom heap  
 * [#4459](https://github.com/apache/incubator-nuttx/pull/4459) sim: Inhibit stack protector on stack coloration function  
 * [#3721](https://github.com/apache/incubator-nuttx/pull/3721) sim/rptun: support multi(>2) core interactive by share memory  
 * [#4306](https://github.com/apache/incubator-nuttx/pull/4306) boards/sim: Add smartfs profile example 
 * [#4258](https://github.com/apache/incubator-nuttx/pull/4258) Use exit func iml host_abort.  
 * [#3689](https://github.com/apache/incubator-nuttx/pull/3689) Apps Issue #246: Replace romdisk_register() with boardctl(BOARDIOC_ROMDISK)  
 * [#4465](https://github.com/apache/incubator-nuttx/pull/4465) feature: driver: Add a Linux SPI into simulator.  

## Documentation

### New Features   
 * [#3634](https://github.com/apache/incubator-nuttx/pull/3634) Documentation/platforms: added documentation for imxrt10xx boards  
 * [#4470](https://github.com/apache/incubator-nuttx/pull/4470) Doc: Add initial documentation to the simulator  
 * [#4419](https://github.com/apache/incubator-nuttx/pull/4419) doc/esp32: Add instructions to use softap  
 
 ### Improvements 
 * [#3782](https://github.com/apache/incubator-nuttx/pull/3782) spi: Improve SPI Slave interface documentation  
 * [#4390](https://github.com/apache/incubator-nuttx/pull/4390) Documentation: Update ESP32-C3 supported peripheral list.  
 * [#3702](https://github.com/apache/incubator-nuttx/pull/3702) Documentation/esp32c3: Fix a couple of issues from #3700 
 * [#4242](https://github.com/apache/incubator-nuttx/pull/4242) Documentation/bl602: Update some imformation  
 * [#3662](https://github.com/apache/incubator-nuttx/pull/3662) Fix some issues on SPI documentation  
 * [#4375](https://github.com/apache/incubator-nuttx/pull/4375) Documentation/esp32-wrover-kit: update the name of the GPIO interrupt device.  
 * [#4298](https://github.com/apache/incubator-nuttx/pull/4298) Doc/FAQ: Add more entries about board initialization  
 * [#3899](https://github.com/apache/incubator-nuttx/pull/3899) Documentation: Update kconfig-frontends install instructions  
 * [#4235](https://github.com/apache/incubator-nuttx/pull/4235) Documentation/: Update ESP32 doc.  
 * [#3802](https://github.com/apache/incubator-nuttx/pull/3802) Doc: Improve documentation to make clear about the priorities  
 * [#4564](https://github.com/apache/incubator-nuttx/pull/4564) Doc: Update download version to 10.1 and fix tar command  
 * [#3700](https://github.com/apache/incubator-nuttx/pull/3700) Convert ESP32-C3 README to the new Documentation  
 * [#4298](https://github.com/apache/incubator-nuttx/pull/4298) Doc/FAQ: Add more entries about board initialization  
 * [#4297](https://github.com/apache/incubator-nuttx/pull/4297) Documentation/FAQ: Why /dev/ttySx is not created 

### Driver Support

### Bug Fixes  
 * [#3842](https://github.com/apache/incubator-nuttx/pull/3842) Added automatic log rotation, when log file is opened.
 * [#3837](https://github.com/apache/incubator-nuttx/pull/3837) SYSLOG channel add functions return handle to the channel.
 * [#3848](https://github.com/apache/incubator-nuttx/pull/3848) Syslog file rotations number is configurable.
 * [#3808](https://github.com/apache/incubator-nuttx/pull/3808) Ramlog: recover last crash log from ram buffer.  
 * [#4614](https://github.com/apache/incubator-nuttx/pull/4614) input/touch: add io command for touch firmware version   
 * [#4632](https://github.com/apache/incubator-nuttx/pull/4632) feat: driver: support double buffer for display  
 * [#4650](https://github.com/apache/incubator-nuttx/pull/4650) driver/power: using upper-half structure directly in the lower-half structure.  
 * [#4370](https://github.com/apache/incubator-nuttx/pull/4370) drivers/sensors/bmp280.c: Correct bmp280 driver  
 * [#4243](https://github.com/apache/incubator-nuttx/pull/4243) drivers/mmcsd:Send cmd0 just once for Increased compatibility  
 * [#4231](https://github.com/apache/incubator-nuttx/pull/4231) adc: add ioctl command to get the number of configured channels  
 * [#4007](https://github.com/apache/incubator-nuttx/pull/4007) driver/fakesensor: fix bugs.  
 * [#4177](https://github.com/apache/incubator-nuttx/pull/4177) serial: use Ctrl+? composite key to force panic"  
 * [#3851](https://github.com/apache/incubator-nuttx/pull/3851) spi: Refactor SPI Slave interface prefix to sync with I2C Slave  
 * [#4095](https://github.com/apache/incubator-nuttx/pull/4095) drivers/syslog: Avoid prepending process name when no TCB is available 
 * [#3990](https://github.com/apache/incubator-nuttx/pull/3990) drivers: wireless: Fix error handling in gs2200m_ioctl_send()  
 * [#3860](https://github.com/apache/incubator-nuttx/pull/3860) drivers: serial: Remove an unnecessary critical section (cs) for SMP  
 * [#3910](https://github.com/apache/incubator-nuttx/pull/3910) serial/pty: Initialize the terminal setting as a console  
 * [#4110](https://github.com/apache/incubator-nuttx/pull/4110) bcm43xxx: supported IW_AUTH_CIPHER_NONE mode  
 * [#4131](https://github.com/apache/incubator-nuttx/pull/4131) drivers/rptun: replace the notification mech from signal to semaphore  
 * [#4132](https://github.com/apache/incubator-nuttx/pull/4132) serial: add ctrl+@ to force crash system for debugging  
 * [#4156](https://github.com/apache/incubator-nuttx/pull/4156) Fakesensor: support gps by read nema csv and delete fakesensor init.  
 * [#4225](https://github.com/apache/incubator-nuttx/pull/4225) sensor: directly return -ENOTSUP without the set_interval or batch  
 * [#4228](https://github.com/apache/incubator-nuttx/pull/4228) drivers: wireless: Fix to set the address family for recvfrom() in gs2200m  
 * [#4288](https://github.com/apache/incubator-nuttx/pull/4288) adc: add IOCTL commands ANIOC_RESET_FIFO and ANIOC_SAMPLES_ON_READ  
 * [#4312](https://github.com/apache/incubator-nuttx/pull/4312) drivers/qencoder: add command to set the maximum encoder position  
 * [#4652](https://github.com/apache/incubator-nuttx/pull/4652) driver/sensor: support sensor_ops: selftest  
 * [#3633](https://github.com/apache/incubator-nuttx/pull/3633) drivers/serial: fix Rx interrupt enable for cdcacm  
 * [#4504](https://github.com/apache/incubator-nuttx/pull/4504) add new interface for fb driver and lcd dev driver  
 * [#4554](https://github.com/apache/incubator-nuttx/pull/4554) drivers/lcd: Add GC9A01 driver and refine ST7735  
 * [#3658](https://github.com/apache/incubator-nuttx/pull/3658) drivers: move the generic upper-half motor driver  
 * [#4397](https://github.com/apache/incubator-nuttx/pull/4397) Update lm3s6965  
 * [#4489](https://github.com/apache/incubator-nuttx/pull/4489) drivers/mmcsd: Pass the right buffer size to SDIO_DMAPREFLIGHT  
 * [#4479](https://github.com/apache/incubator-nuttx/pull/4479) drivers/sdmmc: Remove rwbuffer to avoid panic  
 * [#4476](https://github.com/apache/incubator-nuttx/pull/4476) drivers/mmcsd: Change up_udelay to nxsig_usleep if delay >= 1ms  
 * [#4474](https://github.com/apache/incubator-nuttx/pull/4474) drivers/mmcsd: Handle the failure correctly in mmcsd_slotinitialize  
 * [#4473](https://github.com/apache/incubator-nuttx/pull/4473) drivers/mmcsd: Fix the wrong format argument in mmcsd_dmpcsd  
 * [#3720](https://github.com/apache/incubator-nuttx/pull/3720) driver/syslog: add CONFIG_SYSLOG_RPMSG_SERVER_NAME  
 * [#3864](https://github.com/apache/incubator-nuttx/pull/3864) Fix ht16k33 driver to support multi-modules  
 * [#3828](https://github.com/apache/incubator-nuttx/pull/3828) syslog/emerg: fix bug about printing LOG_EMERG log from iob buffer  
 * [#3806](https://github.com/apache/incubator-nuttx/pull/3806) syslog: fix bug about syslog_default_write  
 * [#3936](https://github.com/apache/incubator-nuttx/pull/3936) syslog/ramlog: Remove the duplication of \n->\r\n conversion  
 * [#3907](https://github.com/apache/incubator-nuttx/pull/3907) serial/pty: Don't return -NOSYS if pollfd::events equals 0  
 * [#3742](https://github.com/apache/incubator-nuttx/pull/3742) drivers/modem/altair: Fix behavior when a reset packet conflicts with a send packet  
 * [#3741](https://github.com/apache/incubator-nuttx/pull/3741) drivers/mtd/smart.c: Recover the missing link of directory entry  
 * [#3736](https://github.com/apache/incubator-nuttx/pull/3736) drivers/syslog: Remove emergstream implementation and caller  
 * [#3726](https://github.com/apache/incubator-nuttx/pull/3726) rtc: add config RTC_RPMSG_SERVER, RTC_RPMSG_SERVER_NAME  
 * [#4113](https://github.com/apache/incubator-nuttx/pull/4113) syslog/ramlog: optimize code and fix init issue  
 * [#4111](https://github.com/apache/incubator-nuttx/pull/4111) syslog/intbuf: force output log when syslog interrupt buffer is full  
 * [#4042](https://github.com/apache/incubator-nuttx/pull/4042) serial: add ioctl TIOCNOTTY  
 * [#4034](https://github.com/apache/incubator-nuttx/pull/4034) syslog: add CPU id to system when open CONFIG_SMP  
 * [#4032](https://github.com/apache/incubator-nuttx/pull/4032) syslog: fix crash when print localtime by syslog  
 * [#3979](https://github.com/apache/incubator-nuttx/pull/3979) note: Move up_schednote.c to drivers/note folder  
 * [#4475](https://github.com/apache/incubator-nuttx/pull/4475) drivers/mmcsd: Change mmsd_ prefix to mmcsd_ prefix  
 * [#4415](https://github.com/apache/incubator-nuttx/pull/4415) Adds driver for msa301 sensore module  
 * [#4420](https://github.com/apache/incubator-nuttx/pull/4420) sensor: fix the bug that lsm6dsl selftest is invalid in nuttx.  
 * [#3787](https://github.com/apache/incubator-nuttx/pull/3787) drivers/spi: Add SPI Slave character device driver  
 * [#4566](https://github.com/apache/incubator-nuttx/pull/4566) drivers/syslog: Call up_puts in syslog_default_write instad up_putc  
 * [#4580](https://github.com/apache/incubator-nuttx/pull/4580) drivers/syslog: Ensure the buffer zero terminate 
 * [#4302](https://github.com/apache/incubator-nuttx/pull/4302) Compile fixes in MCP23X17 driver.  
 * [#4299](https://github.com/apache/incubator-nuttx/pull/4299) bchlib: Improve error handling  
 * [#4345](https://github.com/apache/incubator-nuttx/pull/4345) mtd: Implement BIOC_PARTINFO for all drivers  
 * [#4248](https://github.com/apache/incubator-nuttx/pull/4248) mtd: Return MTD Partition Information 
 * [#4166](https://github.com/apache/incubator-nuttx/pull/4166) mtd: Add MTDIOC_ERASESTATE command for retrieving erase state value 
 * [#3885](https://github.com/apache/incubator-nuttx/pull/3885) mtd: Add MTDIOC_FLUSH IOCTL like MTDIOC_XIPBASE  
 * [#3722](https://github.com/apache/incubator-nuttx/pull/3722) lirc: fix bug about lirc_raw_event   
 * [#4515](https://github.com/apache/incubator-nuttx/pull/4515) rptun: add CONFIG_RPTUN_LOADER to optimize code size  
 * [#4223](https://github.com/apache/incubator-nuttx/pull/4223) rptun: optimize multi-core startup  
 * [#4552](https://github.com/apache/incubator-nuttx/pull/4552) bcm43xxx: abrupt stall of receiving new credits from sdpcm header  
 * [#4565](https://github.com/apache/incubator-nuttx/pull/4565) bcm43xxx: added SDPCM frame pool size parameter  
 * [#4236](https://github.com/apache/incubator-nuttx/pull/4236) bcm43xxx: fixed issues with unaligned buffers for DMA transfers.  
 * [#4567](https://github.com/apache/incubator-nuttx/pull/4567) lcd/st77xx: change 16 bit cmd send to 8 bit 
 * [#4137](https://github.com/apache/incubator-nuttx/pull/4137) bluetooth: add more OGF definition  
 * [#4039](https://github.com/apache/incubator-nuttx/pull/4039) Add putarea() method for st7789  
 * [#3754](https://github.com/apache/incubator-nuttx/pull/3754) wireless/bluetooth: decoupling bt_driver_s and bt_buf_s  

### New Driver Support 
 * [#3727](https://github.com/apache/incubator-nuttx/pull/3727) Add basic support for MCP23017 I/O Expander 
 * [#3859](https://github.com/apache/incubator-nuttx/pull/3859) Add Holtek HT16K33 14-segment display driver  
 * [#4641](https://github.com/apache/incubator-nuttx/pull/4641) drivers/mtd/m25px.c: add support for MT25Q256 SPI NOR  
 * [#4606](https://github.com/apache/incubator-nuttx/pull/4606) Add support for MT25Q1G SPI NOR  
 * [#4373](https://github.com/apache/incubator-nuttx/pull/4373) Add support for 3-phase Hall effect sensor driver  
 * [#4490](https://github.com/apache/incubator-nuttx/pull/4490) add support for power management ic axp202 

## Board Support

### New Board Support

### Boards With Significant Improvements

#### ARM 
 
#### CXD56
 * [#3833](https://github.com/apache/incubator-nuttx/pull/3833) Spresense new memorymap
 * [#4526](https://github.com/apache/incubator-nuttx/pull/4526) Rearch video  
 * [#3973](https://github.com/apache/incubator-nuttx/pull/3973) boards: spresense: Update rndis and rndis_smp for workaround  
 * [#3744](https://github.com/apache/incubator-nuttx/pull/3744) boards: cxd56xx: Update drivers on spresense board  

#### IMX6 
 * [#3733](https://github.com/apache/incubator-nuttx/pull/3733) imx6 elf support  

#### IMXRT  
 * [#3982](https://github.com/apache/incubator-nuttx/pull/3982) boards/arm/imxrt/teensy-4.x: added board level support for GPIO driver
 * [#3929](https://github.com/apache/incubator-nuttx/pull/3929) Added encoder support for Teensy 4.x
 * [#3980](https://github.com/apache/incubator-nuttx/pull/3980) FlexPWM support for iMXRT MCU   
 * [#4581](https://github.com/apache/incubator-nuttx/pull/4581) Fixed imxrt flexcan driver compilation error (incorrect variable scope)  

#### LPC17XX_40XX

#### NRF52

#### RP2040 
 * [#3917](https://github.com/apache/incubator-nuttx/pull/3917) arm/rp2040:USB device controller support   
 * [#3857](https://github.com/apache/incubator-nuttx/pull/3857) boards: rp2040: Add user gpio driver 
 * [#3996](https://github.com/apache/incubator-nuttx/pull/3996) Support for Waveshare Pico-LCD-1.x module
 * [#4086](https://github.com/apache/incubator-nuttx/pull/4086) Added PCF8574 backpack support to Raspberry Pi Pico  
 * [#4204](https://github.com/apache/incubator-nuttx/pull/4204) added st7735 LCD based support  
 * [#4289](https://github.com/apache/incubator-nuttx/pull/4289) Fixing BMP180 and INA219 in RP2040  

#### S32K1XX
 * [#4643](https://github.com/apache/incubator-nuttx/pull/4643) S32K1xx arch: Add (optional) support for SPI native/hardware chip select  
 * [#4634](https://github.com/apache/incubator-nuttx/pull/4634) S32K1XX arch: gpioread may also be used for output pins   
 * [#4592](https://github.com/apache/incubator-nuttx/pull/4592) S32K1XX: Add LPI2C slave support  
 * [#4541](https://github.com/apache/incubator-nuttx/pull/4541) S32K1XX EVB boards cleanup & update  
 * [#4578](https://github.com/apache/incubator-nuttx/pull/4578) S32K1XXEVB boards: Fix RGB LED output and add comments  
 * [#4533](https://github.com/apache/incubator-nuttx/pull/4533) S32k1xx: added PM support  
 * [#4596](https://github.com/apache/incubator-nuttx/pull/4596) S32K1XX: Add FlexIO registers  
 * [#4508](https://github.com/apache/incubator-nuttx/pull/4508) s32k1xx: added way to get the reset cause in a proc fs  
 * [#4560](https://github.com/apache/incubator-nuttx/pull/4560) RDDRONE-UAVCAN / UCANS32K146 boards cleanup & update  

#### SAM34
 * [#3732](https://github.com/apache/incubator-nuttx/pull/3732) board: Add support for Adafruit Circuit Express  
 * [#3840](https://github.com/apache/incubator-nuttx/pull/3840) Add ST7789 LCD controller support for SAMV71 XPlained Ultra board

#### STM32  
 * [#3944](https://github.com/apache/incubator-nuttx/pull/3944) boards/arm/stm32/nucleo-f446re: added support for DAC driver
 * [#3880](https://github.com/apache/incubator-nuttx/pull/3880) boards/arm/stm32/nucleo-f446re: added support for GPIO driver
 * [#3909](https://github.com/apache/incubator-nuttx/pull/3909) Added basic support for nucleo-g431kb board.
 * [#3922](https://github.com/apache/incubator-nuttx/pull/3922) Adds PWM example to nucleo-g431kb board.  
 * [#3914](https://github.com/apache/incubator-nuttx/pull/3914) boards: added support for EMW3162 Wi-Fi board
 * [#3878](https://github.com/apache/incubator-nuttx/pull/3878) Add FOC support for B-G431-ESC1 board   
 * [#3637](https://github.com/apache/incubator-nuttx/pull/3637) boards/arm/stm32/nucleo-f446re: added support for PWM  
 * [#3660](https://github.com/apache/incubator-nuttx/pull/3660) stm32_pwm: improvements for PULSECOUNT support  
 * [#4505](https://github.com/apache/incubator-nuttx/pull/4505) STM32 F4, F7, H7 USB OTG Device Ensure EP initialized to proper state on usb reset and configure  
 * [#4589](https://github.com/apache/incubator-nuttx/pull/4589) Fix stm32xx GPIO glitches from configuration bad order of operations  
 * [#4085](https://github.com/apache/incubator-nuttx/pull/4085) stm32,stm32f7,stm32h7: supported ETH MAC promiscuous mode  
 * [#4255](https://github.com/apache/incubator-nuttx/pull/4255) STM32 DAC Driver - Add support to DAC3  
 * [#3796](https://github.com/apache/incubator-nuttx/pull/3796) boards/arm/stm32/nucleo-f412zg/scripts/Make.defs: Replace EXTRADEFINES by EXTRAFLAGS  
 * [#4284](https://github.com/apache/incubator-nuttx/pull/4284) stm32_pmw: fix pwm_stop() function to enable multiple PWM start and stop  
 * [#4353](https://github.com/apache/incubator-nuttx/pull/4353) stm32/stm32_serial.c fix issue  
 * [#4244](https://github.com/apache/incubator-nuttx/pull/4244) STM32G4: add support for CORDIC math accelerator  
 * [#4437](https://github.com/apache/incubator-nuttx/pull/4437) stm32_serial.c: Don't fake a TX interrupt when interrupts are not suppressed
 * [#3863](https://github.com/apache/incubator-nuttx/pull/3863) boards/arm/stm32/nucleo-f446re: fixed wrong qetimer config name  
 * [#3952](https://github.com/apache/incubator-nuttx/pull/3952) SDIO IO_RW_EXTENDED command (CMD53) related fixes  
 * [#4597](https://github.com/apache/incubator-nuttx/pull/4597) Add LCD backpack support for ESP32 (devkit-c).  

#### STM32L4  
 * [#4534](https://github.com/apache/incubator-nuttx/pull/4534) STM32L4 LPUART support  

#### STM32F4

#### STM32F7 / STM32H7 
 * [#3646](https://github.com/apache/incubator-nuttx/pull/3646) boards/stm32f7: Add i2c and mpu60x0 support to nucleo-144 and fix bitmask bug in mpu60x0  
 * [#3650](https://github.com/apache/incubator-nuttx/pull/3650) stm32{H7|F7} Disables/Enabled the use of GPIO_OTG_ID pin  
 * [#3669](https://github.com/apache/incubator-nuttx/pull/3669) STM32 {F7|H7} Use 250 Ms Data path timeout, regardless of Card Clock frequency 
 * [#3651](https://github.com/apache/incubator-nuttx/pull/3651) Use inttypes in stm32{f7|h7}, Kinetis, s32k drivers.  
 * [#4524](https://github.com/apache/incubator-nuttx/pull/4524) stm32*7/stm32_serial.c: Don't fake a TX interrupt when interrupts are not suppressed 
 * [#4598](https://github.com/apache/incubator-nuttx/pull/4598) stm32h7:DMA_TRBUFF is DMA_SCR_TRBUFF  

#### KINETIS
 * [#4190](https://github.com/apache/incubator-nuttx/pull/4190) kinetis lpserial add RX DMA 
  
#### ARM
#### AVR32
 * [#3684](https://github.com/apache/incubator-nuttx/pull/) avr32dev1: USART1 RX: Reassign pin  

#### MIPS
#### PIC32
 * [#4264](https://github.com/apache/incubator-nuttx/pull/) boards: added a basic support for chipKIT Wi-FIRE board  

#### RISC-V 
 * [#3846](https://github.com/apache/incubator-nuttx/pull/3846) risc-v/rv32m1: Basic port to rv32m1 ri5cy
 * [#4146](https://github.com/apache/incubator-nuttx/pull/4146) risc-v/bl602: add boardctl support
 * [#3911](https://github.com/apache/incubator-nuttx/pull/3911) Add i2c driver to PolarFire SoC and Icicle board
 * [#3905](https://github.com/apache/incubator-nuttx/pull/3905) Add SPI driver to PolarFire SoC and Icicle board
 * [#3933](https://github.com/apache/incubator-nuttx/pull/3933) riscv/mpfs: add i2c reset handler
 * [#3920](https://github.com/apache/incubator-nuttx/pull/3920) add dma support for PolarFire SoC
 * [#4569](https://github.com/apache/incubator-nuttx/pull/4569)  MPFS emmcsd   

#### BL602
 * [#4010](https://github.com/apache/incubator-nuttx/pull/4010) boards/bl602: Fix uart_nx.c:419: undefined reference to `uart_bth4_register  

#### C906

#### ESP32-C3
 * [#3794](https://github.com/apache/incubator-nuttx/pull/3794) risc-v/esp32c3: Support ESP32-C3 RTC driver  
 * [#3883](https://github.com/apache/incubator-nuttx/pull/3883) risc-v/esp32c3: Support ESP32-C3 RSA accelerator  
 * [#3881](https://github.com/apache/incubator-nuttx/pull/3881) risc-v/esp32c3: Support ESP32-C3 efuse   
 * [#3935](https://github.com/apache/incubator-nuttx/pull/3935) risc-v/esp32c3: Support ESP32-C3 SHA accelerator
 * [#3882](https://github.com/apache/incubator-nuttx/pull/3882) riscv/esp32c3: Use the RTC memory as another heap.
 * [#3945](https://github.com/apache/incubator-nuttx/pull/3945) boards/esp32c3: Add romfs configuration
 * [#3925](https://github.com/apache/incubator-nuttx/pull/3925) risc-v/esp32-c3: Adds I2C polled support
 * [#3823](https://github.com/apache/incubator-nuttx/pull/3823) risc-v/esp32-c3: Add support for HW flow control. 
 * [#3822](https://github.com/apache/incubator-nuttx/pull/3822) ESP32-C3: Add DMA support for SPI Slave
 * [#3543](https://github.com/apache/incubator-nuttx/pull/3543) feat(esp32c3): Support esp32c3 ble function 
 * [#3667](https://github.com/apache/incubator-nuttx/pull/3667) risc-v/esp32c3: Add ESP32-C3 (G)DMA driver and testing  
 * [#4605](https://github.com/apache/incubator-nuttx/pull/4605) risc-v/esp32-c3: improvements and fix to esp32c3_rt_timer.c  
 * [#4611](https://github.com/apache/incubator-nuttx/pull/4611) ESP32-C3: Add support for booting NuttX from MCUboot  
 * [#3656](https://github.com/apache/incubator-nuttx/pull/3656) risc-v/esp32-c3: Adds freerun wrapper 
 * [#4574](https://github.com/apache/incubator-nuttx/pull/4574) esp32c3-devkit: Add board profile to use LVGL on GC9A01 display  
 * [#3810](https://github.com/apache/incubator-nuttx/pull/3810) risc-v/esp32c3: Fix overwriting of registered-but-disabled interrupts  
 * [#3797](https://github.com/apache/incubator-nuttx/pull/3797) ESP32-C3: Add SPI Slave peripheral driver  
 * [#4568](https://github.com/apache/incubator-nuttx/pull/4568) boards/esp32c3: add ESP32C3 LCD drivers  
 * [#4553](https://github.com/apache/incubator-nuttx/pull/4553) risc-v/esp32c3: fix pwm driver bug  
 * [#4500](https://github.com/apache/incubator-nuttx/pull/4500) risc-v/esp32-c3: refactor the Wi-Fi board logic.   
 * [#3679](https://github.com/apache/incubator-nuttx/pull/3679) risc-v/esp32c3: Support ESP32-C3 PM standby and sleep  
 * [#3766](https://github.com/apache/incubator-nuttx/pull/3766) riscv/esp32c3: Add ESP32-C3 AES driver  
 * [#3750](https://github.com/apache/incubator-nuttx/pull/3750) riscv/esp32c3: Support SPI Flash encryption read/write  
 * [#3735](https://github.com/apache/incubator-nuttx/pull/3735) riscv/esp32c3: Add ESP32-C3 ADC driver  
 * [#3715](https://github.com/apache/incubator-nuttx/pull/3715) risc-v/esp32c3: Support ESP32-C3 auto-sleep  
 * [#4239](https://github.com/apache/incubator-nuttx/pull/4239) risc-v/esp32-c3: Adds systimer support and make rt_timer rely on it  
 * [#3694](https://github.com/apache/incubator-nuttx/pull/3694) risc-v/esp32c3: Add support for DMA transfers on SPI driver  
 * [#3697](https://github.com/apache/incubator-nuttx/pull/3697) riscv/esp32c3: Fix RT timer issues  
 * [#3906](https://github.com/apache/incubator-nuttx/pull/3906) risc-v/esp32c3_wifi_adapter.c: Remove a config that's only used in Xtensa chips.   
 * [#3701](https://github.com/apache/incubator-nuttx/pull/3701) riscv/esp32c3: Add ESP32C3 LEDC(PWM) driver  
 * [#3854](https://github.com/apache/incubator-nuttx/pull/3854) ESP32-C3: Small clean up on IRQ functions  
 * [#4006](https://github.com/apache/incubator-nuttx/pull/4006) risc-v/esp32c3: Notifies networking layer whether the carrier is available  
 * [#3788](https://github.com/apache/incubator-nuttx/pull/3788) ESP32-C3: Fix configuration of TX Burst support for GDMA  
 * [#4040](https://github.com/apache/incubator-nuttx/pull/4040) risc-v/esp32c3: Fix some ESP32-C3 BLE driver issues 
 * [#4082](https://github.com/apache/incubator-nuttx/pull/#45984082) stm32h7:DMA_TRBUFF is DMA_SCR_TRBUFF  

#### KINETISboards/esp32c3-devkit: Support mounting SPI Flash MTD to littleFS  
 * [#4190#4075](https://github.com/apache/incubator-nuttx/pull/#41904075) kinetis lpserial add RX DMA  

#### RISC-V 
 * [#3846risc-v/esp32c3: Add board_ioctl and board_uniqueid  
 * [#4092](https://github.com/apache/incubator-nuttx/pull/#38464092) risc-v/rv32m1esp32c3: BasicUse portonexit to rv32m1 ri5cy free thread private semaphore  
 * [#4146#3971](https://github.com/apache/incubator-nuttx/pull/#41463971) risc-v/bl602: add boardctl supportboards/riscv/esp32c3: Rename the iram_0_2 segment to irom_0_0 to avoid confusions.  
 * [#3911#4141](https://github.com/apache/incubator-nuttx/pull/#39114141) Add i2c driverrisc-v/esp32-c3: Use systimer 0 to PolarFireRTOS SoC andTICK Icicle board
 * [#3905#3793](https://github.com/apache/incubator-nuttx/pull/#39053793) Add SPI driver to PolarFire SoC and Icicle boardesp32&esp32c3/wifi: Support specific channel and bssid scan  
 * [#3933#4162](https://github.com/apache/incubator-nuttx/pull/#39334162) riscvrisc-v/mpfsesp32c3: add i2c reset handlerFix some ESP32-C3 Wi-Fi driver issues 
 * [#3920#4169](https://github.com/apache/incubator-nuttx/pull/#39204169) add dma support for PolarFire SoC

#### BL602risc-v/esp32-c3: Makes output readable and rmv unnecessary var.  
 * [#4010#4314](https://github.com/apache/incubator-nuttx/pull/#40104314) boards/bl602risc-v/esp32-c3: Fix uart_nx.c:419: undefined reference to `uart_bth4_register  Complete the support for RWDT  

#### C906

####XTENSA ESP32C3
 * [#3794#4590](https://github.com/apache/incubator-nuttx/pull/#37944590) risc-v/esp32c3: Support ESP32-C3 RTC driver[Xtensa/RISC-V] Remove FAR and CODE qualifiers from arch-specific files  
 * [#3883#4187](https://github.com/apache/incubator-nuttx/pull/#3883) risc-v/esp32c3: Support ESP32-C3 RSA accelerator4187) Fix xtensa_btdump() to look at the exception frame  
 * [#3881#4556](https://github.com/apache/incubator-nuttx/pull/#38814556) risc-v/esp32c3: Support ESP32-C3 efuse   xtensa:backtrace: flush to stack when in interrupt  
 * [#3935#3939](https://github.com/apache/incubator-nuttx/pull/#39353939) risc-v/esp32c3: Support ESP32-C3 SHA acceleratorFix xtensa  
 * [#3882#4531](https://github.com/apache/incubator-nuttx/pull/#38824531) riscvxtensa/esp32c3irq.h: UseFixes the RTC memory as another heap. routine that clears the processor interrupt  
 * [#3945#4278](https://github.com/apache/incubator-nuttx/pull/#39454278) boardsxtensa/esp32c3: Add romfs configurationcommon: save sp before overwriting in level2/3/4 handler and typo fix  
 * [#3925#4311](https://github.com/apache/incubator-nuttx/pull/#3925) risc-v/esp32-c3: Adds I2C polled support4311) xtensa:coproc: fix XTENSA_CP_ALLSET error in some case  
 * [#3823#3768](https://github.com/apache/incubator-nuttx/pull/#38233768) risc-v/esp32-c3: Add support for HW flow control. xtensa: Fixes names of architecture serial functions  

#### ESP32
 * [#3822#3940](https://github.com/apache/incubator-nuttx/pull/#38223940) ESP32-C3xtensa/esp32: AddSupport DMAESP32 support for SPI SlaveRTC driver
 * [#3543#4003](https://github.com/apache/incubator-nuttx/pull/#35434003) feat(esp32c3)xtensa/esp32: SupportAdds esp32c3support ble function for SERIAL_TXDMA.
 * [#3667#3912](https://github.com/apache/incubator-nuttx/pull/#36673912) risc-vxtensa/esp32c3esp32: AddAdds ESP32-C3 (G)DMA driver and testing  I2C polled support.
 * [#4605#3803](https://github.com/apache/incubator-nuttx/pull/#46053803) risc-v/esp32-c3: improvements and fix to esp32c3_rt_timer.c  Add support to ESP32-S2 and ESP32S2-SAOLA-1 Board
 * [#4611#3824](https://github.com/apache/incubator-nuttx/pull/#46113824) ESP32xtensa/esp32-C3s2: Add support for bootingserial NuttXHW from MCUboot  flow control.
 * [#3656#4604](https://github.com/apache/incubator-nuttx/pull/#36564604) risc-vxtensa/esp32-c3: Adds freerun wrapper Enable build system to download or build binaries from source  
 * [#4574#3642](https://github.com/apache/incubator-nuttx/pull/#45743642) esp32c3-devkitxtensa/esp32: Addseveral board profile to use LVGL on GC9A01 display  uart fixes
 * [#3810#3648](https://github.com/apache/incubator-nuttx/pull/#38103648) risc-v/esp32c3: Fix overwriting of registered-but-disabled interrupts  tools/esp32/mk_qemu_img.sh: Refactor the dd commands.  
 * [#3797#4625](https://github.com/apache/incubator-nuttx/pull/#37974625) ESP32-C3: Add SPI Slave peripheral driveresp32-c3/esp32-s2: Fix the sequence of commands to set the alarm value on rt timer.  
 * [#4568#4610](https://github.com/apache/incubator-nuttx/pull/#45684610) boards/esp32c3: add ESP32C3 LCD driversESP32-S2: Add support for booting NuttX from MCUboot  
 * [#4553#3678](https://github.com/apache/incubator-nuttx/pull/#45533678) risc-vxtensa/esp32c3esp32: fixSupport pwmauto-sleep driver bug  
 * [#4500#4532](https://github.com/apache/incubator-nuttx/pull/#45004532) risc-v/esp32-c3boards/esp32s2-saola-1: refactorAdd theimplementation Wi-Fi board logic.for BOARDIOC_RESET interface   
 * [#3679#4275](https://github.com/apache/incubator-nuttx/pull/#36794275) risc-vxtensa/esp32c3: Support ESP32-C3 PM standby and sleepesp32: Keep track of the CPU where the interrupt was attached.  
 * [#3766#4295](https://github.com/apache/incubator-nuttx/pull/#37664295) riscvxtensa/esp32c3esp32: Add ESP32-C3 AES driverEnable boot from Espressif's port of MCUboot  
 * [#3750#4315](https://github.com/apache/incubator-nuttx/pull/#37504315) riscvxtensa/esp32c3esp32: SupportFix SPIissues Flashon encryptionRWDT read/write  
 * [#3735#4366](https://github.com/apache/incubator-nuttx/pull/#37354366) riscvxtensa/esp32c3esp32: AddUse ESP32-C3IRQ ADCto driverenable/disable interrupts 
 * [#3715#4427](https://github.com/apache/incubator-nuttx/pull/#37154427) risc-v/esp32c3: Support ESP32-C3 auto-sleepesp32/ttgo_lora_esp32: Add support to SSD1306 OLED display  
 * [#4239#4388](https://github.com/apache/incubator-nuttx/pull/#42394388) risc-v/esp32-c3: Adds systimer support and make rt_timer rely on itesp32: Re-organize the interrupt handling process to correctly handle the SMP case  
 * [#3694#4401](https://github.com/apache/incubator-nuttx/pull/#36944401) risc-v/esp32c3xtensa/esp32-s2: AddAdds support forto DMA transfers on SPIthe timer driver  
 * [#3697#4545](https://github.com/apache/incubator-nuttx/pull/#36974545) riscv/esp32c3esp32-wrover: Fix RT timer issuesAdd support to LCD1602 with I2C Backpack  
 * [#3906#4587](https://github.com/apache/incubator-nuttx/pull/#3906) risc-v/esp32c3_wifi_adapter.c: Remove a config that's only used in Xtensa chips. 4587) xtensa/esp32-s2: Adds freerun timer wrapper  
 * [#3701#4139](https://github.com/apache/incubator-nuttx/pull/#37014139) riscvxtensa/esp32c3esp32: AddFixes ESP32C3 LEDC(PWM) drivertermios issue.  
 * [#3854#4586](https://github.com/apache/incubator-nuttx/pull/#38544586) ESP32xtensa/esp32-C3s2: SmallAdds cleanoneshot updevice ondriver IRQsupport functions  
 * [#4006#4570](https://github.com/apache/incubator-nuttx/pull/#40064570) risc-v/esp32c3esp32_spiflash.c: NotifiesCorrectly networkingdisable layerAPP's whether the carrier is available  CPU cache. 
 * [#3788#4509](https://github.com/apache/incubator-nuttx/pull/#37884509) ESP32-C3esp32: FixAdd configurationinitial ofsupport TXto BurstBluetooth supportLow for GDMAEnergy  
 * [#4040#4411](https://github.com/apache/incubator-nuttx/pull/#40404411) risc-vesp32/esp32c3: Fix some ESP32-C3 BLE driver issuessoftap: Enable the WPA2 by default to ask user password  
 * [#4082#4412](https://github.com/apache/incubator-nuttx/pull/#40824412) boards/esp32c3-devkit: Support mounting SPI Flash MTD to littleFSesp32: Add basic support to TTGO-LoRa-SX1276-ESP32  
 * [#4075#4585](https://github.com/apache/incubator-nuttx/pull/#40754585) risc-v/esp32c3: Add board_ioctl and board_uniqueidxtensa/esp32-s2: Adds support to rt_timer and systimer to ESP32-S2.  
 * [#4092#4170](https://github.com/apache/incubator-nuttx/pull/#40924170) risc-vxtensa/esp32c3esp32: UseMake onexitoutput toreadable freeand threadrmv privateunnecessary semaphorevar.  
 * [#3971#4195](https://github.com/apache/incubator-nuttx/pull/#39714195) boards/riscv/esp32c3esp32_allocateheap.c: RenameRemove the iram_0_2 segmentamount reserved to irom_0_0 to avoid confusionshimem from the heap.  
 * [#4141#4232](https://github.com/apache/incubator-nuttx/pull/#41414232) risc-vxtensa/esp32-c3: UseEnable configuration systimerof 0GPIO topad's RTOSdrive TICKstrength  
 * [#3793#4240](https://github.com/apache/incubator-nuttx/pull/#37934240) xtensa/esp32&esp32c3/wifi: Supportexpose specificSPI2 channelas anda bssidchar scandriver  
 * [#4162#4253](https://github.com/apache/incubator-nuttx/pull/#41624253) risc-vxtensa/esp32c3: Fix some ESP32-C3 Wi-Fi driver issuesesp32: Enable the allocation of multiple SPI Flash partitions  
 * [#4169#4338](https://github.com/apache/incubator-nuttx/pull/#41694338) risc-vtools/esp32-c3/Config.mk: Makes output readable and rmv unnecessary var. Allow ESPTOOL_BINDIR to be omitted when flashing the board 
 * [#4314#3938](https://github.com/apache/incubator-nuttx/pull/#43143938) risc-v/esp32-c3esp32&esp32c3/wifi: CompleteFix the issues supportof forWi-Fi RWDTconfiguration being 

####overwritten XTENSA 
 * [#4590#3969](https://github.com/apache/incubator-nuttx/pull/#45903969) [Xtensa/RISC-V] Remove FARboards/esp32: Refactor the different linker scripts and CODEdelete qualifiersold fromOpenOCD arch-specificconfig files.  
 * [#4187#3975](https://github.com/apache/incubator-nuttx/pull/#41873975) xtensa/esp32: Fix xtensa_btdump() to look at the exception frameRTC WDT deinitialization on start routine  
 * [#4556#3987](https://github.com/apache/incubator-nuttx/pull/#45563987) xtensa:backtracetools/esp32/backtrace.gdbscript: flushdon't to stack when in interruptmodify registers  
 * [#3939#4001](https://github.com/apache/incubator-nuttx/pull/#39394001) Fix xtensa xtensa/esp32: Support to select different clock source for RTC controller and close TODOs.  
 * [#4531#4073](https://github.com/apache/incubator-nuttx/pull/#45314073) xtensa/irq.hesp32: FixesFix theuart routine that clears the processor interrupt2 issue.  
 * [#4278#3800](https://github.com/apache/incubator-nuttx/pull/#42783800) arch/xtensa/commonesp32_emac.c: save sp before overwriting in level2/3/4 handler and typo fix  Call phy_enable_interrupt correctly.  
 * [#4311#4157](https://github.com/apache/incubator-nuttx/pull/#43114157) xtensa:coproc: fix XTENSA_CP_ALLSET error in some caseboards/esp32: Refactor the linker scripts into the common directory.  
 * [#3768#4249](https://github.com/apache/incubator-nuttx/pull/#37684249) xtensa/esp32-s2: FixesAdds namesGPIO ofboard architecturelogic serial functions  

#### ESP32to esp32s2-saola-1.  
 * [#3940#4471](https://github.com/apache/incubator-nuttx/pull/#39404471) xtensa/esp32: Support ESP32 RTC driver Wi-Fi board logic refactoring.  
 * [#4003#4497](https://github.com/apache/incubator-nuttx/pull/#40034497) xtensa/esp32_serial.c: Adds support for SERIAL_TXDMA.Don't fake an interrupt when interrupts are not suppressed.  
 * [#3912#3829](https://github.com/apache/incubator-nuttx/pull/#39123829) xtensa/esp32: Adds I2C polled support. Fixes support for UART HW flow control  
 * [#3803#3943](https://github.com/apache/incubator-nuttx/pull/#38033943) xtensa/esp32: AddAdds supportI2C toBit ESP32-S2banging andreset ESP32S2-SAOLA-1 Board
 * [#3824#3960](https://github.com/apache/incubator-nuttx/pull/#38243960) xtensa/esp32-s2: Add support for serial HW flow control.Refactor the text heap and add RTC memory to it   
 * [#4604#4646](https://github.com/apache/incubator-nuttx/pull/#4604) xtensa/esp32: Enable build system to download or build binaries from source 4646) Add example to use BLE and WiFi at same time  

## File System

### Bug Fixes 
 * [#3642#3653](https://github.com/apache/incubator-nuttx/pull/#36423653) xtensa/esp32: several uart fixesfs:cromf Use inttypes in printing macros  
 * [#3648#4573](https://github.com/apache/incubator-nuttx/pull/#36484573) tools/esp32/mk_qemu_img.shfs:procfs: Refactor the dd commands.add waiting_paging_fill state names  
 * [#4625#3745](https://github.com/apache/incubator-nuttx/pull/#46253745) esp32-c3/esp32-s2fs/vfs/fs_select.c: Fix the sequence of commands select() to setreturn theEINVAL alarmwhen valuenfds onis rtnegative timer.  
 * [#4610#3740](https://github.com/apache/incubator-nuttx/pull/#46103740) ESP32-S2fs/fat/fat32util.c: AddFix calculation supportof forcurrent bootingsector NuttXwith frominvalid MCUbootcl…  
 * [#3678#3724](https://github.com/apache/incubator-nuttx/pull/#36783724) xtensafs/esp32: Support auto-sleephostfs: fix bug about getting error file size by fstat  
 * [#4532#3785](https://github.com/apache/incubator-nuttx/pull/#4532) boards/esp32s2-saola-1: Add implementation for BOARDIOC_RESET interface3785) FAT32 fix skipping sectors at computing the number of free clusters  
 * [#4275#4171](https://github.com/apache/incubator-nuttx/pull/#42754171) xtensafs/esp32tmpfs: Keep trackHandle of the CPUtail where the interrupt was attached.  '/' correctly  
 * [#4295#4539](https://github.com/apache/incubator-nuttx/pull/#42954539) xtensavfs/esp32poll: Enablecorrect the bootreturn fromevent Espressif'sif portinode ofhas MCUbootclosed  
 * [#4315#3760](https://github.com/apache/incubator-nuttx/pull/#43153760) xtensa/esp32: Fix issues on RWDT Fix calculation of free clusters at mounting a fat partition  
 * [#4366#4012](https://github.com/apache/incubator-nuttx/pull/#43664012) xtensa/esp32fs: move Useout IRQnx_close tofrom enable/disablefilelock interrupts 
 * [#4427#3974](https://github.com/apache/incubator-nuttx/pull/#44273974) esp32/ttgo_lora_esp32fs/tmpfs: AddFix the supportmemory tocorruption SSD1306when OLED displayreallocate tmpfs_directory_s  
 * [#4388#3986](https://github.com/apache/incubator-nuttx/pull/#43883986) esp32fs: Re-organize the interrupt handling process to correctly handle the SMP casenfs: Reconnect to the NFS server in TCP mode  
 * [#4401#4031](https://github.com/apache/incubator-nuttx/pull/#44014031) xtensa/esp32-s2: Adds support to the timer driverfs/fs_dup2: (sanity check )correct check before calling dup  
 * [#4545#4033](https://github.com/apache/incubator-nuttx/pull/#45454033) esp32-wroverfs/procfs: Addadd supportStackAlloc tofield LCD1602for withtask I2Cstack Backpackinfo  
 * [#4587#4061](https://github.com/apache/incubator-nuttx/pull/#4587) xtensa/esp32-s2: Adds freerun timer wrapper4061) FAT32 kconfig entry to enforce computation of free clusters at mount  
 * [#4139#4079](https://github.com/apache/incubator-nuttx/pull/#41394079) xtensafs/esp32: Fixes termios issue.procfs: layout the output of meminfo correctly  
 * [#4586#4093](https://github.com/apache/incubator-nuttx/pull/#45864093) xtensa/esp32-s2fs: Adds oneshot device driver supportMove the default ioctl handle from nx_vioctl to file_vioctl  
 * [#4570#4097](https://github.com/apache/incubator-nuttx/pull/#45704097) esp32_spiflash.c: Correctly disable APP's CPU cache. fs: Remove the inernal st_count field from struct stat  
 * [#4509#4101](https://github.com/apache/incubator-nuttx/pull/#45094101) esp32fs: pseudorename Addshould initialcall supportinode_release toin Bluetooththe Lowerror Energypath  
 * [#4411#4118](https://github.com/apache/incubator-nuttx/pull/#44114118) esp32/softapfs: EnableSupport the WPA2root file by default to ask user passwordsystem attributes(mode, uid, gid and time)  
 * [#4412#4119](https://github.com/apache/incubator-nuttx/pull/#44124119) boards/esp32fs: Add basic support to TTGO-LoRa-SX1276-ESP32fstat shouldn't follow the symbol link  
 * [#4585#4121](https://github.com/apache/incubator-nuttx/pull/#45854121) xtensa/esp32-s2: Adds support to rt_timer and systimer to ESP32-S2.vfs: stat_recursive should return -ENOSYS if stat callback is NULL  
 * [#4170#4123](https://github.com/apache/incubator-nuttx/pull/#41704123) xtensa/esp32nuttx: Makelittlefs_close outputshould readablereturn andvalue rmvbugfix unnecessary var.  
 * [#4195#4153](https://github.com/apache/incubator-nuttx/pull/#41954153) esp32_allocateheap.cfs: RemoveAdd thefchstat amountand reservedchstat tocallback himem from the heap.  into mountpt_operations  
 * [#4232#4165](https://github.com/apache/incubator-nuttx/pull/#42324165) xtensa/esp32fs: Enableshould only configurationapply ofumask GPIOto pad'sthe driveuserspace strengthcaller  
 * [#4240#4174](https://github.com/apache/incubator-nuttx/pull/#42404174) xtensa/esp32: expose SPI2 as a char driver  Fix nfs and statfs  
 * [#4253#4193](https://github.com/apache/incubator-nuttx/pull/#42534193) xtensa/esp32: Enable the allocation of multiple SPI Flash partitionsfs: Change off_t and related types to int64_t if long long is supported  
 * [#4338#4224](https://github.com/apache/incubator-nuttx/pull/#43384224) tools/esp32/Config.mkfs/inode: Allowadd ESPTOOL_BINDIRsanity tocheck befor omittedinode whento flashingavoid thenullpointer board 
 * [#3938#4263](https://github.com/apache/incubator-nuttx/pull/#39384263) esp32&esp32c3/wififs: FixSave umask the issues of Wi-Fi configuration being overwrittento tls_task_s for non kernel mode only  
 * [#3969#4300](https://github.com/apache/incubator-nuttx/pull/#39694300) boards/esp32fs: Refactor the different linker scriptsAdd utimens and deletelutimens old OpenOCD config files.  
 * [#3975#4307](https://github.com/apache/incubator-nuttx/pull/#39754307) xtensafs/esp32userfs: FixSupport RTCfchstat WDTand deinitializationchstat oncallback start routine  
 * [#3987#4308](https://github.com/apache/incubator-nuttx/pull/#39874308) tools/esp32/backtrace.gdbscript: don't modify registersfs/unionfs: Support fchstat and chstat callback  
 * [#4001#4309](https://github.com/apache/incubator-nuttx/pull/#40014309) xtensafs/esp32nfs: Support to select different clock source for RTC controller fchstat and closechstat TODOs.callback  
 * [#4073#4330](https://github.com/apache/incubator-nuttx/pull/#40734330) xtensafs/esp32littlefs: Fix uart 2 issue. improve littlefs flash block erase balance performance  
 * [#3800#4332](https://github.com/apache/incubator-nuttx/pull/#38004332) arch/xtensa/esp32_emac.c: Call phy_enable_interrupt correctly.fs: Support 64bit in register_[block|mtd]partition  
 * [#4157#4333](https://github.com/apache/incubator-nuttx/pull/#41574333) boardsfs/esp32partition: RefactorSupport theBIOC_PARTINFO linker scripts into the common directory.  
 * [#4249#4321](https://github.com/apache/incubator-nuttx/pull/#42494321) xtensa/esp32-s2fs: AddsRemove GPIOendsector board logic to esp32s2-saola-1.from partition_info_s  
 * [#4471#3680](https://github.com/apache/incubator-nuttx/pull/#44713680) xtensafs/esp32: Wi-Fi board logic refactoring.eventfd: add EVENT_FD_POLL as a Kconfig dependency for EVENT_FD_NPOLLWAITERS  
 * [#4497#4514](https://github.com/apache/incubator-nuttx/pull/#44974514) esp32_serial.cfs/ioctl: Don't fake an interrupt when interrupts are not suppressed.  using FIOC_FILEPATH instead of FIOC_FILENAME  
 * [#3829#4511](https://github.com/apache/incubator-nuttx/pull/#38294511) xtensa/esp32: Fixes support for UART HW flow control inode_getpath: correct get path whether path buffer is clean or not.   
 * [#3943#4276](https://github.com/apache/incubator-nuttx/pull/#39434276) xtensa/esp32: Adds I2C Bit banging resetFix status register reading in ramtron_read()  
 * [#3960#4290](https://github.com/apache/incubator-nuttx/pull/#39604290) xtensacmd/esp32df: RefactorFix the text heap and add RTC memory to it  

#### TIVA

### **Minor Board Changes**

#### ARM  

#### CXD56  

#### Xtensa

## File System

### Bug Fixes abnormal output after off_t change  
 * [#4133](https://github.com/apache/incubator-nuttx/pull/4133) profs: Print StackAlloc by procfs_snprintf  

### Significant Improvements

## Networking

### Improvements 
 * [#4538](https://github.com/apache/incubator-nuttx/pull/#45384538) sys/socket/scm: add more socket message control helper 
 * [#4080](https://github.com/apache/incubator-nuttx/pull/#40804080) net/socket: add SO_SNDBUF support 
 * [#4116](https://github.com/apache/incubator-nuttx/pull/#41164116) net: Add file_socket function 
 * [#4135](https://github.com/apache/incubator-nuttx/pull/#41354135) net/rpmsg: add multi-iov support  
 * [#4179](https://github.com/apache/incubator-nuttx/pull/#41794179) Update socket rpmsg  
 * [#4355](https://github.com/apache/incubator-nuttx/pull/#43554355) net/rpmsg: add nonblock connect(2) support  
 * [#4356](https://github.com/apache/incubator-nuttx/pull/#43564356) net/local: add nonblock connect(2) support  
 * [#4357](https://github.com/apache/incubator-nuttx/pull/#43574357) net/tcp: add nonblock connect(2) support  
 * [#4070](https://github.com/apache/incubator-nuttx/pull/#40704070) net/tcp: add window scale support  
 * [#3926](https://github.com/apache/incubator-nuttx/pull/#39263926) net/inet: add support of FIONREAD  
 * [#3896](https://github.com/apache/incubator-nuttx/pull/#38963896) net/local: add local_nextconn() helper  
 * [#3961](https://github.com/apache/incubator-nuttx/pull/#39613961) net: Add if_nameindex and if_freenameindex API  
 * [#4069](https://github.com/apache/incubator-nuttx/pull/#40694069) net/socket: add SO_RCVBUF support  
 * [#4071](https://github.com/apache/incubator-nuttx/pull/#40714071) net/local: add AF_[UNIX|LOCAL] socketpair support  
 * [#4540](https://github.com/apache/incubator-nuttx/pull/#45404540) net/local: add FIONSPACE support  
 * [#4593](https://github.com/apache/incubator-nuttx/pull/#45934593) net/local: add socket message control support  

### Bug Fixes
 * [#4602](https://github.com/apache/incubator-nuttx/pull/#46024602) net/dup: only start tcp monitor on INET domain  
 * [#4649](https://github.com/apache/incubator-nuttx/pull/#46494649) net: always compile listen.c and accept.c when enable CONFIG_NET  
 * [#4603](https://github.com/apache/incubator-nuttx/pull/#46034603) [SECURITY]net/tcp: sanity check for the listen address  
 * [#4579](https://github.com/apache/incubator-nuttx/pull/#45794579) net/devif/devif_callback.c: made the connection event list doubly linked  
 * [#4433](https://github.com/apache/incubator-nuttx/pull/#44334433) net/devif/devif_callback.c: corrected the connection event list to work as FIFO instead of LIFO  
 * [#3776](https://github.com/apache/incubator-nuttx/pull/#37763776) net/dev: link the net device as order of registration  
 * [#3758](https://github.com/apache/incubator-nuttx/pull/#37583758) net/tcp/retransmit: recounter the ack counter during obtain newdata  
 * [#3723](https://github.com/apache/incubator-nuttx/pull/#37233723) net: Forward socket option only when the socket type is usrsock  
 * [#4480](https://github.com/apache/incubator-nuttx/pull/#44804480) net: utils: Remove critical section for SMP in net_lock.c  
 * [#3707](https://github.com/apache/incubator-nuttx/pull/#37073707) Fix NFS over TCP  
 * [#3818](https://github.com/apache/incubator-nuttx/pull/#38183818) tcp: recv window update improvement  
 * [#3655](https://github.com/apache/incubator-nuttx/pull/#36553655) Attempt to fix race condition reported in issue #3647  
 * [#3865](https://github.com/apache/incubator-nuttx/pull/#38653865) Fix tcp seq wrap around issues  
 * [#3889](https://github.com/apache/incubator-nuttx/pull/#38893889) net/dns:fix unaligned access in dns query  
 * [#3894](https://github.com/apache/incubator-nuttx/pull/#38943894) net/telnet: fix a potential busyloop if rxbuffer writes faster than read  
 * [#3934](https://github.com/apache/incubator-nuttx/pull/#39343934) net/local: Remove all HAVE_LOCAL_POLL reference  
 * [#3755](https://github.com/apache/incubator-nuttx/pull/#37553755) net/icmp: icmp bug fix and enhancement  
 * [#3993](https://github.com/apache/incubator-nuttx/pull/#39933993) tcp_reset: Don't copy the peer window  
 * [#3994](https://github.com/apache/incubator-nuttx/pull/#39943994) tcp: always responds to keep-alive segments  
 * [#3995](https://github.com/apache/incubator-nuttx/pull/#39953995) fix active close for CONFIG_NET_TCP_WRITE_BUFFERS  
 * [#3999](https://github.com/apache/incubator-nuttx/pull/#39993999) some follow-up patches for the recent tcp readahead  
 * [#4017](https://github.com/apache/incubator-nuttx/pull/#40174017) rpmsg_socket: fix rpmsg_socket_device_destroy() multi-access  
 * [#4022](https://github.com/apache/incubator-nuttx/pull/#40224022) tcp_close: Fix a race with passive close  
 * [#3966](https://github.com/apache/incubator-nuttx/pull/#39663966) net: Fix: left shift of 1 by 31 places cannot be represented in type long int  
 * [#3948](https://github.com/apache/incubator-nuttx/pull/#39483948) TCP: simplify readahead  
 * [#3114](https://github.com/apache/incubator-nuttx/pull/#31143114) usrsock/recv: guarantee all data is received before close  
 * [#3756](https://github.com/apache/incubator-nuttx/pull/#37563756) net/tcp: set/get TCP_KEEPINTVL/IDLE value as BSD style  
 * [#3895](https://github.com/apache/incubator-nuttx/pull/#38953895) net/accept: alloc the accept fd after accept success  
 * [#3937](https://github.com/apache/incubator-nuttx/pull/#39373937) dns_recv_response: Fix IPv6 address in an ninfo()  
 * [#4408](https://github.com/apache/incubator-nuttx/pull/#44084408) Fix up that local socket will be endless loop when write data size more than the fifo size.  
 * [#4517](https://github.com/apache/incubator-nuttx/pull/#45174517) rpmsg_socket: add prefix "rpmsg-socket" for the name of rpmsg endpoint  
 * [#4537](https://github.com/apache/incubator-nuttx/pull/#45374537) net/udp: fix buffer release handling on failed buffer alloc  
 * [#4120](https://github.com/apache/incubator-nuttx/pull/#41204120) net/tcp: tcp_sendfile need restore the file location at the end  
 * [#4134](https://github.com/apache/incubator-nuttx/pull/#41344134) net/tcp: only print the error when disable the TCP_NODELAY  
 * [#4142](https://github.com/apache/incubator-nuttx/pull/#41424142) tcp_send_buffered: throttle IOB allocations for send  
 * [#4159](https://github.com/apache/incubator-nuttx/pull/#41594159) tcp_send_buffered.c: Fix broken retransmit  
 * [#4126](https://github.com/apache/incubator-nuttx/pull/#41264126) include/netinet: Add missing IP_TTL definition  
 * [#4197](https://github.com/apache/incubator-nuttx/pull/#41974197) local/stream: remove preamble header in stream mode  
 * [#4273](https://github.com/apache/incubator-nuttx/pull/#42734273) tcp: some fixes in snd_wnd processing  
 * [#4293](https://github.com/apache/incubator-nuttx/pull/#42934293) tcp: make our sequence number a bit more monotonic  
 * [#4257](https://github.com/apache/incubator-nuttx/pull/4257) Fix a few deadlock in tcp/iob  
 * [#4480](https://github.com/apache/incubator-nuttx/pull/4480) net: utils: Remove critical section for SMP in net_lock.c  
         * [#3919](https://github.com/apache/incubator-nuttx/pull/3919) tcp iob throttling related fixes  
 
# Security Issues Fixed In This Release

# Compatibility Concerns

## Changes to Kconfig

The names of some Kconfig settings have been changed to improve the naming consistency. Here is the list:

| Old                | New                 |
|:------------------:| -----------------:  |
|LIB_BOARDCTL        |BOARDCTL             |
|LIB_CRC64_FAST      |LIBC_CRC64_FAST      |
|LIB_ENVPATH         |LIBC_ENVPATH         |
|LIB_HEX2BIN         |LIBC_HEX2BIN         |
|LIB_HOMEDIR         |LIBC_HOMEDIR         |
|LIB_HOSTNAME        |LIBC_HOSTNAME        |
|LIB_KBDCODEC        |LIBC_KBDCODEC        |
|LIB_RAND_ORDER      |LIBC_RAND_ORDER      |
|LIB_SLCDCODEC       |LIBC_SLCDCODEC       |
|LIB_USRWORK         |LIBC_USRWORK         |
|LIB_USRWORKPRIORITY |LIBC_USRWORKPRIORITY |
|LIB_USRWORKSTACKSIZE|LIBC_USRWORKSTACKSIZE|
|LIB_ZONEINFO        |LIBC_ZONEINFO        |
|LIB_ZONEINFO_ROMFS  |LIBC_ZONEINFO_ROMFS  |

When they appear in code, these identifiers begin with a `CONFIG_*` prefix (e.g., `CONFIG_LIB_BOARDCTL` is renamed to `CONFIG_BOARDCTL`).

All in-tree boards have been updated, but users who maintain their own out-of-tree boards will have to update all instances of these identifiers.

See PR-4266 https://github.com/apache/incubator-nuttx/pull/4266 and PR-4267 https://github.com/apache/incubator-nuttx/pull/4267 in the main NuttX repository.

See also PR-820 https://github.com/apache/incubator-nuttx-apps/pull/820 and PR-821 https://github.com/apache/incubator-nuttx-apps/pull/821 in the NuttX apps repository.

## Changes to MTD subsystem

MTDIOC_XIPBASE, MTDIOC_FLUSH and MTDIOC_PARTINFO is removed and replace with BIOC_XIPBASE, BIOC_FLUSH and BIOC_PARTINFO:

* Simplify the general driver(e.g. partition, flt) implementation
* Reduce the confusion with the same IOCTL in the different layer

See PR-4325 https://github.com/apache/incubator-nuttx/pull/4325

## Changes to Build System

### LD Now Called Through GCC

When building NuttX with GCC toolchains, the linker is now called through $(CROSSDEV)gcc rather than $(CROSSDEV)ld. This requires all linker options to be prefixed with `-Wl,` (dash, capital W, lower-case L, comma). All boards in the NuttX tree have been updated, but any custom out-of-tree boards will need to apply this change in the relevant parts of their build scripts.

The reason for this change is that GNU Binutils 2.36.x has added new error checking on command line arguments. This has had the effect that the NuttX build suddenly broke on host OS distributions that updated to the 2.36.x release line. Reports included Arch, Manjaro, and Ubuntu. Other host OSes are likely to be affected as well.

#### Symptoms

Your toolchain and board are affected if you see errors from LD like:

```
arm-none-eabi-ld: Error: unable to disambiguate: -nostartfiles (did you mean --nostartfiles ?)
```

or (following this change in NuttX) errors from GCC like:

```
arm-none-eabi-gcc: error: unrecognized command line option '--gc-sections'; did you mean '--data-sections'?
```

#### What to change

The most common change expected to affect most boards:

Change:

```
NXFLATLDFLAGS1 = -r -d -warn-common
NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-pcrel.ld -no-check-sections
```

to:

```
NXFLATLDFLAGS1 = -r -Wl,-d -Wl,-warn-common
NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-pcrel.ld -Wl,-no-check-sections
```

If doing a kernel build, you may need changes in your board's `kernel/Makefile` like:

Change:

```
USER_LDFLAGS = --undefined=$(ENTRYPT) --entry=$(ENTRYPT) $(USER_LDSCRIPT)
```

to:

```
USER_LDFLAGS = -Wl,--undefined=$(ENTRYPT) -Wl,--entry=$(ENTRYPT) $(USER_LDSCRIPT) -nostartfiles -nodefaultlibs
```

Change:
 
```
$(Q) $(LD) -o $@ $(USER_LDFLAGS) $(USER_LIBPATHS) $(OBJS) --start-group $(USER_LDLIBS) --end-group $(USER_LIBGCC)
```

to:

```
$(Q) $(LD) -o $@ $(USER_LDFLAGS) $(USER_LIBPATHS) $(OBJS) -Wl,--start-group $(USER_LDLIBS) -Wl,--end-group $(USER_LIBGCC)
```

Depending on your board's customized build scripts, you may need to look out for other `make` variables in your board's `Makefile` or `Make.defs`.

Some variables to look for:

- `ARCHSCRIPT`
- `ARCH_LIBS`
- `CCLINKFLAGS`
- `EXTRALINKCMDS`
- `LDELFFLAGS`
- `LDENDGROUP`
- `LDFLAGS`
- `LDLINKFLAGS`
- `LDMODULEFLAGS`
- `LDSTARTGROUP`
- `NXFLATLDFLAGS1`
- `NXFLATLDFLAGS2`
- `USER_LDFLAGS`

Anything that executes LD, such as:

```
$(Q) $(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) $(EXTRA_LIBPATHS) \
```

Anything that processes LD flags, such as:

```
$(LIBPATHS) "-(" $(LDLIBS) "-)" $(LDFLAGS) -Map="$(TOPDIR)$(DELIM)nuttx.map"
```

In general, any command line options destined for LD must be prefixed with `-Wl,` (dash, capital W, lower-case L, comma) since they are now being passed through GCC.

#### Examples

Change:

```
EXTRALINKCMDS += @$(TOPDIR)/syscall/syscall_wraps.ldcmd
```

to:

```
EXTRALINKCMDS += -Wl,@$(TOPDIR)/syscall/syscall_wraps.ldcmd
```

Change:

```
LDFLAGS += -gc-sections
```

to:

```
LDFLAGS += -Wl,-gc-sections
```

Change:

```
$(LIBPATHS) "-(" $(LDLIBS) "-)" $(LDFLAGS) -Map="$(TOPDIR)$(DELIM)nuttx.map"
```

to:

```
$(LIBPATHS) "-(" $(LDLIBS) "-)" $(LDFLAGS) -Wl,-Map="$(TOPDIR)$(DELIM)nuttx.map"
```

Change:

```
NXFLATLDFLAGS1 = -r -d -warn-common
```

to:

```
NXFLATLDFLAGS1 = -r -Wl,-d -Wl,-warn-common
```

Change:

```
ifeq ($(CONFIG_CYGWIN_WINTOOL),y)
  LDFLAGS += -Map="${shell cygpath -w $(TOPDIR)/nuttx.map}" --cref
else
  LDFLAGS += -Map=$(TOPDIR)/nuttx.map --cref
endif
```

to:

```
ifeq ($(CONFIG_CYGWIN_WINTOOL),y)
  LDFLAGS += -Wl,-Map="${shell cygpath -w $(TOPDIR)/nuttx.map}" -Wl,--cref
else
  LDFLAGS += -Wl,-Map=$(TOPDIR)/nuttx.map -Wl,--cref
endif
```

Also, if you have assigned the LD variable, it would need to change as well:

Change:

```
LD = $(CROSSDEV)ld
```

to:

```
LD = $(CROSSDEV)gcc
```

#### References

* Git commit # 45672c269db13f59bdaa417e564837e8bbb6c8c1 in the NuttX main repository:
  - https://github.com/apache/incubator-nuttx/commit/45672c269db13f59bdaa417e564837e8bbb6c8c1
* PR-3836 in the NuttX main repository:
  - https://github.com/apache/incubator-nuttx/pull/3836
* Issues 3209 and 3826 in the NuttX issue tracker:
  - https://github.com/apache/incubator-nuttx/issues/3209
  - https://github.com/apache/incubator-nuttx/issues/3826
* Description of the change on Binutils mailing list:
  - https://sourceware.org/pipermail/binutils/2021-June/116826.html
* Description of -Wl,option in the GCC manual:
  - https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html


...