# What's New In This Release
## Highlights
* Feature 1
* Feature 2
* Feature 3
## Major Changes to Core OS
### New Features
* [#3708](https://github.com/apache/incubator-nuttx/pull/#37083708) openamp: Update to 2020.10.0 official release
* [#3709](https://github.com/apache/incubator-nuttx/pull/#37093709) Update libcxx to 12.0.0 release
* [#3674](https://github.com/apache/incubator-nuttx/pull/#36743674) libc/termios: Implement TCSADRAIN and TCSAFLUSH for tcsetattr
* [#4595](https://github.com/apache/incubator-nuttx/pull/#45954595) libc/misc: add lib_glob
* [#4594](https://github.com/apache/incubator-nuttx/pull/#45944594) libc/string: add lib_strchrnul
* [#3672](https://github.com/apache/incubator-nuttx/pull/#36723672) include/spawn.h: Add POSIX_SPAWN_SETSID definition
* [#4265](https://github.com/apache/incubator-nuttx/pull/#42654265) libc: Support message catalog function
* [#3102](https://github.com/apache/incubator-nuttx/pull/#31023102) mm/iob: add iob_free_queue() interface
* [#3893](https://github.com/apache/incubator-nuttx/pull/#38933893) libs/libc/netdb: add dns clear interface
* [#3959](https://github.com/apache/incubator-nuttx/pull/#39593959) libc/time: Implement timegm function
* [#3963](https://github.com/apache/incubator-nuttx/pull/#39633963) libc/sched: Implement nice API
* [#3977](https://github.com/apache/incubator-nuttx/pull/#39773977) sched: Add kthread_create_with_stack
* [#4016](https://github.com/apache/incubator-nuttx/pull/#40164016) Add heap & stack check to idle thread
* [#4114](https://github.com/apache/incubator-nuttx/pull/#41144114) libc/math: Add fmax and fmin functions
* [#4130](https://github.com/apache/incubator-nuttx/pull/#41304130) sys/poll: add POLLRDHUP definition
* [#4262](https://github.com/apache/incubator-nuttx/pull/#42624262) libc: Add the empty nl_langinfo implementation
* [#4272](https://github.com/apache/incubator-nuttx/pull/#42724272) libc: Implement gettext function
* [#4432](https://github.com/apache/incubator-nuttx/pull/#44324432) libc:machine: add atomic_load/store/exchange API
* [#4438](https://github.com/apache/incubator-nuttx/pull/#44384438) uClibcxx: add weak attribute for new/del ops
* [#3681](https://github.com/apache/incubator-nuttx/pull/#36813681) libc: Implement openpty function
* [#4363](https://github.com/apache/incubator-nuttx/pull/#43634363) sched/backtrace: add sched_backtrace support
* [#4374](https://github.com/apache/incubator-nuttx/pull/#43744374) libxx: add new low level c++ standard library support
* [#4425](https://github.com/apache/incubator-nuttx/pull/#44254425) libc: add common machine atomic operation
* [#3687](https://github.com/apache/incubator-nuttx/pull/#36873687) libc/pwd: Add NSS_BUFLEN_PASSWD macro
### Bug Fixes
* [#4615#3970](https://github.com/apache/incubator-nuttx/pull/#46153970) sched/signallibc: CorrectImplement fesetround kill& withfegetround cancellationfor arm
* [#4619#4104](https://github.com/apache/incubator-nuttx/pull/#46194104) sched/clock: Fixadd CPUnsec affinityrange issuescheck in SMPclock_settime
* [#3626#4518](https://github.com/apache/incubator-nuttx/pull/#36264518) libcgetaddrinfo: Movesupport pthreadAF_LOCAL stuff to userspaceand AF_RPMSG
* [#3673#4595](https://github.com/apache/incubator-nuttx/pull/#36734595) libc/ptymisc: Makeadd ptsname[lib_r]glob support PSEUDOTERM_BSD config too
* [#4599#3985](https://github.com/apache/incubator-nuttx/pull/#45993985) sched:tcb_s:rearrange sched_priority/int_priority to word alignmmap: Implement the minial but reasonable mlock/munlock/mprotect
* [#3747#4065](https://github.com/apache/incubator-nuttx/pull/#37474065) mm:initialize ensure alignment. Add kmm_malloc_size and mm_malloc_size
* [#3962#4096](https://github.com/apache/incubator-nuttx/pull/#39624096) sched/task/task_spawn.cmm: initializeSimplify the variablessemaphore explicitlyhandling
* [#3916#4100](https://github.com/apache/incubator-nuttx/pull/#39164100) sched/posix_spawn: Don't insert name at the begin of argv Implement utime and futimes
### Bug Fixes
* [#3858#4615](https://github.com/apache/incubator-nuttx/pull/#38584615) tlssched/signal: MoveCorrect pthreadkill keywith destructorcancellation to libc
* [#3719#4619](https://github.com/apache/incubator-nuttx/pull/#37194619) group/group_signalsched: cancelFix dispatchCPU signalaffinity whenissues child process doesn't exist in SMP
* [#4453#3626](https://github.com/apache/incubator-nuttx/pull/#44533626) libs/libxxlibc: EnforceMove RTTIpthread forstuff buildingto libcxxabiuserspace
* [#4450#3673](https://github.com/apache/incubator-nuttx/pull/#44503673) libxx:uClibc++libc/pty: disableMake new_handler.cpp when use libsupc++ptsname[_r] support PSEUDOTERM_BSD config too
* [#4456#4599](https://github.com/apache/incubator-nuttx/pull/#44564599) libc/gettext: Initialize path field when creating mofile struct.sched:tcb_s:rearrange sched_priority/int_priority to word align
* [#4466#3747](https://github.com/apache/incubator-nuttx/pull/#44663747) sched/wdog/wd_start.c: prevent accessing watch-dog lag if head is NULL
* [#4499mm:initialize ensure alignment.
* [#3962](https://github.com/apache/incubator-nuttx/pull/#44993962) uClibc++:remove typeinfo.cpp that confict with libsupc++sched/task/task_spawn.c: initialize variables explicitly
* [#3698#3916](https://github.com/apache/incubator-nuttx/pull/#36983916) sched/taskposix_spawn: SimplifyDon't insert name at the syscallbegin handling of task_spawnargv
* [#3813#3858](https://github.com/apache/incubator-nuttx/pull/#38133858) syscall/syscall.csvtls: Correct ordering of entriesMove pthread key destructor to libc
* [#4020#3719](https://github.com/apache/incubator-nuttx/pull/#4020) SMP should depends on ARCH_INTERRUPTSTACK3719) group/group_signal: cancel dispatch signal when child process doesn't exist
* [#3957#4453](https://github.com/apache/incubator-nuttx/pull/#39574453) schedlibs/wdoglibxx: RemoveEnforce flagsRTTI fieldfor from wdog_s to save memorybuilding libcxxabi
* [#3967#4450](https://github.com/apache/incubator-nuttx/pull/#39674450) libc/dirnamelibxx:uClibc++: Handle the consecutive '/' correctlydisable new_handler.cpp when use libsupc++
* [#4018#4456](https://github.com/apache/incubator-nuttx/pull/#40184456) libs/libc/spawngettext: Initialize path fix posix_spawn_file_actions_adddup2 alloc size errorfield when creating mofile struct.
* [#4009#4466](https://github.com/apache/incubator-nuttx/pull/#40094466) Move aligned_alloc, posix_memalign and valloc from mm/umm to libs/libc/stdlibsched/wdog/wd_start.c: prevent accessing watch-dog lag if head is NULL
* [#4021#4499](https://github.com/apache/incubator-nuttx/pull/#40214499) sched/waitpid: handle waitpid waitting tcb->group is NULLuClibc++:remove typeinfo.cpp that confict with libsupc++
* [#4026#3698](https://github.com/apache/incubator-nuttx/pull/#40263698) sched/idletask: disableSimplify schedthe whensyscall idlehandling callof nxtask_bringupspawn
* [#4035#3813](https://github.com/apache/incubator-nuttx/pull/#40353813) work_queuesyscall/syscall.csv: scheduleCorrect theordering workof queueentries using the timer mechanism
* [#4048
* [#4020](https://github.com/apache/incubator-nuttx/pull/#40484020) libc:SMP Move pthread_key_destructor to task_info_s should depends on ARCH_INTERRUPTSTACK
* [#4057#3957](https://github.com/apache/incubator-nuttx/pull/#40573957) libssched/wdog: libnx:Remove nxfonts:flags Fixfield prefixfrom ofwdog_s generatedto fontssave datamemory
* [#4109#3967](https://github.com/apache/incubator-nuttx/pull/#41093967) libc/dirname: Handle Implementthe ttynameconsecutive and ttyname_r'/' correctly
* [#4115#4018](https://github.com/apache/incubator-nuttx/pull/#41154018) libs/libc/mathspawn: Fix calculation error of log functionfix posix_spawn_file_actions_adddup2 alloc size error
* [#4124#4009](https://github.com/apache/incubator-nuttx/pull/#4124) add #undef for some libc function 4009) Move aligned_alloc, posix_memalign and valloc from mm/umm to libs/libc/stdlib
* [#4125#4021](https://github.com/apache/incubator-nuttx/pull/#41254021) libcsched/sysconfwaitpid: Addhandle MONOTONIC_CLOCKwaitpid forwaitting consistencytcb->group is NULL
* [#4127#4026](https://github.com/apache/incubator-nuttx/pull/#41274026) libcsched/idle: Increasedisable thesched functionwhen ofidle crc8 to use custom polynomials call nx_bringup
* [#4160#4035](https://github.com/apache/incubator-nuttx/pull/#41604035) group/childwork_status: Dynamically expand group child_statusqueue: schedule the work queue using the timer mechanism
* [#4183#4048](https://github.com/apache/incubator-nuttx/pull/#41834048) sched/tasklibc: Fix wrong return value from nxspawn_open()Move pthread_key_destructor to task_info_s
* [#4226#4057](https://github.com/apache/incubator-nuttx/pull/#42264057) sysloglibs: reslovelibnx: crashnxfonts: becauseFix vmov.i32prefix instructionof isgenerated notfonts readydata
* [#4246#4109](https://github.com/apache/incubator-nuttx/pull/#42464109) libc/pthread_barrierattr_destory.c: DestroyImplement shouldn'tttyname reinitialize the attributesand ttyname_r
* [#4270#4115](https://github.com/apache/incubator-nuttx/pull/#42704115) tzsetlibc/math: avoidFix takingcalculation semaphoreerror inof interruptlog forfunction non-kernel mode
* [#4413#4124](https://github.com/apache/incubator-nuttx/pull/#44134124) sched/wdog: fix switch_context caused error in wd_start()add #undef for some libc function
* [#3703#4125](https://github.com/apache/incubator-nuttx/pull/#37034125) schedlibc/spawnsysconf: SupportAdd theMONOTONIC_CLOCK stackfor addressconsistency argument
* [#4287#4127](https://github.com/apache/incubator-nuttx/pull/#42874127) signallibc: Allow SIG_EVTHREAD selectable in protected mode Increase the function of crc8 to use custom polynomials
* [#4296#4160](https://github.com/apache/incubator-nuttx/pull/#42964160) schedgroup/child_status: FixDynamically crashexpand on early syslog message with prepended process name group child_status
* [#4368#4183](https://github.com/apache/incubator-nuttx/pull/#43684183) libs/libxx/uClibc++.defs: Download the correct file type.sched/task: Fix wrong return value from nxspawn_open()
* [#4369#4226](https://github.com/apache/incubator-nuttx/pull/#43694226) libs/libxxsyslog: Downloadreslove C++crash librariesbecause during contextvmov.i32 instruction
is not ready
* [#4382#4246](https://github.com/apache/incubator-nuttx/pull/#43824246) sched/backtracelibc/pthread_barrierattr_destory.c: simplifyDestroy theshouldn't assignreinitialize of tcb in case of negative pidthe attributes
* [#4377#4270](https://github.com/apache/incubator-nuttx/pull/#43774270) task_spawntzset: release g_spawn_parmsem and sched_unlock at the ending
## Major Changes to the Build System
### New Features
* [#4525avoid taking semaphore in interrupt for non-kernel mode
* [#4413](https://github.com/apache/incubator-nuttx/pull/#45254413) mkromfsimgsched/wdog: Addfix optionalswitch_context rcScaused fileerror pathin
### Bug Fixes
wd_start()
* [#4418#3703](https://github.com/apache/incubator-nuttx/pull/#44183703) compiler.h: add __builtin_offsetof instead of offsetof
sched/spawn: Support the stack address argument
* [#3815#4287](https://github.com/apache/incubator-nuttx/pull/#38154287) tools/mksyscallsignal: FixAllow buildSIG_EVTHREAD breakselectable ofin syscallprotected instrumentationmode wrapper
* [#4461#4296](https://github.com/apache/incubator-nuttx/pull/#44614296) tools/ci: Minor improvements to CI build scriptsched: Fix crash on early syslog message with prepended process name
* [#4492#4368](https://github.com/apache/incubator-nuttx/pull/#44924368) tools/nxstylelibs/libxx/uClibc++.defs: FixDownload the checkcorrect tool incorrectly reported no alignmentfile type.
* [#4491#4369](https://github.com/apache/incubator-nuttx/pull/#44914369) checkpatch.shlibs/libxx: addDownload checkC++ gerritlibraries Change-Id supportduring context.
* [#3716#4382](https://github.com/apache/incubator-nuttx/pull/#37164382) toolssched/backtrace: simplify Addthe aassign bashof completiontcb scriptin forcase theof configurenegative toolpid
* [#3710#4377](https://github.com/apache/incubator-nuttx/pull/#37104377) tools/citask_spawn: Rename sim0x.dat to sim-0x.dat to align with arm-xx.dat
release g_spawn_parmsem and sched_unlock at the ending
* [#4455#4068](https://github.com/apache/incubator-nuttx/pull/#44554068) makefilemm: let clean_context in distclean command
## Architectural Support
### New Architecture
### Architectures with significant improvements
#### ARM
* [#4522Remove mm_heap_impl_s struct
* [#4247](https://github.com/apache/incubator-nuttx/pull/#45224247) arch/arm: Add ARCH_CORTEXM55 Kconfig for cortex-m55Redirect _l function to non-locale version
* [#3759#4380](https://github.com/apache/incubator-nuttx/pull/#37594380) arm/v7-a/fpu: add VFP-v3 D32 support som byteorder modification
* [#4536#4283](https://github.com/apache/incubator-nuttx/pull/#45364283) archlibc/armgettext: correct the function name from arm_getsp()Change g_domain to up_getsp()array
* [#4410#4512](https://github.com/apache/incubator-nuttx/pull/#44104512) arch/arm/assertlib_vsprintf: enhanceAdd the%pV assertformat dumpsupport
* [#4409#4513](https://github.com/apache/incubator-nuttx/pull/#44094513) archlibc/arm/cortex-mrexec/rexec_af: add up_backtrace supportsupport remote command execution
* [#4405#4516](https://github.com/apache/incubator-nuttx/pull/#44054516) arch/armv7: add up_backtrace support based on frame pointerlib_fread: return the number of bytes actually read when error occurs.
* [#4385#4520](https://github.com/apache/incubator-nuttx/pull/#43854520) arch/armv8-mdebug: Updateallow percustomize theEXTRA_FMT latest architecture reference manual
* [#4354#3978](https://github.com/apache/incubator-nuttx/pull/#43543978) arch/arm: correctDecouple the initialization of the frame pointer register declareseparate heaps from the TEXT_HEAP option.
* [#4205#4029](https://github.com/apache/incubator-nuttx/pull/#42054029) arm: add up_secure_irq supportmm: fix memory corruption when loop create/exit thread in SMP mode
* [#4176#4055](https://github.com/apache/incubator-nuttx/pull/#41764055) ARMmm: fixMove CPSRthe corruption after exception handlingreal implementation of mm_sbrk to sbrk
* [#4094#4030](https://github.com/apache/incubator-nuttx/pull/#40944030) arch/armv7-a: Remove the special SMP SGI process Fix procfs memory corruption when meet long string, add thread run time to procfs
* [#4451#4043](https://github.com/apache/incubator-nuttx/pull/#44514043) archselect: Replacefix ar,asan nm and ld with gcc-ar, gcc-nm and gcc report error
* [#4343#4519](https://github.com/apache/incubator-nuttx/pull/#43434519) arch/armv8-m: Add SAU supporterrno: use staic errno to replace tl_errno before tls initialization
* [#4341#3992](https://github.com/apache/incubator-nuttx/pull/#43413992) arch/arm: Add NVIC_FPCCR_XXX macro to avoid the hard code value Refine tls_info_s and task_info_s
* [#4279#4019](https://github.com/apache/incubator-nuttx/pull/#42794019) arch/cortex-m: replace arm_switchcontext to c-style Fix asan report error
* [#4106#4053](https://github.com/apache/incubator-nuttx/pull/#41064053) arm/setjmp.h:add c++ supportmm: Move procfs_register_meminfo into common place
* [#4013#4054](https://github.com/apache/incubator-nuttx/pull/#40134054) armmm: Call memalign fixin enablemalloc interruptif tooARCH_ADDRENV earlierand causedBUILD_KERNEL systemare crashdefined
* [#4483#4454](https://github.com/apache/incubator-nuttx/pull/#4483) Fix compilation of arm protected build4454) user/trap: Set MQ_MAXMSGSIZE to 64 to get NX working
* [#3879#3725](https://github.com/apache/incubator-nuttx/pull/#38793725) archcmd/free: Rename xxx_getsp to up_getsp
#### CXD56XXadd nused/nfree field in command free
* [#4557#3753](https://github.com/apache/incubator-nuttx/pull/#45573753) archlibelf: fix cxd56xx"nsh: Replace the critical section with spinlock in cxd56_serial.cnsh_session: readline failed: 13" error
* [#3743#3767](https://github.com/apache/incubator-nuttx/pull/#37433767) archbinfmt: arm:Move cxd56xx:argv Updatecopy cxd56xxinto driversexec_module
* [#3845#3764](https://github.com/apache/incubator-nuttx/pull/#38453764) Fixbinfmt: spresenseRename withdump_module elfto binfmt_dumpmodule
#### LPC17XX_40XX
* [#4072#4064](https://github.com/apache/incubator-nuttx/pull/#40724064) lpc17xxbinfmt: Added WDT driver. Replace all nx_ API with file_ API
* [#4316#3928](https://github.com/apache/incubator-nuttx/pull/#43163928) lpc17_40: Fixed I2C port sanity check.binfmt: Handle argv/argv[0] == NULL correctly in exec_module
* [#4148#3867](https://github.com/apache/incubator-nuttx/pull/#41483867) lpc17_40TLS: styleCorrect handling fixof inreturned WDTerror definitionsvalues.
* [#4107#4185](https://github.com/apache/incubator-nuttx/pull/#41074185) lpc17iob_40trimhead: Fixedfix progmeman driver.integer truncation
#### STM32
* [#3761#4117](https://github.com/apache/incubator-nuttx/pull/#37614117) ET-STM32 Stamp: An STM32F103RET6 target for NuttX Dynamically extend Pidhash table
* [#4350#4186](https://github.com/apache/incubator-nuttx/pull/#43504186) arch/arm/src/stm32l4/Kconfig: add new STM32L4+ chip types libc: Implement times function
* [#4310#3908](https://github.com/apache/incubator-nuttx/pull/#43103908) arch/stm32: improvements for qencoder crypto/random_pool.c: Correct indexing on void pointer
* [#3752#3817](https://github.com/apache/incubator-nuttx/pull/#37523817) Use inttypes stm32fx i2c audio: various fixes
## Major Changes to the Build System
### New Features
* [#4090#4525](https://github.com/apache/incubator-nuttx/pull/#40904525) STM32G43XX Analog Comparatormkromfsimg: Add optional rcS file path
* [#3942#4491](https://github.com/apache/incubator-nuttx/pull/#39424491) checkpatch.sh: Changedadd thecheck STM32gerrit AnalogChange-Id Comparatorsupport driver.
* [#3729#3716](https://github.com/apache/incubator-nuttx/pull/#37293716) stm32 timerstools: PreferAdd GTIMa macrosbash andcompletion makescript thisfor usethe moreconfigure uniform.tool
#### STM32L4
* [#3668#3819](https://github.com/apache/incubator-nuttx/pull/#36683819) arch/arm/src/stm32l4/hardware/stm32l4xrxxdocker/linux: pinmapAdd alternativeESP32-S2 functiontoolchain for SPI2 and binaries.
* [#4468#4203](https://github.com/apache/incubator-nuttx/pull/#44684203) arch/arm/src/stm32l4tools: fix STM32L4+ option bytes memory addressAdd armv7-a support to nuttx-gdbinit
* [#4501#3705](https://github.com/apache/incubator-nuttx/pull/#45013705) arch/arm/src/stm32l4docker: add controlninja-build for Vddio2 independent I/Os supply valid
### Bug Fixes
* [#4469#4418](https://github.com/apache/incubator-nuttx/pull/#44694418) arch/arm/src/stm32l4/stm32l4_flash.ccompiler.h: fixadd FLASH__CONFIGbuiltin_Ioffsetof toinstead use dual-bank access
#### STM32L5
#### S32K1XXof offsetof
* [#3850#3815](https://github.com/apache/incubator-nuttx/pull/#3850) UCANS32K146 add support for B revision3815) tools/mksyscall: Fix build break of syscall instrumentation wrapper
* [#4493#4461](https://github.com/apache/incubator-nuttx/pull/#44934461) tools/ci: FixMinor errorimprovements in s32k118_pinmux.hto CI build script
* [#3795#4492](https://github.com/apache/incubator-nuttx/pull/#37954492) S32K1XX LSPI Double word up to 64 bits support
#### IMX6tools/nxstyle: Fix the check tool incorrectly reported no alignment.
* [#3777#3710](https://github.com/apache/incubator-nuttx/pull/#37773710) archtools/ci: imx6: Add termios supportRename sim0x.dat to sim-0x.dat to imx6align
#### IMXRTwith arm-xx.dat
* [#3988#4455](https://github.com/apache/incubator-nuttx/pull/#39884455) arch/arm/src/imxrt/imxrt_flexpwm.cmakefile: fixlet mistakeclean_context in submodulesdistclean addresscommand offset
* [#4431#4423](https://github.com/apache/incubator-nuttx/pull/#44314423) i.MX RTboard: ChangesEnable toCONFIG_LIBCXXABI FlexCANwhen driverCONFIG_LIBCXX and Teensy 4.x CAN configurationis enabled
* [#4285#4196](https://github.com/apache/incubator-nuttx/pull/#42854196) arch/arm/src/imxrt/imxrt_flexpwm.ctools: SetFix LDOKnuttx-gdbinit bits after
## all channels are set
Architectural Support
### New Architecture
#### MIPS
##### PIC32
* [#4138#4252](https://github.com/apache/incubator-nuttx/pull/#41384252) i.MX RTpic32mz: added support for Tickless OS PIC32MZ2048EFG MCU
### Architectures with significant improvements
#### RP2040 ARM
* [#4049#4522](https://github.com/apache/incubator-nuttx/pull/#40494522) Raspipico smp arch/arm: Add ARCH_CORTEXM55 Kconfig for cortex-m55
* [#4251#3759](https://github.com/apache/incubator-nuttx/pull/#42513759) raspberrypi-picoarm/v7-a/fpu: add supportVFP-v3 forD32 lcd_devsupport
#### RTL8720C
* [#4076#4536](https://github.com/apache/incubator-nuttx/pull/#40764536) AmebaZ2: Add soc src code
#### NRF52
#### STM32H7/STM32F7arch/arm: correct the function name from arm_getsp() to up_getsp()
* [#4331#4410](https://github.com/apache/incubator-nuttx/pull/#43314410) arch/arm/stm32h7assert: dmaenhance andthe serial:assert adddump TRBUFF flag.
* [#4441#4409](https://github.com/apache/incubator-nuttx/pull/#44414409) arch/arm/stm32f7/stm32_irqcortex-m: Fixadd formatup_backtrace stringssupport
* [#4098#4405](https://github.com/apache/incubator-nuttx/pull/#40984405) stm32h7 Ethernet arch/armv7: add yieldup_backtrace andsupport timeoutbased toon notframe hog CPUpointer
* [#3730#4385](https://github.com/apache/incubator-nuttx/pull/#37304385) stm32h7 rccarch/armv8-m: SyncUpdate h7x7xxper andthe h7x3xx.latest Changesarchitecture are relevant to bothreference manual
* [#3892#4354](https://github.com/apache/incubator-nuttx/pull/#38924354) arch/arm/src/stm32h7: qspicorrect usethe indirectframe writepointer insteadregister of indirectdeclare read
* [#3728#4205](https://github.com/apache/incubator-nuttx/pull/#37284205) stm32f7arm: Remove references to BOARD_ENABLE_USBOTG_HSULPI.add up_secure_irq support
* [#3731#4176](https://github.com/apache/incubator-nuttx/pull/#37314176) stm32/stm32f7 ticklessARM: Fix up_timer_getmask to be correct for the width of the timer.fix CPSR corruption after exception handling
* [#3976#4094](https://github.com/apache/incubator-nuttx/pull/#39764094) STM32F7 SDMMC fixesarch/armv7-a: Remove the special SMP SGI process
* [#3924#4451](https://github.com/apache/incubator-nuttx/pull/#39244451) stm32h7arch: fixReplace forar, adcnm toand handleld overrun and the DR's fifo
#### Renesaswith gcc-ar, gcc-nm and gcc
* [#4230#4343](https://github.com/apache/incubator-nuttx/pull/#42304343) renesasarch/rx65narmv8-m: addAdd longSAU typesupport for all PRI*PTR
#### RX65N
#### Risc-V
* [#3770#4341](https://github.com/apache/incubator-nuttx/pull/#37704341) arch/arm: Add support for PolarFire SoC and icicle board NVIC_FPCCR_XXX macro to avoid the hard code value
* [#3997#4279](https://github.com/apache/incubator-nuttx/pull/#39974279) risc-v/bl602arch/cortex-m: updatereplace wifiarm_switchcontext firmwareto versionc-style
* [#4381#4106](https://github.com/apache/incubator-nuttx/pull/#43814106) arch/riscv/assert: enhance the assert dump arm/setjmp.h:add c++ support
* [#4367#4013](https://github.com/apache/incubator-nuttx/pull/#43674013) riscv/backtracearm: add up_backtrace supportfix enable interrupt too earlier caused system crash
* [#4365#4483](https://github.com/apache/incubator-nuttx/pull/#43654483) riscv/common: add CURRENT_REGS declare in RV32Fix compilation of arm protected build
* [#4342#3879](https://github.com/apache/incubator-nuttx/pull/#43423879) riscv/bl602arch: FixRename thatxxx_getsp APto cannotup_getsp be start when STA have been started.
* [#4335#4227](https://github.com/apache/incubator-nuttx/pull/#4335) arch/bl602:Add bl602 os adapter layer4227) pwm: add option to break the loops when using multiple PWM channels
* [#4145#4261](https://github.com/apache/incubator-nuttx/pull/#4145) risc-v/bl602: update wifi firmware and some fixup. 4261) EXC_SECURE and SECURE_STACK just can clear at TRUSTZONE_NONSECURE
#### CXD56XX
* [#3849#4557](https://github.com/apache/incubator-nuttx/pull/#38494557) risc-v/mpfsarch: cxd56xx: irq fixes, more register defines and up_systemreset() Replace the critical section with spinlock in cxd56_serial.c
* [#3984#3743](https://github.com/apache/incubator-nuttx/pull/#39843743) risc-v/bl602arch: Supportarm: APcxd56xx: andUpdate STAcxd56xx asdrivers independent network interface device
* [#3913#3845](https://github.com/apache/incubator-nuttx/pull/#39133845) arch: k210: Fix stackspresense coloringwith forelf the idle thread stack
#### LPC17XX_40XX
* [#3757#4072](https://github.com/apache/incubator-nuttx/pull/#37574072) riscvlpc17xx: AddAdded inlineWDT IRQdriver. process functions
* [#4041#4316](https://github.com/apache/incubator-nuttx/pull/#40414316) risc-v/bl602lpc17_40: addFixed efuseI2C driverport sanity
#### RV64
#### ESP32C3check.
* [#3853#4148](https://github.com/apache/incubator-nuttx/pull/#38534148) arch/risc-v/esp32c3lpc17_40: addstyle esp32c3_modtextfix toin allowWDT ELFdefinitions. loading
#### BL602
* [#3784#4107](https://github.com/apache/incubator-nuttx/pull/#37844107) risc-v/bl602lpc17_40: AddFixed RTCprogmem driver.
#### STM32
* [#4607#3761](https://github.com/apache/incubator-nuttx/pull/#46073761) Open ble controller adaptation code
#### XtensaET-STM32 Stamp: An STM32F103RET6 target for NuttX
* [#4280#4350](https://github.com/apache/incubator-nuttx/pull/#42804350) arch:xtensa/arm/src/stm32l4/Kconfig: add new GNUSTM32L4+ toolchainchip fortypes xtensa.
* [#4478#4310](https://github.com/apache/incubator-nuttx/pull/#44784310) arch/stm32: xtensa:improvements add xtensa cache supportfor qencoder
* [#4547#3752](https://github.com/apache/incubator-nuttx/pull/#45473752) arch:xtensa: add full bactrace supportUse inttypes stm32fx i2c
* [#4407#4090](https://github.com/apache/incubator-nuttx/pull/#44074090) arch/xtensa/src/common: Use irq_spin APIs in modifyregXX STM32G43XX Analog Comparator
* [#4403#3942](https://github.com/apache/incubator-nuttx/pull/#44033942) UseChanged driver-specificthe spinlockSTM32 forAnalog ESP32 serialComparator driver.
* [#4458#3729](https://github.com/apache/incubator-nuttx/pull/#44583729) stm32 arch:xtensa: add xtensa mpu supporttimers: Prefer GTIM macros and make this use more uniform.
* [#3762#4163](https://github.com/apache/incubator-nuttx/pull/#37624163) xtensa:Files #ifdef SYMBOL is always true if SYMBOL defined as 0
#### ESP32for pysimCoder
* [#4638#4151](https://github.com/apache/incubator-nuttx/pull/#46384151) esp32xx_rom.ld: Strongly declare some of the libgcc.a functions that are ROM resident Change DAC driver to support STM32G4 DAC
#### STM32L4
* [#4417#3668](https://github.com/apache/incubator-nuttx/pull/#44173668) arch/esp32arm/src/stm32l4/hardware/stm32l4xrxx: Properlypinmap handlealternative GPIOfunction interruptfor inSPI2 SMP.
* [#4234#4468](https://github.com/apache/incubator-nuttx/pull/#42344468) espressifarch/esp32arm/esp32s2src/esp32c3stm32l4: Disablefix wdtSTM32L4+ onoption initialization.bytes
### Minor changes
## Simulatormemory address
* [#3921#4501](https://github.com/apache/incubator-nuttx/pull/#39214501) simarch/arm/src/stm32l4: Useadd cccontrol asfor linker,Vddio2 whichindependent usuallyI/Os aliases to either GCC or Clangsupply valid
* [#4108#4469](https://github.com/apache/incubator-nuttx/pull/#41084469) boards/sim: enable nxlooper for alsa config arch/arm/src/stm32l4/stm32l4_flash.c: fix FLASH_CONFIG_I to use dual-bank access
#### STM32L5
#### S32K1XX
* [#4222#3850](https://github.com/apache/incubator-nuttx/pull/#42223850) sim/cmdline: save boot cmdlineUCANS32K146 add support for B revision
* [#4209#4493](https://github.com/apache/incubator-nuttx/pull/#42094493) Fix sim smperror in s32k118_pinmux.h
* [#4207#3795](https://github.com/apache/incubator-nuttx/pull/#42073795) arch: sim: WorkaroundS32K1XX LSPI Double word up to make64 thebits IPIsupport work on
#### macOSIMX6
* [#4167#3777](https://github.com/apache/incubator-nuttx/pull/#41673777) arch/sim: Theimx6: secondAdd CPUtermios shouldn't call up_irqinitialize support to imx6
#### IMXRT
* [#3904#3988](https://github.com/apache/incubator-nuttx/pull/#39043988) boardsarch/arm/simsrc/sim/simimxrt/imxrt_flexpwm.c: correctfix LDLINKFLAGSmistake afterin migratingsubmodules from ld to gccaddress offset
* [#4056#4431](https://github.com/apache/incubator-nuttx/pull/#40564431) arch/simi.MX RT: FixChanges btto andFlexCAN audiodriver simulationand stopTeensy work4.x inCAN SMP modeconfiguration
* [#4045#4285](https://github.com/apache/incubator-nuttx/pull/#40454285) sim/smparch/arm/src/imxrt/imxrt_flexpwm.c: fixSet smpLDOK can't start, caused by signal too busybits after all channels are set
* [#4015#4138](https://github.com/apache/incubator-nuttx/pull/#40154138) modify sim clock to PC abs time i.MX RT: added support for Tickless OS
#### RP2040
* [#3983#4049](https://github.com/apache/incubator-nuttx/pull/#39834049) arch/sim: Implement mm_mallinfo and malloc_size for the custom heap
* [#4459Raspipico smp
* [#4251](https://github.com/apache/incubator-nuttx/pull/#44594251) simraspberrypi-pico: Inhibitadd stacksupport protector on stack coloration functionfor lcd_dev
* [#3721#4002](https://github.com/apache/incubator-nuttx/pull/#3721) sim/rptun: support multi(>2) core interactive by share memory 4002) Kinetis Replace DMA with a proper eDMA driver and use it on SPI and Serial
#### RTL8720C
* [#4306#4076](https://github.com/apache/incubator-nuttx/pull/#43064076) boards/simAmebaZ2: Add smartfssoc profilesrc examplecode
####### New FeaturesNRF52
### Bug Fixes
## Documentation
### New Features
#### STM32H7/STM32F7
* [#3970#4331](https://github.com/apache/incubator-nuttx/pull/#39704331) libcarch/arm/stm32h7: Implementdma fesetroundand &serial: fegetroundadd forTRBUFF armflag.
### Improvements
### Driver Support
* [#3842 * [#4441](https://github.com/apache/incubator-nuttx/pull/#38424441) Added automatic log rotation, when log file is opened.arch/arm/stm32f7/stm32_irq: Fix format strings
* [#3837#4098](https://github.com/apache/incubator-nuttx/pull/#38374098) SYSLOGstm32h7 channelEthernet add functionsyield returnand handletimeout to the channel.not hog CPU
* [#3848#3730](https://github.com/apache/incubator-nuttx/pull/#38483730) Syslogstm32h7 filercc: rotationsSync numberh7x7xx isand configurable.h7x3xx. Changes are relevant to both
* [#3808#3892](https://github.com/apache/incubator-nuttx/pull/#38083892) Ramlogarch/arm/src/stm32h7: recoverqspi lastuse crashindirect logwrite frominstead ramof buffer.indirect read
* [#4614#3728](https://github.com/apache/incubator-nuttx/pull/#46143728) input/touchstm32f7: addRemove ioreferences command for touch firmware version
### Bug Fixes
### New Driver Supportto 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.
* [#3727#3976](https://github.com/apache/incubator-nuttx/pull/#37273976) AddSTM32F7 basicSDMMC supportfixes for MCP23017 I/O Expander
* [#3859#3924](https://github.com/apache/incubator-nuttx/pull/#3859) Add Holtek HT16K33 14-segment display driver 3924) stm32h7 fix for adc to handle overrun and the DR's fifo
#### Renesas
* [#4641#4230](https://github.com/apache/incubator-nuttx/pull/#46414230) drivers/mtd/m25px.crenesas/rx65n: add long supporttype for MT25Q256 SPI NORall PRI*PTR
* [#4606#3989](https://github.com/apache/incubator-nuttx/pull/#46063989) AddRenesas/RX supportadded forsetjmp MT25Q1Gand SPIplaceholder NOR ioctl
## Board Support
### New Board Support
### Boards With Significant Improvements
#### ARM
#### CXD56#### 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
* [#3833#4381](https://github.com/apache/incubator-nuttx/pull/#38334381) Spresense new memorymaparch/riscv/assert: enhance the assert dump
* [#4526#4367](https://github.com/apache/incubator-nuttx/pull/#45264367) Rearch video riscv/backtrace: add up_backtrace support
* [#3973#4365](https://github.com/apache/incubator-nuttx/pull/#39734365) boardsriscv/common: spresense: Update rndis and rndis_smp for workaround
* [#3744 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/#3744) boards: cxd56xx: Update drivers on spresenseadded a basic support for chipKIT Wi-FIRE board
#### IMX6RISC-V
* [#3733#3846](https://github.com/apache/incubator-nuttx/pull/#37333846) imx6 elf support #3733
#### IMXRT risc-v/rv32m1: Basic port to rv32m1 ri5cy
* [#4146](https://github.com/apache/incubator-nuttx/pull/4146) risc-v/bl602: add boardctl support
* [#3982#3911](https://github.com/apache/incubator-nuttx/pull/#39823911) boards/arm/imxrt/teensy-4.x: added board level support for GPIO driverAdd i2c driver to PolarFire SoC and Icicle board
* [#3929#3905](https://github.com/apache/incubator-nuttx/pull/#39293905) Added encoder support for Teensy 4.xAdd SPI driver to PolarFire SoC and Icicle board
* [#3980#3933](https://github.com/apache/incubator-nuttx/pull/#39803933) FlexPWM support for iMXRT MCU riscv/mpfs: add i2c reset handler
* [#4581#3920](https://github.com/apache/incubator-nuttx/pull/#45813920) Fixedadd imxrtdma flexcansupport driverfor compilation error (incorrect variable scope)
#### LPC17XX_40XX
#### NRF52
#### RP2040 PolarFire SoC
* [#3917#4569](https://github.com/apache/incubator-nuttx/pull/#39174569) arm/rp2040:USB device controller support MPFS emmcsd
#### BL602
* [#3857#4010](https://github.com/apache/incubator-nuttx/pull/#38574010) boards/bl602: rp2040: Add user gpio driver Fix uart_nx.c:419: undefined reference to `uart_bth4_register
#### C906
#### ESP32-C3
* [#3996#3794](https://github.com/apache/incubator-nuttx/pull/#3996)3794) risc-v/esp32c3: Support for Waveshare Pico-LCD-1.x module
#### S32K1XXESP32-C3 RTC driver
* [#4643#3883](https://github.com/apache/incubator-nuttx/pull/#46433883) S32K1xx archrisc-v/esp32c3: Add (optional) support for SPI native/hardware chip selectSupport ESP32-C3 RSA accelerator
* [#4634#3881](https://github.com/apache/incubator-nuttx/pull/#46343881) S32K1XX archrisc-v/esp32c3: gpioreadSupport may also be used for output pins ESP32-C3 efuse
* [#4592#3935](https://github.com/apache/incubator-nuttx/pull/#45923935) S32K1XXrisc-v/esp32c3: AddSupport LPI2CESP32-C3 slaveSHA support accelerator
* [#4541#3882](https://github.com/apache/incubator-nuttx/pull/#45413882) S32K1XX EVB boards cleanup & update riscv/esp32c3: Use the RTC memory as another heap.
* [#4578#3945](https://github.com/apache/incubator-nuttx/pull/#45783945) S32K1XXEVB boards/esp32c3: FixAdd RGB LED output and add comments romfs configuration
* [#4533#3925](https://github.com/apache/incubator-nuttx/pull/#45333925) S32k1xxrisc-v/esp32-c3: addedAdds I2C PMpolled support
* [#4596#3823](https://github.com/apache/incubator-nuttx/pull/#45963823) S32K1XXrisc-v/esp32-c3: Add support for FlexIOHW registersflow control.
* [#4508#3822](https://github.com/apache/incubator-nuttx/pull/#4508) s32k1xx: added way to get the reset cause in a proc fs
#### SAM34/pull/3822) ESP32-C3: Add DMA support for SPI Slave
* [#3732#3543](https://github.com/apache/incubator-nuttx/pull/#37323543) boardfeat(esp32c3): AddSupport supportesp32c3 forble Adafruitfunction Circuit Express
* [#3840#3667](https://github.com/apache/incubator-nuttx/pull/#3840)3667) risc-v/esp32c3: Add ST7789 LCD controller support for SAMV71 XPlained Ultra board
#### STM32
* [#3944ESP32-C3 (G)DMA driver and testing
* [#4605](https://github.com/apache/incubator-nuttx/pull/#39444605) boards/arm/stm32/nucleo-f446re: added support for DAC driverrisc-v/esp32-c3: improvements and fix to esp32c3_rt_timer.c
* [#3880#4611](https://github.com/apache/incubator-nuttx/pull/#38804611) boards/arm/stm32/nucleo-f446reESP32-C3: addedAdd support for GPIO driver booting NuttX from MCUboot
* [#3909#3656](https://github.com/apache/incubator-nuttx/pull/#39093656) Added basic support for nucleo-g431kb board.risc-v/esp32-c3: Adds freerun wrapper
* [#3922#4574](https://github.com/apache/incubator-nuttx/pull/#39224574) esp32c3-devkit: AddsAdd PWMboard exampleprofile to nucleo-g431kb board. use LVGL on GC9A01 display
* [#3914#3810](https://github.com/apache/incubator-nuttx/pull/#39143810) boardsrisc-v/esp32c3: addedFix overwriting support for EMW3162 Wi-Fi boardof registered-but-disabled interrupts
* [#3878#3797](https://github.com/apache/incubator-nuttx/pull/#38783797) ESP32-C3: Add FOCSPI supportSlave for B-G431-ESC1 board peripheral driver
* [#3637#4568](https://github.com/apache/incubator-nuttx/pull/#36374568) boards/arm/stm32/nucleo-f446reesp32c3: addedadd supportESP32C3 forLCD PWMdrivers
* [#3660#4553](https://github.com/apache/incubator-nuttx/pull/#36604553) stm32_pwmrisc-v/esp32c3: improvementsfix forpwm PULSECOUNTdriver supportbug
* [#4505#4500](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 4500) risc-v/esp32-c3: refactor the Wi-Fi board logic.
* [#4589#3679](https://github.com/apache/incubator-nuttx/pull/#45893679) Fix stm32xx GPIO glitches from configuration bad order of operations risc-v/esp32c3: Support ESP32-C3 PM standby and sleep
* [#4085#3766](https://github.com/apache/incubator-nuttx/pull/#40853766) stm32,stm32f7,stm32h7riscv/esp32c3: supportedAdd ETHESP32-C3 MACAES promiscuous modedriver
* [#4255#3750](https://github.com/apache/incubator-nuttx/pull/#42553750) STM32 DAC Driver - Add support to DAC3riscv/esp32c3: Support SPI Flash encryption read/write
* [#3796#3735](https://github.com/apache/incubator-nuttx/pull/#37963735) boards/arm/stm32/nucleo-f412zg/scripts/Make.defs: Replace EXTRADEFINES by EXTRAFLAGSriscv/esp32c3: Add ESP32-C3 ADC driver
* [#4284#3715](https://github.com/apache/incubator-nuttx/pull/#42843715) stm32_pmwrisc-v/esp32c3: fix pwm_stop() function to enable multiple PWM start and stopSupport ESP32-C3 auto-sleep
* [#4353#4239](https://github.com/apache/incubator-nuttx/pull/#43534239) stm32/stm32_serial.c fix issuerisc-v/esp32-c3: Adds systimer support and make rt_timer rely on it
* [#4244#3694](https://github.com/apache/incubator-nuttx/pull/#42443694) STM32G4risc-v/esp32c3: addAdd support for DMA transfers CORDICon mathSPI acceleratordriver
* [#4437#3697](https://github.com/apache/incubator-nuttx/pull/#44373697) stm32_serial.criscv/esp32c3: Don'tFix fakeRT atimer TXissues interrupt when interrupts are not suppressed
* [#3863#3906](https://github.com/apache/incubator-nuttx/pull/#38633906) boards/arm/stm32/nucleo-f446re: fixed wrong qetimer config name
#### STM32L4risc-v/esp32c3_wifi_adapter.c: Remove a config that's only used in Xtensa chips.
* [#4534#3701](https://github.com/apache/incubator-nuttx/pull/#45343701) STM32L4 LPUART support
#### STM32F4
#### STM32F7 / STM32H7
* [#3646riscv/esp32c3: Add ESP32C3 LEDC(PWM) driver
* [#3854](https://github.com/apache/incubator-nuttx/pull/#36463854) boards/stm32f7ESP32-C3: AddSmall i2cclean andup mpu60x0on support to nucleo-144 and fix bitmask bug in mpu60x0 IRQ functions
* [#3650#4006](https://github.com/apache/incubator-nuttx/pull/#3650) stm32{H7|F7} Disables/Enabled4006) risc-v/esp32c3: Notifies networking layer whether the usecarrier of GPIO_OTG_ID pinis available
* [#3669#3788](https://github.com/apache/incubator-nuttx/pull/#36693788) STM32 {F7|H7} Use 250 Ms Data path timeout, regardless of Card Clock frequency ESP32-C3: Fix configuration of TX Burst support for GDMA
* [#3651#4040](https://github.com/apache/incubator-nuttx/pull/#36514040) Use inttypes in stm32{f7|h7}, Kinetis, s32k drivers. risc-v/esp32c3: Fix some ESP32-C3 BLE driver issues
* [#4524#4082](https://github.com/apache/incubator-nuttx/pull/#45244082) stm32*7/stm32_serial.c: Don't fake a TX interrupt when interrupts are not suppressedboards/esp32c3-devkit: Support mounting SPI Flash MTD to littleFS
* [#4598#4075](https://github.com/apache/incubator-nuttx/pull/#45984075) stm32h7:DMA_TRBUFF is DMA_SCR_TRBUFF
#### KINETISrisc-v/esp32c3: Add board_ioctl and board_uniqueid
* [#4190#4092](https://github.com/apache/incubator-nuttx/pull/#41904092) kinetis lpserial add RX DMA
#### RISC-Vrisc-v/esp32c3: Use onexit to free thread private semaphore
* [#3846#3971](https://github.com/apache/incubator-nuttx/pull/#38463971) risc-v/rv32m1: Basic port to rv32m1 ri5cyboards/riscv/esp32c3: Rename the iram_0_2 segment to irom_0_0 to avoid confusions.
* [#4146#4141](https://github.com/apache/incubator-nuttx/pull/#41464141) risc-v/bl602: add boardctl supportesp32-c3: Use systimer 0 to RTOS TICK
* [#3911#3793](https://github.com/apache/incubator-nuttx/pull/#39113793) Add i2c driver to PolarFire SoC and Icicle boardesp32&esp32c3/wifi: Support specific channel and bssid scan
* [#3905#4162](https://github.com/apache/incubator-nuttx/pull/#39054162) Add SPI driver to PolarFire SoC and Icicle boardrisc-v/esp32c3: Fix some ESP32-C3 Wi-Fi driver issues
* [#3933#4169](https://github.com/apache/incubator-nuttx/pull/#39334169) riscv/mpfs: add i2c reset handlerrisc-v/esp32-c3: Makes output readable and rmv unnecessary var.
* [#3920#4314](https://github.com/apache/incubator-nuttx/pull/#39204314) add dmarisc-v/esp32-c3: Complete the support for PolarFireRWDT SoC
#### BL602XTENSA
* [#4010#4590](https://github.com/apache/incubator-nuttx/pull/#40104590) boards/bl602: Fix uart_nx.c:419: undefined reference to `uart_bth4_register
#### C906
#### ESP32C3[Xtensa/RISC-V] Remove FAR and CODE qualifiers from arch-specific files
* [#3794#4187](https://github.com/apache/incubator-nuttx/pull/#3794) risc-v/esp32c3: Support ESP32-C3 RTC driver4187) Fix xtensa_btdump() to look at the exception frame
* [#3883#4556](https://github.com/apache/incubator-nuttx/pull/#38834556) risc-v/esp32c3: Support ESP32-C3 RSA acceleratorxtensa:backtrace: flush to stack when in interrupt
* [#3881#3939](https://github.com/apache/incubator-nuttx/pull/#38813939) risc-v/esp32c3: Support ESP32-C3 efuse Fix xtensa
* [#3935#4531](https://github.com/apache/incubator-nuttx/pull/#39354531) risc-v/esp32c3: Support ESP32-C3 SHA acceleratorxtensa/irq.h: Fixes the routine that clears the processor interrupt
* [#3882#4278](https://github.com/apache/incubator-nuttx/pull/#38824278) riscvxtensa/esp32c3common: Use the RTC memory as another heap. save sp before overwriting in level2/3/4 handler and typo fix
* [#3945#4311](https://github.com/apache/incubator-nuttx/pull/#39454311) boards/esp32c3: Add romfs configurationxtensa:coproc: fix XTENSA_CP_ALLSET error in some case
* [#3925#3768](https://github.com/apache/incubator-nuttx/pull/#3925) risc-v/esp32-c3: Adds I2C polled support3768) xtensa: Fixes names of architecture serial functions
#### ESP32
* [#3823#3940](https://github.com/apache/incubator-nuttx/pull/#38233940) risc-vxtensa/esp32-c3: AddSupport supportESP32 for HW flow control. RTC driver
* [#3822#4003](https://github.com/apache/incubator-nuttx/pull/#38224003) ESP32-C3xtensa/esp32: AddAdds DMA support for SPI SlaveSERIAL_TXDMA.
* [#3543#3912](https://github.com/apache/incubator-nuttx/pull/#35433912) feat(esp32c3)xtensa/esp32: SupportAdds esp32c3I2C blepolled function support.
* [#3667#3803](https://github.com/apache/incubator-nuttx/pull/#36673803) risc-v/esp32c3: AddAdd support to ESP32-C3 (G)DMA driverS2 and testing ESP32S2-SAOLA-1 Board
* [#4605#3824](https://github.com/apache/incubator-nuttx/pull/#46053824) risc-vxtensa/esp32-c3s2: improvementsAdd andsupport fixfor to esp32c3_rt_timer.c serial HW flow control.
* [#4611#4604](https://github.com/apache/incubator-nuttx/pull/#4611) ESP32-C3: Add support for booting NuttX from MCUboot4604) xtensa/esp32: Enable build system to download or build binaries from source
* [#3656#3642](https://github.com/apache/incubator-nuttx/pull/#36563642) risc-vxtensa/esp32-c3: Addsseveral freerunuart wrapper fixes
* [#4574#3648](https://github.com/apache/incubator-nuttx/pull/#45743648) esp32c3-devkittools/esp32/mk_qemu_img.sh: AddRefactor boardthe profiledd tocommands. use LVGL on GC9A01 display
* [#3810#4625](https://github.com/apache/incubator-nuttx/pull/#38104625) riscesp32-vc3/esp32c3esp32-s2: Fix the overwritingsequence of registered-but-disabled interruptscommands to set the alarm value on rt timer.
* [#3797#4610](https://github.com/apache/incubator-nuttx/pull/#37974610) ESP32-C3S2: Add support for SPIbooting SlaveNuttX peripheralfrom driverMCUboot
* [#4568#3678](https://github.com/apache/incubator-nuttx/pull/#45683678) boardsxtensa/esp32c3esp32: add ESP32C3 LCD drivers Support auto-sleep
* [#4553#4532](https://github.com/apache/incubator-nuttx/pull/#45534532) risc-v/esp32c3: fix pwm driver bugboards/esp32s2-saola-1: Add implementation for BOARDIOC_RESET interface
* [#4500#4275](https://github.com/apache/incubator-nuttx/pull/#45004275) risc-vxtensa/esp32-c3: refactorKeep track of the CPU where the Wi-Fiinterrupt boardwas logicattached.
* [#3679#4295](https://github.com/apache/incubator-nuttx/pull/#36794295) risc-vxtensa/esp32c3esp32: Support ESP32-C3 PM standby and sleepEnable boot from Espressif's port of MCUboot
* [#3766#4315](https://github.com/apache/incubator-nuttx/pull/#37664315) riscvxtensa/esp32c3esp32: AddFix ESP32-C3issues AESon driverRWDT
* [#3750#4366](https://github.com/apache/incubator-nuttx/pull/#37504366) riscvxtensa/esp32c3esp32: SupportUse SPIIRQ Flashto encryption readenable/writedisable interrupts
* [#3735#4427](https://github.com/apache/incubator-nuttx/pull/#37354427) riscv/esp32c3esp32/ttgo_lora_esp32: Add ESP32-C3 ADC driversupport to SSD1306 OLED display
* [#3715#4388](https://github.com/apache/incubator-nuttx/pull/#37154388) esp32: risc-v/esp32c3: Support ESP32-C3 auto-sleepRe-organize the interrupt handling process to correctly handle the SMP case
* [#4239#4401](https://github.com/apache/incubator-nuttx/pull/#42394401) risc-vxtensa/esp32-c3s2: Adds systimer support andto makethe rt_timer relydriver on it
* [#3694#4545](https://github.com/apache/incubator-nuttx/pull/#36944545) riscesp32-v/esp32c3wrover: Add support forto DMALCD1602 transferswith onI2C SPIBackpack driver
* [#3697#4587](https://github.com/apache/incubator-nuttx/pull/#36974587) riscvxtensa/esp32c3esp32-s2: FixAdds RTfreerun timer issueswrapper
* [#3906#4139](https://github.com/apache/incubator-nuttx/pull/#39064139) risc-v/esp32c3_wifi_adapter.cxtensa/esp32: RemoveFixes a config that's only used in Xtensa chipstermios issue.
* [#3701#4586](https://github.com/apache/incubator-nuttx/pull/#37014586) riscvxtensa/esp32c3esp32-s2: AddAdds ESP32C3 LEDC(PWM)oneshot device driver support
* [#3854#4570](https://github.com/apache/incubator-nuttx/pull/#38544570) ESP32-C3esp32_spiflash.c: SmallCorrectly cleandisable upAPP's on IRQ functions CPU cache.
* [#4006#4509](https://github.com/apache/incubator-nuttx/pull/#4006) risc-v/esp32c34509) esp32: NotifiesAdd networkinginitial layersupport whetherto theBluetooth carrierLow isEnergy available
* [#3788#4411](https://github.com/apache/incubator-nuttx/pull/#37884411) ESP32-C3: Fix configuration of TX Burst support for GDMAesp32/softap: Enable the WPA2 by default to ask user password
* [#4040#4412](https://github.com/apache/incubator-nuttx/pull/#40404412) risc-vboards/esp32c3esp32: FixAdd somebasic ESP32-C3support BLE driver issuesto TTGO-LoRa-SX1276-ESP32
* [#4082#4585](https://github.com/apache/incubator-nuttx/pull/#40824585) boardsxtensa/esp32c3esp32-devkits2: SupportAdds support mountingto SPIrt_timer Flashand MTDsystimer to littleFSESP32-S2.
* [#4075#4170](https://github.com/apache/incubator-nuttx/pull/#40754170) risc-vxtensa/esp32c3esp32: Add board_ioctlMake output readable and board_uniqueidrmv unnecessary var.
* [#4092#4195](https://github.com/apache/incubator-nuttx/pull/#40924195) risc-v/esp32c3: Use onexitesp32_allocateheap.c: Remove the amount reserved to freehimem threadfrom privatethe semaphoreheap.
* [#3971#4232](https://github.com/apache/incubator-nuttx/pull/#39714232) boardsxtensa/riscv/esp32c3esp32: RenameEnable the iram_0_2 segment to irom_0_0 to avoid confusions. configuration of GPIO pad's drive strength
* [#4141#4240](https://github.com/apache/incubator-nuttx/pull/#41414240) risc-vxtensa/esp32-c3: Useexpose systimerSPI2 0as toa RTOSchar TICKdriver
* [#3793#4253](https://github.com/apache/incubator-nuttx/pull/#37934253) xtensa/esp32&esp32c3/wifi: Enable Supportthe allocation specificof channelmultiple andSPI bssidFlash scanpartitions
* [#4162#4338](https://github.com/apache/incubator-nuttx/pull/#41624338) risc-v/esp32c3: Fix some ESP32-C3 Wi-Fi driver issuestools/esp32/Config.mk: Allow ESPTOOL_BINDIR to be omitted when flashing the board
* [#4169#3938](https://github.com/apache/incubator-nuttx/pull/#41693938) risc-v/esp32-c3: Makes output readable and rmv unnecessary var.esp32&esp32c3/wifi: Fix the issues of Wi-Fi configuration being overwritten
* [#4314#3969](https://github.com/apache/incubator-nuttx/pull/#43143969) risc-vboards/esp32-c3: CompleteRefactor the support for RWDT
#### XTENSAdifferent linker scripts and delete old OpenOCD config files.
* [#4590#3975](https://github.com/apache/incubator-nuttx/pull/#45903975) [Xtensa/RISC-V] Remove FAR and CODE qualifiers from arch-specific filesxtensa/esp32: Fix RTC WDT deinitialization on start routine
* [#4187#3987](https://github.com/apache/incubator-nuttx/pull/#41873987) Fix xtensa_btdump() to look at the exception frame tools/esp32/backtrace.gdbscript: don't modify registers
* [#4556#4001](https://github.com/apache/incubator-nuttx/pull/#45564001) xtensa:backtrace/esp32: flushSupport to stack when in interruptselect different clock source for RTC controller and close TODOs.
* [#3939#4073](https://github.com/apache/incubator-nuttx/pull/#39394073) xtensa/esp32: Fix xtensa uart 2 issue.
* [#4531#3800](https://github.com/apache/incubator-nuttx/pull/#45313800) arch/xtensa/irq.h: Fixes the routine that clears the processor interrupt esp32_emac.c: Call phy_enable_interrupt correctly.
* [#4278#4157](https://github.com/apache/incubator-nuttx/pull/#42784157) xtensaboards/commonesp32: saveRefactor spthe beforelinker overwritingscripts in level2/3/4 handler and typo fixinto the common directory.
* [#4311#4249](https://github.com/apache/incubator-nuttx/pull/#43114249) xtensa/esp32-s2:coproc: fix XTENSA_CP_ALLSET error in some caseAdds GPIO board logic to esp32s2-saola-1.
* [#3768#4471](https://github.com/apache/incubator-nuttx/pull/#37684471) xtensa/esp32: FixesWi-Fi namesboard oflogic architecturerefactoring. serial functions
#### ESP32
* [#3940#4497](https://github.com/apache/incubator-nuttx/pull/#39404497) xtensa/esp32_serial.c: Support ESP32 RTC driver Don't fake an interrupt when interrupts are not suppressed.
* [#4003#3829](https://github.com/apache/incubator-nuttx/pull/#40033829) xtensa/esp32: AddsFixes support for SERIAL_TXDMA. UART HW flow control
* [#3912#3943](https://github.com/apache/incubator-nuttx/pull/#39123943) xtensa/esp32: Adds I2C polled support. I2C Bit banging reset
* [#3803#3960](https://github.com/apache/incubator-nuttx/pull/#38033960) Add support to ESP32-S2 and ESP32S2-SAOLA-1 Boardxtensa/esp32: Refactor the text heap and add RTC memory to it
* [#3824#4646](https://github.com/apache/incubator-nuttx/pull/#3824) xtensa/esp32-s2: Add support for serial HW flow control.4646) Add example to use BLE and WiFi at same time
## File System
### Bug Fixes
* [#4604#3653](https://github.com/apache/incubator-nuttx/pull/#46043653) xtensa/esp32fs:cromf EnableUse buildinttypes systemin to download or build binaries from source printing macros
* [#3642#4573](https://github.com/apache/incubator-nuttx/pull/#36424573) xtensa/esp32: several uart fixesfs:procfs: add waiting_paging_fill state names
* [#3648#3745](https://github.com/apache/incubator-nuttx/pull/#36483745) toolsfs/esp32vfs/mk_qemu_img.sh: Refactor the dd commands.fs_select.c: Fix select() to return EINVAL when nfds is negative
* [#4625#3740](https://github.com/apache/incubator-nuttx/pull/#46253740) esp32-c3/esp32-s2fs/fat/fat32util.c: Fix thecalculation sequence of commandscurrent tosector setwith theinvalid alarmcl… value on rt timer.
* [#4610#3724](https://github.com/apache/incubator-nuttx/pull/#46103724) ESP32-S2: Add support for booting NuttX from MCUbootfs/hostfs: fix bug about getting error file size by fstat
* [#3678#3785](https://github.com/apache/incubator-nuttx/pull/#3678) xtensa/esp32: Support auto-sleep3785) FAT32 fix skipping sectors at computing the number of free clusters
* [#4532#4171](https://github.com/apache/incubator-nuttx/pull/#45324171) boards/esp32s2-saola-1fs/tmpfs: AddHandle implementationthe for BOARDIOC_RESET interfacetail '/' correctly
* [#4275#4539](https://github.com/apache/incubator-nuttx/pull/#42754539) xtensavfs/esp32poll: Keep trackcorrect of the CPUreturn whereevent theif interruptinode washas attached.closed
* [#4295#3760](https://github.com/apache/incubator-nuttx/pull/#42953760) xtensa/esp32: Enable boot from Espressif's port of MCUbootFix calculation of free clusters at mounting a fat partition
* [#4315#4012](https://github.com/apache/incubator-nuttx/pull/#43154012) xtensa/esp32fs: move Fixout issuesnx_close onfrom RWDTfilelock
* [#4366#3974](https://github.com/apache/incubator-nuttx/pull/#43663974) xtensafs/esp32tmpfs: Use IRQ to enable/disable interrupts Fix the memory corruption when reallocate tmpfs_directory_s
* [#4427#3986](https://github.com/apache/incubator-nuttx/pull/#44273986) esp32/ttgo_lora_esp32fs: Addnfs: supportReconnect to SSD1306 OLED displaythe NFS server in TCP mode
* [#4388#4031](https://github.com/apache/incubator-nuttx/pull/#43884031) esp32fs/fs_dup2: Re-organize the interrupt handling process to correctly handle the SMP case(sanity check )correct check before calling dup
* [#4401#4033](https://github.com/apache/incubator-nuttx/pull/#44014033) xtensafs/esp32-s2procfs: Addsadd StackAlloc supportfield tofor thetask timerstack driverinfo
* [#4545#4061](https://github.com/apache/incubator-nuttx/pull/#45454061) esp32-wrover: Add support to LCD1602 with I2C BackpackFAT32 kconfig entry to enforce computation of free clusters at mount
* [#4587#4079](https://github.com/apache/incubator-nuttx/pull/#45874079) xtensafs/esp32-s2procfs: Adds freerun timer wrapperlayout the output of meminfo correctly
* [#4139#4093](https://github.com/apache/incubator-nuttx/pull/#41394093) xtensa/esp32: Fixes termios issue.fs: Move the default ioctl handle from nx_vioctl to file_vioctl
* [#4586#4097](https://github.com/apache/incubator-nuttx/pull/#45864097) xtensa/esp32-s2fs: Adds oneshot device driver supportRemove the inernal st_count field from struct stat
* [#4570#4101](https://github.com/apache/incubator-nuttx/pull/#45704101) esp32_spiflash.c: Correctly disable APP's CPU cache.fs: pseudorename should call inode_release in the error path
* [#4509#4118](https://github.com/apache/incubator-nuttx/pull/#45094118) esp32: Add initial support to Bluetooth Low Energyfs: Support the root file system attributes(mode, uid, gid and time)
* [#4411#4119](https://github.com/apache/incubator-nuttx/pull/#44114119) esp32/softapfs: Enablefstat theshouldn't WPA2follow bythe default to ask user password symbol link
* [#4412#4121](https://github.com/apache/incubator-nuttx/pull/#44124121) boards/esp32: Add basic support to TTGO-LoRa-SX1276-ESP32vfs: stat_recursive should return -ENOSYS if stat callback is NULL
* [#4585#4123](https://github.com/apache/incubator-nuttx/pull/#45854123) xtensa/esp32-s2nuttx: Adds support to rt_timer and systimer to ESP32-S2.littlefs_close should return value bugfix
* [#4170#4153](https://github.com/apache/incubator-nuttx/pull/#41704153) xtensa/esp32fs: MakeAdd outputfchstat readableand andchstat rmvcallback unnecessary var.into mountpt_operations
* [#4195#4165](https://github.com/apache/incubator-nuttx/pull/#41954165) esp32_allocateheap.cfs: Removeshould theonly amountapply reservedumask to himemthe from the heap.userspace caller
* [#4232#4174](https://github.com/apache/incubator-nuttx/pull/#42324174) xtensa/esp32: Enable configuration of GPIO pad's drive strength Fix nfs and statfs
* [#4240#4193](https://github.com/apache/incubator-nuttx/pull/#42404193) xtensa/esp32: expose SPI2 as a char driverfs: Change off_t and related types to int64_t if long long is supported
* [#4253#4224](https://github.com/apache/incubator-nuttx/pull/#42534224) xtensafs/esp32inode: Enableadd thesanity allocationcheck offor multipleinode SPIto Flashavoid partitionsnullpointer
* [#4338#4263](https://github.com/apache/incubator-nuttx/pull/#43384263) tools/esp32/Config.mkfs: AllowSave ESPTOOL_BINDIRumask to be omitted when flashing the board tls_task_s for non kernel mode only
* [#3938#4300](https://github.com/apache/incubator-nuttx/pull/#39384300) esp32&esp32c3/wififs: FixAdd theutimens issues of Wi-Fi configuration being overwrittenand lutimens
* [#3969#4307](https://github.com/apache/incubator-nuttx/pull/#3969) boards/esp32: Refactor the different linker scripts4307) fs/userfs: Support fchstat and delete old OpenOCD config files. chstat callback
* [#3975#4308](https://github.com/apache/incubator-nuttx/pull/#39754308) xtensafs/esp32unionfs: FixSupport RTCfchstat WDTand deinitialization on start routinechstat callback
* [#3987#4309](https://github.com/apache/incubator-nuttx/pull/#39874309) tools/esp32/backtrace.gdbscript: don't modify registersfs/nfs: Support fchstat and chstat callback
* [#4001#4330](https://github.com/apache/incubator-nuttx/pull/#40014330) xtensafs/esp32littlefs: Supportimprove tolittlefs selectflash differentblock clockerase sourcebalance forperformance RTC controller and close TODOs.
* [#4073#4332](https://github.com/apache/incubator-nuttx/pull/#40734332) xtensa/esp32fs: FixSupport uart64bit 2 issue.in register_[block|mtd]partition
* [#3800#4333](https://github.com/apache/incubator-nuttx/pull/#38004333) arch/xtensa/esp32_emac.cfs/partition: CallSupport phy_enable_interrupt correctly.BIOC_PARTINFO
* [#4157#4321](https://github.com/apache/incubator-nuttx/pull/#4157) boards/esp32: Refactor the linker scripts into the common directory.4321) fs: Remove endsector from partition_info_s
* [#4249#3680](https://github.com/apache/incubator-nuttx/pull/#42493680) xtensafs/esp32-s2: Adds GPIO board logic to esp32s2-saola-1.eventfd: add EVENT_FD_POLL as a Kconfig dependency for EVENT_FD_NPOLLWAITERS
* [#4471#4514](https://github.com/apache/incubator-nuttx/pull/#44714514) xtensafs/esp32ioctl: Wi-Fi board logic refactoring.using FIOC_FILEPATH instead of FIOC_FILENAME
* [#4497#4511](https://github.com/apache/incubator-nuttx/pull/#44974511) esp32inode_serial.cgetpath: Don't fake an interrupt when interrupts are not suppressed. correct get path whether path buffer is clean or not.
* [#3829#4276](https://github.com/apache/incubator-nuttx/pull/#38294276) xtensa/esp32: Fixes support for UART HW flow controlFix status register reading in ramtron_read()
* [#3943#4290](https://github.com/apache/incubator-nuttx/pull/#39434290) xtensacmd/esp32df: Fix Addsthe abnormal I2Coutput Bitafter bangingoff_t resetchange
* [#3960#4133](https://github.com/apache/incubator-nuttx/pull/#39604133) xtensa/esp32profs: RefactorPrint theStackAlloc text heap and add RTC memory to it
#### TIVA
### **Minor Board Changes**
#### ARM
#### CXD56
#### Xtensa
## File System
### Bug Fixes
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
|