Compare commits

...

44 commits

Author SHA1 Message Date
Ville Juven
8fdb56b5f2 riscv/addrenv: Fix the user VMA end address
The end address was off by 1, making it overflow to 0 (u32 value).
2023-10-18 11:02:40 +08:00
Ville Juven
0cb54c1959 kmm_map: Add function to map a single page of kernel memory
Mapping a physical page to a kernel virtual page is very simple and does
not need the kernel vma list, just get the kernel addressable virtual
address for the page.
2023-10-18 09:59:18 +08:00
Ville Juven
2603ddd01b kmm_map.c: Remember to free the temporary 'pages' variable
The temp variable was freed only in error cases, but it needs to be freed
in the happy case as well.
2023-10-18 09:59:18 +08:00
Ville Juven
8e5ab446cd kmm_map.c: Add way to test if addr is within kmap area or not
is_kmap_vaddr is added and used to test that a given (v)addr is actually
inside the kernel map area. This gives a speed optimization for kmm_unmap,
as it is no longer necessary to take the mm_map_lock to check if such a
mapping exists; obviously if the address is not within the kmap area, it
won't be in the list either.
2023-10-18 09:59:18 +08:00
Ville Juven
a5fdf7734b kmm_map: Fix incorrect function name field 2023-10-18 09:59:18 +08:00
Ville Juven
92baeea676 kmm_map.c: Fix user page mapping
User pages are mapped from the currently active address environment. If
the process is running on a borrowed address environment, then the
mapping should be created from there.

This happens during (new) process creation only.
2023-10-18 09:59:18 +08:00
Ville Juven
3a4abdee7d kmm_map.c: Fix call to gran_alloc
Provide the handle to gran_alloc, not pointer to handle.
2023-10-18 09:59:18 +08:00
Alan Carvalho de Assis
ddfaa97601 boards: Update all boards that were using CONFIG_NET_LL_GUARDSIZE=50 2023-10-18 00:31:08 +08:00
Alan Carvalho de Assis
ed31f3c1d2 net: Fix RNDIS compilation error
The minimum value to CONFIG_NET_LL_GUARDSIZE work
with USB RNDIS support is 50.
2023-10-18 00:31:08 +08:00
simbit18
20c95a9615 Update Fix more generic for platforms that do not have execinfo.h
Improve multiplatform code with __has_include.
2023-10-18 00:07:48 +08:00
Carlos Sanchez
e2a9773142 arch/arm/src/stm32h7/stm32_oneshot.c: Fix format warnings.
Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-10-18 00:07:37 +08:00
Ville Juven
35cd7d7232 mpfs/mpfs_entrypoints.c: Fix potential R_RISCV_JAL linker error
Change bgtz t0, mpfs_opensbi_prepare_hart to tail-call to ensure there
will be no link time error due to the jump offset being too large.
2023-10-18 00:02:36 +08:00
Ville Juven
87334674cb mpfs_ethernet.c: Release tx descriptor and rx buffer properly
Instead of releasing rx descriptor twice and tx buffer twice.
2023-10-18 00:02:18 +08:00
Ville Juven
cc423c4c0f mpfs_ethernet.c: Fix possible NULL de-reference
Fix case where NULL is de-referenced via tx/rx buffer or descriptor. Only
1 queue is currently set up for each, so the indices 1,2,3 are not valid
and should not be handled.
2023-10-18 00:02:18 +08:00
chenrun1
ee985d8d10 filemtd:Fix teardown return error number EINVAL
In previous versions, during the teardown phase, the "open_blockdriver" would call the "mtd proxy" causing the "file mtd" node to be registered in the ftl. " node is registered in ftl.
Therefore, we changed the behavior to find the corresponding inode by node name.

Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
2023-10-18 00:01:29 +08:00
TaiJuWu
dfcf4c6217 cpu_pause.c: fix typo
Signed-off-by: TaiJuWu <tjwu1217@gmail.com>
2023-10-18 00:01:18 +08:00
Simon Piriou
f32e721d9f arch: x86_64: Fix idle stack assignment 2023-10-18 00:01:07 +08:00
hujun5
b4a691885c Fix some typos in comments
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2023-10-18 00:00:55 +08:00
TaiJu Wu
9c5e9b4cbe fix: TreeNode has same attribute with NodeMixin
NodeMixin have attrubute called size and it is set property.
Overwrite this property by _size but it will make report incompatible.

Create a new class NuttxDictExporter to renaming _size into size.
2023-10-18 00:00:43 +08:00
nuttxs
1e63401fb1 esp32s3: fix the halt issue when esp32s3 wlan has high-speed or long time data transmission.
The spin_lock in the wlan_recvframe() function that receives
RX data packets from the wireless network card and the critical
section lock in the iob_remove_queue() processing are nested,
which causes the interrupt to be disabled for a longer period
of time, resulting in a risk of deadlock.
2023-10-18 00:00:33 +08:00
raiden00pl
b656fdbc86 libds/lib_misc: use b16abs() 2023-10-18 00:00:16 +08:00
raiden00pl
0e4f4a8b67 libdsp/lib_observe: fix typo and use b16sign() 2023-10-18 00:00:16 +08:00
raiden00pl
98c5993a73 fixedmath: add abs and sign operations 2023-10-18 00:00:16 +08:00
Tiago Medicci Serrano
2e9c896e18 esp32/ble: Fix task_create_wrapper CPU core ID passed as argument
The registered `task_create_wrapper` receives the `core_id`, but
the current implementation ignores this parameter while calling
`esp_task_create_pinned_to_core`. This commit fix this.
2023-10-17 23:59:59 +08:00
Tiago Medicci Serrano
e66ae3968c esp32/irq: Fix erroneous interrupt allocation for each CPU core
When allocating a CPU interrupt, make sure to select the correct
CPU core to query for it. Simply checking for the current CPU does
not satisfy this requirement because the CPU allocation thread may
be executed by the other core: it's necessary to stick with the
intended CPU passed as an argument of the `esp32_setup_irq`.
2023-10-17 23:59:52 +08:00
raiden00pl
b259311d1b samv7/adc: always increase initialization counter when adc_setup called 2023-10-17 23:59:42 +08:00
raiden00pl
8d4962ad21 imxrt/adc: always increase initialization counter when adc_setup called 2023-10-17 23:59:42 +08:00
raiden00pl
f64833b36d at32/adc: always increase initialization counter when adc_setup called 2023-10-17 23:59:42 +08:00
raiden00pl
14fe9978a7 stm32{f7}/adc: always increase initialization counter when adc_setup called 2023-10-17 23:59:42 +08:00
Carlos Sanchez
41dfcecc7f arch/arm/src/s32k1xx: Fix LPUART inversion warnings & config. 2023-10-17 23:59:34 +08:00
Carlos Sanchez
cd5b30eee3 arch/arm/src/s32k1xx: Fix warnings in PWM code. 2023-10-17 23:59:23 +08:00
Ville Juven
5d5bd29f60 mm/kmap: Fix bug in kmm_unmap
Searching the current process mappings for kmappings is quite futile,
do the search in the kernel's mappings instead.
2023-10-17 23:59:03 +08:00
Ville Juven
1d59d24216 mm/kmap: Change kmm_user_map to kmm_map_user
Naming consistency wrt kmm_map_user_page
2023-10-17 23:59:03 +08:00
Daniel P. Carvalho
af61e943fc Fixes compilation warnings. 2023-10-17 23:58:47 +08:00
raiden00pl
6c070330b2 arch/nrf{52|53|91}: fix timer for small intervals and correct CC overflow check 2023-10-17 23:58:35 +08:00
Ville Juven
3ef23f594c risc-v/riscv_addrenv.c: Fix bug where SHM area page tables are not freed
The SHM physically backed memory does not belong to the user process,
but the page table containing the mapping does -> delete the page table
memory regardless.
2023-10-17 23:58:21 +08:00
Ville Juven
fcfb090f42 risc-v/pgalloc.h: Add SHM area to riscv_uservaddr query
If the vaddr resides within the user's SHM, it is a user memory mapping.
2023-10-17 23:58:21 +08:00
liqinhui
86bacce7a1 net/local: Allow the local udp socketpair function to use the local_release_fifos interface.
Signed-off-by: liqinhui <liqinhui@xiaomi.com>
2023-10-17 23:58:04 +08:00
Petteri Aimonen
598a78186f Fix dependencies of CONFIG_SCHED_CPULOAD_ settings
CONFIG_SCHED_CPULOAD_EXTCLK doesn't actually require tickless mode.
As long as the platform provides external call to nxsched_process_cpuload(),
it will work in either tickless or ticking mode.
Removed Kconfig dependency.

Instead, CONFIG_SCHED_CPULOAD_SYSCLK does require ticking mode to work,
as documented in CONFIG_SCHED_CPULOAD help text.
Added the dependency to Kconfig also.
2023-10-17 23:56:57 +08:00
Petteri Aimonen
473f8b271f stm32_eth: Fix excessively long critical section in ifdown handler
stm32_ifdown() holds critical section when calling stm32_ethreset().
That function used to call up_mdelay(10) while waiting for the ethernet
peripheral reset to complete. This resulted in excessively long
critical section time with interrupts disabled.

The actual expected delay is a few clock ticks of the 50 MHz clock domain.
This commit changes polling interval to 1us and maximum to 10us.
2023-10-17 23:56:46 +08:00
SPRESENSE
00c5fa60af libxx: Use gnu++20 option only if using libcxx
Fix an issue that gnu++20 option is always used.
Essentially, when cxx is not used, gnu++17 should be retained.
2023-10-12 16:53:29 +03:00
Alin Jerpelea
1d349a2a32 Documentation: add NuttX-12.3.0 release notes
Add release notes for 12.3.0 release

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2023-10-06 15:22:27 +02:00
Alin Jerpelea
0f568eb419 Documentation: split the ReleaseNotes
Our releases contain links to github PR and lots of text so we
are splitting the release notes to individual files
This change should
- improve readability
- reduce the ReleaseNotes file for each release.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2023-09-27 20:08:21 +08:00
Alin Jerpelea
1d88be09d2 Documentation: move ReleaseNotes
Move the release notes under Documentation folder for future cleanup

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2023-09-27 20:08:21 +08:00
217 changed files with 35941 additions and 35009 deletions

View file

@ -0,0 +1,12 @@
NuttX-0.1.0
-----------
This is the initial. This initial includes the complete NuttX RTOS
with support for the Linux user mode simulation and the TI TMS320C5471
(Arm7) processor. Partial support for the 87C52 is included.
This release has been verified on both the Linux user-mode and C5471
platforms using the test program under examples/ostest. Test results
for the C5471 can be found in arch/c5471/doc/test-results.txt.
This tarball contains a complete CVS snapshot from March 9,2007.

View file

@ -0,0 +1,21 @@
NuttX-0.1.1
-----------
This is the second release of NuttX. This release includes the following.
See the ChangeLog for more detailed description of the changes.
(1) General OS bugfixes (see the ChangeLog for details),
(2) bugfixes for the TI TMS320C5471 (Arm7) platform (see
the ChangeLog)
(3) Complete support for the 87C52. (However, the 87C52
release is not stable enough for general usage).
(4) Added the beginning of a shell call NuttShell (nsh)
This release has been verified on the Linux user-mode platform, the
Spectrum Digital TMS320C5471 EVM, and the PJRC 87C52 development board
using the test program under examples/ostest.
STATUS: The development status remains as ALPHA until further testing
is performed.
This tarball contains a complete CVS snapshot from March 14, 2007.

View file

@ -0,0 +1,20 @@
NuttX-0.1.2
-----------
This is the third release of NuttX. This release is
primarily a bugfix release with minimal new features. See
the ChangeLog for a more detailed description of the
changes.
(1) Several important OS and ARM7 bugfixes,
(2) opendir(), closedir(), readdir(), etc. added
(3) Added C5471 watchdog timer.
(4) Created a shareable, serial driver.
(5) Added 'ls' command to NuttShell (nsh)
(6) Added a test of the round robin scheduler
This release has been verified on the Linux user-mode
platform, the Spectrum Digital TMS320C5471 EVM using the
test program under examples/ostest.
This tarball contains a CVS snapshot from March 19, 2007.

View file

@ -0,0 +1,20 @@
NuttX-0.2.1
-----------
This is the fourth release of NuttX. This release adds adds
support for a new platform, restructures many header files,
and adds a few new features:
(1) Support for Neuros OSD / DM320
(2) Restructuring of header files for better POSIX compliance
(3) Added kill()
(4) Added POSIX timers
(5) bugfixes and documentation updates
This release has been verified on the Linux user-mode
platform, the Spectrum Digital TMS320C5471 EVM, and the
Neuros OSD using the test program under examples/ostest. Because
of the stability of these tests, the project status
has been upgraded to 'beta.'
This tarball contains a complete CVS snapshot from March 22, 2007.

View file

@ -0,0 +1,20 @@
NuttX-0.2.2
------------
This is the fifth release of NuttX. There is no major new
functionality in this release. This release adds support
for new pthread barrier APIs, changes the directory
structure, to better handle different board configurations
using the same processor architecture, and corrects a few
defects.
See the ChangeLog for a complete list of changes.
This release has been verified on the Linux user-mode
platform and the Neuros OSD using the test program under
examples/ostest. There are no known, critical defects but
the project development status remains at 'beta' status
pending further test and evaluation.
This tarball contains a complete CVS snapshot from
March 26, 2007.

View file

@ -0,0 +1,20 @@
NuttX-0.2.3
------------
This is the sixth release of NuttX. This release is
primarily a bugfix release. Numerous problems were fixed
as detailed in the change log. New functionality includes
support for timed message queues.
See the ChangeLog for a complete list of changes.
This release has been verified on the Linux user-mode
platform and the Neuros OSD using the test program under
examples/ostest. The results of the testing is available in
the source tree under configs/ntosd-dm320/doc/test-results.
There are no known, critical defects but the project
development status remains at 'beta' status pending further
test and evaluation.
This tarball contains a complete CVS snapshot from March 29,
2007.

View file

@ -0,0 +1,20 @@
NuttX-0.2.4
------------
This is the 7th release of NuttX. This release is only to roll out
build changes to better support different SoC's that use the same
processor architecture. In particular, the two existing ARM architectures,
c5471 and DM320 were combined into a single ARM directory. This was done
in preparation for an LPC2148 port that is currently in progress. There
is NO new functionality or significant bugfixes in this release.
See the ChangeLog for a complete list of changes.
This release has been verified on the Linux user-mode platform
and the Neuros OSD using the test program under examples/ostest.
The results of the testing is available in the source tree under
configs/ntosd-dm320/doc/test-results and under configs/sim/doc/test-results.
There are no known, critical defects but the project development status
remains at 'beta' status pending further test and evaluation.
This tarball contains a complete CVS snapshot from April 28, 2007.

View file

@ -0,0 +1,22 @@
NuttX-0.2.5
------------
This is the 8th release of NuttX. This release includes:
(1) Several bug fixes
(2) Initial support for FAT filesystems. Testing has not
been exhaustive and some functionality is missing
(mkdir, stat, unlink chmod, and rename functionality is
not yet implemented).
(3) Support for the NXP lpc2148 processor is included but
is untested as of this writing. The current
implementation includes only support for serial console
and timer interrupt.
See the ChangeLog for a complete list of changes.
This release has been verified only on the Linux user-mode
platform.
This tarball contains a complete CVS snapshot from May 19,
2007.

View file

@ -0,0 +1,17 @@
NuttX-0.2.6
-----------
This is the 9th release of NuttX. This is primarily a
bugfix release to correct a number of problems introduced
with the 0.2.5 release. This release does include some FAT
filesystem extensions including unlink(), mkdir(), rmdir(),
rename(), opendir(), closedir(), readdir(), seekdir(),
telldir(), rewindir(). There are some pending FAT changes
that did not make it into this release including stat(),
truncate(), and long file names.
See the ChangeLog for a complete list of changes.
This release has been verified only on the Linux user-mode platform.
This tarball contains a complete CVS snapshot from May 26, 2007.

View file

@ -0,0 +1,15 @@
NuttX-0.2.7
-----------
This is the 10th release of NuttX. This is primarily a bugfix
release to correct a number of problems reported to me (thanks
Didier!). This release does include the final changes complete the
FAT filesystem logic including stat(), statfs(), and non-standard
APIs to manage FAT attributes. At present, FAT long file names and
file truncate() are still not supported.
See the ChangeLog for a complete list of changes.
This release has been verified only on the Linux user-mode platform.
This tarball contains a complete CVS snapshot from June 9, 2007.

View file

@ -0,0 +1,14 @@
NuttX-0.2.8
-----------
This is the 11th release of NuttX. This release:
(1) corrects important bugs in opendir() and realloc()
(2) adds support for environment variables
(3) adds several new C library interfaces
(4) extends several example programs
See the ChangeLog for a complete list of changes.
This release has been verified only on the Linux user-mode platform.
This tarball contains a complete CVS snapshot from July 2, 2007.

View file

@ -0,0 +1,14 @@
NuttX-0.2.8
-----------
This is the 11th release of NuttX. This release:
(1) corrects important bugs in opendir() and realloc()
(2) adds support for environment variables
(3) adds several new C library interfaces
(4) extends several example programs
See the ChangeLog for a complete list of changes.
This release has been verified only on the Linux user-mode platform.
This tarball contains a complete CVS snapshot from July 2, 2007.

View file

@ -0,0 +1,23 @@
NuttX-0.3.0
-----------
This is the 12th release of NuttX. This release includes the initial
integration of a network subsystem and the uIP TCP/IP stack into NuttX
(see http://www.sics.se/~adam/uip/index.php/Main_Page). Also included
is a device driver for the Davicom DM90x0 Ethernet controller.
This integration is very preliminary. Only a small portion of the
network functionality has been integrated and there are a number of
open issues (see the TODO file). The network subsystem is pre-alpha
at this point in time. I expect that it will stabilize and mature
over the next few releases.
The baseline functionality of NuttX continues to mature and remains at
post-beta (as long as the network is not used).
See the ChangeLog for a complete list of changes.
This release has been verified only on the Neuros OSD (DM320 ARM9)
platform using the DM90x0 driver.
This tarball contains a complete CVS snapshot from November 6, 2007.

View file

@ -0,0 +1,23 @@
NuttX-0.3.1
-----------
This is the 13th release of NuttX and the second release containing
the integration of a network subsystem and the uIP TCP/IP, UDP, and
ICMP stacks into NuttX (see http://www.sics.se/~adam/uip/index.php/Main_Page).
Many network-related problems have been fixed and the implementation
has matured significantly. However, the level of network reliability
is probably still at the pre-alpha or early level. It is sufficiently
complete that you may begin to perform some network integration and
is expected to achieve beta level of reliability over the next few
releases.
The baseline functionality of NuttX continues to mature and remains at
post-beta (as long as the network is not used).
See the ChangeLog for a complete list of changes.
This release has been verified only on the Neuros OSD (DM320 ARM9)
platform using the DM90x0 driver.
This tarball contains a complete CVS snapshot from November 19, 2007.

View file

@ -0,0 +1,10 @@
NuttX-0.3.10
------------
This is the 22nd release of NuttX. This is an important bug fix
release. This release incorporates fixes to correct critical list
handling errors in task shutdown logic: One in timer deletion logic
(timer_delete.c) and one in stream logic (lib_init.c). This release
also includes support to ZiLOG EZ80Acclaim microcontroller (EZ80F91
chip) and configurations for the ZiLOG z8f64200100kit (Z8F6423) and
ez80f0910200kitg (EZ80F091) development kit.

View file

@ -0,0 +1,22 @@
NuttX-0.3.11
------------
This is the 23rd release of NuttX. This is another important bugfix
release. This releases fixes several bugs:
* Two POSIX timer bugs: a memory leak as well a fatal sequencing error.
* Several FAT filesystem errors.
* A deadlock that can occur in opendir()
A few new features were also added:
* Support for recursive mutexes
* Added a RAM disk block driver
* The host simulator no longer uses direct Linux system calls and
now also works on Cygwin.
* The OS test was strengthen and now runs as an endurance test
These changes were verified only on the Host simulator under Cygwin.
Please report any errors to me.
This tarball contains a complete CVS snapshot from June 1, 2008.

View file

@ -0,0 +1,21 @@
NuttX-0.3.12
------------
This is the 24th release of NuttX. This release includes some minor
bugfixes as well as a few new features. Bugs fixed include:
* Corrected an error in recursive mutex implementation.
* task_create() was only dup()ing the first three file descriptors.
* Fixed driver open reference counting errors in dup(), dup2(), and exit().
* Fixed error handling logic in fflush().
New features were also added:
* Pipes and pipe() API
* FIFOs and mkfifo() API
* mkfatfs() API can be used to format FAT file systems.
These changes were verified only on the Host simulator under Cygwin.
Please report any errors to me.
This tarball contains a complete CVS snapshot from August 10, 2008.

View file

@ -0,0 +1,42 @@
NuttX-0.3.13
------------
This is the 25th release of NuttX. This release includes some
important bugfixes as well as a few new features. Bugs fixed
include:
* Fixed problems with Cygwin-based console input. NSH now works
with the Cygwin simulator.
* sched_get_priority_max/min returned error on SCHED_RR
* Corrected detection of End-of-File in fgets()
* Fixed an error in opendir() that could cause an assertion to fail
inappropriately.
* Corrected an error in the FAT that caused files opened for writing
with O_APPEND to fail.
* Fix error in getopt() when called with argc==1
* Fix error in stat() when used on the root directory
* Fixed a critical bug that effects the way that environment variables
are shared among pthreads.
* uIP port now supports multi-threaded, concurrent socket access.
So, for example, one thread can be reading from a socket while
another is writing to the socket.
New features were also added:
* New OS APIs: chdir() and getcwd()
* The NuttX shell (NSH) has been extended in many ways.
- New commands: mkfatfs, mkfifo, sleep, usleep, nice, sh, cd, and pwd
- New memory inspection commands and heap usage commands
- New capabilities:
- Execution of commands in background
- Execution of simple scripts
- Redirection of command output
- Last command status ($?)
- Now supports if-then[-else]-fi construct
- Other features as noted in the ChangeLog.
These changes were verified only on the Host simulator under Cygwin
and under Linux and also on the Neuros OSD (ARM9). Please report
any errors to me.
This tarball contains a complete CVS snapshot from September 1, 2008.

View file

@ -0,0 +1,41 @@
NuttX-0.3.14
-----------
This is the 26th release of NuttX. This release includes some
important bugfixes as well as a few new features. Critical bugs
fixed include:
FAT FS:
* Fixed several critical bugs with regard to fat reading and
writing and FAT12 accesses. Basically the FAT FS only worked
with my tiny test files and test cases. A lot of stronger FAT
tested is still needed!
* Fixed another FAT bug in implementation of FAT lseek();
this prohibited correct random access to large files.
Network:
* Corrected a critical bug that may prevent recvfrom from receiving
packets from most remote UDP port numbers.
* Corrected an error in multi-threaded socket handling in send() and
sendto(). Outgoing data could overwrite incoming data.
* Corrected IP checksum calculation in ICMP and UDP message send logic.
* Corrected an error in send() timeout logic.
New features were also added:
Network:
* Added support for application access to ICMP protocol stacks
* Added ping request logic (net/uip).
* Added basic TFTP client logic (netutils/tftpc).
NuttShell (NSH):
* New commands: 'test', '[', 'ping', 'mkrd', 'xd', and TFTP 'get' and 'put'
See the new NuttShell User Guide for additional information.
Other less critical bugs were also fixed and other less important
features were were added. See the ChangeLog for details.
These changes were verified only on the Neuros OSD (ARM9). Please
report any errors to me.
This tarball contains a complete CVS snapshot from September 8, 2008.

View file

@ -0,0 +1,18 @@
NuttX-0.3.15
-----------
This is the 27th release of NuttX. This release includes some new features:
* Adds support for the ROMFS filesystem
* ROMFS supports mmap() to provide eXecute In Place (XIP) capability
* NuttShell (NSH) can be configured to use ROMFS to provide a tiny read-only
filesystem with a startup script in /etc.
* Completed the basic port of the NXP LPC2148 on the mcu123.com board.
The basic port includes successful booting, timer interrupts,
serial console, successfully passing the examples/ostest, and a
NuttShell (NSH) configuration.
These changes were verified only on the mcu123.com NXP LPC2148
board. Please report any errors to me.
This tarball contains a complete CVS snapshot from September 20, 2008.

View file

@ -0,0 +1,60 @@
NuttX-0.3.16
-----------
This is the 28th release of NuttX. This release includes the first
support for USB in NuttX. A set of USB APIs were added to support
USB device controller drivers and bindings to USB device class
drivers. The form of the interface was inspired by the Linux Gadget APIs.
At present USB device controller drivers are included for:
* The NXP LPC214x. This driver has been verified and is an early alpha
stage in quality.
* TI DM320. Coding for this driver is complete but it is completely
untested as of this release.
A controller-independent class driver is also included for:
* USB serial class device driver (emulates the Prolific PL2303
serial-to-USB adapter). This driver has only been verified with
the Linux host PL2303 driver.
Other new features include:
* Add an option to set aside a separate stack for interrupt
handling (ARM only). This is useful when memory is constrained,
there are multiple tasks, and the interrupt stack requirement
is high (as when USB is enabled).
A few bugs were also fixed:
* Fixed the frequency of system timer interrupts in the NXP LPC214x port
(off by 20x in nuttx-0.3.15)
* Fixed serial driver bugs related to (1) open counts and (2) recognizing
O_NONBLOCK on read.
* Fixed an error in read(); it was not setting the errno on errors returned
from the driver.
These changes were verified only on the mcu123.com NXP LPC2148 board
using with a Linux host. Please report any errors to me.
This tarball contains a complete CVS snapshot from October 10, 2008.
UPDATE
------
This release does not build for the ARM target when USB is disabled.
Here is the fix:
Index: arch/arm/src/common/up_internal.h
===================================================================
RCS file: /cvsroot/nuttx/nuttx/arch/arm/src/common/up_internal.h,v
retrieving revision 1.13
diff -u -r1.13 up_internal.h
--- arch/arm/src/common/up_internal.h 6 Oct 2008 16:20:52 -0000 1.13
+++ arch/arm/src/common/up_internal.h 13 Oct 2008 20:48:21 -0000
@@ -200,7 +200,8 @@
extern void up_usbinitialize(void);
extern void up_usbuninitialize(void);
#else
-# define up_netinitialize()
+# define up_usbinitialize()
+# define up_usbuninitialize()
#endif
#endif /* __ASSEMBLY__ */

View file

@ -0,0 +1,29 @@
NuttX-0.3.17
------------
This is the 29th release of NuttX. This release includes the
additional support for USB in NuttX. The following new features
were added:
* Added support for SPI-based MMC/SD cards (with an SPI driver
for the NXP LPC214x).
* Added USB storage class device side driver (BBB)
* Added an example that demonstrates the USB storage class by
exporting the SPI based MMC/SD card on the NXP LPC214x.
This is an early alpha release of these drivers. At present they
only work with debug features enabled so there are probably some
race conditions that occur only with debug features disabled.
(Anyone out there with a USB analyzer? I would love to know what
is happening.)
Several important bugs were also fixed in the FAT file system, USB
serial driver and NXP LPC214x USB controller driver. (See the ChangeLog
for details.)
These changes were verified only on the mcu123.com NXP LPC2148 board
using a Linux development environment. USB testing was performed
using both a Linux host and a WinXP host. Please report any errors
to me.
This tarball contains a complete CVS snapshot from October 28, 2008.

View file

@ -0,0 +1,46 @@
NuttX-0.3.18
------------
This is the 30th release of NuttX. This release includes two
partially completed ports, several new features, and a couple of
important bug fixes. The two partially completed ports are:
* The STMicro STR71x processor and configuration for the Olimex
STR-P711 board.
* The Hitachi SH-1 using the SH1_LCEVB1 (SH-1/US7032EVB1) board
Progress on these ports is stalled (as detailed in the ChangeLog).
The new features focus primarily on management of block devices and
extensions of the NuttShell (NSH). These include:
* A loop device that converts a file into a block device.
* A block to character (BCH) driver that allow access a block device as
if it were character device.
* Added strcasecmp() and strncasecmp() libc functions.
* Added the 'dd' and 'losetup' commands to NSH. These commands
(along with mkfatfs and mount), give good management of filesystems
on the target.
Several bugs were fixed, the most important of which are:
* Fixed a race condition workaround delay in LPC214X SPI logic.
This was also the cause of some bad MMC/SD performance on that
platform.
* Fixed a recently introduced FAT file system problem: It would
mount a (invalid) FAT file system even if the medium is not formatted!
* Corrected two other important errors in the FAT lseek() implementation:
1 - The sectors-per-cluster value was being reset to "1".
2 - Important lseek logic was omitted when the seek position was zero.
The FAT filesystem has had many bugs fixed in it and, I think, is
now maturing and becoming stable.
These changes were verified only on the mcu123.com NXP LPC2148
board, the Hitachi SH1_LCEVB1 board, and the Linux simulator, all
using a Linux development environment. Please report any errors
to me.
This tarball contains a complete CVS snapshot from November 16, 2008.

View file

@ -0,0 +1,39 @@
NuttX-0.3.19
------------
This is the 31st release of NuttX. This release includes the
following new feature:
* Add poll() and select() APIs that may be used to monitor for
data availability on character devices or TCP/IP sockets.
* Implemented support TCP/IP connection backlog. This allows
select() to wake-up on new connections to a listener socket.
* Added definition of a framebuffer driver and implement framebuffer
drivers for the simulated platform and the TI DM320 (untested
as of the initial check-in).
* Partially developed a graphics framework based on the framebuffer
drivers, however, this will not be ready for use for a few more
releases. Currently this includes only a few color conversion
routines and some rasterizing functions. A tiny windowing system
is under development but not ready for check-in yet.
* Added support for fixed precision math.
* Added support for outgoing multicast packets.
Several bugs were fixed, the most important of which are:
* Fixed an important bug in the TCP/IP buffering logic. When
TCP/IP read-ahead is enabled and not recv() is in-place when a
TCP/IP packet is received, the packet is placed into a read-ahead
buffer. However, the old contents of the read-ahead buffer
were not being cleared and old data would contaminate the newly
received buffer.
* Changed the behavior of the serial driver read. It now returns
data as it is available rather than waiting for the full requested
read size. This makes functions like fgetc() work much more
smoothly.
These changes were verified only on the Neuros OSD (ARM9) using a
Linux development environment. Please report any errors to me.
This tarball contains a complete CVS snapshot from November 26, 2008.

View file

@ -0,0 +1,27 @@
NuttX-0.3.2
-----------
This is the 14th release of NuttX and the 3rd release containing
the integration of a network subsystem and the uIP TCP/IP, UDP, and
ICMP stacks into NuttX (see http://www.sics.se/~adam/uip/index.php/Main_Page).
Many network-related problems have been fixed and the implementation
has matured significantly. This release consists of:
o TCP-related bug-fixes
o TCP performance improvements
o Initial UDP integration
o Initial uIP micro webserver integration
See the ChangeLog for a complete list of changes.
The level of network reliability is at alpha level is expected to
achieve beta level of reliability over the next few releases.
The baseline functionality of NuttX continues to mature and remains at
post-beta.
This release has been verified only on the Neuros OSD (DM320 ARM9)
platform using the DM90x0 driver.
This tarball contains a complete CVS snapshot from November 23, 2007.

View file

@ -0,0 +1,31 @@
NuttX-0.3.3
-----------
This is the 15th release of NuttX and the 4th release containing
the integration of a network subsystem and the uIP TCP/IP, UDP, and
ICMP stacks into NuttX (see http://www.sics.se/~adam/uip/index.php/Main_Page).
Many network-related problems have been fixed and the implementation
has matured significantly. This release consists of:
o TCP-related bug-fixes for disconnecting sockets
o Correction of some TCP read-ahead logic
o TCP performance improvements
o Misc. additions and cleanup (See the ChangeLog for a complete list of
changes).
The level of network reliability is at an early beta release level. The
baseline functionality of NuttX continues to mature and remains at
post-beta. Open network-related issues include only:
o Some minor unimplemented BSD socket functionality,
o Thread safety issues: the same socket cannot be used concurrently on
different threads.
o Pending design changes necessary to support multiple network interfaces.
o IPv6 support is incomplete.
This release has been verified only on the Neuros OSD (DM320 ARM9)
platform using the DM90x0 driver. Any feedback for improving the network
reliability/performance would be greatly appreciated.
This tarball contains a complete CVS snapshot from November 28, 2007.

View file

@ -0,0 +1,30 @@
NuttX-0.3.4
-----------
This is the 16th release of NuttX and the 5th release containing
the integration of a network subsystem and the uIP TCP/IP, UDP, and
ICMP stacks into NuttX (see http://www.sics.se/~adam/uip/index.php/Main_Page).
This release is primarily a bug-fix release. New features include
only:
o TELNET front-end to NSH,
o DHCPC server functionality, and
o C5471 Ethernet driver.
Numerous network related problems were fixed related to DHCPC, UDP
input processing, UDP broadcast, send timeouts, and bad compilation when
uIP is compiled at high levels of optimization.
The level of network reliability is at a strong beta release level. The
baseline functionality of NuttX continues to mature and remains at
post-beta or production level.
Parts of this release were verified only on the Neuros OSD (DM320 ARM9)
platform using the DM90x0 Ethernet driver and other parts on the Spectrum
Digital C5471 EVM using the C5471 Ethernet driver. Any feedback about bugs
or suggestions for improving the network reliability/performance would be
greatly appreciated.
This tarball contains a complete CVS snapshot from December 10, 2007.

View file

@ -0,0 +1,12 @@
NuttX-0.3.5
-----------
This is the 17th release of NuttX this release is primarily a bug-fix
release and intended to synchronize with the current CVS contents. See
the ChangeLog for a detailed list of changes and fixes.
This release were verified only on the Spectrum Digital C5471 EVM using
the C5471 Ethernet driver. Any feedback about bugs or suggestions for
improvement would be greatly appreciated.
This tarball contains a complete CVS snapshot from December 18, 2007.

View file

@ -0,0 +1,27 @@
NuttX-0.3.6
-----------
This is the 18th release of NuttX. This release contains on a few
changes. The primary purpose of this release is to synchronize with
the release of the pascal-0.1.0 add-on package.
This release of NuttX includes the following changes:
* Fixes for use with SDCC compiler
* Added a simulated z80 target (arch/z80)
* Fix deadlock errors when using stdio but with no buffering
* Add support for the add-on Pascal P-Code interpreter (pcode/)
(see the pascal-0.1.0 package)
This release were verified only on the simulated Z80 and host
simulation targets. As usual, any feedback about bugs or suggestions
for improvement would be greatly appreciated.
This tarball contains a complete CVS snapshot from January 6, 2007.
====
There was an error in the initial 0.3.6 release that prevented
a successful build unless the Pascal add-on was present. The
tarball was patched to include the fix. Make sure that you download
the nuttx-0.3.6.1.tar.gz version to avoid this problem.

View file

@ -0,0 +1,29 @@
NuttX-0.3.7
-----------
This is the 19th release of NuttX. This release includes the
preliminary port of NuttX to the ZiLOG z16f 16-bit microcontroller.
This port was verified using the ZiLOG z16f2800100zcog Development
and the ZiLOG ZDS-II toolchain. See http://www.zilog.com for
further information.
I emphasize that this is a preliminary release of the z16f port and
is only alpha or, perhaps, pre-alpha quality as of this writing.
There are a list of known issues in the TODO file in the root of
the NuttX directory. The overall quality of NuttX (excluding the
z16f port) continues to improve beyond the late beta level.
The z16f port required numerous changes to NuttX to handle:
* NEAR and FAR addressing, and
* Use of a Windows native toolchain in a Cygwin build environment.
In addition to the z16f port, at least one very critical bug was
found and corrected in NuttX: The thread-specific errno value of one
task was being randomly trashed when a different thread exited.
This release were verified on the ZiLOG z16f2800100zcog, Neuros OSD
(ARM9), and the simulation platforms. As usual, any feedback about bugs
or suggestions for improvement would be greatly appreciated.
This tarball contains a complete CVS snapshot from January 31, 2008.

View file

@ -0,0 +1,9 @@
NuttX-0.3.8
-----------
This is the 20th release of NuttX. This is a minor bugfix release.
It corrects a few minor problems, adds a few minor features, and
continues the integration of the ZiLOG Z18F and of the Pascal P-Code
add-on. This release is synchronized with the release of Pascal-0.1.2.
This tarball contains a complete CVS snapshot from February 10, 2008.

View file

@ -0,0 +1,12 @@
NuttX-0.3.9
-----------
This is the 21st release of NuttX. This is a minor future enhancement
release. This release includes support for the ZiLOG Z8Encore! micro-
controller. Also included is the initial framework for support for
the Z80, XTRS platform (http://www.tim-mann.org/xtrs.html).
This released has been verified only on the ZiLOG ZDS-II Z8Encore!
chip simulation.
This tarball contains a complete CVS snapshot from March 9, 2008.

View file

@ -0,0 +1,21 @@
NuttX-0.4.0
-----------
This is the 32nd release of NuttX. This release adds graphics
support and a tiny windowing subsystem. That new graphics subsystem
is documented at http://nuttx.sourceforge.net/NXGraphicsSubsystem.html.
No other substantial changes were made.
These changes were verified only on the NuttX simulation platform
with X11 windows simulating a device framebuffer. Please report any
errors to me.
The version number was bumped up to 0.4.0 in part to reflect the
new graphics subsystem, but also to recognize the NuttX is approaching
complete functionality. In the 0.3.x versions, network support was
added, Pascal P-code runtime support was added, FAT and ROMFS
filesystems were added, MMC/SD and USB device support were added.
There were also numerous extensions to the NuttShell, NuttX APIs,
and architecture ports.
This tarball contains a complete CVS snapshot from December 6, 2008.

View file

@ -0,0 +1,18 @@
NuttX-0.4.1
-----------
This is the 33rd release of NuttX. This is a minor bugfix release.
The primary reason for this release is to correct numerous build
errors that have accumulated for the ZiLOG ZDS-II based targets.
All ZDS-II targets now build correctly (but have not been re-tested).
In addition to platform-specific build failures, this release also
adds the following features which were not tested as of the time
of the release:
* Board support for the ZiLog ez80Acclaim! ez80f910200zco Development Kit
* ZiLOG eZ80F91 EMAC driver
These changes were verified only on the NuttX simulation platform.
Please report any errors to me.
This tarball contains a complete CVS snapshot from February 6, 2009.

View file

@ -0,0 +1,20 @@
NuttX-0.4.10
------------
This is the 42nd release of NuttX. This released focused on the
port of Jeff Poskanzer's THTTPD HTTP server (see
http://acme.com/software/thttpd/). As of the 0.4.10 release, that
port is still not fully complete and functional. However, numerous
related bug-fixes and functional additions for THTTPD were added:
* Several new standard C-library functions (fileno, strstr,
strpbrk, fcntl).
* Improved and extended timing APIs (mktime, gmtime, gmtime_r,
gettimeofday, localtime, localtime_r, and strftime)
* Networking enhancements: recvfrom() and accept() now work with
non-blocking sockets.
* NXFLAT extensions (exec)
* Pattern matching logic.
* And miscellaneous bug fixes (see the ChangeLog for details).
This tarball contains a complete CVS snapshot from August 8, 2009.

View file

@ -0,0 +1,27 @@
NuttX-0.4.11
------------
This is the 43rd release of NuttX. This release of NuttX incorporates
the verified port of Jeff Poskanzer's THTTPD HTTP server (see
http://acme.com/software/thttpd/). Many of the key features of
THTTPD have been tested on the Micromint Eagle-100 development board
(Cortex-M3). These tests verify:
* Serving of files from any file system
* Execution of CGI executable. This release supports execution
of NXFLAT executables on a ROMFS file system
(https://nuttx.apache.org/docs/latest/components/nxflat.html)
A standard CGI interface is used: Information is pasted to the CGI
program via POST commands and via environment variables. CGI socket
I/O is redirected to stdin and stdout so that the CGI program only
need to printf() to send its content back to the HTTP client.
Another value to this THTTPD integration effort has been that THTTPD
has provided a very good test bed for finding NuttX networking bugs.
Several very critical networking bugs have been fixed with this
0.4.11 release (see the ChangeLog for details). Networking throughput
has also been greatly improved. Anyone using NuttX networking
should consider upgrading to this release.
This tarball contains a complete CVS snapshot from September 16, 2009

View file

@ -0,0 +1,23 @@
NuttX-0.4.12
------------
This is the 44th release of NuttX. This release adds basic support
for the STMicro STM32, Cortex-M3 MCU. The specific port is to the
STMicro STM3210E-EVAL development board based around the STM32F103ZET6
MCU. Some highlights of this port:
* This basic port includes boot-up logic, interrupt driven serial
console, and system timer interrupts.
* Includes a basic STMicro RIDE7 project that can be used to
perform basic STM32 board bring-up (due to RIDE7 size limitations,
it cannot be used for the full NuttX bring-up).
* Working, Tested Configurations: the NuttX OS test and the
NuttShell (NSH) example.
This basic STM32 port will be extended in the 0.4.13 NuttX release.
Functionality needed for complete STM32 support includes: USB
device driver, LCD driver and NX bringup on the development board's
display and MicroSD support. An SPI driver and a DMA support was
included in this 0.4.12 release, but is not yet tested.
This tarball contains a complete CVS snapshot from October 17, 2009

View file

@ -0,0 +1,31 @@
NuttX-0.4.13
------------
This is the 45th release of NuttX. The release extends the support
for the STMicro STM32 microcontroller. Minimal support for the
STM3210E-EVAL development board based around the STM32F103ZET6 MCU
was released in NuttX-0.4.12. This release adds:
* A simple interface definition to support some FLASH, EEPROM,
NVRAM, etc. devices.
* Verified SPI operation using driver for SPI based FLASH parts
M25P64 and M25P128.
* Improved Cortex-M3 context switching. This should improve
context switching performance be 2x in certain cases.
* Added a USB device-side driver for the STM32. This is an early
release of a very complex driver; some bugs are expected.
* The USB driver has been verified against the USB serial device
class driver. There is at least one known outstanding issue
(see the full bug description in the TODO list).
This release also corrects some important bugs in the early STM32 release:
* Fixed several errors the prevented operation of NuttX on an
STM32 development board using USART2 as the serial console.
* Fixed and optimization-dependent race condition in the clock
initialization.
* Fixed a critical bug in the interrupt control logic that could
cause interrupt operations to failed used for interrupts in a
certain range.
This tarball contains a complete CVS snapshot from November 4, 2009

View file

@ -0,0 +1,23 @@
NuttX-0.4.2
-----------
This is the 34th release of NuttX. This release adds no new OS
features but does include support for two new architectures:
* ez80Acclaim! Basic support has been integrated and verified
for the ez80f910200zcog-d board (eZ80F91-based). That basic
support includes timer interrupts and serial console. Ongoing
work includes an EMAC driver that should be integrated for the
next release nuttx-0.4.2. eZ80Acclaim! support has been in the
code base for some time, but has only just been integrated due
to toolchain issues.
* Renesas M16C/20. Support for the Renesas SKP16C20 board has
been included in the NuttX source tree. However, as the
eZ80Acclaim!, testing and integration of that port is stalled
due to toolchain issues.
These changes were verified only on the ZiLOG eZ80910200zcog-d
board. Please report any errors to me.
This tarball contains a complete CVS snapshot from February 28, 2009.

View file

@ -0,0 +1,22 @@
NuttX-0.4.3
-----------
This is the 35th release of NuttX. This release one important new
OS feature and corrects and extends the eZ80 port:
* Priority Inheritance. The basic NuttX waiting logic was extended
to support priority inheritance. See the NuttX User Manual for
further information:
http://nuttx.apache.org/docs/latest/reference/user/05_counting_semaphore.html.
* ez80Acclaim! Corrected several critical, show-stopping bugs on that
platform including:
- Errors in the serial driver interrupts.
- An error in the eZ80 table.
* eZ80Acclaim!: Completed integration of the eZ80F91 EMAC driver.
These changes were verified only on the ZiLOG eZ80910200zcog-d board
and on Cygwin-based simulation platform in various configurations.
Please report any errors to me.
This tarball contains a complete CVS snapshot from March 13, 2009.

View file

@ -0,0 +1,20 @@
NuttX-0.4.4
-----------
This is the 36th release of NuttX. This release focuses on bugfixes
and extending and verifying certain networking features.
* Important bugs were fixed in NSH, UDP checksum calculation, UDP
bind() behavior for port==0, the eZ80Acclaim! EMAC driver, Z80
interrupt handling, and in the C libraries.
* Testing was extended to further verify the tiny webserver,
DHCPD, wget(), and sendmail.
See the Changelog for a detailed description of these changes.
These changes were verified only on the ZiLOG eZ80910200zcog-d board
using the ZDS-II toolchain in Cygwin-based environment. Please
report any errors to me.
This tarball contains a complete CVS snapshot from March 29, 2009.

View file

@ -0,0 +1,18 @@
NuttX-0.4.5
-----------
This is the 37th release of NuttX. This release focuses on a few new features.
* The basic port for the Freescale ARM920T i.MX1 processor on the
Freescale MX1ADS board. Coding is complete for this port, but
it is has not yet fully integrated
* Extended I2C and SPI interface definitions
* Add basic support for C++ applications. Very simple C++
applications can now be built against NuttX without any external
libraries. At present, only the most primitive C++ programs
are supported, but it is hoped that this support will be extended
in future releases.
See the Changelog for a detailed description of these changes.
This tarball contains a complete CVS snapshot from April 19, 2009.

View file

@ -0,0 +1,21 @@
NuttX-0.4.6
-----------
This is the 38th release of NuttX. The release features support
for the Micromint Eagle-100 development board. This board is based
around, the Luminary LM3S6918 MCU. This is the first ARM Cortex-M3
architecture supported by NuttX. This initial, basic port includes
timer and serial console with configurations to execute the NuttX
OS test and to run the NuttShell (NSH). Work is still underway on
this port and current plans are to have I2C, SSI, MMC/SD, and
Ethernet driver in the 0.4.7 release.
Additional work was done on the MXADS i.MX1 port, however, that
work has been set aside until I complete work on the Eagle-100 (I
also need to come up with a 3V power supply).
Other changes in this release include: Extensions to the SPI interface
definition in order to handle 9-bit interfaces to displays. Several
bugs were fixed (see the ChangeLog for a complete list of changes).
This tarball contains a complete CVS snapshot from May 19, 2009.

View file

@ -0,0 +1,19 @@
NuttX-0.4.7
-----------
This is the 39th release of NuttX. This release focuses on cleaning
up and extending the Eagle100/LM3S6918 port released in nuttx-0.4.6
and on improved MMC/SD support. New features include:
* Improved reliably and additional drivers for the Eagle-100 board
(LM3S6918 ARM Cortex-M3). Additional drivers include Ethernet,
SSI, and support for the on-board LEDs and microSD cards.
* The SPI-based MMC/SD driver was extended to support SDHC Version
2.xx cards.
In addition, this release includes several important bugfixes for
the LM3S6918, the LPC2148, the SPI-based MMC/SD driver, and to
FAT32. See the ChangeLog for details of these bugfixes.
This tarball contains a complete CVS snapshot from May 29, 2009.

View file

@ -0,0 +1,21 @@
NuttX-0.4.8
-----------
This is the 40th release of NuttX. This release adds:
* Support for the Olimex STRP711 board. That board is based on
the STMicro STR711 MCU (ARM7TDMI). Integration is complete on
the basic port (boot logic, system time, serial console). Two
configurations have been verified: (1) The board boots and
passes the OS test with console output visible on UART0, and
the NuttShell (NSH) is fully functional with interrupt driven
serial console. An SPI driver is available but untested (because
the Olimex card slot appears to accept only MMC cards; I have
only SD cards). Additional needed: USB and driver, MMC
integration.
* Support for the CodeSourcery and devkitARM Windows-native GNU
toolchains. Makefiles have been modified for the LM3S6918,
LPC2148, and STR711 to support these toolchains under Cygwin.
This tarball contains a complete CVS snapshot from June 13, 2009.

View file

@ -0,0 +1,13 @@
NuttX-0.4.9
-----------
This is the 41st release of NuttX. This release adds:
* Support for a new binary format call NXFLAT that can be used to
execute separately linked programs in place in a file system.
See https://nuttx.apache.org/docs/latest/components/nxflat.html.
* Several important bugs were files related to networking and ROMFS.
See the ChangeLog for a complete list.
This tarball contains a complete CVS snapshot from June 26, 2009.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,955 @@
NuttX-10.1.0
------------
# What's New In This Release
## Highlights
* Better separation between kernel and userspace.
* Heap and stack management improvements.
* More closely follow POSIX and Linux interfaces.
* Symmetric Multi-Processing (SMP) performance improvements and bug fixes.
* Networking improvements and bug fixes.
* Added support for many microcontrollers and boards, and improved support for many existing ones.
* Many added and improved drivers.
* Build system improvements to deliver faster builds.
* Thousands of NuttX files converted to Apache 2.0 License with permission of their authors.
* Improved listing of 3rd party licenses used in NuttX (see LICENSE, NOTICE, and DISCLAIMER-WIP files).
## Major Changes to Core OS
### New Features
* [#2324](https://github.com/apache/nuttx/pull/2324) audio: libsamplerate: add initial audio Sample Rate Converter
* [#2820](https://github.com/apache/nuttx/pull/2820) arch, boards, drivers, include, sched, wireless: Change spinlock APIs.
* [#2885](https://github.com/apache/nuttx/pull/2885) Ensure the kernel component don't call userspace API
### Bug Fixes
* [#1852](https://github.com/apache/nuttx/pull/1852) sysconf: add _SC_PAGESIZE sysconf support
* [#1922](https://github.com/apache/nuttx/pull/1922) sched: nxtask_start should call entry point directly for kernel thread
* [#1994](https://github.com/apache/nuttx/pull/1994) libc: Don't fclose and fopen file in freopen
* [#2005](https://github.com/apache/nuttx/pull/2005) Fix note_syscall_leave_s to avoid unaligned access
* [#2043](https://github.com/apache/nuttx/pull/2043) sched: Add SCHED_INSTRUMENTATION_HIRES support
* [#2044](https://github.com/apache/nuttx/pull/2044) sched: Add note_syscall args support
* [#2071](https://github.com/apache/nuttx/pull/2071) pollnotify: we should send poll events before semaphore incrementes.
* [#2076](https://github.com/apache/nuttx/pull/2076) libc: math: Make this friendly with libcxx
* [#2111](https://github.com/apache/nuttx/pull/2111) LIBCXX related fixes
* [#2147](https://github.com/apache/nuttx/pull/2147) sched: Use nx_close() inside OS
* [#2176](https://github.com/apache/nuttx/pull/2176) syscall/syscall.csv: Increase number of arguments for prctl()
* [#2204](https://github.com/apache/nuttx/pull/2204) sched: irq: Fix enter_critical_section() in an irq handler for SMP
* [#2218](https://github.com/apache/nuttx/pull/2218) sched: signal.h: fix compile failed when open TTY_SIGINT
* [#2229](https://github.com/apache/nuttx/pull/2229) sched/sched/sched_waitid.c: Allow WNOHANG
* [#2236](https://github.com/apache/nuttx/pull/2236) sched/task/task_exithook.c: Remove a redundant assignment
* [#2243](https://github.com/apache/nuttx/pull/2243) libcxx: Update [0001-libcxx-Port-to-NuttX-https-nuttx.apache.org](http://0001-libcxx-Port-to-NuttX-https-nuttx.apache.org)-RTOS.patch
* [#2255](https://github.com/apache/nuttx/pull/2255) sys/epoll: sync the epoll define with linux
* [#2256](https://github.com/apache/nuttx/pull/2256) unistd/sched_sporadic: correct the disable value
* [#2261](https://github.com/apache/nuttx/pull/2261) sched/timer: add support of CLOCK_MONOTONIC
* [#2262](https://github.com/apache/nuttx/pull/2262) sched/init: init the default home directory to environment
* [#2285](https://github.com/apache/nuttx/pull/2285) libc/stdlib: Fix range check in strtoul(l)
* [#2326](https://github.com/apache/nuttx/pull/2326) libc: Enhance getopt function
* [#2407](https://github.com/apache/nuttx/pull/2407) libc: machine: arch: Support armv8-m relocation
* [#2418](https://github.com/apache/nuttx/pull/3447) libc: Change OK/ERROR from macro to enum
* [#2420](https://github.com/apache/nuttx/pull/2420) sched/signal: Remove redundant checks
* [#2437](https://github.com/apache/nuttx/pull/2765) sched/sched/sched_waitpid.c: Fix return value
* [#2449](https://github.com/apache/nuttx/pull/2449) mm/circbuf: fix the problem of dividing by zero
* [#2450](https://github.com/apache/nuttx/pull/2450) unistd/getopt: remove number of arguments limit
* [#2451](https://github.com/apache/nuttx/pull/2451) libc: pthread_mutexattr_getprotocol: modify prototype
* [#2455](https://github.com/apache/nuttx/pull/2455) sched/sched/sched_waitpid.c: Discard the correct child entry
* [#2475](https://github.com/apache/nuttx/pull/2475) sched/sched_waitid.c: Fix two bugs when CONFIG_SCHED_CHILD_STATUS is enabled
* [#2487](https://github.com/apache/nuttx/pull/2487) sched: clock/time: add CLOCK_BOOTTIME definition
* [#2492](https://github.com/apache/nuttx/pull/2492) procfs: make array const to reduce memory use
* [#2494](https://github.com/apache/nuttx/pull/2494) sched: Fix SMP
* [#2509](https://github.com/apache/nuttx/pull/2509) libc: net: implement ether_aton/ether_aton_r
* [#2517](https://github.com/apache/nuttx/pull/2517) sched: spinlock: Introduce SP_WFE() and SP_SEV()
* [#2518](https://github.com/apache/nuttx/pull/2518) sched: Don't forward gettid to getpid directly
* [#2530](https://github.com/apache/nuttx/pull/2530) libc: Implement posix_fallocate
* [#2533](https://github.com/apache/nuttx/pull/2533) sched: Make the number of queue/signal used by irq handler configurable
* [#2534](https://github.com/apache/nuttx/pull/2534) libc: Implement getppid
* [#2538](https://github.com/apache/nuttx/pull/2538) sched: pthread: Fix potential bugs in pthread_condclockwait.c
* [#2574](https://github.com/apache/nuttx/pull/2574) libc: dumpbuffer: dump buffer enhancement
* [#2580](https://github.com/apache/nuttx/pull/2580) sched: arch & sched: task: Fix up_exit() and nxtask_exit() for SMP
* [#2585](https://github.com/apache/nuttx/pull/2585) libc: netdb: Move hostbuffer out of the stack
* [#2602](https://github.com/apache/nuttx/pull/2740) sched: Add include/sys/poll.h
* [#2604](https://github.com/apache/nuttx/pull/2604) libc: Add b64_ntop and b64_pton implementation
* [#2616](https://github.com/apache/nuttx/pull/2616) libc/dumpvbuffer: update the vector ptr correctly
* [#2624](https://github.com/apache/nuttx/pull/2624) sched: implement the default test-and-set semantics
* [#2627](https://github.com/apache/nuttx/pull/2627) OS internal function should indicate the error by return negative value
* [#2630](https://github.com/apache/nuttx/pull/2630) libc: net: implement socketpair
* [#2631](https://github.com/apache/nuttx/pull/2631) sched: mqueue: simplify the mqueue reailize
* [#2650](https://github.com/apache/nuttx/pull/2650) libc: ctype/iscntrl: correct the control character function
* [#2653](https://github.com/apache/nuttx/pull/2653) sched: Don't call sched_lock()/unlock() in nx_waitid()/waitpid() for SMP
* [#2668](https://github.com/apache/nuttx/pull/2668) Kernel module should prefer functions with nx/kmm prefix
* [#2675](https://github.com/apache/nuttx/pull/2675) libc: Add placement new and new[] function
* [#2693](https://github.com/apache/nuttx/pull/2693) libxx: use built-in __aeabi_atexit() if LIBSUPCXX is enabled
* [#2694](https://github.com/apache/nuttx/pull/2694) libc/machine/arch: fix build break if enable armv8 ELF
* [#2719](https://github.com/apache/nuttx/pull/2719) sched/task: setup the scheduling policy to task
* [#2726](https://github.com/apache/nuttx/pull/2726) sched: sched: Remove sched_lock/unlock from nxsched_set_affinity()
* [#2737](https://github.com/apache/nuttx/pull/2737) sched: task: Fix a potential bug in nxtask_assign_pid()
* [#2740](https://github.com/apache/nuttx/pull/2740) sched/timer: get the previous reload value correctly
* [#2741](https://github.com/apache/nuttx/pull/2741) libc: unistd/fpathconf: enhance fpathconf
* [#2742](https://github.com/apache/nuttx/pull/2742) libc: pthread/cond: enhance pthread_cond_destroy
* [#2744](https://github.com/apache/nuttx/pull/2744) sched: task: Fix comments and label in nxtask_assign_pid()
* [#2765](https://github.com/apache/nuttx/pull/2765) sched: pthread: Return get_errno instead the hardcode value
* [#2767](https://github.com/apache/nuttx/pull/2767) sched/wqueue/notifier: protect the work notifier with critical section
* [#2797](https://github.com/apache/nuttx/pull/2797) sched: group: Fix group_kill_children() for SMP
* [#2849](https://github.com/apache/nuttx/pull/2849) mqueue: Add _MQ_OPEN, _MQ_CLOSE and _MQ_UNLINK macro
* [#2855](https://github.com/apache/nuttx/pull/2855) libs: Remove the duplicated _NX_ and _MQ_ macro
* [#2865](https://github.com/apache/nuttx/pull/2865) libc: :machine:risc-v:unifying elf relocation code
* [#2872](https://github.com/apache/nuttx/pull/2872) sched: pthread: Fix pthread cmdline issue
* [#2881](https://github.com/apache/nuttx/pull/2881) libc: Move stack check stuff from libc/stdlib/ to libc/assert/
* [#2904](https://github.com/apache/nuttx/pull/2904) libc: unistd/getcwd: enhance getcwd when buf is NULL
* [#2906](https://github.com/apache/nuttx/pull/2906) mm: umm_heap: valloc: support valloc (LEGACY)
* [#2910](https://github.com/apache/nuttx/pull/2910) libc/hex2bin: fix handling of segment offsets
* [#2919](https://github.com/apache/nuttx/pull/2919) sched: fix fd leak in dlopen
* [#2938](https://github.com/apache/nuttx/pull/2938) libs: misc: Remove critical section in lib_filesem.c for SMP
* [#2942](https://github.com/apache/nuttx/pull/2492) mtd: progmem: Add up_progmem_read callback guarded by ARCH_HAVE_PROGMEM_READ
* [#2946](https://github.com/apache/nuttx/pull/2946) sched: task: Call nxtask_flushstreams() without critical section
* [#2960](https://github.com/apache/nuttx/pull/2960) sched: signal: sigdeliver: fix system block when kill signal to idle in SMP
* [#2980](https://github.com/apache/nuttx/pull/2980) include: Add iso646.h for alternative spellings
* [#2981](https://github.com/apache/nuttx/pull/2981) sched: Remove all group id related stuff
* [#3033](https://github.com/apache/nuttx/pull/3033) unistd: Fix getpriority not handling invalid input value
* [#3080](https://github.com/apache/nuttx/pull/3080) sched: semaphore: Remove a redundant critical section in nxsem
* [#3083](https://github.com/apache/nuttx/pull/3083) libc: stdio/lib_clearerr: Did not clear stream buffer flags in clearerr
* [#3086](https://github.com/apache/nuttx/pull/3086) mm: improve the memory manager modularity and reduce the information explosion
* [#3111](https://github.com/apache/nuttx/pull/3111) sched: Sporadic scheduler: Fix time calculation and compile errors when assertions are enabled:
* [#3115](https://github.com/apache/nuttx/pull/3115) libc: time: localtime: fix race condition
* [#3121](https://github.com/apache/nuttx/pull/3121) mm/heap: Move semaphore related declaration to private header
* [#3123](https://github.com/apache/nuttx/pull/3123) sched: pthread: Remove a redundant critical section in pthread_condclockwait.c
* [#3131](https://github.com/apache/nuttx/pull/3131) mm: Minor fix for heap manager
* [#3159](https://github.com/apache/nuttx/pull/3159) mm: mm_heap: Remove critical section in mm_sem.c
* [#3170](https://github.com/apache/nuttx/pull/3170) libc: Move getopt() variables into TLS
* [#3196](https://github.com/apache/nuttx/pull/3196) sched/signal: Implement SA_NODEFER
* [#3228](https://github.com/apache/nuttx/pull/3228) mm/mm_heap: fix compile failed when open DEBUG_MM
* [#3244](https://github.com/apache/nuttx/pull/3244) libdsp: Improvements for libdsp and support for fixed16 libdsp implementation
* [#3247](https://github.com/apache/nuttx/pull/3247) sched: Move the default Task Stack size to Stack menu
* [#3251](https://github.com/apache/nuttx/pull/3251) libc: update pthread_once according to the specification
* [#3253](https://github.com/apache/nuttx/pull/3253) libc pthread: Fix pthread_rwlock_init return error
* [#3268](https://github.com/apache/nuttx/pull/3268) libdsp/fixed16: add open-loop handler
* [#3272](https://github.com/apache/nuttx/pull/3272) libc: Implement getopt_long() and getopt_long_only()
* [#3280](https://github.com/apache/nuttx/pull/3280) libc: Correct some getopt() logic
* [#3289](https://github.com/apache/nuttx/pull/3289) sched: task: Fix to initialize the task-specific data
* [#3294](https://github.com/apache/nuttx/pull/2418) libc: getopt(): Fix Use of Pointer before NULL check
* [#3299](https://github.com/apache/nuttx/pull/3299) libc: getopt_common(): Correct handling of unsupported long options.
* [#3308](https://github.com/apache/nuttx/pull/3308) libc: getopt_long(): Add support for required argument format
* [#3445](https://github.com/apache/nuttx/pull/3445) libc: update stream getoffset to handle write case
* [#3447](https://github.com/apache/nuttx/pull/2450) libc: correct zoneinfo genromfs source directory
## Major Changes to the Build System
### New Features
* [#1834](https://github.com/apache/nuttx/pull/1834) License/authorship handling scripts
* [#2107](https://github.com/apache/nuttx/pull/2107) build: Makefile should reference CONFIG_HOST_xxx
* [#2392](https://github.com/apache/nuttx/pull/2392) configure.sh: support custom board build config with absolute path
* [#2824](https://github.com/apache/nuttx/pull/2824) build/esp32: Create Flash size configuration and a new DOWNLOAD make target
* [#3317](https://github.com/apache/nuttx/pull/3317) tols: Update python scripts to py3 and lint all of them againt Black
### Bug Fixes
* [#1890](https://github.com/apache/nuttx/pull/1890) make/expression: improving up asm/C/C++ compile times(make with multi-jobs only)
* [#1940](https://github.com/apache/nuttx/pull/1940) cygwin build - path issue fix for Renesas arch
* [#2032](https://github.com/apache/nuttx/pull/2032) build: Change .external_dummy to dummy
* [#2101](https://github.com/apache/nuttx/pull/2101) build: Add $(OBJS) and $(BIN) to CLEAN macro to clean objects also in subdirectories
* [#2192](https://github.com/apache/nuttx/pull/2192) build: Move __NuttX__ definition to tools/[Config.mk](http://Config.mk)
* [#2221](https://github.com/apache/nuttx/pull/2221) tools: Avoid messing the final binary nuttx.(bin,hex,...) compilation msg
* [#2335](https://github.com/apache/nuttx/pull/2335) build: Parallelize depend file generation
* [#2380](https://github.com/apache/nuttx/pull/2380) tools: Fix nuttx-gdbinit for armv7-m with FPU
* [#2404](https://github.com/apache/nuttx/pull/2404) Update checkrelease script to check [readme.md](http://readme.md) instead of .txt
* [#2411](https://github.com/apache/nuttx/pull/2411) tools: Add 'handle SIGUSR1' to nuttx-gdbinit for the NuttX sim SMP
* [#2432](https://github.com/apache/nuttx/pull/2432) build system: add missing --obj-path to MKDEP
* [#2557](https://github.com/apache/nuttx/pull/2557) tools/version.sh: Fix the version retrieved from GIT
* [#2561](https://github.com/apache/nuttx/pull/2561) tools: Fix version.sh
* [#2642](https://github.com/apache/nuttx/pull/2642) tools/version.sh: Fix the version retrieved from git-tag
* [#2673](https://github.com/apache/nuttx/pull/2673) tools: esp32: add a gdb script to show backtrace
* [#2679](https://github.com/apache/nuttx/pull/2679) tools: esp32: btdecode.sh: Script to decode the Xtensa backtrace.
* [#2701](https://github.com/apache/nuttx/pull/2701) tools: gdbinit: add support for reporting total and used stack size
* [#2729](https://github.com/apache/nuttx/pull/2729) tools: esp32: backtrace.gdbscript: Add comments
* [#2803](https://github.com/apache/nuttx/pull/2803) tools: esp32: Remove some duplicated output
* [#2882](https://github.com/apache/nuttx/pull/2882) tools: esp32: refine the QEMU image generation.
* [#2895](https://github.com/apache/nuttx/pull/2895) tools: esp32: fix warnings from ShellCheck
* [#2930](https://github.com/apache/nuttx/pull/2930) tools: version.sh: If the version is not available, use 0.0.0
* [#2982](https://github.com/apache/nuttx/pull/2982) tools: nxstyle: Verify relative path in the file header
* [#3004](https://github.com/apache/nuttx/pull/3004) tools: esp32XX: Delete the Makefile that downloads IDF.
* [#3012](https://github.com/apache/nuttx/pull/3012) tools: esp32xx: Few fixes/improvements to the post build scripts
* [#3017](https://github.com/apache/nuttx/pull/3017) tools: esp32: [Config.mk](http://Config.mk): Revert part of "Don't abort make when QEMU script fails"
* [#3094](https://github.com/apache/nuttx/pull/3094) tools: version.sh: Fix PATCH including extra version
## Architectural Support
### New Architectures
* [#1995](https://github.com/apache/nuttx/pull/1995) arch: Add custom arch chip build support
* [#2161](https://github.com/apache/nuttx/pull/2161) Added Support for more TI Tiva Microcontrollers: TM4C123GH6PZ, TM4C123GH6PGE, TM4C129ENCPDT, and TM4C129ENCZAD.
* [#2566](https://github.com/apache/nuttx/pull/2566) arch/risc-v: Add BL602 support
* [#2974](https://github.com/apache/nuttx/pull/2974) STM32L5 Architecture Support
* [#3001](https://github.com/apache/nuttx/pull/3001) arch:riscv64:basic porting for C906
* [#3023](https://github.com/apache/nuttx/pull/3023) Remove nr5m100 and gap8 support
### Architectures with significant improvements
#### ARM
* [#2042](https://github.com/apache/nuttx/pull/2042) Fix interrupt stack handlings for ARM SMP
* [#2061](https://github.com/apache/nuttx/pull/2061) Refactor arm interrupt stack related code
* [#2309](https://github.com/apache/nuttx/pull/2309) Fix armv7-a L2CC and apply the code to the sabre-6quad board
* [#2876](https://github.com/apache/nuttx/pull/2876) arm: ARMv6-M vector table offset register support
* [#2932](https://github.com/apache/nuttx/pull/2932) arch: armv6-m: Apply armv7-m signal handling logic
* [#2944](https://github.com/apache/nuttx/pull/2944) armv8-m: Fix EXC_RETURN for non-secure usage
* [#2990](https://github.com/apache/nuttx/pull/2990) arch/armv7-m: Adds dwt helper functions for controlling watchpoints i…
#### BL602
* [#2614](https://github.com/apache/nuttx/pull/2614) bl602: Update register maps and lower half drivers
* [#2633](https://github.com/apache/nuttx/pull/2633) BL602: Add support for system reset modes
* [#2655](https://github.com/apache/nuttx/pull/2655) arch/risc-v/bl602 : add pwm onshot watchdog driver
* [#2659](https://github.com/apache/nuttx/pull/2659) arch/risc-v/bl602 : add spiflash(hardware sf controller)
* [#2669](https://github.com/apache/nuttx/pull/2669) risc-v/bl602 : add gpioirq、 i2c(master) driver.
* [#2804](https://github.com/apache/nuttx/pull/2804) arch/risc-v/bl602: spi_master support.
* [#2809](https://github.com/apache/nuttx/pull/2809) arch:risc-v:bl602: enable FPU for this target.
* [#2836](https://github.com/apache/nuttx/pull/2836) :risc-v:bl602:add support for elf file apps
* [#2991](https://github.com/apache/nuttx/pull/2991) risc-v/bl602: Add wifi and ble support
#### CXD56XX
* [#2750](https://github.com/apache/nuttx/pull/2750) arch: cxd56xx: Add i2c bitbang lower driver
* [#2830](https://github.com/apache/nuttx/pull/2830) Driver-specific spinlock for cxd56_serial.c
#### ESP32
* [#1893](https://github.com/apache/nuttx/pull/1893) Add ESP32 WiFi adapter and driver
* [#1942](https://github.com/apache/nuttx/pull/1942) Implement BASIC reset logic
* [#1945](https://github.com/apache/nuttx/pull/1945) Added Timer Support
* [#1958](https://github.com/apache/nuttx/pull/1958) When PSRAM is enabled allow drivers and tasks to allocate memory from a separate internal memory
* [#1978](https://github.com/apache/nuttx/pull/1978) Add power management of deep-sleep
* [#2074](https://github.com/apache/nuttx/pull/2074) Add real-time timer support for WiFi
* [#2138](https://github.com/apache/nuttx/pull/2138) Add Partition and OTA device
* [#2199](https://github.com/apache/nuttx/pull/2199) SPI Flash driver uses global sem for all MTD
* [#2224](https://github.com/apache/nuttx/pull/2224) Add SPI Flash hardware encryption I/O support
* [#2234](https://github.com/apache/nuttx/pull/2234) Include cache workaround to PSRAM
* [#2242](https://github.com/apache/nuttx/pull/2242) Watchdog support (MWDTs)
* [#2269](https://github.com/apache/nuttx/pull/2269) Add high memory support to work with PSRAM
* [#2294](https://github.com/apache/nuttx/pull/2294) Refactor ESP32 Wi-Fi driver
* [#2296](https://github.com/apache/nuttx/pull/2296) added support to automonitor by capture
* [#2474](https://github.com/apache/nuttx/pull/2474) Optimize IRAM usage based on esp-idf
* [#2514](https://github.com/apache/nuttx/pull/2514) allows the rtc wdt to be configured in bootloader and used later
* [#2515](https://github.com/apache/nuttx/pull/2515) Added support for RTC WDT
* [#2550](https://github.com/apache/nuttx/pull/2550) enables started flag if the wdt was turned on in bootloader
* [#2613](https://github.com/apache/nuttx/pull/2613) Added driver api to reload counter instantly
* [#2716](https://github.com/apache/nuttx/pull/2716) Add AES hardware accelerator driver
* [#2721](https://github.com/apache/nuttx/pull/2613) Add efuse driver
* [#2831](https://github.com/apache/nuttx/pull/2831) Writeback PSRAM data when mapping SPI Flash address to ESP32's address bus
* [#2840](https://github.com/apache/nuttx/pull/2840) Add esp32_gpio_matrix_in/out to replace ROM functions
* [#2858](https://github.com/apache/nuttx/pull/2858) Fix a memory leak when discarding a large packet.
* [#2939](https://github.com/apache/nuttx/pull/2939) Refactor ESP32 WiFi driver to support station and softAP coexistence
* [#2947](https://github.com/apache/nuttx/pull/2947) esp32_ummap: write back spiram cache before calling Cache_Flush
* [#2965](https://github.com/apache/nuttx/pull/2965) Add more flash options to esptool
* [#2979](https://github.com/apache/nuttx/pull/2979) Add support for I2C tracing
* [#2983](https://github.com/apache/nuttx/pull/2983) Extract memory layout definitions to a separate header
* [#2999](https://github.com/apache/nuttx/pull/2999) Add WPA2 Enterprise and WPA3 support
* [#3003](https://github.com/apache/nuttx/pull/3003) Re-organise the different heap regions
* [#3048](https://github.com/apache/nuttx/pull/3048) timer driver refactor
* [#3233](https://github.com/apache/nuttx/pull/3233) Bugfixes and Improvements for SPI DMA Exchange function
#### ESP32C3
* [#2870](https://github.com/apache/nuttx/pull/2870) Support for ESP32-C3 GPIO Driver
* [#2875](https://github.com/apache/nuttx/pull/2875) risc-v/esp32c3: Add support for Main System Watchdog Timer
* [#2901](https://github.com/apache/nuttx/pull/2901) esp32c3: Add system reset.
* [#2965](https://github.com/apache/nuttx/pull/2965) ESP32XX: Add more flash options to esptool
* [#3006](https://github.com/apache/nuttx/pull/3006) esp32-c3: Adds timer driver
* [#3007](https://github.com/apache/nuttx/pull/3007) risc-v/esp32-c3: complements serial driver
* [#3028](https://github.com/apache/nuttx/pull/3028) ESP32-C3: Add I2C drive
* [#3029](https://github.com/apache/nuttx/pull/3029) esp32-c3: Adds termios support
* [#3040](https://github.com/apache/nuttx/pull/3040) riscv/esp32c3: Add ESP32-C3 WLAN netcard driver
* [#3126](https://github.com/apache/nuttx/pull/3126) risc-v/esp32-c3: Add support to SPI Flash
* [#3160](https://github.com/apache/nuttx/pull/3160) riscv/esp32c3: Add standard C atomic function
#### IMX6
* [#2595](https://github.com/apache/nuttx/pull/2595) Add imx_enet driver
#### IMXRT
* [#2212](https://github.com/apache/nuttx/pull/2212) imxrt: adds support for WDOG1
* [#2354](https://github.com/apache/nuttx/pull/2354) imxrt: Added support for DP83825I PHY
* [#2461](https://github.com/apache/nuttx/pull/2461) imxrt: Added NETDEV_LATEINIT option for Ethernet
* [#2471](https://github.com/apache/nuttx/pull/2471) imxrt: Support serial single-wire mode and fix parity settings
* [#2929](https://github.com/apache/nuttx/pull/2929) imxrt: changes to FlexCAN driver support
#### NRF52
* [#2148](https://github.com/apache/nuttx/pull/2148) nrf52_wdt: split into low-level API and watchdog driver lower-half
* [#2149](https://github.com/apache/nuttx/pull/2149) nrf52832: add errata mitigation code for various RADIO issues
* [#2182](https://github.com/apache/nuttx/pull/2182) nrf52: support configuring no console/serial
* [#2189](https://github.com/apache/nuttx/pull/2189) nrf52_spi: support unconnected MISO/MOSI pins
* [#2207](https://github.com/apache/nuttx/pull/2207) nrf52: add POWER register definitions; support enabling DC/DC regulator
* [#2270](https://github.com/apache/nuttx/pull/2270) nRF52 SPI improvements
* [#2440](https://github.com/apache/nuttx/pull/2440) nrf52 ADC: minor fixes
* [#2674](https://github.com/apache/nuttx/pull/2674) nrf52_i2c: add support for I2C_M_NOSTOP and I2C_M_NOSTART flags
* [#2705](https://github.com/apache/nuttx/pull/2705) nrf52: Add a static copy buffer for i2c NOSTART transfers
* [#2712](https://github.com/apache/nuttx/pull/2712) nRF52: support stack coloration
* [#2717](https://github.com/apache/nuttx/pull/2717) I2C bitbang driver (and nRF52 implementation)
* [#2735](https://github.com/apache/nuttx/pull/2735) nRF52: add support for building SoftDevice BLE controller
* [#2756](https://github.com/apache/nuttx/pull/2756) nrf52: add stackcheck support
#### RP2040
* [#2916](https://github.com/apache/nuttx/pull/2916) rp2040: Raspberry Pi Pico SMP support
* [#2927](https://github.com/apache/nuttx/pull/2927) rp2040: Fix LDFLAGS for boot stage2
* [#2952](https://github.com/apache/nuttx/pull/2952) rp2040: Add I2C driver support
* [#2986](https://github.com/apache/nuttx/pull/2986) rp2040: Add SPI driver support
* [#3002](https://github.com/apache/nuttx/pull/3002) rp2040: SPI driver DMA transfer support
* [#3057](https://github.com/apache/nuttx/pull/3057) rp2040: Fix SPI halfword DMA transfer
#### S32K1XX
* [#2900](https://github.com/apache/nuttx/pull/2900) s32k1xx: Support ramfunc
#### STM32
* [#2010](https://github.com/apache/nuttx/pull/2010) arch/arm/src/stm32h7/stm32_spi.c: fixed build issue when SPI is configured
* [#2095](https://github.com/apache/nuttx/pull/2095) arch: stm32: fix otghs logic to support interface requests
* [#2177](https://github.com/apache/nuttx/pull/2177) FLASH waiting cycles are configured based on HCLK.
* [#2180](https://github.com/apache/nuttx/pull/2180) stm32 - Add register mappings for STM32G474 VREFBUF
* [#2194](https://github.com/apache/nuttx/pull/2194) stm32 - Add register mappings for STM32Gxxxxx-family DAC
* [#2273](https://github.com/apache/nuttx/pull/2273) stm32/stm32_spi: Add SPI register definitions for STM32G47xxx
* [#2288](https://github.com/apache/nuttx/pull/2288) stm32: Add DMAMUX register mappings and request IDs
* [#2325](https://github.com/apache/nuttx/pull/2325) arch/arm/src/stm32/stm32_serial.c: for flowcontrol use common idiom for enabling/disabling RX interrupts
* [#2473](https://github.com/apache/nuttx/pull/2473) STM32 - Add ADC register definitions for STM32G4 family
* [#2477](https://github.com/apache/nuttx/pull/2477) STM32 FLASH latency is calculated based on Vin
* [#2985](https://github.com/apache/nuttx/pull/2985) stm32 Ethernet hardening
#### STM32F7
* [#2209](https://github.com/apache/nuttx/pull/2209) stm32f7/stm32_serial.c: fix console re-initialisation if DMA enabled
* [#3489](https://github.com/apache/nuttx/pull/3489) stm32f7: Freeze tickless timer during debug halt.
#### STM32H7
* [#2880](https://github.com/apache/nuttx/pull/2880) stm32h7: add definitions for DAC
* [#2955](https://github.com/apache/nuttx/pull/2955) stm32h7:Add DBGMCU missing from master
* [#2994](https://github.com/apache/nuttx/pull/2994) stm32h7: Allow custom clock configuration to use stdclockconfig
* [#3143](https://github.com/apache/nuttx/pull/3143) stm32h7: DMA BDMA does not auto disabled on completion
* [#3207](https://github.com/apache/nuttx/pull/3207) usbhost: Add usb host tracing strings to stm32h7
* [#3458](https://github.com/apache/nuttx/pull/3458) stm32h7: Adds stm32_dbgmcu.h to match stm32f7 port
* [#3461](https://github.com/apache/nuttx/pull/3461) stm32h7: Expose flash lock, unlock, and write protect functions to boards
#### STM32L4
* [#2068](https://github.com/apache/nuttx/pull/2068) STM32L4: Improvements on ADC driver
* [#2178](https://github.com/apache/nuttx/pull/2178) STM32L4 ADC driver: extenal event configuration
* [#2220](https://github.com/apache/nuttx/pull/2220) STM32L4 TIMER: Add some helper functions
* [#2232](https://github.com/apache/nuttx/pull/2232) STM32L4 ADC: Add injected channel support.
#### STM32L5
* [#3090](https://github.com/apache/nuttx/pull/3090) stm32l5: Optional LSE xtal drive strength ramp-up
#### Renesas RX65N
* [#2469](https://github.com/apache/nuttx/pull/2469) USB Host Driver Support
#### Risc-V
* [#2470](https://github.com/apache/nuttx/pull/2470) risc-v: Introduce basic setjmp support
* [#2918](https://github.com/apache/nuttx/pull/2918) risc-v: up_sigdeliver missing fpu contexts.
#### RV64
* [#2928](https://github.com/apache/nuttx/pull/2928) rv64:add API up_copyfullstate for later FPU support
* [#3018](https://github.com/apache/nuttx/pull/3018) rv64:c906:enable DP FPU support
* [#3073](https://github.com/apache/nuttx/pull/3073) rv64:c906:demo protect build without the PMP
* [#3087](https://github.com/apache/nuttx/pull/3087) rv64: keep the stack to be 16bytes aligned
* [#3098](https://github.com/apache/nuttx/pull/3098) rv64:fix 64bit data type and instruction for FPU handlers
* [#3203](https://github.com/apache/nuttx/pull/3203) rv64:c906:add risc-v PMP and change mem map for protect build.
#### Xtensa
* [#1933](https://github.com/apache/nuttx/pull/1933) Add support to PSRAM using SPIRAM interface
* [#2014](https://github.com/apache/nuttx/pull/2014) Add the optional interrupt stack to the Xtensa architecture
* [#2352](https://github.com/apache/nuttx/pull/2352) Print the bakctrace on assertions
* [#2504](https://github.com/apache/nuttx/pull/2504) Get full backtrace from interrupts.
* [#3015](https://github.com/apache/nuttx/pull/3015) hostfs: Make host_stat populate st_size
### Minor changes
* [#1904](https://github.com/apache/nuttx/pull/1904) xtensa: ESP32: Fixed the type of cpuint variables in esp32_emac.c
* [#1943](https://github.com/apache/nuttx/pull/1943) xtensa: ESP32: Fix and clean some corners of GPIOs configuration.
* [#1947](https://github.com/apache/nuttx/pull/1947) xtensa: esp32: Fix crash on startup
* [#1948](https://github.com/apache/nuttx/pull/1948) xtensa: ESP32: Fixes the GPIO's function mask test
* [#1960](https://github.com/apache/nuttx/pull/1960) xtensa: xtensa.h: Include sys/types.h needed if STACK_COLORATON is enabled
* [#1968](https://github.com/apache/nuttx/pull/1968) arm: kinetis: freedom-k64f: Declare missing NUM_BUTTONS
* [#1990](https://github.com/apache/nuttx/pull/1990) arm: kinetis: flexcan fixed compile error
* [#2120](https://github.com/apache/nuttx/pull/2120) arm: stm32h7: Fix missing 'ret' reported by Frank-Christian Kruegel
* [#2159](https://github.com/apache/nuttx/pull/2159) xtensa: esp32: Fix SPI master DMA RX buffer memcpy size erro
* [#2160](https://github.com/apache/nuttx/pull/2160) arm: stm32l4/stm32l4_adc.c: fix copy-paste mistake with CONFI
* [#2210](https://github.com/apache/nuttx/pull/2210) arm: stm32/stm32_adc.c: do not allow negative ref count
* [#2214](https://github.com/apache/nuttx/pull/2214) xtensa: esp32: Fix rt-timer issues
* [#2233](https://github.com/apache/nuttx/pull/2233) xtensa: esp32: Fix the memory regions with regards to the range used by the ROM
* [#2240](https://github.com/apache/nuttx/pull/2240) arm: nrf52 GPIO/GPIOTE: better expose pin interrupt capability
* [#2284](https://github.com/apache/nuttx/pull/2284) arm: stm32h7/stm32_dmamux.h: Fix errors in bitfield definitions
* [#2286](https://github.com/apache/nuttx/pull/2286) arm: stm32f0l0g0/stm32_dmamux.h: Fix errors in bitfield definitions
* [#2287](https://github.com/apache/nuttx/pull/2287) arm: stm32h7/stm32_dmamux.h: Add missing CCR SPOL defines
* [#2300](https://github.com/apache/nuttx/pull/2300) arm: sam34: compile error on SAM34 TWI
* [#2316](https://github.com/apache/nuttx/pull/2844) risc-v: minor fix
* [#2330](https://github.com/apache/nuttx/pull/2330) xtensa: esp32/esp32_tim.c: Fix build when debug is enabled.
* [#2336](https://github.com/apache/nuttx/pull/2336) arm: stm32l4: correct macros STM32L4_CAN_MCR_OFFSET, etc... to match defines
* [#2344](https://github.com/apache/nuttx/pull/2344) xtensa: esp32/esp32_gpio.c: Fix GPIO IRQ assert condition
* [#2351](https://github.com/apache/nuttx/pull/2351) xtensa: esp32: Fix issues of force-sleep
* [#2355](https://github.com/apache/nuttx/pull/2355) xtensa: esp32_himem: Fix issue that was preventing to map all free memory
* [#2361](https://github.com/apache/nuttx/pull/2361) arm: nrf52 GPIO: minor fixes
* [#2364](https://github.com/apache/nuttx/pull/2364) arm: stm32h7: Fix bug where more than CONFIG_MM_REGIONS would be allocated
* [#2372](https://github.com/apache/nuttx/pull/2372) rv64: Fix SCN/PRI.PTR definitions
* [#2373](https://github.com/apache/nuttx/pull/2373) risc-v: Don't use non existent "saved_status"
* [#2423](https://github.com/apache/nuttx/pull/2423) xetnsa: Couple of Xtensa fixes
* [#2448](https://github.com/apache/nuttx/pull/2448) arm: stm32/stm32h7: fix the configuration of PWM outputs when subsequent channels are not enabled
* [#2454](https://github.com/apache/nuttx/pull/2454) xtensa: esp32/esp32-core: Fix #ifdef warning and update MM_SECTIONS
* [#2483](https://github.com/apache/nuttx/pull/2483) arm: stm32: convert all STM32G47X specific code to generic STM32G4 series code
* [#2519](https://github.com/apache/nuttx/pull/2519) arm: imxrt: replace clock_systimespec with clock_systime_timespec
* [#2536](https://github.com/apache/nuttx/pull/2536) xtensa: esp32: fixes enable int function and gets apb clk frequency through function
* [#2546](https://github.com/apache/nuttx/pull/2546) arm: imxrt: imxrt_usdhc.c: fixed no DMA build error
* [#2551](https://github.com/apache/nuttx/pull/2551) arm: stm32h7x3xx_memorymap.h invalid address map for fdcan
* [#2554](https://github.com/apache/nuttx/pull/2554) xtensa: Esp32 wifi fixes
* [#2555](https://github.com/apache/nuttx/pull/2555) xtensa: esp32/esp32_spiflash.c: Writeback PSRAM data before invalidating the cache
* [#2559](https://github.com/apache/nuttx/pull/2559) risc-v: Remove duplicated declaration for up_irq_save and up_irq_restore
* [#2560](https://github.com/apache/nuttx/pull/2560) risc-v: Move csr.h to common place
* [#2568](https://github.com/apache/nuttx/pull/2568) risc-v: Move CSR register bit definition to csr.h
* [#2569](https://github.com/apache/nuttx/pull/2569) risc-v: Reuse the common up_schedule_sigaction implementation
* [#2570](https://github.com/apache/nuttx/pull/2570) arm: stm32g4: Fix incorrect FLASH wait states
* [#2573](https://github.com/apache/nuttx/pull/2573) xtensa: esp32: Bump NAME_MAX where CONFIG_ESP32_WIFI_SAVE_PARAM=y
* [#2584](https://github.com/apache/nuttx/pull/2584) xtensa: esp32_wifi_adapter.c: file mode for open doesn't make sense for O_RDONLY
* [#2589](https://github.com/apache/nuttx/pull/2589) risc-v: fix redefined CSR_INSTRET
* [#2612](https://github.com/apache/nuttx/pull/2612) arm: kinetis: S32K/Kinetis: Fix RTC settime prescaler
* [#2612](https://github.com/apache/nuttx/pull/2612) arm: S32K/Kinetis: Fix RTC settime prescaler
* [#2647](https://github.com/apache/nuttx/pull/2647) xtensa: esp32: Fix ESP32 serial UART tx ready check error
* [#2666](https://github.com/apache/nuttx/pull/2666) xtensa: esp32: Fix ESP32 SPI3 slave ops data error
* [#2676](https://github.com/apache/nuttx/pull/2676) arm: stm32412: Fixes pinmap CAN1
* [#2689](https://github.com/apache/nuttx/pull/2689) arm: tiva: Fix lm3s_ethernet.c with DEBUGASSERT
* [#2700](https://github.com/apache/nuttx/pull/2700) arm: nRF52 various minor fixes
* [#2708](https://github.com/apache/nuttx/pull/2708) xtensa: esp32: Fix ESP32 I2C driver issues
* [#2709](https://github.com/apache/nuttx/pull/2709) xtensa: esp32: Fix ESP32 SPI driver issues
* [#2722](https://github.com/apache/nuttx/pull/2722) arm: stm32f412:Replaced Kludged pinmap with one for SoC.
* [#2725](https://github.com/apache/nuttx/pull/2725) arm: nRF52: FIX wrong bitmask for DRIVE setting
* [#2727](https://github.com/apache/nuttx/pull/2727) xtensa: esp32_free_cpuint: Fix an assertion
* [#2728](https://github.com/apache/nuttx/pull/2728) xtensa: esp32_dma_init: Fix a dubious assertion
* [#2731](https://github.com/apache/nuttx/pull/2731) xtensa: esp_allocateheap.c: Correct ROM memory boundaries in SMP case
* [#2752](https://github.com/apache/nuttx/pull/2752) xtensa: esp32/esp32_spiflash.c: Fix the value of the page start address when invalidating the cache
* [#2755](https://github.com/apache/nuttx/pull/2755) xtensa: esp32: Fix compile errors with CONFIG_SMP=y
* [#2757](https://github.com/apache/nuttx/pull/2757) xtensa: esp32/esp32_wifi_adapter.c: Print debug output only when DEBUG_WIRLESS* are enabled
* [#2758](https://github.com/apache/nuttx/pull/2758) xtensa: Kconfig: Reduce the default value of the internal memory
* [#2759](https://github.com/apache/nuttx/pull/2759) xtensa: esp32/psram: Fix missing configs
* [#2761](https://github.com/apache/nuttx/pull/2761) risc-v: Remove unused and undefined file section "Public Variables"
* [#2763](https://github.com/apache/nuttx/pull/2763) arm: imx6: Apply the latest imxrt/imxrt_enet.c to imx6/imx_enet.c
* [#2771](https://github.com/apache/nuttx/pull/2771) arm: imx6: Update imx6 enet
* [#2772](https://github.com/apache/nuttx/pull/2771) arm: imx6 enet with TCP_WRITE_BUFFERS
* [#2777](https://github.com/apache/nuttx/pull/2777) arm: imx6: Fix a compile error with CONFIG_DEBUG_ASSERTIONS=y
* [#2779](https://github.com/apache/nuttx/pull/2779) arm: samv7/sam_mcan.c: fix some mismatches caused by renaming
* [#2782](https://github.com/apache/nuttx/pull/2782) arm: nRF52 fixes
* [#2788](https://github.com/apache/nuttx/pull/2788) risc-v: Don't declare riscv_addregion if CONFIG_MM_REGIONS is < 1.
* [#2791](https://github.com/apache/nuttx/pull/2791) arm: stm32f7/stm32_qspi.c: Fix warning of format strings
* [#2792](https://github.com/apache/nuttx/pull/2792) arm: [imxrt] Fix FlexCAN tx dropping frames
* [#2793](https://github.com/apache/nuttx/pull/2316) risc-v: Remove nx_start prototype from riscv_internal.h
* [#2795](https://github.com/apache/nuttx/pull/2795) arm: stm32f412:Corrected Pin count
* [#2796](https://github.com/apache/nuttx/pull/2796) xtensa: esp32: Fix cache issue detected by DEBUG_ASSERTION
* [#2799](https://github.com/apache/nuttx/pull/2799) RV64: handle relocation type R_RISCV_CALL_PLT in PIC build.
* [#2805](https://github.com/apache/nuttx/pull/2805) arm: imxrt1060 iperf
* [#2812](https://github.com/apache/nuttx/pull/2812) xtensa: esp32_spiflash.c: Fix preprocessor condition
* [#2813](https://github.com/apache/nuttx/pull/2813) xtensa: esp32: Add extern modifier to ROM function declaration
* [#2815](https://github.com/apache/nuttx/pull/2815) riscv: Fix files names in headers that were still using the old 'up_' prefix
* [#2832](https://github.com/apache/nuttx/pull/2832) xtensa: esp32: Fix the issue of WiFi internal malloc from PSRAM
* [#2844](https://github.com/apache/nuttx/pull/2844) risc-v: LiteX: Make Arty-A7 example work
* [#2867](https://github.com/apache/nuttx/pull/2867) arm: lpc17xx_40xx/lpc17_40_i2c.c: Propagate I2C I/O errors
* [#2886](https://github.com/apache/nuttx/pull/2886) arm: pic32mz: Chip does not have ANSEL register on port K
* [#2889](https://github.com/apache/nuttx/pull/2889) arm: pic32mx7 cannot perform context switch
* [#2892](https://github.com/apache/nuttx/pull/2892) risc-v: esp32-c3: Don't reserve any vectors for any special use.
* [#2893](https://github.com/apache/nuttx/pull/2893) risc-v: esp32-c3: Build serial driver only when selected
* [#2903](https://github.com/apache/nuttx/pull/2903) xtensa: esp32: xtensa_user: Implement a few more instructions
* [#2912](https://github.com/apache/nuttx/pull/2912) risc-v: esp32-c3: Fix CPU interrupts freeing on WDT driver
* [#2917](https://github.com/apache/nuttx/pull/2917) arm: Add 'select ARM_HAVE_WFE_SEV' to ARCH_CHIP_RP2040
* [#2920](https://github.com/apache/nuttx/pull/2920) risc-v: esp32-c3: Configure clock and call board initialize at startup
* [#2923](https://github.com/apache/nuttx/pull/2923) ez80: fix several bugs in emac driver
* [#2931](https://github.com/apache/nuttx/pull/2931) arm: kinetis: [FlexCAN] Fix TX drop #2792 and correctly set CAN timings to non-zero
* [#2931](https://github.com/apache/nuttx/pull/2931) arm: s32k1xx: [FlexCAN] Fix TX drop #2792 and correctly set CAN timings to non-zero
* [#2943](https://github.com/apache/nuttx/pull/2943) arm: stm32x7:lse ensure it is started
* [#2951](https://github.com/apache/nuttx/pull/2951) arm: stm32_wwdg debug log formatting
* [#2967](https://github.com/apache/nuttx/pull/2967) arm: STM32F7 lse static values directly from Kconfig
* [#2968](https://github.com/apache/nuttx/pull/2968) xtensa: esp32: Change I2C SCL default pin to a valid one
* [#2972](https://github.com/apache/nuttx/pull/2972) risc-v: esp32-c3: Fix GPIO pin function configuration
* [#2976](https://github.com/apache/nuttx/pull/2976) xtensa: ESP32: Fix I2C Kconfig bringing the character driver as a dependency
* [#2977](https://github.com/apache/nuttx/pull/2977) xtensa: ESP32: Fix GPIO pin function configuration
* [#2996](https://github.com/apache/nuttx/pull/2996) arm: stm32h747xi: Fix missing IO_CONFIG setting
* [#3008](https://github.com/apache/nuttx/pull/3008) risc-v: esp32-c3: free cpu in case it was preallocated in wdt driver
* [#3013](https://github.com/apache/nuttx/pull/3013) risc-v: bl602:fix bl602_flash_erase to erase the wrong block
* [#3034](https://github.com/apache/nuttx/pull/3034) arm: imx6: Fix an error message in imx_enet.c
* [#3051](https://github.com/apache/nuttx/pull/3051) risc-v: Internal functions should be prefixed with riscv_ not up
* [#3075](https://github.com/apache/nuttx/pull/3075) arm: Fix syscall number out of swi range in thumb mode
* [#3079](https://github.com/apache/nuttx/pull/3079) arm: kinetis: [FlexCAN] Correct reset state for CTRL1 register
* [#3079](https://github.com/apache/nuttx/pull/3079) arm: s32k1xx: [FlexCAN] Correct reset state for CTRL1 register
* [#3088](https://github.com/apache/nuttx/pull/3088) arm: samv7: Fix sam_putreg() parameter type
* [#3092](https://github.com/apache/nuttx/pull/3092) xtensa: xtensa: esp32_allocateheap.c: Don't allocate ROM regions when running in QEMU.
* [#3116](https://github.com/apache/nuttx/pull/3116) arm: stm32l5: Enable SPI support and license clearing
* [#3119](https://github.com/apache/nuttx/pull/2976) xtensa: sp32: Fix buffer size word-alignment for DMA transfers
* [#3125](https://github.com/apache/nuttx/pull/3125) risc-v: Internal functions should be prefixed with "riscv_"
* [#3130](https://github.com/apache/nuttx/pull/3145) xtensa: esp32: Fix SPI polling mode when DMA is also enabled.
* [#3135](https://github.com/apache/nuttx/pull/3135) rv64:c906:colorize the idle stack area;minor fixes.
* [#3145](https://github.com/apache/nuttx/pull/3145) xtensa: esp32_part_ioctl: Return -ENOTTY for unknown commands
* [#3162](https://github.com/apache/nuttx/pull/3162) arm: STM32 USB OTGFSDEV: Fix handling of SETUP OUT longer than 64 bytes
* [#3167](https://github.com/apache/nuttx/pull/3167) arm: stm32h7:SPI Fix 16 bit SPI mode
* [#3174](https://github.com/apache/nuttx/pull/3174) arm: Use macro defined swi range in dispatch_syscall
* [#3178](https://github.com/apache/nuttx/pull/3178) arm: tiva:cc13x0_adi3_refsys fix typo
* [#3198](https://github.com/apache/nuttx/pull/3198) arm: Stm32h7 fix heap clobber
* [#3199](https://github.com/apache/nuttx/pull/3199) xtensa: ESP32: Fix math for DMA buffer length rounding
* [#3200](https://github.com/apache/nuttx/pull/3200) xtensa: esp32: Fix DMA burst mode being unintendedly disabled
* [#3219](https://github.com/apache/nuttx/pull/3219) risc-v: bl602: fix _heap_start not word aligned
* [#3220](https://github.com/apache/nuttx/pull/3220) arm: Fix indexing for stm32h7 usbhost tracing
* [#3248](https://github.com/apache/nuttx/pull/3248) xtensa: esp32: remove extra initial newline on syslog call
* [#3283](https://github.com/apache/nuttx/pull/3283) rv64:add memory clobber to inline asm for syscall.
* [#3285](https://github.com/apache/nuttx/pull/3285) arm: Remove .cpu directive from assemble file
* [#3293](https://github.com/apache/nuttx/pull/3293) arm: armv6-m: Remove cpsid and cpsie from exception_common
* [#3307](https://github.com/apache/nuttx/pull/3307) arm: Replace the hardcode syscall number with macro
* [#3310](https://github.com/apache/nuttx/pull/3310) arm: armv8-m: Merge ite instruction to the previous one
* [#3311](https://github.com/apache/nuttx/pull/3311) arm: fix the potential corruption in initialization
* [#3313](https://github.com/apache/nuttx/pull/3313) arm: Replace "b lr" or "mov pc, lr" with "bx lr"
* [#3315](https://github.com/apache/nuttx/pull/3315) arm: Move setjmp/longjmp to libc/machine
* [#3326](https://github.com/apache/nuttx/pull/3326) arm: Update the old arm architecture with the recent fix
* [#3440](https://github.com/apache/nuttx/pull/3440) arm: Change all spsr_cxsf to spsr
* [#3448](https://github.com/apache/nuttx/pull/3448) arm: armv7-a: Remove the special process of the nest level
* [#3451](https://github.com/apache/nuttx/pull/3451) arm: Remove g_irqtmp, g_undeftmp and g_aborttmp
* [#3452](https://github.com/apache/nuttx/pull/3452) risc-v: esp32-c3: Refactors and fixes issues on serial driver.
* [#3457](https://github.com/apache/nuttx/pull/3457) arm: stm32h7: Actually use the AXI SRAM as the main heap as the documentation describes in PROTECTED mode.
* [#3459](https://github.com/apache/nuttx/pull/3459) arm: stm32h7: Fixes build error in stm32_sdmmc.c without DCACHE
* [#3473](https://github.com/apache/nuttx/pull/3473) xtensa: esp32: move common XTAL and RUN_IRAM configs to ESP32 KConfig
* [#3486](https://github.com/apache/nuttx/pull/3486) xtensa: esp32: Improve SPI polling to use the entire HW buffer
* [#3492](https://github.com/apache/nuttx/pull/3492) risc-v: riscv_initialize.c: Add telnet_initialize to riscv's up_initialize
* [#2868](https://github.com/apache/nuttx/pull/2868) xtensa: Fix xtensa stack coloring
## Simulator
### New Features
* [#2129](https://github.com/apache/nuttx/pull/2129) add "nimble" config, to test nimBLE on top of bthcisock
* [#2130](https://github.com/apache/nuttx/pull/2130) rpproxy/rpserver: force use 'CONFIG_SIM_M32' for 64bit system.
* [#2158](https://github.com/apache/nuttx/pull/2158) linux I2C bus support in sim
* [#2164](https://github.com/apache/nuttx/pull/2164) add LVGL configuration which uses the X11 framebuffer and mouse
* [#2198](https://github.com/apache/nuttx/pull/2198) support LCD emulation over X11; correctly decouple LCD/FB from X11/NX
* [#2579](https://github.com/apache/nuttx/pull/2579) make it conditional with FS_FAT
* [#2599](https://github.com/apache/nuttx/pull/2599) names: add writev/readv into name list
* [#2619](https://github.com/apache/nuttx/pull/2619) hci: reuse the reserved fields of hci buffer
* [#2690](https://github.com/apache/nuttx/pull/2690) support sim vfork
* [#2696](https://github.com/apache/nuttx/pull/2696) hcitty: add hcitty adapter
* [#2720](https://github.com/apache/nuttx/pull/2720) board/sim: Support NuttX BLE stack through uart shim driver
* [#3093](https://github.com/apache/nuttx/pull/3093) add heap policy and asan logic to support mm debug on sim platform
* [#3152](https://github.com/apache/nuttx/pull/3152) add dlsym to [nuttx-names.in](http://nuttx-names.in)
* [#3224](https://github.com/apache/nuttx/pull/3224) boards/sim: remove dsptest configuration
* [#3231](https://github.com/apache/nuttx/pull/3231) add the simulated lower-half FOC device
* [#3478](https://github.com/apache/nuttx/pull/3478) refactor signal handling
### Bug Fixes
* [#2109](https://github.com/apache/nuttx/pull/2109) Revert "arch/sim: Make the SIGUSR1 host signal use the NuttX irq logic"
* [#2246](https://github.com/apache/nuttx/pull/2246) boards/sim/sim/sim/src/sim_touchscreen.c: add missing nx_disconnect
* [#2259](https://github.com/apache/nuttx/pull/2259) boards/sim: add atexit(2) into naming list
* [#2441](https://github.com/apache/nuttx/pull/2441) sim: fix input handling and add simulated buttons support from mouse
* [#2597](https://github.com/apache/nuttx/pull/2597) Revert "board/sim: Remove the too strict warning"
* [#3176](https://github.com/apache/nuttx/pull/3176) sim: fix signal deliver calling error on sim platform
* [#3205](https://github.com/apache/nuttx/pull/3205) sim: do not exit simulator on up_assert (just let the task exit)
## Documentation
### New Features
* [#1955](https://github.com/apache/nuttx/pull/1955) Add documentation for note filters and task trace guides
* [#1959](https://github.com/apache/nuttx/pull/1959) Documentation for the Timer Driver
* [#2268](https://github.com/apache/nuttx/pull/2268) Documentation for Watchdog Timer Driver
* [#2334](https://github.com/apache/nuttx/pull/2334) [CONTRIBUTING.md](http://CONTRIBUTING.md): talk about preferred commit message format
* [#2408](https://github.com/apache/nuttx/pull/2408) Documentation: support versioned docs
* [#2543](https://github.com/apache/nuttx/pull/2543) Documentation: how to use auto monitor feature to keep the chip alive
* [#2818](https://github.com/apache/nuttx/pull/2818) Documentation: introduce hardware platforms documentation
* [#2819](https://github.com/apache/nuttx/pull/2819) Documentation: document nRF52832 Sparkfun board (improve MDK board a bit)
* [#3022](https://github.com/apache/nuttx/pull/3022) hostfs: Document the backends and restrictions
* [#3127](https://github.com/apache/nuttx/pull/3127) Documentation: add ESP32 and DevKitC docs
* [#3138](https://github.com/apache/nuttx/pull/3138) Addind CMake based C++ project example in documentation
* [#3490](https://github.com/apache/nuttx/pull/3490) Documentation/esp32: Add supported peripherals
### Improvements
* [#2021](https://github.com/apache/nuttx/pull/2021) Correct the links in Documentation folder
* [#2024](https://github.com/apache/nuttx/pull/2024) Fix broken documentation links
* [#2026](https://github.com/apache/nuttx/pull/2026) Documentation: Remove all tail spaces from *.rst and *.html
* [#2027](https://github.com/apache/nuttx/pull/2027) Documentation: Reorganize some section
* [#2031](https://github.com/apache/nuttx/pull/2031) Documentation/quickstart/debugging.rst: rewrite JTAG/OpenOCD section
* [#2045](https://github.com/apache/nuttx/pull/2045) Documentation: Misc fixups for broken links, errors, warnings
* [#2051](https://github.com/apache/nuttx/pull/2051) Documentation/quickstart/debugging: rewrite SWD sentence
* [#2106](https://github.com/apache/nuttx/pull/2106) documentation: change non-working URL
* [#2329](https://github.com/apache/nuttx/pull/2329) Documentation/components/drivers/character/pwm: fix pwm.c location
* [#2362](https://github.com/apache/nuttx/pull/2362) Documentation improvements
* [#2390](https://github.com/apache/nuttx/pull/2390) Documentation: improve debugging section
* [#2485](https://github.com/apache/nuttx/pull/2485) Documentaiton: merge quickstart to getting started
* [#2563](https://github.com/apache/nuttx/pull/2563) update Documentation/components/drivers/character/watchdog.rst
* [#3144](https://github.com/apache/nuttx/pull/3144) CI: remove linkcheck when building docs
* [#3180](https://github.com/apache/nuttx/pull/3180) documentation: improve boardctl() docs
* [#3194](https://github.com/apache/nuttx/pull/3194) Documentation: add syslog user API and other minor improvements
* [#3271](https://github.com/apache/nuttx/pull/3271) docs and comments: Update stale references to COPYING
* [#3470](https://github.com/apache/nuttx/pull/3470) Documentation: migrate ESP32 README to docs
## Driver Support
### New Driver Support
* [#1936](https://github.com/apache/nuttx/pull/1936) note: Add task trace support
* [#1989](https://github.com/apache/nuttx/pull/1989) sensors: Support fxos8700cq motion I2C sensor
* [#2091](https://github.com/apache/nuttx/pull/2091) usbdev: add Android Debug Bridge driver
* [#2166](https://github.com/apache/nuttx/pull/2166) lcd: Add LCD character driver: allows interacting with LCD directly from userspace
* [#2216](https://github.com/apache/nuttx/pull/2216) rc: support infrared remote control
* [#2282](https://github.com/apache/nuttx/pull/2282) audio: cxd56: add initial audio SRC implementation
* [#2301](https://github.com/apache/nuttx/pull/2301) analog: support for MAX1161X family of I2C 12 bit ADC chips
* [#2429](https://github.com/apache/nuttx/pull/2429) audio: add simple wm8994 codec driver
* [#2628](https://github.com/apache/nuttx/pull/2628) efuse: Add generic efuse driver for NuttX
* [#2736](https://github.com/apache/nuttx/pull/2736) console: Add generic support to LWL Console
* [#2829](https://github.com/apache/nuttx/pull/2829) sensor: add fakesensor driver
* [#3230](https://github.com/apache/nuttx/pull/3230) motor: add generic upper-half driver for Field Oriented Control (FOC)
* [#3474](https://github.com/apache/nuttx/pull/3474) sensors: Adds driver for hyt271 sensore module
### Bug Fixes
* [#2036](https://github.com/apache/nuttx/pull/2036) serial: break from read after closing
* [#2039](https://github.com/apache/nuttx/pull/2039) sensors: add unified management for sensor
* [#2070](https://github.com/apache/nuttx/pull/2070) bluetooth: support HCI/L2CAP sockets, support HCI RAW channel
* [#2139](https://github.com/apache/nuttx/pull/2139) lcd: Ssd1306 cleanup
* [#2142](https://github.com/apache/nuttx/pull/2776) note: Add task name record for task trace
* [#2146](https://github.com/apache/nuttx/pull/2146) pipes: nx_pipe syscall takes three params, also use nx_close
* [#2175](https://github.com/apache/nuttx/pull/2175) wireless: gs2200m: Check disassociation from AP and enable rejoin
* [#2188](https://github.com/apache/nuttx/pull/2200) lcd_dev: put header in correct location; fix missing const
* [#2200](https://github.com/apache/nuttx/pull/2200) lcd: Minor fixes to ssd1306 i2c driver
* [#2201](https://github.com/apache/nuttx/pull/2512) wireless: gs2200m: Add function to get IWNWID / IWFREQ / IWSENS information
* [#2208](https://github.com/apache/nuttx/pull/2208) lcd: add optional putarea()/getarea() operations
* [#2215](https://github.com/apache/nuttx/pull/2215) sensors: add new feature about sensor driver model
* [#2223](https://github.com/apache/nuttx/pull/2223) audio: cxd56: cleanup for the spresense audio implementation
* [#2315](https://github.com/apache/nuttx/pull/2370) sensors: add common circular buffer management
* [#2318](https://github.com/apache/nuttx/pull/2318) sensors: update l3gd20 sensor driver with new sensor driver model
* [#2343](https://github.com/apache/nuttx/pull/2343) serial: Prevent RX stall
* [#2345](https://github.com/apache/nuttx/pull/2345) mtd/mtd_progmem.c: fix progmem_log2 parameter type to match prototype
* [#2369](https://github.com/apache/nuttx/pull/2369) sensors: support custom types of sensor
* [#2370](https://github.com/apache/nuttx/pull/2370) rc: fix bug about lirc_read
* [#2383](https://github.com/apache/nuttx/pull/2383) USB: Do not try to print NULL format strings for verbose trace messages when disabled
* [#2398](https://github.com/apache/nuttx/pull/2398) rptun: fix rptun rpmsg_unregister_callback fault
* [#2445](https://github.com/apache/nuttx/pull/2445) audio: Make audio_null play at real speed
* [#2488](https://github.com/apache/nuttx/pull/2488) crypto/arc4random: rename getrandom to arc4random_buf
* [#2490](https://github.com/apache/nuttx/pull/3482) leds: ws2812: make frequency selection more flexible
* [#2497](https://github.com/apache/nuttx/pull/2497) crypto/random_pool.c: fix getrandom() when thread calling it gets can…
* [#2508](https://github.com/apache/nuttx/pull/2508) leds/ws2812: optimize reset bytes
* [#2512](https://github.com/apache/nuttx/pull/2488) wireless/bluetooth: change the tx thread stack size to DEFAULT_TASK_STACKSIZE
* [#2564](https://github.com/apache/nuttx/pull/2564) audio: uninitialize usermq to NULL when the device has not
* [#2571](https://github.com/apache/nuttx/pull/2571) bluetooth: Fix bt_buff lifecycle
* [#2607](https://github.com/apache/nuttx/pull/2607) wireless: bluetooth: minor fix to bluetooth stack
* [#2609](https://github.com/apache/nuttx/pull/2609) wireless: bluetooth: fix minor issue in bt uart driver
* [#2611](https://github.com/apache/nuttx/pull/2611) wireless/bluetooth: Fix vairous issues found in bt uart shim driver
* [#2617](https://github.com/apache/nuttx/pull/2617) serial: should include <signal.h> explicitly
* [#2621](https://github.com/apache/nuttx/pull/2621) syslog: Added formatted timestamps in syslog.
* [#2636](https://github.com/apache/nuttx/pull/2636) pipes: pty shouldn't call nx_pipe and then file_detach in kernel space
* [#2664](https://github.com/apache/nuttx/pull/2664) can: fix RTR ioctl and support timeout
* [#2691](https://github.com/apache/nuttx/pull/2383) wireless: bluetooth: add more hci event definitions
* [#2692](https://github.com/apache/nuttx/pull/2692) syslog: Prepend Process ID to syslog message
* [#2697](https://github.com/apache/nuttx/pull/2697) syslog: Added printing of log priority in syslog
* [#2698](https://github.com/apache/nuttx/pull/2698) syslog: Added color output to syslog.
* [#2704](https://github.com/apache/nuttx/pull/2704) wireless: bluetooth: minor fix for bluetooth driver
* [#2707](https://github.com/apache/nuttx/pull/2707) drivers: wireless: Fix ASSERT() in _read_data_len() in gs2200m.c
* [#2710](https://github.com/apache/nuttx/pull/2710) syslog: Re-arranged syslog fields.
* [#2711](https://github.com/apache/nuttx/pull/2711) sensors: bmp280: minor fixes
* [#2715](https://github.com/apache/nuttx/pull/2715) sensors: bmp280: convert to sensor interface (and minor sensor change)
* [#2738](https://github.com/apache/nuttx/pull/2738) wireless: gs2200m: Print error massages with wlerr()
* [#2747](https://github.com/apache/nuttx/pull/2747) wireless: gs2200m: Fix _read_data()
* [#2775](https://github.com/apache/nuttx/pull/2775) mtd: w25qxxxjv.c : W25Q256's sector count is 8192
* [#2776](https://github.com/apache/nuttx/pull/2776) net/encx24j600.c: Correct setting of ifstate
* [#2798](https://github.com/apache/nuttx/pull/2798) wireless: gs2200m: Change retry condition in gs2200m_hal_write()
* [#2801](https://github.com/apache/nuttx/pull/2801) mtd:w25qxxxjv.c: use different protect bits and address lengts
* [#2850](https://github.com/apache/nuttx/pull/2850) audio: Introduce a driver-specific spinlock to cxd56.c
* [#2907](https://github.com/apache/nuttx/pull/2711) sensors: driver model update
* [#2950](https://github.com/apache/nuttx/pull/2950) audio: pcm_decode: add RAW format support
* [#2961](https://github.com/apache/nuttx/pull/2961) syslog_rpmsg: fix system crash when open CONFIG_SCHED_HAVE_PARENT
* [#2989](https://github.com/apache/nuttx/pull/2989) mmcsd: Fixes race condition in event wait logic of SDMMC driver
* [#3000](https://github.com/apache/nuttx/pull/3000) sensors: fakesensor support batch
* [#3020](https://github.com/apache/nuttx/pull/3020) syslog: add option to prefix process name
* [#3047](https://github.com/apache/nuttx/pull/3047) mmcsd: Stuck in 1-bit mode, Removed CONFIG_ARCH_HAVE_SDIO_DELAYED_INVLDT
* [#3050](https://github.com/apache/nuttx/pull/3050) syslog: Added support for multiple syslog channels.
* [#3110](https://github.com/apache/nuttx/pull/3110) can: Add CAN FD flags to CAN header
* [#3118](https://github.com/apache/nuttx/pull/3118) sensors: qencoder.c - Remove bad sninfo() format string
* [#3163](https://github.com/apache/nuttx/pull/3163) USBDEV: RNDIS: Fix occasional disconnections due to race condition
* [#3185](https://github.com/apache/nuttx/pull/3185) USBDEV RNDIS: Fix unaligned access caused by 4f66624
* [#3195](https://github.com/apache/nuttx/pull/3195) serial: Don't comment out ws_[x|y]pixel field from winsize struct
* [#3201](https://github.com/apache/nuttx/pull/3201) timers: rtc/rpmsg: support server and client to set time each other
* [#3214](https://github.com/apache/nuttx/pull/3214) can: Fix TX ID bits 18-20 of mcp2515 can driver
* [#3215](https://github.com/apache/nuttx/pull/3215) syslog: Drop extra carriage return from syslog calls
* [#3226](https://github.com/apache/nuttx/pull/3226) syslog: Added multi device support in syslog_device.
* [#3269](https://github.com/apache/nuttx/pull/3269) motor: Add support for motor debug messages
* [#3453](https://github.com/apache/nuttx/pull/3453) syslog: Fix in syslog_intbuffer flushing
* [#3454](https://github.com/apache/nuttx/pull/3454) syslog: Proper uninit of syslog_device.
* [#3475](https://github.com/apache/nuttx/pull/3214) input: Add INPUT_TOUCHSCREEN config
* [#3482](https://github.com/apache/nuttx/pull/3482) input: Rename config from INPUT classes
## Board Support
### New Board Support
* [#2054](https://github.com/apache/nuttx/pull/2054) configure.sh: update custom board config build support
* [#2463](https://github.com/apache/nuttx/pull/2463) boards: Added Teensy-4.x BSP
* [#2503](https://github.com/apache/nuttx/pull/2503) Re-organise ESP32 boards and introduce two more(ESP-WROVER-KIT and the ESP32-Ethernet-Kit)
* [#2506](https://github.com/apache/nuttx/pull/2506) stm32: add stm32g43x support and nucleo-g431rb board
* [#2838](https://github.com/apache/nuttx/pull/2838) Add initial support for ESP32-C3 and ESP32-C3 DevKit board
* [#2877](https://github.com/apache/nuttx/pull/2877) Support for Raspberry Pi Pico
* [#3129](https://github.com/apache/nuttx/pull/3129) boards/stm32: add initial support for b-g431b-esc1 board
* [#3217](https://github.com/apache/nuttx/pull/3217) board: Add support for nucleo-h743i2
* [#3234](https://github.com/apache/nuttx/pull/3234) boards/stm32/common: add support for IHM07M1 and IHM08M1 boards
### Boards With Significant Improvements
#### ARM
#### BL602
* [#2764](https://github.com/apache/nuttx/pull/2764) boards: bl602evb flash and debug notes
#### C906
* [#3027](https://github.com/apache/nuttx/pull/3027) board:rv64:c906:support the ELF apps
#### CXD56
* [#1939](https://github.com/apache/nuttx/pull/1939) Add cxd56xx intstack for SMP
* [#3016](https://github.com/apache/nuttx/pull/3016) spresense:rndis_smp
* [#3024](https://github.com/apache/nuttx/pull/3024) Spesense CPU activity LED support
* [#3084](https://github.com/apache/nuttx/pull/3084) cxd56_gnss: Add missing include header for cxd56_gnss.c
* [#3085](https://github.com/apache/nuttx/pull/3085) cxd56_cpu1signal: Fix an issue that gnss does not work
#### ESP32
* [#2507](https://github.com/apache/nuttx/pull/2507) boards/arm/stm32: add common and stm32f103-minimum support for WS2812
* [#2753](https://github.com/apache/nuttx/pull/2753) esp32: Enable renew for "wapi" configs
* [#2864](https://github.com/apache/nuttx/pull/2864) Add wapi_smp to test Wi-Fi in SMP mode
* [#2883](https://github.com/apache/nuttx/pull/2883) This commit implements I2C support for ESP32 (wrover kit)
* [#2888](https://github.com/apache/nuttx/pull/2888) This commit enables BMP180 suport for ESP32
* [#2971](https://github.com/apache/nuttx/pull/2971) esp32: Add board config to support MCP2515
* [#3071](https://github.com/apache/nuttx/pull/3071) ESP32: Mount TMPFS on board bring up
* [#3095](https://github.com/apache/nuttx/pull/3095) ESP32: Allow a BSS section to reside in external memory
* [#3117](https://github.com/apache/nuttx/pull/3117) xtensa/esp32: Use Polling instead of DMA for transfers below threshold
* [#3139](https://github.com/apache/nuttx/pull/3139) xtensa/esp32: Support esp32 wireless ioctl cmd
* [#3154](https://github.com/apache/nuttx/pull/3154) ESP32: Add Button support via BOOT button on GPIO0
* [#3164](https://github.com/apache/nuttx/pull/3164) xtensa/esp32: Adds oneshot timer driver.
* [#3190](https://github.com/apache/nuttx/pull/3190) risc-v/esp32c3: Support ESP32-C3 wireless ioctl cmd
* [#3192](https://github.com/apache/nuttx/pull/3192) esp32-devkitc: Make nsh the entry-point of the ostest config
* [#3211](https://github.com/apache/nuttx/pull/3211) esp32-devkitc: Add GPIO board support
* [#3270](https://github.com/apache/nuttx/pull/3270) xtensa/esp32: Refactor register access functions on SPI driver
* [#3303](https://github.com/apache/nuttx/pull/3303) esp32-devkitc: Add BMP180 sensor support
#### ESP32C3
* [#2879](https://github.com/apache/nuttx/pull/2879) risc-v/esp32c3: Enable stdio buffering for esp32c3-devkit NSH config
* [#2897](https://github.com/apache/nuttx/pull/2897) boards/esp32c3: Add tmpfs mounting when bringing up
* [#3074](https://github.com/apache/nuttx/pull/3074) esp32c3-devkit: Use nx_mount to avoid overriding errno
* [#3261](https://github.com/apache/nuttx/pull/3261) esp32-c3: Add support to RNG peripheral
#### IMX6
* [#2997](https://github.com/apache/nuttx/pull/2997) boards: sabre-6quad: Add netnsh_smp configuration
#### IMXRT
* [#2004](https://github.com/apache/nuttx/pull/2004) FlexCAN driver for i.MX RT1060 MCU
* [#2526](https://github.com/apache/nuttx/pull/2526) boards/arm/imxrt/teensy-4.x: CDC-ACM console support
* [#2588](https://github.com/apache/nuttx/pull/2588) teensy-4.x Support for ST7789 controller
#### KINETIS
* [#1969](https://github.com/apache/nuttx/pull/1969) freedom-k64f: Init PWM only if enabled
* [#1977](https://github.com/apache/nuttx/pull/1977) freedom-k64f: Support raw binary firmware format
* [#1980](https://github.com/apache/nuttx/pull/1980) freedom-k64f: Add renew DHCP client for netnsh
* [#1982](https://github.com/apache/nuttx/pull/1982) freedom-k64f: Add I2C initial support
* [#1999](https://github.com/apache/nuttx/pull/1999) freedom-k64f: Register on board sensor driver
* [#2020](https://github.com/apache/nuttx/pull/2020) freedom-k64f: Declare k64_i2cdev_initialize function
* [#2030](https://github.com/apache/nuttx/pull/2030) freedom-k64f: Fix k64_buttons.c
* [#2037](https://github.com/apache/nuttx/pull/2037) freedom-k64f: Add demo configuration
* [#2047](https://github.com/apache/nuttx/pull/2047) freedom-k64f: Add I2C to demo image
* [#2847](https://github.com/apache/nuttx/pull/2847) board/freedom-k64f: Add usbdev support with cdcacm example
#### LPC17XX_40XX
* [#3239](https://github.com/apache/nuttx/pull/3239) board/arm/lpc17xx_40xx/mbed: Add userleds driver support
#### NRF52
* [#2706](https://github.com/apache/nuttx/pull/2706) board/nrf52-feather: Add simple i2c test configuration
#### RP2040
* [#2884](https://github.com/apache/nuttx/pull/2884) Update raspi-pico
* [#2894](https://github.com/apache/nuttx/pull/2894) boards: raspberrypi-pico: Add nshsram defconfig for SRAM build
* [#3014](https://github.com/apache/nuttx/pull/3014) BMP180 sensor support to RP2040
* [#3021](https://github.com/apache/nuttx/pull/3021) add INA219 support
* [#3030](https://github.com/apache/nuttx/pull/3030) boards/raspberrypi-pico: Support ENC28J60 SPI ethernet board
* [#3067](https://github.com/apache/nuttx/pull/3067) boards/raspberrypi-pico: Pico Display Pack (ST7789 LCD) support
#### SAM34
* [#2464](https://github.com/apache/nuttx/pull/2464) Added: MT29F2G Nand Flash block driver for sam4s-xplained-pro
#### STM32
* [#2433](https://github.com/apache/nuttx/pull/2433) Add 2.4 Inch TFT LCD Shield ILI9341 for nucleo-l152re, 8080 MCU 8-bit
* [#2505](https://github.com/apache/nuttx/pull/2505) boards/arm/stm32/stm32f103-minimum: cleanup
* [#3053](https://github.com/apache/nuttx/pull/3053) Nucleo-F446RE: added support for CAN driver
* [#3064](https://github.com/apache/nuttx/pull/3064) boards: refactor for nucleo-f446re and nucleo-f302r8 boards
* [#3097](https://github.com/apache/nuttx/pull/3097) Add configuration for testing the Sporadic Scheduler.
* [#3222](https://github.com/apache/nuttx/pull/3222) stm32/stm32_serial: add support for TX DMA and some improvements
* [#3223](https://github.com/apache/nuttx/pull/3223) stm32/stm32_pwm: add interfaces to access RCR register and TRGO
* [#3225](https://github.com/apache/nuttx/pull/3225) stm32/stm32_adc: various improvements for ADC
* [#3232](https://github.com/apache/nuttx/pull/3232) stm32/stm32_foc.c: add the lower-half FOC device support
#### STM32F4
* [#2553](https://github.com/apache/nuttx/pull/2553) boards: stm32f4discovery: Add adb configuration
* [#2699](https://github.com/apache/nuttx/pull/2699) boards/stm32f4discovery: Add a LWL board profile and improve the README.txt
* [#3052](https://github.com/apache/nuttx/pull/3052) Add support to LCD ST7789 on STM32F4Discovery
* [#3056](https://github.com/apache/nuttx/pull/3056) Add LCD1602 Backpack to common board
#### STM32F7
* [#3218](https://github.com/apache/nuttx/pull/3218) Integration of pysimCoder with NUTTX
#### STM32H7
* [#2353](https://github.com/apache/nuttx/pull/2353) Fix of the OTG FS HOST for nucleo-h743zi
#### STM32L4
* [#2009](https://github.com/apache/nuttx/pull/2842) Added STM32L432KC DAC support
* [#2837](https://github.com/apache/nuttx/pull/2837) Add missing I2C3 support on nucleo-l432kc board
* [#2842](https://github.com/apache/nuttx/pull/2842) board: nucleo-l432kc: Add missing i2c_master_s definition
#### TIVA
* [#2684](https://github.com/apache/nuttx/pull/2684) boards: lm3s6965-ek: Add iperf to discover/defconfig
#### XTENSA
### **Minor Board Changes**
* [#2558](https://github.com/apache/nuttx/pull/2558) boards: Remove CINCPATH and CXXINCPATH
#### ARM
* [#2079](https://github.com/apache/nuttx/pull/2079) Stm32 oled fixes pr
* [#2360](https://github.com/apache/nuttx/pull/2360) stm32/stm32ldiscovery: modernize board init little bit
* [#2500](https://github.com/apache/nuttx/pull/2500) stm32/common: devpath not long enough for apa102 and veml6070
#### CXD56
* [#2193](https://github.com/apache/nuttx/pull/2193) cxd56xx: Remove HOSTCC and HOSTCFLAGS from Make.defs
#### Xtensa
* [#2127](https://github.com/apache/nuttx/pull/2127) esp32: Added Userled support
* [#2802](https://github.com/apache/nuttx/pull/2802) ESP32: Refactor of POSTBUILD action
* [#3263](https://github.com/apache/nuttx/pull/3263) esp32: Move the WLAN initialisation to the common directory.
* [#3288](https://github.com/apache/nuttx/pull/3288) esp32-wrover-kit: Don't use User GPIO Subsystem to control LED
* [#3442](https://github.com/apache/nuttx/pull/3442) esp32 boards: BUTTON_BOOT should use PULLUP instead PULLDOWN
## File System
### Significant Improvements
* [#2598](https://github.com/apache/nuttx/pull/2598) fs/epoll: add asynchronous epoll control support
* [#2841](https://github.com/apache/nuttx/pull/2841) fs: procfs meminfo improvements
* [#2957](https://github.com/apache/nuttx/pull/2957) fs: mqueue: add poll support
* [#3045](https://github.com/apache/nuttx/pull/3045) fs: Allocate file/socket dynamically
* [#3212](https://github.com/apache/nuttx/pull/3212) fs/lfs: Update version to 2.4.0
### Bug Fixes
* [#2073](https://github.com/apache/nuttx/pull/2073) fs: epoll_create: modify return value for epoll_create1
* [#2260](https://github.com/apache/nuttx/pull/2260) fs: eventfd: remove the unique minor limit
* [#2317](https://github.com/apache/nuttx/pull/2317) fs: flashback to release all file descriptors in group to increase debugging time.
* [#2339](https://github.com/apache/nuttx/pull/2339) Revert "fs/nxffs: Fix scan good block slowly and scan an invalid block"
* [#2532](https://github.com/apache/nuttx/pull/2532) fs/unionfs: remove excessive protection to avoid deadlock
* [#2540](https://github.com/apache/nuttx/pull/2540) fs: Skip call fs_checkfd if fd < 3 in fs_fdopen
* [#2572](https://github.com/apache/nuttx/pull/2572) fs: spiffs fixes
* [#2606](https://github.com/apache/nuttx/pull/2606) fs: Fix inode lock at umount2
* [#2618](https://github.com/apache/nuttx/pull/2618) fs: remove INODE_IS_SPECIAL() use INODE_IS_PSEUDODIR instead
* [#2638](https://github.com/apache/nuttx/pull/2618) fs: fs_dupfd2 should return OK if fd1 equals fd2
* [#2639](https://github.com/apache/nuttx/pull/2639) fs: Let files_allocate return -EMFILE instead ERROR
* [#2640](https://github.com/apache/nuttx/pull/2640) fs: Remove _files_close and reuse file_close
* [#2643](https://github.com/apache/nuttx/pull/2643) fs: Fix the race condition in file_dup
* [#2648](https://github.com/apache/nuttx/pull/2648) fs: Remove the special hack for pty in nx_vopen
* [#2660](https://github.com/apache/nuttx/pull/2660) fs: Reimplement file_open to not depend on nx_open
* [#2661](https://github.com/apache/nuttx/pull/2661) fs: file_dup2 shouldn't hold the file list lock
* [#2662](https://github.com/apache/nuttx/pull/2662) fs/inode/fs_files.c: fix DEBUGASSERT in romfs
* [#2667](https://github.com/apache/nuttx/pull/2667) fs: Make nx_vxxx and file_vxxx as internal functions
* [#2724](https://github.com/apache/nuttx/pull/2724) fs/tmpfs: Iterate the entry reversely in readdir
* [#2739](https://github.com/apache/nuttx/pull/2739) fs/readdir: Must reserve a byte for the NUL terminator
* [#2810](https://github.com/apache/nuttx/pull/2810) fs: eventfd: Convert the indent under EVENT_FD_VFS_PATH option to tab
* [#2852](https://github.com/apache/nuttx/pull/2852) fs: Merge fs_poll into poll_fdsetup
* [#2854](https://github.com/apache/nuttx/pull/2854) fs: Don't call _NX_SETERRNO in fopen and fdopen
* [#2861](https://github.com/apache/nuttx/pull/2861) fs: change geometry sizes from size_t to uint32_t
* [#2913](https://github.com/apache/nuttx/pull/2913) fs/lfs: lfs_file_sync() when littlefs_open
* [#2956](https://github.com/apache/nuttx/pull/2956) fs/mount: fix mount cmd break out when meet stat error
* [#3042](https://github.com/apache/nuttx/pull/3042) fs: vfs : Do some adjustments for epoll
* [#3060](https://github.com/apache/nuttx/pull/3060) fs: find_blockdriver: Don't ferr() on MTDs
* [#3069](https://github.com/apache/nuttx/pull/3069) fs/mmap: Clarify MAP_PRIVATE dependency on CONFIG_FS_RAMMAP
* [#3070](https://github.com/apache/nuttx/pull/3070) fs/mmap: Return EACCES for incompatible file descriptors
* [#3105](https://github.com/apache/nuttx/pull/3105) fs/epoll: correct the return value of epoll_ctl(2)
* [#3137](https://github.com/apache/nuttx/pull/3137) fs/littlefs: Suppport the duplication function
* [#3444](https://github.com/apache/nuttx/pull/3444) fs/romfs: fix open zero-byte file fail issue
* [#3491](https://github.com/apache/nuttx/pull/3491) fs: vfs: adjust the error code of write to be consistent with read
## Networking
### Significant Improvements
* [#2414](https://github.com/apache/nuttx/pull/2414) net: tcp: implement the fast retransmit
* [#2415](https://github.com/apache/nuttx/pull/2415) net: gmp: add MULTICAST_TTL support
* [#2417](https://github.com/apache/nuttx/pull/2417) net: wireless: add country code control support
* [#2548](https://github.com/apache/nuttx/pull/2548) net: tcp: optimize TCP handshake performance
* [#2695](https://github.com/apache/nuttx/pull/2695) netpacket: if_addr: add interface address header
* [#2899](https://github.com/apache/nuttx/pull/2899) net: socket: Unify socket into file system to avoid the code duplication
* [#2964](https://github.com/apache/nuttx/pull/2964) net: socket_rpmsg: add socket rpmsg support
* [#3025](https://github.com/apache/nuttx/pull/3025) net: Add sendmsg and recvmsg to syscall list
* [#3081](https://github.com/apache/nuttx/pull/3081) tcp_send_buffered.c: improve tcp write buffering
* [#3113](https://github.com/apache/nuttx/pull/3113) net: usrsock: add send multi-elements support
* [#3257](https://github.com/apache/nuttx/pull/3257) net: tcp: support bind the same port with different domain
### Bug Fixes
* [#1589](https://github.com/apache/nuttx/pull/1589) net: tcp: fix tcp socket close timeout if loss wireless connection
* [#2075](https://github.com/apache/nuttx/pull/2075) net: TCP-stack fix for stalled tcp sockets due to broken keepalive
* [#2121](https://github.com/apache/nuttx/pull/2121) net: devif: devif_callback.c: remove harmful debug check
* [#2257](https://github.com/apache/nuttx/pull/2257) net: callback: remove the assert check of conn instance
* [#2332](https://github.com/apache/nuttx/pull/2332) net/tcp: Rectified keepalive fix
* [#2412](https://github.com/apache/nuttx/pull/2413) net/icmp: add sanity check to avoid wild data length
* [#2413](https://github.com/apache/nuttx/pull/2413) net/tcp: correct the available iobs count if throttle is enabled
* [#2416](https://github.com/apache/nuttx/pull/2416) net/tcp: fallback to unthrottle pool to avoid deadlock
* [#2421](https://github.com/apache/nuttx/pull/2421) net/neighbor/neighbor_ethernet_out.c: fix build error without ICMPv6
* [#2465](https://github.com/apache/nuttx/pull/2465) net/procfs: handle opendir("/proc/net/") correctly
* [#2466](https://github.com/apache/nuttx/pull/2466) net/igmp: add sanity check to handle allocate fail
* [#2467](https://github.com/apache/nuttx/pull/2467) net/sockopt: Try usrsock further if the protocol not available
* [#2489](https://github.com/apache/nuttx/pull/2489) net: tcp: send the ACK in time after obtain ahead buffer from iobs
* [#2688](https://github.com/apache/nuttx/pull/2688) net: Remove duplicate forward references
* [#2774](https://github.com/apache/nuttx/pull/2774) net/ip: do not drop the udp packet from IP layer
* [#2811](https://github.com/apache/nuttx/pull/2811) net/local: Add an option to specify the prefix of named pipe
* [#2869](https://github.com/apache/nuttx/pull/2869) netdb.h: Add NI_MAXHOST and NI_MAXSERV
* [#2911](https://github.com/apache/nuttx/pull/2911) net: fix a few DP83848C and DP83825I constants
* [#2959](https://github.com/apache/nuttx/pull/2959) net: socket: move si_send/recv into sendmsg/recvmsg
* [#2978](https://github.com/apache/nuttx/pull/2978) telnet: fix crash about telnet client connect
* [#3037](https://github.com/apache/nuttx/pull/3037) Revert "net: tcp: Add DEBUGASSERT() in psock_tcp_send()"
* [#3043](https://github.com/apache/nuttx/pull/3043) net: local: Remove local_send.c since nobody use it now
* [#3044](https://github.com/apache/nuttx/pull/3044) net: fix local_sendmsg return length
* [#3062](https://github.com/apache/nuttx/pull/3062) net: tcp_sendfile.c: Remove an unused copy of CONFIG_NET_TCP_SPLIT_SIZE
* [#3099](https://github.com/apache/nuttx/pull/3099) net: tcp: dup: do not start the tcp monitor if unestablished
* [#3100](https://github.com/apache/nuttx/pull/3100) net: tcp: correct the port byte order
* [#3101](https://github.com/apache/nuttx/pull/3101) net: arp: add timeout to avoid infinite send wait
* [#3103](https://github.com/apache/nuttx/pull/3103) net: tcp: reset the connection ref count before tcp_free()
* [#3104](https://github.com/apache/nuttx/pull/3104) net: dev: check the available address further
* [#3106](https://github.com/apache/nuttx/pull/3106) net: if: remove the macro expansion of the public structure
* [#3221](https://github.com/apache/nuttx/pull/3221) net: tcp: tcp_send_buffered.c: Fix non-blocking I/O
* [#3254](https://github.com/apache/nuttx/pull/3254) net: arp: Fix arp
* [#3319](https://github.com/apache/nuttx/pull/3319) tcp_netpoll.c: Fix a performance issue with CONFIG_NET_TCP_WRITE_BUFFERS
# Security Issues Fixed In This Release
# Compatibility Concerns
## Changes to Build System
### Change CFLAGS, CPPFLAGS, CXXFLAGS, and AFLAGS from Recursive to Simple Assignment
[PR-1890](https://github.com/apache/nuttx/pull/1890)
(commit [2caf3a69e3d60ec550980f7ba897c732e7a39df7](https://github.com/apache/nuttx/pull/1890/commits/2caf3a69e3d60ec550980f7ba897c732e7a39df7))
attempts to speed up compilation time for concurrent builds by changing
assignment to makefile variables `*CFLAGS*`, `*CPPFLAGS*`, `*CXXFLAGS*`, and
`*AFLAGS*` from recursive `=` to simple `:=`. This causes these compile
options to be expanded only once during the build.
If you are using NuttX on a custom board not in the NuttX repository, you may
want to make a similar change to your `Make.defs` files. Change these
recursive assignments:
```
CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe
CXXFLAGS = $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS)
AFLAGS = $(CFLAGS) -D__ASSEMBLY__
```
to simple assignments:
```
CFLAGS := $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe
CXXFLAGS := $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe
CPPFLAGS := $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS)
AFLAGS := $(CFLAGS) -D__ASSEMBLY__
```
### Not Necessary to Define `__NuttX__` in Make.defs
[PR-2192](https://github.com/apache/nuttx/pull/2192)
(commit [9208176f600d0d04446531909bf05710716a5ee4](https://github.com/apache/nuttx/commit/9208176f600d0d04446531909bf05710716a5ee4))
refactors definition of the `__NuttX__` preprocessor symbol to
`tools/Config.mk`, so it is no longer necessary to define it in each board's
`Make.defs` file.
If you are using NuttX on a custom board not in the NuttX repository, you may
want to make a similar change to your Make.defs files.
Remove lines like this:
```
ARCHDEFINES = -D__NuttX__
```
Or remove -D__NuttX__ from lines like this:
```
CXXFLAGS += $(ARCHDEFINES) $(EXTRAFLAGS) -pipe -std=c++11 -D__NuttX__
```

View file

@ -0,0 +1,983 @@
NuttX-10.2.0
------------
# What's new in this release
## Major Changes to Core OS
### New Features
* [#3708](https://github.com/apache/nuttx/pull/3708) openamp: Update to 2020.10.0 official release
* [#3709](https://github.com/apache/nuttx/pull/3709) Update libcxx to 12.0.0 release
* [#3674](https://github.com/apache/nuttx/pull/3674) libc/termios: Implement TCSADRAIN and TCSAFLUSH for tcsetattr
* [#4595](https://github.com/apache/nuttx/pull/4595) libc/misc: add lib_glob
* [#4594](https://github.com/apache/nuttx/pull/4594) libc/string: add lib_strchrnul
* [#3672](https://github.com/apache/nuttx/pull/3672) include/spawn.h: Add POSIX_SPAWN_SETSID definition
* [#4265](https://github.com/apache/nuttx/pull/4265) libc: Support message catalog function
* [#3102](https://github.com/apache/nuttx/pull/3102) mm/iob: add iob_free_queue() interface
* [#3893](https://github.com/apache/nuttx/pull/3893) libs/libc/netdb: add dns clear interface
* [#3959](https://github.com/apache/nuttx/pull/3959) libc/time: Implement timegm function
* [#3963](https://github.com/apache/nuttx/pull/3963) libc/sched: Implement nice API
* [#3977](https://github.com/apache/nuttx/pull/3977) sched: Add kthread_create_with_stack
* [#4016](https://github.com/apache/nuttx/pull/4016) Add heap & stack check to idle thread
* [#4114](https://github.com/apache/nuttx/pull/4114) libc/math: Add fmax and fmin functions
* [#4130](https://github.com/apache/nuttx/pull/4130) sys/poll: add POLLRDHUP definition
* [#4262](https://github.com/apache/nuttx/pull/4262) libc: Add the empty nl_langinfo implementation
* [#4272](https://github.com/apache/nuttx/pull/4272) libc: Implement gettext function
* [#4432](https://github.com/apache/nuttx/pull/4432) libc:machine: add atomic_load/store/exchange API
* [#4438](https://github.com/apache/nuttx/pull/4438) uClibcxx: add weak attribute for new/del ops
* [#3681](https://github.com/apache/nuttx/pull/3681) libc: Implement openpty function
* [#4363](https://github.com/apache/nuttx/pull/4363) sched/backtrace: add sched_backtrace support
* [#4374](https://github.com/apache/nuttx/pull/4374) libxx: add new low level c++ standard library support
* [#4425](https://github.com/apache/nuttx/pull/4425) libc: add common machine atomic operation
* [#3687](https://github.com/apache/nuttx/pull/3687) libc/pwd: Add NSS_BUFLEN_PASSWD macro
* [#3970](https://github.com/apache/nuttx/pull/3970) libc: Implement fesetround & fegetround for arm
* [#4104](https://github.com/apache/nuttx/pull/4104) sched/clock: add nsec range check in clock_settime
* [#4518](https://github.com/apache/nuttx/pull/4518) getaddrinfo: support AF_LOCAL and AF_RPMSG
* [#4595](https://github.com/apache/nuttx/pull/4595) libc/misc: add lib_glob
* [#3985](https://github.com/apache/nuttx/pull/3985) mmap: Implement the minial but reasonable mlock/munlock/mprotect
* [#4065](https://github.com/apache/nuttx/pull/4065) mm: Add kmm_malloc_size and mm_malloc_size
* [#4096](https://github.com/apache/nuttx/pull/4096) mm: Simplify the semaphore handling
* [#4100](https://github.com/apache/nuttx/pull/4100) Implement utime and futimes
### Bug Fixes
* [#4615](https://github.com/apache/nuttx/pull/4615) sched/signal: Correct kill with cancellation
* [#4619](https://github.com/apache/nuttx/pull/4619) sched: Fix CPU affinity issues in SMP
* [#3626](https://github.com/apache/nuttx/pull/3626) libc: Move pthread stuff to userspace
* [#3673](https://github.com/apache/nuttx/pull/3673) libc/pty: Make ptsname[_r] support PSEUDOTERM_BSD config too
* [#4599](https://github.com/apache/nuttx/pull/4599) sched:tcb_s:rearrange sched_priority/int_priority to word align
* [#3747](https://github.com/apache/nuttx/pull/3747) mm:initialize ensure alignment.
* [#3962](https://github.com/apache/nuttx/pull/3962) sched/task/task_spawn.c: initialize variables explicitly
* [#3916](https://github.com/apache/nuttx/pull/3916) sched/posix_spawn: Don't insert name at the begin of argv
* [#3858](https://github.com/apache/nuttx/pull/3858) tls: Move pthread key destructor to libc
* [#3719](https://github.com/apache/nuttx/pull/3719) group/group_signal: cancel dispatch signal when child process doesn't exist
* [#4453](https://github.com/apache/nuttx/pull/4453) libs/libxx: Enforce RTTI for building libcxxabi
* [#4450](https://github.com/apache/nuttx/pull/4450) libxx:uClibc++: disable new_handler.cpp when use libsupc++
* [#4456](https://github.com/apache/nuttx/pull/4456) libc/gettext: Initialize path field when creating mofile struct.
* [#4466](https://github.com/apache/nuttx/pull/4466) sched/wdog/wd_start.c: prevent accessing watch-dog lag if head is NULL
* [#4499](https://github.com/apache/nuttx/pull/4499) uClibc++:remove typeinfo.cpp that confict with libsupc++
* [#3698](https://github.com/apache/nuttx/pull/3698) sched/task: Simplify the syscall handling of task_spawn
* [#3813](https://github.com/apache/nuttx/pull/3813) syscall/syscall.csv: Correct ordering of entries
* [#4020](https://github.com/apache/nuttx/pull/4020) SMP should depends on ARCH_INTERRUPTSTACK
* [#3957](https://github.com/apache/nuttx/pull/3957) sched/wdog: Remove flags field from wdog_s to save memory
* [#3967](https://github.com/apache/nuttx/pull/3967) libc/dirname: Handle the consecutive '/' correctly
* [#4018](https://github.com/apache/nuttx/pull/4018) libs/libc/spawn: fix posix_spawn_file_actions_adddup2 alloc size error
* [#4009](https://github.com/apache/nuttx/pull/4009) Move aligned_alloc, posix_memalign and valloc from mm/umm to libs/libc/stdlib
* [#4021](https://github.com/apache/nuttx/pull/4021) sched/waitpid: handle waitpid waitting tcb->group is NULL
* [#4026](https://github.com/apache/nuttx/pull/4026) sched/idle: disable sched when idle call nx_bringup
* [#4035](https://github.com/apache/nuttx/pull/4035) work_queue: schedule the work queue using the timer mechanism
* [#4048](https://github.com/apache/nuttx/pull/4048) libc: Move pthread_key_destructor to task_info_s
* [#4057](https://github.com/apache/nuttx/pull/4057) libs: libnx: nxfonts: Fix prefix of generated fonts data
* [#4109](https://github.com/apache/nuttx/pull/4109) libc: Implement ttyname and ttyname_r
* [#4115](https://github.com/apache/nuttx/pull/4115) libc/math: Fix calculation error of log function
* [#4124](https://github.com/apache/nuttx/pull/4124) add #undef for some libc function
* [#4125](https://github.com/apache/nuttx/pull/4125) libc/sysconf: Add MONOTONIC_CLOCK for consistency
* [#4127](https://github.com/apache/nuttx/pull/4127) libc: Increase the function of crc8 to use custom polynomials
* [#4160](https://github.com/apache/nuttx/pull/4160) group/child_status: Dynamically expand group child_status
* [#4183](https://github.com/apache/nuttx/pull/4183) sched/task: Fix wrong return value from nxspawn_open()
* [#4226](https://github.com/apache/nuttx/pull/4226) syslog: reslove crash because vmov.i32 instruction is not ready
* [#4246](https://github.com/apache/nuttx/pull/4246) libc/pthread_barrierattr_destory.c: Destroy shouldn't reinitialize the attributes
* [#4270](https://github.com/apache/nuttx/pull/4270) tzset: avoid taking semaphore in interrupt for non-kernel mode
* [#4413](https://github.com/apache/nuttx/pull/4413) sched/wdog: fix switch_context caused error in wd_start()
* [#3703](https://github.com/apache/nuttx/pull/3703) sched/spawn: Support the stack address argument
* [#4287](https://github.com/apache/nuttx/pull/4287) signal: Allow SIG_EVTHREAD selectable in protected mode
* [#4296](https://github.com/apache/nuttx/pull/4296) sched: Fix crash on early syslog message with prepended process name
* [#4368](https://github.com/apache/nuttx/pull/4368) libs/libxx/uClibc++.defs: Download the correct file type.
* [#4369](https://github.com/apache/nuttx/pull/4369) libs/libxx: Download C++ libraries during context.
* [#4382](https://github.com/apache/nuttx/pull/4382) sched/backtrace: simplify the assign of tcb in case of negative pid
* [#4377](https://github.com/apache/nuttx/pull/4377) task_spawn: release g_spawn_parmsem and sched_unlock at the ending
* [#4068](https://github.com/apache/nuttx/pull/4068) mm: Remove mm_heap_impl_s struct
* [#4247](https://github.com/apache/nuttx/pull/4247) Redirect _l function to non-locale version
* [#4380](https://github.com/apache/nuttx/pull/4380) som byteorder modification
* [#4283](https://github.com/apache/nuttx/pull/4283) libc/gettext: Change g_domain to array
* [#4512](https://github.com/apache/nuttx/pull/4512) lib_vsprintf: Add %pV format support
* [#4513](https://github.com/apache/nuttx/pull/4513) libc/rexec/rexec_af: support remote command execution
* [#4516](https://github.com/apache/nuttx/pull/4516) lib_fread: return the number of bytes actually read when error occurs.
* [#4520](https://github.com/apache/nuttx/pull/4520) debug: allow customize EXTRA_FMT
* [#3978](https://github.com/apache/nuttx/pull/3978) Decouple the initialization of the separate heaps from the TEXT_HEAP option.
* [#4029](https://github.com/apache/nuttx/pull/4029) mm: fix memory corruption when loop create/exit thread in SMP mode
* [#4055](https://github.com/apache/nuttx/pull/4055) mm: Move the real implementation of mm_sbrk to sbrk
* [#4030](https://github.com/apache/nuttx/pull/4030) Fix procfs memory corruption when meet long string, add thread run time to procfs
* [#4043](https://github.com/apache/nuttx/pull/4043) select: fix asan report error
* [#4519](https://github.com/apache/nuttx/pull/4519) errno: use staic errno to replace tl_errno before tls initialization
* [#3992](https://github.com/apache/nuttx/pull/3992) Refine tls_info_s and task_info_s
* [#4019](https://github.com/apache/nuttx/pull/4019) Fix asan report error
* [#4053](https://github.com/apache/nuttx/pull/4053) mm: Move procfs_register_meminfo into common place
* [#4054](https://github.com/apache/nuttx/pull/4054) mm: Call memalign in malloc if ARCH_ADDRENV and BUILD_KERNEL are defined
* [#4454](https://github.com/apache/nuttx/pull/4454) user/trap: Set MQ_MAXMSGSIZE to 64 to get NX working
* [#3725](https://github.com/apache/nuttx/pull/3725) cmd/free: add nused/nfree field in command free
* [#3753](https://github.com/apache/nuttx/pull/3753) libelf: fix "nsh: nsh_session: readline failed: 13" error
* [#3767](https://github.com/apache/nuttx/pull/3767) binfmt: Move argv copy into exec_module
* [#3764](https://github.com/apache/nuttx/pull/3764) binfmt: Rename dump_module to binfmt_dumpmodule
* [#4064](https://github.com/apache/nuttx/pull/4064) binfmt: Replace all nx_ API with file_ API
* [#3928](https://github.com/apache/nuttx/pull/3928) binfmt: Handle argv/argv[0] == NULL correctly in exec_module
* [#3867](https://github.com/apache/nuttx/pull/3867) TLS: Correct handling of returned error values.
* [#4185](https://github.com/apache/nuttx/pull/4185) iob_trimhead: fix an integer truncation
* [#4117](https://github.com/apache/nuttx/pull/4117) Dynamically extend Pidhash table
* [#4186](https://github.com/apache/nuttx/pull/4186) libc: Implement times function
* [#3908](https://github.com/apache/nuttx/pull/3908) crypto/random_pool.c: Correct indexing on void pointer
* [#3817](https://github.com/apache/nuttx/pull/3817) audio: various fixes
## Major Changes to the Build System
### New Features
* [#4525](https://github.com/apache/nuttx/pull/4525) mkromfsimg: Add optional rcS file path
* [#4491](https://github.com/apache/nuttx/pull/4491) checkpatch.sh: add check gerrit Change-Id support
* [#3716](https://github.com/apache/nuttx/pull/3716) tools: Add a bash completion script for the configure tool    
* [#3819](https://github.com/apache/nuttx/pull/3819) docker/linux: Add ESP32-S2 toolchain and binaries.
* [#4203](https://github.com/apache/nuttx/pull/4203) tools: Add armv7-a support to nuttx-gdbinit
* [#3705](https://github.com/apache/nuttx/pull/3705) docker: add ninja-build
### Bug Fixes
* [#4418](https://github.com/apache/nuttx/pull/4418) compiler.h: add __builtin_offsetof instead of offsetof
* [#3815](https://github.com/apache/nuttx/pull/3815) tools/mksyscall: Fix build break of syscall instrumentation wrapper
* [#4461](https://github.com/apache/nuttx/pull/4461) tools/ci: Minor improvements to CI build script
* [#4492](https://github.com/apache/nuttx/pull/4492) tools/nxstyle: Fix the check tool incorrectly reported no alignment.
* [#3710](https://github.com/apache/nuttx/pull/3710) tools/ci: Rename sim0x.dat to sim-0x.dat to align with arm-xx.dat
* [#4455](https://github.com/apache/nuttx/pull/4455) makefile: let clean_context in distclean command
* [#4423](https://github.com/apache/nuttx/pull/4423) board: Enable CONFIG_LIBCXXABI when CONFIG_LIBCXX is enabled
* [#4196](https://github.com/apache/nuttx/pull/4196) tools: Fix nuttx-gdbinit
## Architectural Support
### New Architecture
#### MIPS
##### PIC32
* [#4252](https://github.com/apache/nuttx/pull/4252) pic32mz: added support for PIC32MZ2048EFG MCU
### Architectures with significant improvements
#### ARM
* [#4522](https://github.com/apache/nuttx/pull/4522) arch/arm: Add ARCH_CORTEXM55 Kconfig for cortex-m55
* [#3759](https://github.com/apache/nuttx/pull/3759) arm/v7-a/fpu: add VFP-v3 D32 support  
* [#4536](https://github.com/apache/nuttx/pull/4536) arch/arm: correct the function name from arm_getsp() to up_getsp()
* [#4410](https://github.com/apache/nuttx/pull/4410) arch/arm/assert: enhance the assert dump
* [#4409](https://github.com/apache/nuttx/pull/4409) arch/arm/cortex-m: add up_backtrace support
* [#4405](https://github.com/apache/nuttx/pull/4405) arch/armv7: add up_backtrace support based on frame pointer
* [#4385](https://github.com/apache/nuttx/pull/4385) arch/armv8-m: Update per the latest architecture reference manual
* [#4354](https://github.com/apache/nuttx/pull/4354) arch/arm: correct the frame pointer register declare
* [#4205](https://github.com/apache/nuttx/pull/4205) arm: add up_secure_irq support
* [#4176](https://github.com/apache/nuttx/pull/4176) ARM: fix CPSR corruption after exception handling
* [#4094](https://github.com/apache/nuttx/pull/4094) arch/armv7-a: Remove the special SMP SGI process
* [#4451](https://github.com/apache/nuttx/pull/4451) arch: Replace ar, nm and ld with gcc-ar, gcc-nm and gcc
* [#4343](https://github.com/apache/nuttx/pull/4343) arch/armv8-m: Add SAU support
* [#4341](https://github.com/apache/nuttx/pull/4341) arch/arm: Add NVIC_FPCCR_XXX macro to avoid the hard code value
* [#4279](https://github.com/apache/nuttx/pull/4279) arch/cortex-m: replace arm_switchcontext to c-style
* [#4106](https://github.com/apache/nuttx/pull/4106) arm/setjmp.h:add c++ support
* [#4013](https://github.com/apache/nuttx/pull/4013) arm: fix enable interrupt too earlier caused system crash
* [#4483](https://github.com/apache/nuttx/pull/4483) Fix compilation of arm protected build
* [#3879](https://github.com/apache/nuttx/pull/3879) arch: Rename xxx_getsp to up_getsp
* [#4227](https://github.com/apache/nuttx/pull/4227) pwm: add option to break the loops when using multiple PWM channels
* [#4261](https://github.com/apache/nuttx/pull/4261) EXC_SECURE and SECURE_STACK just can clear at TRUSTZONE_NONSECURE
#### CXD56XX
* [#4557](https://github.com/apache/nuttx/pull/4557) arch: cxd56xx: Replace the critical section with spinlock in cxd56_serial.c
* [#3743](https://github.com/apache/nuttx/pull/3743) arch: arm: cxd56xx: Update cxd56xx drivers
* [#3845](https://github.com/apache/nuttx/pull/3845) Fix spresense with elf
#### LPC17XX_40XX
* [#4072](https://github.com/apache/nuttx/pull/4072) lpc17xx: Added WDT driver.
* [#4316](https://github.com/apache/nuttx/pull/4316) lpc17_40: Fixed I2C port sanity check.
* [#4148](https://github.com/apache/nuttx/pull/4148) lpc17_40: style fix in WDT definitions.
* [#4107](https://github.com/apache/nuttx/pull/4107) lpc17_40: Fixed progmem driver.
#### STM32
* [#3761](https://github.com/apache/nuttx/pull/3761) ET-STM32 Stamp: An STM32F103RET6 target for NuttX
* [#4350](https://github.com/apache/nuttx/pull/4350) arch/arm/src/stm32l4/Kconfig: add new STM32L4+ chip types
* [#4310](https://github.com/apache/nuttx/pull/4310) arch/stm32: improvements for qencoder
* [#3752](https://github.com/apache/nuttx/pull/3752) Use inttypes stm32fx i2c
* [#4090](https://github.com/apache/nuttx/pull/4090) STM32G43XX Analog Comparator
* [#3942](https://github.com/apache/nuttx/pull/3942) Changed the STM32 Analog Comparator driver.
* [#3729](https://github.com/apache/nuttx/pull/3729) stm32 timers: Prefer GTIM macros and make this use more uniform.
* [#4163](https://github.com/apache/nuttx/pull/4163) Files for pysimCoder
* [#4151](https://github.com/apache/nuttx/pull/4151) Change DAC driver to support STM32G4 DAC
#### STM32L4
* [#3668](https://github.com/apache/nuttx/pull/3668) arch/arm/src/stm32l4/hardware/stm32l4xrxx: pinmap alternative function for SPI2  
* [#4468](https://github.com/apache/nuttx/pull/4468) arch/arm/src/stm32l4: fix STM32L4+ option bytes memory address
* [#4501](https://github.com/apache/nuttx/pull/4501) arch/arm/src/stm32l4: add control for Vddio2 independent I/Os supply valid
* [#4469](https://github.com/apache/nuttx/pull/4469) arch/arm/src/stm32l4/stm32l4_flash.c: fix FLASH_CONFIG_I to use dual-bank access
#### STM32L5
#### S32K1XX
* [#3850](https://github.com/apache/nuttx/pull/3850) UCANS32K146 add support for B revision
* [#4493](https://github.com/apache/nuttx/pull/4493) Fix error in s32k118_pinmux.h
* [#3795](https://github.com/apache/nuttx/pull/3795) S32K1XX LSPI Double word up to 64 bits support
#### IMX6
* [#3777](https://github.com/apache/nuttx/pull/3777) arch: imx6: Add termios support to imx6
#### IMXRT
* [#3988](https://github.com/apache/nuttx/pull/3988) arch/arm/src/imxrt/imxrt_flexpwm.c: fix mistake in submodules address offset
* [#4431](https://github.com/apache/nuttx/pull/4431) i.MX RT: Changes to FlexCAN driver and Teensy 4.x CAN configuration
* [#4285](https://github.com/apache/nuttx/pull/4285) arch/arm/src/imxrt/imxrt_flexpwm.c: Set LDOK bits after all channels are set
* [#4138](https://github.com/apache/nuttx/pull/4138) i.MX RT: added support for Tickless OS
#### RP2040
* [#4049](https://github.com/apache/nuttx/pull/4049) Raspipico smp
* [#4251](https://github.com/apache/nuttx/pull/4251) raspberrypi-pico: add support for lcd_dev
* [#4002](https://github.com/apache/nuttx/pull/4002) Kinetis Replace DMA with a proper eDMA driver and use it on SPI and Serial
#### RTL8720C
* [#4076](https://github.com/apache/nuttx/pull/4076) AmebaZ2: Add soc src code
#### NRF52
#### STM32H7/STM32F7
* [#4331](https://github.com/apache/nuttx/pull/4331) arch/arm/stm32h7: dma and serial: add TRBUFF flag.
* [#4441](https://github.com/apache/nuttx/pull/4441) arch/arm/stm32f7/stm32_irq: Fix format strings
* [#4098](https://github.com/apache/nuttx/pull/4098) stm32h7 Ethernet add yield and timeout to not hog CPU
* [#3730](https://github.com/apache/nuttx/pull/3730) stm32h7 rcc: Sync h7x7xx and h7x3xx. Changes are relevant to both
* [#3892](https://github.com/apache/nuttx/pull/3892) arch/arm/src/stm32h7: qspi use indirect write instead of indirect read
* [#3728](https://github.com/apache/nuttx/pull/3728) stm32f7: Remove references to BOARD_ENABLE_USBOTG_HSULPI.
* [#3731](https://github.com/apache/nuttx/pull/3731) stm32/stm32f7 tickless: Fix up_timer_getmask to be correct for the width of the timer.
* [#3976](https://github.com/apache/nuttx/pull/3976) STM32F7 SDMMC fixes
* [#3924](https://github.com/apache/nuttx/pull/3924) stm32h7 fix for adc to handle overrun and the DR's fifo
#### Renesas
* [#4230](https://github.com/apache/nuttx/pull/4230) renesas/rx65n: add long type for all PRI*PTR
* [#3989](https://github.com/apache/nuttx/pull/3989) Renesas/RX added setjmp and placeholder ioctl
#### Risc-V
* [#3770](https://github.com/apache/nuttx/pull/3770) Add support for PolarFire SoC and icicle board
* [#3997](https://github.com/apache/nuttx/pull/3997) risc-v/bl602: update wifi firmware version
* [#4381](https://github.com/apache/nuttx/pull/4381) arch/riscv/assert: enhance the assert dump
* [#4367](https://github.com/apache/nuttx/pull/4367) riscv/backtrace: add up_backtrace support
* [#4365](https://github.com/apache/nuttx/pull/4365) riscv/common: add CURRENT_REGS declare in RV32
* [#4342](https://github.com/apache/nuttx/pull/4342) riscv/bl602: Fix that AP cannot be start when STA have been started.
* [#4335](https://github.com/apache/nuttx/pull/4335) arch/bl602Add bl602 os adapter layer
* [#4145](https://github.com/apache/nuttx/pull/4145) risc-v/bl602: update wifi firmware and some fixup.
* [#3849](https://github.com/apache/nuttx/pull/3849) risc-v/mpfs: irq fixes, more register defines and up_systemreset()
* [#3984](https://github.com/apache/nuttx/pull/3984) risc-v/bl602: Support AP and STA as independent network interface device
* [#3913](https://github.com/apache/nuttx/pull/3913) arch: k210: Fix stack coloring for the idle thread stack
* [#3757](https://github.com/apache/nuttx/pull/3757) riscv: Add inline IRQ process functions
* [#4041](https://github.com/apache/nuttx/pull/4041) risc-v/bl602: add efuse driver
* [#4384](https://github.com/apache/nuttx/pull/4384) Mpfs core pwm
* [#4507](https://github.com/apache/nuttx/pull/4507) various MPFS fixes
#### ESP32-C3
* [#3853](https://github.com/apache/nuttx/pull/3853) arch/risc-v/esp32c3: add esp32c3_modtext to allow ELF loading
#### BL602
* [#3784](https://github.com/apache/nuttx/pull/3784) risc-v/bl602: Add RTC driver
* [#4607](https://github.com/apache/nuttx/pull/4607) Open ble controller adaptation code
#### Xtensa
* [#4280](https://github.com/apache/nuttx/pull/4280) arch:xtensa: add new GNU toolchain for xtensa.
* [#4478](https://github.com/apache/nuttx/pull/4478) arch: xtensa: add xtensa cache support
* [#4547](https://github.com/apache/nuttx/pull/4547) arch:xtensa: add full bactrace support
* [#4407](https://github.com/apache/nuttx/pull/4407) arch/xtensa/src/common: Use irq_spin APIs in modifyregXX
* [#4403](https://github.com/apache/nuttx/pull/4403) Use driver-specific spinlock for ESP32 serial driver.
* [#4458](https://github.com/apache/nuttx/pull/4458) arch:xtensa: add xtensa mpu support
* [#3762](https://github.com/apache/nuttx/pull/3762) xtensa: #ifdef SYMBOL is always true if SYMBOL defined as 0
#### ESP32
* [#4638](https://github.com/apache/nuttx/pull/4638) esp32xx_rom.ld: Strongly declare some of the libgcc.a functions that are ROM resident
* [#4417](https://github.com/apache/nuttx/pull/4417) arch/esp32: Properly handle GPIO interrupt in SMP.
* [#4234](https://github.com/apache/nuttx/pull/4234) espressif/esp32/esp32s2/esp32c3: Disable wdt on initialization.
#### X86_64
* [#4447](https://github.com/apache/nuttx/pull/4447) Fix x86_64
### General changes
* [#4233](https://github.com/apache/nuttx/pull/4233) board/ctrl: Add BOARDIOC_BOOT_IMAGE for booting a new application image
* [#4191](https://github.com/apache/nuttx/pull/4191) Add BOARDCTL_SWITCH_BOOT to support switch boot system
* [#4089](https://github.com/apache/nuttx/pull/4089) board/ctrl: add BOARDCTL_UNIQUEKEY support
## Simulator
* [#3921](https://github.com/apache/nuttx/pull/3921) sim: Use cc as linker, which usually aliases to either GCC or Clang
* [#4108](https://github.com/apache/nuttx/pull/4108) boards/sim: enable nxlooper for alsa config
* [#4222](https://github.com/apache/nuttx/pull/4222) sim/cmdline: save boot cmdline
* [#4209](https://github.com/apache/nuttx/pull/4209) Fix sim smp
* [#4207](https://github.com/apache/nuttx/pull/4207) arch: sim: Workaround to make the IPI work on macOS
* [#4167](https://github.com/apache/nuttx/pull/4167) arch/sim: The second CPU shouldn't call up_irqinitialize
* [#3904](https://github.com/apache/nuttx/pull/3904) boards/sim/sim/sim: correct LDLINKFLAGS after migrating from ld to gcc
* [#4056](https://github.com/apache/nuttx/pull/4056) arch/sim: Fix bt and audio simulation stop work in SMP mode
* [#4045](https://github.com/apache/nuttx/pull/4045) sim/smp: fix smp can't start, caused by signal too busy
* [#4015](https://github.com/apache/nuttx/pull/4015) modify sim clock to PC abs time
* [#3983](https://github.com/apache/nuttx/pull/3983) arch/sim: Implement mm_mallinfo and malloc_size for the custom heap
* [#4459](https://github.com/apache/nuttx/pull/4459) sim: Inhibit stack protector on stack coloration function
* [#3721](https://github.com/apache/nuttx/pull/3721) sim/rptun: support multi(>2) core interactive by share memory
* [#4306](https://github.com/apache/nuttx/pull/4306) boards/sim: Add smartfs profile example
* [#4258](https://github.com/apache/nuttx/pull/4258) Use exit func iml host_abort.
* [#3689](https://github.com/apache/nuttx/pull/3689) Apps Issue #246: Replace romdisk_register() with boardctl(BOARDIOC_ROMDISK)
* [#4465](https://github.com/apache/nuttx/pull/4465) feature: driver: Add a Linux SPI into simulator.
## Documentation
### New Features
* [#3634](https://github.com/apache/nuttx/pull/3634) Documentation/platforms: added documentation for imxrt10xx boards
* [#4470](https://github.com/apache/nuttx/pull/4470) Doc: Add initial documentation to the simulator
* [#4419](https://github.com/apache/nuttx/pull/4419) doc/esp32: Add instructions to use softap
### Improvements
* [#3782](https://github.com/apache/nuttx/pull/3782) spi: Improve SPI Slave interface documentation
* [#4390](https://github.com/apache/nuttx/pull/4390) Documentation: Update ESP32-C3 supported peripheral list.
* [#3702](https://github.com/apache/nuttx/pull/3702) Documentation/esp32c3: Fix a couple of issues from #3700
* [#4242](https://github.com/apache/nuttx/pull/4242) Documentation/bl602: Update some imformation
* [#3662](https://github.com/apache/nuttx/pull/3662) Fix some issues on SPI documentation
* [#4375](https://github.com/apache/nuttx/pull/4375) Documentation/esp32-wrover-kit: update the name of the GPIO interrupt device.
* [#4298](https://github.com/apache/nuttx/pull/4298) Doc/FAQ: Add more entries about board initialization
* [#3899](https://github.com/apache/nuttx/pull/3899) Documentation: Update kconfig-frontends install instructions
* [#4235](https://github.com/apache/nuttx/pull/4235) Documentation/: Update ESP32 doc.
* [#3802](https://github.com/apache/nuttx/pull/3802) Doc: Improve documentation to make clear about the priorities
* [#4564](https://github.com/apache/nuttx/pull/4564) Doc: Update download version to 10.1 and fix tar command
* [#3700](https://github.com/apache/nuttx/pull/3700) Convert ESP32-C3 README to the new Documentation
* [#4298](https://github.com/apache/nuttx/pull/4298) Doc/FAQ: Add more entries about board initialization
* [#4297](https://github.com/apache/nuttx/pull/4297) Documentation/FAQ: Why /dev/ttySx is not created
### Driver Support
### Bug Fixes
* [#3842](https://github.com/apache/nuttx/pull/3842) Added automatic log rotation, when log file is opened.
* [#3837](https://github.com/apache/nuttx/pull/3837) SYSLOG channel add functions return handle to the channel.
* [#3848](https://github.com/apache/nuttx/pull/3848) Syslog file rotations number is configurable.
* [#3808](https://github.com/apache/nuttx/pull/3808) Ramlog: recover last crash log from ram buffer.
* [#4614](https://github.com/apache/nuttx/pull/4614) input/touch: add io command for touch firmware version
* [#4632](https://github.com/apache/nuttx/pull/4632) feat: driver: support double buffer for display
* [#4650](https://github.com/apache/nuttx/pull/4650) driver/power: using upper-half structure directly in the lower-half structure.
* [#4370](https://github.com/apache/nuttx/pull/4370) drivers/sensors/bmp280.c: Correct bmp280 driver
* [#4243](https://github.com/apache/nuttx/pull/4243) drivers/mmcsd:Send cmd0 just once for Increased compatibility
* [#4231](https://github.com/apache/nuttx/pull/4231) adc: add ioctl command to get the number of configured channels
* [#4007](https://github.com/apache/nuttx/pull/4007) driver/fakesensor: fix bugs.
* [#4177](https://github.com/apache/nuttx/pull/4177) serial: use Ctrl+? composite key to force panic"
* [#3851](https://github.com/apache/nuttx/pull/3851) spi: Refactor SPI Slave interface prefix to sync with I2C Slave
* [#4095](https://github.com/apache/nuttx/pull/4095) drivers/syslog: Avoid prepending process name when no TCB is available
* [#3990](https://github.com/apache/nuttx/pull/3990) drivers: wireless: Fix error handling in gs2200m_ioctl_send()
* [#3860](https://github.com/apache/nuttx/pull/3860) drivers: serial: Remove an unnecessary critical section (cs) for SMP
* [#3910](https://github.com/apache/nuttx/pull/3910) serial/pty: Initialize the terminal setting as a console
* [#4110](https://github.com/apache/nuttx/pull/4110) bcm43xxx: supported IW_AUTH_CIPHER_NONE mode
* [#4131](https://github.com/apache/nuttx/pull/4131) drivers/rptun: replace the notification mech from signal to semaphore
* [#4132](https://github.com/apache/nuttx/pull/4132) serial: add ctrl+@ to force crash system for debugging
* [#4156](https://github.com/apache/nuttx/pull/4156) Fakesensor: support gps by read nema csv and delete fakesensor init.
* [#4225](https://github.com/apache/nuttx/pull/4225) sensor: directly return -ENOTSUP without the set_interval or batch
* [#4228](https://github.com/apache/nuttx/pull/4228) drivers: wireless: Fix to set the address family for recvfrom() in gs2200m
* [#4288](https://github.com/apache/nuttx/pull/4288) adc: add IOCTL commands ANIOC_RESET_FIFO and ANIOC_SAMPLES_ON_READ
* [#4312](https://github.com/apache/nuttx/pull/4312) drivers/qencoder: add command to set the maximum encoder position
* [#4652](https://github.com/apache/nuttx/pull/4652) driver/sensor: support sensor_ops: selftest
* [#3633](https://github.com/apache/nuttx/pull/3633) drivers/serial: fix Rx interrupt enable for cdcacm
* [#4504](https://github.com/apache/nuttx/pull/4504) add new interface for fb driver and lcd dev driver
* [#4554](https://github.com/apache/nuttx/pull/4554) drivers/lcd: Add GC9A01 driver and refine ST7735
* [#3658](https://github.com/apache/nuttx/pull/3658) drivers: move the generic upper-half motor driver
* [#4397](https://github.com/apache/nuttx/pull/4397) Update lm3s6965
* [#4489](https://github.com/apache/nuttx/pull/4489) drivers/mmcsd: Pass the right buffer size to SDIO_DMAPREFLIGHT
* [#4479](https://github.com/apache/nuttx/pull/4479) drivers/sdmmc: Remove rwbuffer to avoid panic
* [#4476](https://github.com/apache/nuttx/pull/4476) drivers/mmcsd: Change up_udelay to nxsig_usleep if delay >= 1ms
* [#4474](https://github.com/apache/nuttx/pull/4474) drivers/mmcsd: Handle the failure correctly in mmcsd_slotinitialize
* [#4473](https://github.com/apache/nuttx/pull/4473) drivers/mmcsd: Fix the wrong format argument in mmcsd_dmpcsd
* [#3720](https://github.com/apache/nuttx/pull/3720) driver/syslog: add CONFIG_SYSLOG_RPMSG_SERVER_NAME
* [#3864](https://github.com/apache/nuttx/pull/3864) Fix ht16k33 driver to support multi-modules
* [#3828](https://github.com/apache/nuttx/pull/3828) syslog/emerg: fix bug about printing LOG_EMERG log from iob buffer
* [#3806](https://github.com/apache/nuttx/pull/3806) syslog: fix bug about syslog_default_write
* [#3936](https://github.com/apache/nuttx/pull/3936) syslog/ramlog: Remove the duplication of \n->\r\n conversion
* [#3907](https://github.com/apache/nuttx/pull/3907) serial/pty: Don't return -NOSYS if pollfd::events equals 0
* [#3742](https://github.com/apache/nuttx/pull/3742) drivers/modem/altair: Fix behavior when a reset packet conflicts with a send packet
* [#3741](https://github.com/apache/nuttx/pull/3741) drivers/mtd/smart.c: Recover the missing link of directory entry
* [#3736](https://github.com/apache/nuttx/pull/3736) drivers/syslog: Remove emergstream implementation and caller
* [#3726](https://github.com/apache/nuttx/pull/3726) rtc: add config RTC_RPMSG_SERVER, RTC_RPMSG_SERVER_NAME
* [#4113](https://github.com/apache/nuttx/pull/4113) syslog/ramlog: optimize code and fix init issue
* [#4111](https://github.com/apache/nuttx/pull/4111) syslog/intbuf: force output log when syslog interrupt buffer is full
* [#4042](https://github.com/apache/nuttx/pull/4042) serial: add ioctl TIOCNOTTY
* [#4034](https://github.com/apache/nuttx/pull/4034) syslog: add CPU id to system when open CONFIG_SMP
* [#4032](https://github.com/apache/nuttx/pull/4032) syslog: fix crash when print localtime by syslog
* [#3979](https://github.com/apache/nuttx/pull/3979) note: Move up_schednote.c to drivers/note folder
* [#4475](https://github.com/apache/nuttx/pull/4475) drivers/mmcsd: Change mmsd_ prefix to mmcsd_ prefix
* [#4415](https://github.com/apache/nuttx/pull/4415) Adds driver for msa301 sensore module
* [#4420](https://github.com/apache/nuttx/pull/4420) sensor: fix the bug that lsm6dsl selftest is invalid in nuttx.
* [#3787](https://github.com/apache/nuttx/pull/3787) drivers/spi: Add SPI Slave character device driver
* [#4566](https://github.com/apache/nuttx/pull/4566) drivers/syslog: Call up_puts in syslog_default_write instad up_putc
* [#4580](https://github.com/apache/nuttx/pull/4580) drivers/syslog: Ensure the buffer zero terminate
* [#4302](https://github.com/apache/nuttx/pull/4302) Compile fixes in MCP23X17 driver.
* [#4299](https://github.com/apache/nuttx/pull/4299) bchlib: Improve error handling
* [#4345](https://github.com/apache/nuttx/pull/4345) mtd: Implement BIOC_PARTINFO for all drivers
* [#4248](https://github.com/apache/nuttx/pull/4248) mtd: Return MTD Partition Information
* [#4166](https://github.com/apache/nuttx/pull/4166) mtd: Add MTDIOC_ERASESTATE command for retrieving erase state value
* [#3885](https://github.com/apache/nuttx/pull/3885) mtd: Add MTDIOC_FLUSH IOCTL like MTDIOC_XIPBASE
* [#3722](https://github.com/apache/nuttx/pull/3722) lirc: fix bug about lirc_raw_event
* [#4515](https://github.com/apache/nuttx/pull/4515) rptun: add CONFIG_RPTUN_LOADER to optimize code size
* [#4223](https://github.com/apache/nuttx/pull/4223) rptun: optimize multi-core startup
* [#4552](https://github.com/apache/nuttx/pull/4552) bcm43xxx: abrupt stall of receiving new credits from sdpcm header
* [#4565](https://github.com/apache/nuttx/pull/4565) bcm43xxx: added SDPCM frame pool size parameter
* [#4236](https://github.com/apache/nuttx/pull/4236) bcm43xxx: fixed issues with unaligned buffers for DMA transfers.
* [#4567](https://github.com/apache/nuttx/pull/4567) lcd/st77xx: change 16 bit cmd send to 8 bit
* [#4137](https://github.com/apache/nuttx/pull/4137) bluetooth: add more OGF definition
* [#4039](https://github.com/apache/nuttx/pull/4039) Add putarea() method for st7789
* [#3754](https://github.com/apache/nuttx/pull/3754) wireless/bluetooth: decoupling bt_driver_s and bt_buf_s
### New Driver Support
* [#3727](https://github.com/apache/nuttx/pull/3727) Add basic support for MCP23017 I/O Expander
* [#3859](https://github.com/apache/nuttx/pull/3859) Add Holtek HT16K33 14-segment display driver
* [#4641](https://github.com/apache/nuttx/pull/4641) drivers/mtd/m25px.c: add support for MT25Q256 SPI NOR
* [#4606](https://github.com/apache/nuttx/pull/4606) Add support for MT25Q1G SPI NOR
* [#4373](https://github.com/apache/nuttx/pull/4373) Add support for 3-phase Hall effect sensor driver
* [#4490](https://github.com/apache/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/nuttx/pull/3833) Spresense new memorymap
* [#4526](https://github.com/apache/nuttx/pull/4526) Rearch video
* [#3973](https://github.com/apache/nuttx/pull/3973) boards: spresense: Update rndis and rndis_smp for workaround
* [#3744](https://github.com/apache/nuttx/pull/3744) boards: cxd56xx: Update drivers on spresense board
#### IMX6
* [#3733](https://github.com/apache/nuttx/pull/3733) imx6 elf support
#### IMXRT
* [#3982](https://github.com/apache/nuttx/pull/3982) boards/arm/imxrt/teensy-4.x: added board level support for GPIO driver
* [#3929](https://github.com/apache/nuttx/pull/3929) Added encoder support for Teensy 4.x
* [#3980](https://github.com/apache/nuttx/pull/3980) FlexPWM support for iMXRT MCU
* [#4581](https://github.com/apache/nuttx/pull/4581) Fixed imxrt flexcan driver compilation error (incorrect variable scope)
#### LPC17XX_40XX
#### NRF52
#### RP2040
* [#3917](https://github.com/apache/nuttx/pull/3917) arm/rp2040:USB device controller support
* [#3857](https://github.com/apache/nuttx/pull/3857) boards: rp2040: Add user gpio driver
* [#3996](https://github.com/apache/nuttx/pull/3996) Support for Waveshare Pico-LCD-1.x module
* [#4086](https://github.com/apache/nuttx/pull/4086) Added PCF8574 backpack support to Raspberry Pi Pico
* [#4204](https://github.com/apache/nuttx/pull/4204) added st7735 LCD based support
* [#4289](https://github.com/apache/nuttx/pull/4289) Fixing BMP180 and INA219 in RP2040
#### S32K1XX
* [#4643](https://github.com/apache/nuttx/pull/4643) S32K1xx arch: Add (optional) support for SPI native/hardware chip select
* [#4634](https://github.com/apache/nuttx/pull/4634) S32K1XX arch: gpioread may also be used for output pins
* [#4592](https://github.com/apache/nuttx/pull/4592) S32K1XX: Add LPI2C slave support
* [#4541](https://github.com/apache/nuttx/pull/4541) S32K1XX EVB boards cleanup & update
* [#4578](https://github.com/apache/nuttx/pull/4578) S32K1XXEVB boards: Fix RGB LED output and add comments
* [#4533](https://github.com/apache/nuttx/pull/4533) S32k1xx: added PM support
* [#4596](https://github.com/apache/nuttx/pull/4596) S32K1XX: Add FlexIO registers
* [#4508](https://github.com/apache/nuttx/pull/4508) s32k1xx: added way to get the reset cause in a proc fs
* [#4560](https://github.com/apache/nuttx/pull/4560) RDDRONE-UAVCAN / UCANS32K146 boards cleanup & update
#### SAM34
* [#3732](https://github.com/apache/nuttx/pull/3732) board: Add support for Adafruit Circuit Express
* [#3840](https://github.com/apache/nuttx/pull/3840) Add ST7789 LCD controller support for SAMV71 XPlained Ultra board
#### STM32
* [#3944](https://github.com/apache/nuttx/pull/3944) boards/arm/stm32/nucleo-f446re: added support for DAC driver
* [#3880](https://github.com/apache/nuttx/pull/3880) boards/arm/stm32/nucleo-f446re: added support for GPIO driver
* [#3909](https://github.com/apache/nuttx/pull/3909) Added basic support for nucleo-g431kb board.
* [#3922](https://github.com/apache/nuttx/pull/3922) Adds PWM example to nucleo-g431kb board.
* [#3914](https://github.com/apache/nuttx/pull/3914) boards: added support for EMW3162 Wi-Fi board
* [#3878](https://github.com/apache/nuttx/pull/3878) Add FOC support for B-G431-ESC1 board
* [#3637](https://github.com/apache/nuttx/pull/3637) boards/arm/stm32/nucleo-f446re: added support for PWM
* [#3660](https://github.com/apache/nuttx/pull/3660) stm32_pwm: improvements for PULSECOUNT support
* [#4505](https://github.com/apache/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/nuttx/pull/4589) Fix stm32xx GPIO glitches from configuration bad order of operations
* [#4085](https://github.com/apache/nuttx/pull/4085) stm32,stm32f7,stm32h7: supported ETH MAC promiscuous mode
* [#4255](https://github.com/apache/nuttx/pull/4255) STM32 DAC Driver - Add support to DAC3
* [#3796](https://github.com/apache/nuttx/pull/3796) boards/arm/stm32/nucleo-f412zg/scripts/Make.defs: Replace EXTRADEFINES by EXTRAFLAGS
* [#4284](https://github.com/apache/nuttx/pull/4284) stm32_pmw: fix pwm_stop() function to enable multiple PWM start and stop
* [#4353](https://github.com/apache/nuttx/pull/4353) stm32/stm32_serial.c fix issue
* [#4244](https://github.com/apache/nuttx/pull/4244) STM32G4: add support for CORDIC math accelerator
* [#4437](https://github.com/apache/nuttx/pull/4437) stm32_serial.c: Don't fake a TX interrupt when interrupts are not suppressed
* [#3863](https://github.com/apache/nuttx/pull/3863) boards/arm/stm32/nucleo-f446re: fixed wrong qetimer config name
* [#3952](https://github.com/apache/nuttx/pull/3952) SDIO IO_RW_EXTENDED command (CMD53) related fixes
* [#4597](https://github.com/apache/nuttx/pull/4597) Add LCD backpack support for ESP32 (devkit-c).
#### STM32L4
* [#4534](https://github.com/apache/nuttx/pull/4534) STM32L4 LPUART support
#### STM32F4
#### STM32F7 / STM32H7
 * [#3646](https://github.com/apache/nuttx/pull/3646) boards/stm32f7: Add i2c and mpu60x0 support to nucleo-144 and fix bitmask bug in mpu60x0
* [#3650](https://github.com/apache/nuttx/pull/3650) stm32{H7|F7} Disables/Enabled the use of GPIO_OTG_ID pin
* [#3669](https://github.com/apache/nuttx/pull/3669) STM32 {F7|H7} Use 250 Ms Data path timeout, regardless of Card Clock frequency
* [#3651](https://github.com/apache/nuttx/pull/3651) Use inttypes in stm32{f7|h7}, Kinetis, s32k drivers.
* [#4524](https://github.com/apache/nuttx/pull/4524) stm32*7/stm32_serial.c: Don't fake a TX interrupt when interrupts are not suppressed
* [#4598](https://github.com/apache/nuttx/pull/4598) stm32h7:DMA_TRBUFF is DMA_SCR_TRBUFF
#### KINETIS
* [#4190](https://github.com/apache/nuttx/pull/4190) kinetis lpserial add RX DMA
#### ARM
#### AVR32
* [#3684](https://github.com/apache/nuttx/pull/) avr32dev1: USART1 RX: Reassign pin
#### MIPS
#### PIC32
* [#4264](https://github.com/apache/nuttx/pull/) boards: added a basic support for chipKIT Wi-FIRE board
#### RISC-V
* [#3846](https://github.com/apache/nuttx/pull/3846) risc-v/rv32m1: Basic port to rv32m1 ri5cy
* [#4146](https://github.com/apache/nuttx/pull/4146) risc-v/bl602: add boardctl support
* [#3911](https://github.com/apache/nuttx/pull/3911) Add i2c driver to PolarFire SoC and Icicle board
* [#3905](https://github.com/apache/nuttx/pull/3905) Add SPI driver to PolarFire SoC and Icicle board
* [#3933](https://github.com/apache/nuttx/pull/3933) riscv/mpfs: add i2c reset handler
* [#3920](https://github.com/apache/nuttx/pull/3920) add dma support for PolarFire SoC
* [#4569](https://github.com/apache/nuttx/pull/4569) MPFS emmcsd
#### BL602
* [#4010](https://github.com/apache/nuttx/pull/4010) boards/bl602: Fix uart_nx.c:419: undefined reference to `uart_bth4_register
#### C906
#### ESP32-C3
* [#3794](https://github.com/apache/nuttx/pull/3794) risc-v/esp32c3: Support ESP32-C3 RTC driver
* [#3883](https://github.com/apache/nuttx/pull/3883) risc-v/esp32c3: Support ESP32-C3 RSA accelerator
* [#3881](https://github.com/apache/nuttx/pull/3881) risc-v/esp32c3: Support ESP32-C3 efuse
* [#3935](https://github.com/apache/nuttx/pull/3935) risc-v/esp32c3: Support ESP32-C3 SHA accelerator
* [#3882](https://github.com/apache/nuttx/pull/3882) riscv/esp32c3: Use the RTC memory as another heap.
* [#3945](https://github.com/apache/nuttx/pull/3945) boards/esp32c3: Add romfs configuration
* [#3925](https://github.com/apache/nuttx/pull/3925) risc-v/esp32-c3: Adds I2C polled support
* [#3823](https://github.com/apache/nuttx/pull/3823) risc-v/esp32-c3: Add support for HW flow control.
* [#3822](https://github.com/apache/nuttx/pull/3822) ESP32-C3: Add DMA support for SPI Slave
* [#3543](https://github.com/apache/nuttx/pull/3543) feat(esp32c3): Support esp32c3 ble function
* [#3667](https://github.com/apache/nuttx/pull/3667) risc-v/esp32c3: Add ESP32-C3 (G)DMA driver and testing
* [#4605](https://github.com/apache/nuttx/pull/4605) risc-v/esp32-c3: improvements and fix to esp32c3_rt_timer.c
* [#4611](https://github.com/apache/nuttx/pull/4611) ESP32-C3: Add support for booting NuttX from MCUboot
* [#3656](https://github.com/apache/nuttx/pull/3656) risc-v/esp32-c3: Adds freerun wrapper
* [#4574](https://github.com/apache/nuttx/pull/4574) esp32c3-devkit: Add board profile to use LVGL on GC9A01 display
* [#3810](https://github.com/apache/nuttx/pull/3810) risc-v/esp32c3: Fix overwriting of registered-but-disabled interrupts
* [#3797](https://github.com/apache/nuttx/pull/3797) ESP32-C3: Add SPI Slave peripheral driver
* [#4568](https://github.com/apache/nuttx/pull/4568) boards/esp32c3: add ESP32C3 LCD drivers
* [#4553](https://github.com/apache/nuttx/pull/4553) risc-v/esp32c3: fix pwm driver bug
* [#4500](https://github.com/apache/nuttx/pull/4500) risc-v/esp32-c3: refactor the Wi-Fi board logic.
* [#3679](https://github.com/apache/nuttx/pull/3679) risc-v/esp32c3: Support ESP32-C3 PM standby and sleep
* [#3766](https://github.com/apache/nuttx/pull/3766) riscv/esp32c3: Add ESP32-C3 AES driver
* [#3750](https://github.com/apache/nuttx/pull/3750) riscv/esp32c3: Support SPI Flash encryption read/write
* [#3735](https://github.com/apache/nuttx/pull/3735) riscv/esp32c3: Add ESP32-C3 ADC driver
* [#3715](https://github.com/apache/nuttx/pull/3715) risc-v/esp32c3: Support ESP32-C3 auto-sleep
* [#4239](https://github.com/apache/nuttx/pull/4239) risc-v/esp32-c3: Adds systimer support and make rt_timer rely on it
* [#3694](https://github.com/apache/nuttx/pull/3694) risc-v/esp32c3: Add support for DMA transfers on SPI driver
* [#3697](https://github.com/apache/nuttx/pull/3697) riscv/esp32c3: Fix RT timer issues
* [#3906](https://github.com/apache/nuttx/pull/3906) risc-v/esp32c3_wifi_adapter.c: Remove a config that's only used in Xtensa chips.
* [#3701](https://github.com/apache/nuttx/pull/3701) riscv/esp32c3: Add ESP32C3 LEDC(PWM) driver
* [#3854](https://github.com/apache/nuttx/pull/3854) ESP32-C3: Small clean up on IRQ functions
* [#4006](https://github.com/apache/nuttx/pull/4006) risc-v/esp32c3: Notifies networking layer whether the carrier is available
* [#3788](https://github.com/apache/nuttx/pull/3788) ESP32-C3: Fix configuration of TX Burst support for GDMA
* [#4040](https://github.com/apache/nuttx/pull/4040) risc-v/esp32c3: Fix some ESP32-C3 BLE driver issues
* [#4082](https://github.com/apache/nuttx/pull/4082) boards/esp32c3-devkit: Support mounting SPI Flash MTD to littleFS
* [#4075](https://github.com/apache/nuttx/pull/4075) risc-v/esp32c3: Add board_ioctl and board_uniqueid
* [#4092](https://github.com/apache/nuttx/pull/4092) risc-v/esp32c3: Use onexit to free thread private semaphore
* [#3971](https://github.com/apache/nuttx/pull/3971) boards/riscv/esp32c3: Rename the iram_0_2 segment to irom_0_0 to avoid confusions.
* [#4141](https://github.com/apache/nuttx/pull/4141) risc-v/esp32-c3: Use systimer 0 to RTOS TICK
* [#3793](https://github.com/apache/nuttx/pull/3793) esp32&esp32c3/wifi: Support specific channel and bssid scan
* [#4162](https://github.com/apache/nuttx/pull/4162) risc-v/esp32c3: Fix some ESP32-C3 Wi-Fi driver issues
* [#4169](https://github.com/apache/nuttx/pull/4169) risc-v/esp32-c3: Makes output readable and rmv unnecessary var.
* [#4314](https://github.com/apache/nuttx/pull/4314) risc-v/esp32-c3: Complete the support for RWDT
#### XTENSA
* [#4590](https://github.com/apache/nuttx/pull/4590) [Xtensa/RISC-V] Remove FAR and CODE qualifiers from arch-specific files
* [#4187](https://github.com/apache/nuttx/pull/4187) Fix xtensa_btdump() to look at the exception frame
* [#4556](https://github.com/apache/nuttx/pull/4556) xtensa:backtrace: flush to stack when in interrupt
* [#3939](https://github.com/apache/nuttx/pull/3939) Fix xtensa
* [#4531](https://github.com/apache/nuttx/pull/4531) xtensa/irq.h: Fixes the routine that clears the processor interrupt
* [#4278](https://github.com/apache/nuttx/pull/4278) xtensa/common: save sp before overwriting in level2/3/4 handler and typo fix
* [#4311](https://github.com/apache/nuttx/pull/4311) xtensa:coproc: fix XTENSA_CP_ALLSET error in some case
* [#3768](https://github.com/apache/nuttx/pull/3768) xtensa: Fixes names of architecture serial functions
#### ESP32
* [#3940](https://github.com/apache/nuttx/pull/3940) xtensa/esp32: Support ESP32 RTC driver
* [#4003](https://github.com/apache/nuttx/pull/4003) xtensa/esp32: Adds support for SERIAL_TXDMA.
* [#3912](https://github.com/apache/nuttx/pull/3912) xtensa/esp32: Adds I2C polled support.
* [#3803](https://github.com/apache/nuttx/pull/3803) Add support to ESP32-S2 and ESP32S2-SAOLA-1 Board
* [#3824](https://github.com/apache/nuttx/pull/3824) xtensa/esp32-s2: Add support for serial HW flow control.
* [#4604](https://github.com/apache/nuttx/pull/4604) xtensa/esp32: Enable build system to download or build binaries from source
* [#3642](https://github.com/apache/nuttx/pull/3642) xtensa/esp32: several uart fixes
* [#3648](https://github.com/apache/nuttx/pull/3648) tools/esp32/mk_qemu_img.sh: Refactor the dd commands.
* [#4625](https://github.com/apache/nuttx/pull/4625) esp32-c3/esp32-s2: Fix the sequence of commands to set the alarm value on rt timer.
* [#4610](https://github.com/apache/nuttx/pull/4610) ESP32-S2: Add support for booting NuttX from MCUboot
* [#3678](https://github.com/apache/nuttx/pull/3678) xtensa/esp32: Support auto-sleep
* [#4532](https://github.com/apache/nuttx/pull/4532) boards/esp32s2-saola-1: Add implementation for BOARDIOC_RESET interface
* [#4275](https://github.com/apache/nuttx/pull/4275) xtensa/esp32: Keep track of the CPU where the interrupt was attached.
* [#4295](https://github.com/apache/nuttx/pull/4295) xtensa/esp32: Enable boot from Espressif's port of MCUboot
* [#4315](https://github.com/apache/nuttx/pull/4315) xtensa/esp32: Fix issues on RWDT
* [#4366](https://github.com/apache/nuttx/pull/4366) xtensa/esp32: Use IRQ to enable/disable interrupts
* [#4427](https://github.com/apache/nuttx/pull/4427) esp32/ttgo_lora_esp32: Add support to SSD1306 OLED display
* [#4388](https://github.com/apache/nuttx/pull/4388) esp32: Re-organize the interrupt handling process to correctly handle the SMP case
* [#4401](https://github.com/apache/nuttx/pull/4401) xtensa/esp32-s2: Adds support to the timer driver
* [#4545](https://github.com/apache/nuttx/pull/4545) esp32-wrover: Add support to LCD1602 with I2C Backpack
* [#4587](https://github.com/apache/nuttx/pull/4587) xtensa/esp32-s2: Adds freerun timer wrapper
* [#4139](https://github.com/apache/nuttx/pull/4139) xtensa/esp32: Fixes termios issue.
* [#4586](https://github.com/apache/nuttx/pull/4586) xtensa/esp32-s2: Adds oneshot device driver support
* [#4570](https://github.com/apache/nuttx/pull/4570) esp32_spiflash.c: Correctly disable APP's CPU cache.
* [#4509](https://github.com/apache/nuttx/pull/4509) esp32: Add initial support to Bluetooth Low Energy
* [#4411](https://github.com/apache/nuttx/pull/4411) esp32/softap: Enable the WPA2 by default to ask user password
* [#4412](https://github.com/apache/nuttx/pull/4412) boards/esp32: Add basic support to TTGO-LoRa-SX1276-ESP32
* [#4585](https://github.com/apache/nuttx/pull/4585) xtensa/esp32-s2: Adds support to rt_timer and systimer to ESP32-S2.
* [#4170](https://github.com/apache/nuttx/pull/4170) xtensa/esp32: Make output readable and rmv unnecessary var.
* [#4195](https://github.com/apache/nuttx/pull/4195) esp32_allocateheap.c: Remove the amount reserved to himem from the heap.
* [#4232](https://github.com/apache/nuttx/pull/4232) xtensa/esp32: Enable configuration of GPIO pad's drive strength
* [#4240](https://github.com/apache/nuttx/pull/4240) xtensa/esp32: expose SPI2 as a char driver
* [#4253](https://github.com/apache/nuttx/pull/4253) xtensa/esp32: Enable the allocation of multiple SPI Flash partitions
* [#4338](https://github.com/apache/nuttx/pull/4338) tools/esp32/Config.mk: Allow ESPTOOL_BINDIR to be omitted when flashing the board
* [#3938](https://github.com/apache/nuttx/pull/3938) esp32&esp32c3/wifi: Fix the issues of Wi-Fi configuration being overwritten
* [#3969](https://github.com/apache/nuttx/pull/3969) boards/esp32: Refactor the different linker scripts and delete old OpenOCD config files.
* [#3975](https://github.com/apache/nuttx/pull/3975) xtensa/esp32: Fix RTC WDT deinitialization on start routine
* [#3987](https://github.com/apache/nuttx/pull/3987) tools/esp32/backtrace.gdbscript: don't modify registers
* [#4001](https://github.com/apache/nuttx/pull/4001) xtensa/esp32: Support to select different clock source for RTC controller and close TODOs.
* [#4073](https://github.com/apache/nuttx/pull/4073) xtensa/esp32: Fix uart 2 issue.
* [#3800](https://github.com/apache/nuttx/pull/3800) arch/xtensa/esp32_emac.c: Call phy_enable_interrupt correctly.
* [#4157](https://github.com/apache/nuttx/pull/4157) boards/esp32: Refactor the linker scripts into the common directory.
* [#4249](https://github.com/apache/nuttx/pull/4249) xtensa/esp32-s2: Adds GPIO board logic to esp32s2-saola-1.
* [#4471](https://github.com/apache/nuttx/pull/4471) xtensa/esp32: Wi-Fi board logic refactoring.
* [#4497](https://github.com/apache/nuttx/pull/4497) esp32_serial.c: Don't fake an interrupt when interrupts are not suppressed.
* [#3829](https://github.com/apache/nuttx/pull/3829) xtensa/esp32: Fixes support for UART HW flow control
* [#3943](https://github.com/apache/nuttx/pull/3943) xtensa/esp32: Adds I2C Bit banging reset
* [#3960](https://github.com/apache/nuttx/pull/3960) xtensa/esp32: Refactor the text heap and add RTC memory to it
* [#4646](https://github.com/apache/nuttx/pull/4646) Add example to use BLE and WiFi at same time
## File System
### Bug Fixes
* [#3653](https://github.com/apache/nuttx/pull/3653) fs:cromf Use inttypes in printing macros
* [#4573](https://github.com/apache/nuttx/pull/4573) fs:procfs: add waiting_paging_fill state names
* [#3745](https://github.com/apache/nuttx/pull/3745) fs/vfs/fs_select.c: Fix select() to return EINVAL when nfds is negative
* [#3740](https://github.com/apache/nuttx/pull/3740) fs/fat/fat32util.c: Fix calculation of current sector with invalid cl…
* [#3724](https://github.com/apache/nuttx/pull/3724) fs/hostfs: fix bug about getting error file size by fstat
* [#3785](https://github.com/apache/nuttx/pull/3785) FAT32 fix skipping sectors at computing the number of free clusters
* [#4171](https://github.com/apache/nuttx/pull/4171) fs/tmpfs: Handle the tail '/' correctly
* [#4539](https://github.com/apache/nuttx/pull/4539) vfs/poll: correct the return event if inode has closed
* [#3760](https://github.com/apache/nuttx/pull/3760) Fix calculation of free clusters at mounting a fat partition
* [#4012](https://github.com/apache/nuttx/pull/4012) fs: move out nx_close from filelock
* [#3974](https://github.com/apache/nuttx/pull/3974) fs/tmpfs: Fix the memory corruption when reallocate tmpfs_directory_s
* [#3986](https://github.com/apache/nuttx/pull/3986) fs: nfs: Reconnect to the NFS server in TCP mode
* [#4031](https://github.com/apache/nuttx/pull/4031) fs/fs_dup2: (sanity check )correct check before calling dup
* [#4033](https://github.com/apache/nuttx/pull/4033) fs/procfs: add StackAlloc field for task stack info
* [#4061](https://github.com/apache/nuttx/pull/4061) FAT32 kconfig entry to enforce computation of free clusters at mount
* [#4079](https://github.com/apache/nuttx/pull/4079) fs/procfs: layout the output of meminfo correctly
* [#4093](https://github.com/apache/nuttx/pull/4093) fs: Move the default ioctl handle from nx_vioctl to file_vioctl
* [#4097](https://github.com/apache/nuttx/pull/4097) fs: Remove the inernal st_count field from struct stat
* [#4101](https://github.com/apache/nuttx/pull/4101) fs: pseudorename should call inode_release in the error path
* [#4118](https://github.com/apache/nuttx/pull/4118) fs: Support the root file system attributes(mode, uid, gid and time)
* [#4119](https://github.com/apache/nuttx/pull/4119) fs: fstat shouldn't follow the symbol link
* [#4121](https://github.com/apache/nuttx/pull/4121) vfs: stat_recursive should return -ENOSYS if stat callback is NULL
* [#4123](https://github.com/apache/nuttx/pull/4123) nuttx: littlefs_close should return value bugfix
* [#4153](https://github.com/apache/nuttx/pull/4153) fs: Add fchstat and chstat callback into mountpt_operations
* [#4165](https://github.com/apache/nuttx/pull/4165) fs: should only apply umask to the userspace caller
* [#4174](https://github.com/apache/nuttx/pull/4174) Fix nfs and statfs
* [#4193](https://github.com/apache/nuttx/pull/4193) fs: Change off_t and related types to int64_t if long long is supported
* [#4224](https://github.com/apache/nuttx/pull/4224) fs/inode: add sanity check for inode to avoid nullpointer
* [#4263](https://github.com/apache/nuttx/pull/4263) fs: Save umask to tls_task_s for non kernel mode only
* [#4300](https://github.com/apache/nuttx/pull/4300) fs: Add utimens and lutimens
* [#4307](https://github.com/apache/nuttx/pull/4307) fs/userfs: Support fchstat and chstat callback
* [#4308](https://github.com/apache/nuttx/pull/4308) fs/unionfs: Support fchstat and chstat callback
* [#4309](https://github.com/apache/nuttx/pull/4309) fs/nfs: Support fchstat and chstat callback
* [#4330](https://github.com/apache/nuttx/pull/4330) fs/littlefs: improve littlefs flash block erase balance performance
* [#4332](https://github.com/apache/nuttx/pull/4332) fs: Support 64bit in register_[block|mtd]partition
* [#4333](https://github.com/apache/nuttx/pull/4333) fs/partition: Support BIOC_PARTINFO
* [#4321](https://github.com/apache/nuttx/pull/4321) fs: Remove endsector from partition_info_s
* [#3680](https://github.com/apache/nuttx/pull/3680) fs/eventfd: add EVENT_FD_POLL as a Kconfig dependency for EVENT_FD_NPOLLWAITERS
* [#4514](https://github.com/apache/nuttx/pull/4514) fs/ioctl: using FIOC_FILEPATH instead of FIOC_FILENAME
* [#4511](https://github.com/apache/nuttx/pull/4511) inode_getpath: correct get path whether path buffer is clean or not.
* [#4276](https://github.com/apache/nuttx/pull/4276) Fix status register reading in ramtron_read()
* [#4290](https://github.com/apache/nuttx/pull/4290) cmd/df: Fix the abnormal output after off_t change
* [#4133](https://github.com/apache/nuttx/pull/4133) profs: Print StackAlloc by procfs_snprintf
### Significant Improvements
## Networking
### Improvements
* [#4538](https://github.com/apache/nuttx/pull/4538) sys/socket/scm: add more socket message control helper
* [#4080](https://github.com/apache/nuttx/pull/4080) net/socket: add SO_SNDBUF support
* [#4116](https://github.com/apache/nuttx/pull/4116) net: Add file_socket function
* [#4135](https://github.com/apache/nuttx/pull/4135) net/rpmsg: add multi-iov support
* [#4179](https://github.com/apache/nuttx/pull/4179) Update socket rpmsg
* [#4355](https://github.com/apache/nuttx/pull/4355) net/rpmsg: add nonblock connect(2) support
* [#4356](https://github.com/apache/nuttx/pull/4356) net/local: add nonblock connect(2) support
* [#4357](https://github.com/apache/nuttx/pull/4357) net/tcp: add nonblock connect(2) support
* [#4070](https://github.com/apache/nuttx/pull/4070) net/tcp: add window scale support
* [#3926](https://github.com/apache/nuttx/pull/3926) net/inet: add support of FIONREAD
* [#3896](https://github.com/apache/nuttx/pull/3896) net/local: add local_nextconn() helper
* [#3961](https://github.com/apache/nuttx/pull/3961) net: Add if_nameindex and if_freenameindex API
* [#4069](https://github.com/apache/nuttx/pull/4069) net/socket: add SO_RCVBUF support
* [#4071](https://github.com/apache/nuttx/pull/4071) net/local: add AF_[UNIX|LOCAL] socketpair support
* [#4540](https://github.com/apache/nuttx/pull/4540) net/local: add FIONSPACE support
* [#4593](https://github.com/apache/nuttx/pull/4593) net/local: add socket message control support
### Bug Fixes
* [#4602](https://github.com/apache/nuttx/pull/4602) net/dup: only start tcp monitor on INET domain
* [#4649](https://github.com/apache/nuttx/pull/4649) net: always compile listen.c and accept.c when enable CONFIG_NET
* [#4603](https://github.com/apache/nuttx/pull/4603) [SECURITY]net/tcp: sanity check for the listen address
* [#4579](https://github.com/apache/nuttx/pull/4579) net/devif/devif_callback.c: made the connection event list doubly linked
* [#4433](https://github.com/apache/nuttx/pull/4433) net/devif/devif_callback.c: corrected the connection event list to work as FIFO instead of LIFO
* [#3776](https://github.com/apache/nuttx/pull/3776) net/dev: link the net device as order of registration
* [#3758](https://github.com/apache/nuttx/pull/3758) net/tcp/retransmit: recounter the ack counter during obtain newdata
* [#3723](https://github.com/apache/nuttx/pull/3723) net: Forward socket option only when the socket type is usrsock
* [#4480](https://github.com/apache/nuttx/pull/4480) net: utils: Remove critical section for SMP in net_lock.c
* [#3707](https://github.com/apache/nuttx/pull/3707) Fix NFS over TCP
* [#3818](https://github.com/apache/nuttx/pull/3818) tcp: recv window update improvement
* [#3655](https://github.com/apache/nuttx/pull/3655) Attempt to fix race condition reported in issue #3647
* [#3865](https://github.com/apache/nuttx/pull/3865) Fix tcp seq wrap around issues
* [#3889](https://github.com/apache/nuttx/pull/3889) net/dns:fix unaligned access in dns query
* [#3894](https://github.com/apache/nuttx/pull/3894) net/telnet: fix a potential busyloop if rxbuffer writes faster than read
* [#3934](https://github.com/apache/nuttx/pull/3934) net/local: Remove all HAVE_LOCAL_POLL reference
* [#3755](https://github.com/apache/nuttx/pull/3755) net/icmp: icmp bug fix and enhancement
* [#3993](https://github.com/apache/nuttx/pull/3993) tcp_reset: Don't copy the peer window
* [#3994](https://github.com/apache/nuttx/pull/3994) tcp: always responds to keep-alive segments
* [#3995](https://github.com/apache/nuttx/pull/3995) fix active close for CONFIG_NET_TCP_WRITE_BUFFERS
* [#3999](https://github.com/apache/nuttx/pull/3999) some follow-up patches for the recent tcp readahead
* [#4017](https://github.com/apache/nuttx/pull/4017) rpmsg_socket: fix rpmsg_socket_device_destroy() multi-access
* [#4022](https://github.com/apache/nuttx/pull/4022) tcp_close: Fix a race with passive close
* [#3966](https://github.com/apache/nuttx/pull/3966) net: Fix: left shift of 1 by 31 places cannot be represented in type long int
* [#3948](https://github.com/apache/nuttx/pull/3948) TCP: simplify readahead
* [#3114](https://github.com/apache/nuttx/pull/3114) usrsock/recv: guarantee all data is received before close
* [#3756](https://github.com/apache/nuttx/pull/3756) net/tcp: set/get TCP_KEEPINTVL/IDLE value as BSD style
* [#3895](https://github.com/apache/nuttx/pull/3895) net/accept: alloc the accept fd after accept success
* [#3937](https://github.com/apache/nuttx/pull/3937) dns_recv_response: Fix IPv6 address in an ninfo()
* [#4408](https://github.com/apache/nuttx/pull/4408) Fix up that local socket will be endless loop when write data size more than the fifo size.
* [#4517](https://github.com/apache/nuttx/pull/4517) rpmsg_socket: add prefix "rpmsg-socket" for the name of rpmsg endpoint
* [#4537](https://github.com/apache/nuttx/pull/4537) net/udp: fix buffer release handling on failed buffer alloc
* [#4120](https://github.com/apache/nuttx/pull/4120) net/tcp: tcp_sendfile need restore the file location at the end
* [#4134](https://github.com/apache/nuttx/pull/4134) net/tcp: only print the error when disable the TCP_NODELAY
* [#4142](https://github.com/apache/nuttx/pull/4142) tcp_send_buffered: throttle IOB allocations for send
* [#4159](https://github.com/apache/nuttx/pull/4159) tcp_send_buffered.c: Fix broken retransmit
* [#4126](https://github.com/apache/nuttx/pull/4126) include/netinet: Add missing IP_TTL definition
* [#4197](https://github.com/apache/nuttx/pull/4197) local/stream: remove preamble header in stream mode
* [#4273](https://github.com/apache/nuttx/pull/4273) tcp: some fixes in snd_wnd processing
* [#4293](https://github.com/apache/nuttx/pull/4293) tcp: make our sequence number a bit more monotonic
* [#4257](https://github.com/apache/nuttx/pull/4257) Fix a few deadlock in tcp/iob
* [#4480](https://github.com/apache/nuttx/pull/4480) net: utils: Remove critical section for SMP in net_lock.c
* [#3919](https://github.com/apache/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/nuttx/pull/4266 and PR-4267 https://github.com/apache/nuttx/pull/4267 in the main NuttX repository.
See also PR-820 https://github.com/apache/nuttx-apps/pull/820 and PR-821 https://github.com/apache/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/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/nuttx/commit/45672c269db13f59bdaa417e564837e8bbb6c8c1
* PR-3836 in the NuttX main repository:
- https://github.com/apache/nuttx/pull/3836
* Issues 3209 and 3826 in the NuttX issue tracker:
- https://github.com/apache/nuttx/issues/3209
- https://github.com/apache/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

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,891 @@
NuttX-11.0.0
------------
# What's New In This Release
## Bug Fixes and Improvements
* [#5978](https://github.com/apache/nuttx/pull/5978) nuttx: unify FAR attribute usage across the code
* [#6064](https://github.com/apache/nuttx/pull/6064) sched/environ: Ensure tg_envp terminated by double
* [#6038](https://github.com/apache/nuttx/pull/6038) sched/pthread_create:fix bug,delete data_sem
* [#6035](https://github.com/apache/nuttx/pull/6035) sched/init: drivers_initialize() should be late than up_initialize()
* [#6026](https://github.com/apache/nuttx/pull/6026) sched/note: include-able from C++ files
* [#6083](https://github.com/apache/nuttx/pull/6083) sched/environ: Refine the environment variables storage layout
* [#5992](https://github.com/apache/nuttx/pull/5992) sched/note: correct flatten format
* [#6271](https://github.com/apache/nuttx/pull/6271) sched: Replace pthread_sem_take with nxsem_wait_uninterruptible
* [#6220](https://github.com/apache/nuttx/pull/6220) sched/note: fix build break
* [#6215](https://github.com/apache/nuttx/pull/6215) sched/group: addrenv: allocate current group for each cpu
* [#6153](https://github.com/apache/nuttx/pull/6153) sched:fix mq_timedsend describe
* [#6135](https://github.com/apache/nuttx/pull/6135) sched: cpuload: add pm callbacks for cpuidle and time compensate for idle task
* [#5986](https://github.com/apache/nuttx/pull/5986) sched/irq: Fix array overrun in coverity check
* [#5859](https://github.com/apache/nuttx/pull/5859) sched/sched_timerexpiration.c: change from sched_time to eventtime
* [#6137](https://github.com/apache/nuttx/pull/6137) sched: remove DEBUGASSERT from nx_waitpid
* [#5929](https://github.com/apache/nuttx/pull/5929) sched/pthread:need check pthread is DETACHED
* [#5915](https://github.com/apache/nuttx/pull/5915) sched/note: add support of trace section mark
* [#6328](https://github.com/apache/nuttx/pull/6328) sched: Move the call of pthread_mutex_inconsistent to nxtask_recover
* [#6329](https://github.com/apache/nuttx/pull/6329) sched/pthread: Should call up_exit in pthread_exit
* [#6296](https://github.com/apache/nuttx/pull/6296) sched/wqueue: Add work_timeleft macro to get the left time to start
* [#5753](https://github.com/apache/nuttx/pull/5753) Fix the initial idle tasks environment
* [#5793](https://github.com/apache/nuttx/pull/5793) sched/module: correct the check condition
* [#6716](https://github.com/apache/nuttx/pull/6716) sched/Makefile: move task_reparent.c to appropriate Makefile
* [#6707](https://github.com/apache/nuttx/pull/6707) sched: Remove the not really used cmptime
* [#6679](https://github.com/apache/nuttx/pull/6679) sched_critmonitor: remove check zero in sched_critmonitor
* [#6677](https://github.com/apache/nuttx/pull/6677) sched: handle nxtask_setup_arguments return values
* [#6628](https://github.com/apache/nuttx/pull/6628) sched/timer: timer_settime not fully satisfy IEEE 1003.1
* [#6423](https://github.com/apache/nuttx/pull/6423) sched/env: Fix the return value of unsetenv()
* [#6410](https://github.com/apache/nuttx/pull/6410) sched/mqueue: do sanity check if DEBUG_FEATURES is enabled
* [#6403](https://github.com/apache/nuttx/pull/6403) sched/mqueue: configurable mqueue notification
* [#6402](https://github.com/apache/nuttx/pull/6402) sched/mqueue: minor code tuning of message queue
* [#6393](https://github.com/apache/nuttx/pull/6393) sched/mqueue: replace inline linklist to improve performance
* [#6392](https://github.com/apache/nuttx/pull/6392) sched/mqueue: remove sched_lock to improve performance
* [#6377](https://github.com/apache/nuttx/pull/6377) sched/tls: Shouldn't get tls info directly from sp in kernel space
* [#6365](https://github.com/apache/nuttx/pull/6365) sched/tls: Wrap up_info_size into tls_info_size
* [#6340](https://github.com/apache/nuttx/pull/6340) Change dpends on SCHED_[L|H]PWORK to SCHED_WORKQUEUE
* [#6250](https://github.com/apache/nuttx/pull/6250) sched: Remove task_restart in case of CONFIG_BUILD_KERNEL
* [#6236](https://github.com/apache/nuttx/pull/6236) sched: Remove task_delete in case of CONFIG_BUILD_KERNEL
* [#5822](https://github.com/apache/nuttx/pull/5822) sched/dumpstack: Print "backtrace:" only in the first iteration
* [#5925](https://github.com/apache/nuttx/pull/5925) sigact: get free sigact from freelist always successful
* [#6227](https://github.com/apache/nuttx/pull/6227) Replace all sem_wait with nxsem_wait
* [#5931](https://github.com/apache/nuttx/pull/5931) fix: pthread_rwlock_timedwrlock.
* [#6348](https://github.com/apache/nuttx/pull/6348) cpuload: use correct pm cpuload tick
* [#5888](https://github.com/apache/nuttx/pull/5888) workqueue: add work_foreach support
* [#6226](https://github.com/apache/nuttx/pull/6226) Replace nxsem_timedwait_uninterruptible with nxsem_tickwait_uninterruptible
* [#6085](https://github.com/apache/nuttx/pull/6085) semaphore: fix usage of NXSEM_INITIALIZER
* [#5819](https://github.com/apache/nuttx/pull/5819) pid_t: unify usage of special task IDs
* [#6611](https://github.com/apache/nuttx/pull/6611) include: Declare nxtask_delete function
* [#5960](https://github.com/apache/nuttx/pull/5960) timerexpiration:fix DEADCODE when RR_INTERVAL or SCHED_SPORADIC not select
* [#6745](https://github.com/apache/nuttx/pull/6745) Remove the private NULL, TRUE and FALSE macros
* [#6489](https://github.com/apache/nuttx/pull/6489) syscall: Remove exit() call gate
* [#5887](https://github.com/apache/nuttx/pull/5887) signal: Don't do schedule_sigaction when there is no action
* [#6359](https://github.com/apache/nuttx/pull/6359) signal: add define of SIGHUP/SIGTTIN
* [#6283](https://github.com/apache/nuttx/pull/6283) pthread/spinlock: Call up_testsest directly in the flat build
* [#6282](https://github.com/apache/nuttx/pull/6282) timers/watchdog: Ensure it's the idle domain before keepalive
* [#6133](https://github.com/apache/nuttx/pull/6133) syscall: Fix prototype of exec() to syscall.csv
* [#6616](https://github.com/apache/nuttx/pull/6616) syscall: Add socketpair to syscall.csv
* [#6120](https://github.com/apache/nuttx/pull/6120) Implement execle, execve, execvp, execlp and execvpe
* [#5814](https://github.com/apache/nuttx/pull/5814) env_dup: Allocate memory from the correct memory pool
* [#5914](https://github.com/apache/nuttx/pull/5914) mm/mm_heap: place alloc-bit at the LSB of node->preceeding
* [#6685](https://github.com/apache/nuttx/pull/6685) mm/mm_heap: update MM_BACKTRACE and malloc failed output
* [#6658](https://github.com/apache/nuttx/pull/6658) mm: Fixed the usage of CONFIG_MM_BACKTRACE & CONFIG_DEBUG_MM
* [#5906](https://github.com/apache/nuttx/pull/5906) mm_heap: heapsize align with MM_MIN_CHUNK
* [#6409](https://github.com/apache/nuttx/pull/6409) mm: Add mm_uninitialize to release the resource
* [#6385](https://github.com/apache/nuttx/pull/6385) mm: Log name of the Heap to which the new region is being added
* [#5855](https://github.com/apache/nuttx/pull/5855) mm/memdump: dynamic turn on backtrace in heap when enable DEBUG_MM
* [#6749](https://github.com/apache/nuttx/pull/6749) mm/kasan: node header should updated from unpoisoning memory
* [#6697](https://github.com/apache/nuttx/pull/6697) mm/circbuf: support circbuf_is_init and circ_peekat
* [#6011](https://github.com/apache/nuttx/pull/6011) mm_initialize: malloc() return aligend pointer
* [#6750](https://github.com/apache/nuttx/pull/6750) mm_heap/kasan: poison free node after return back the heap list
* [#6305](https://github.com/apache/nuttx/pull/6305) Separate a few debug stuff from CONFIG_DEBUG_MM
* [#5982](https://github.com/apache/nuttx/pull/5982) openamp: Change the dependence from OPENAMP to RPTUN
* [#6762](https://github.com/apache/nuttx/pull/6762) merge openamp to newest version (2022.04.0)
* [#6067](https://github.com/apache/nuttx/pull/6067) libc/string: Use Byte-Shift algorithm for very long needles
* [#6047](https://github.com/apache/nuttx/pull/6047) libc/lib_glob:use strlcpy instead of memcpy
* [#6044](https://github.com/apache/nuttx/pull/6044) libc/net:use strlcpy instead of strncpy
* [#5995](https://github.com/apache/nuttx/pull/5995) lib_lib_vsprintf/backtrace: fix the type issue
* [#6168](https://github.com/apache/nuttx/pull/6168) Implement preadv and pwritev
* [#5737](https://github.com/apache/nuttx/pull/5737) Add dn resolution function
* [#6210](https://github.com/apache/nuttx/pull/6210) Optimize bool type handling in c
* [#6029](https://github.com/apache/nuttx/pull/6029) libc:add strptime support
* [#6445](https://github.com/apache/nuttx/pull/6445) nuttx/lib: remove dependency on BUILD_FLAT for library memory allocation interface
* [#6389](https://github.com/apache/nuttx/pull/6389) libc/ipc: add ftok(3) support
* [#6384](https://github.com/apache/nuttx/pull/6384) libc/stdio: Generate the dummy atexit and on_exit
* [#6371](https://github.com/apache/nuttx/pull/6371) libc:xtensa:arch_memmove: fix warning
* [#6370](https://github.com/apache/nuttx/pull/6370) libc:Optimize the behavior of fwrite
* [#6360](https://github.com/apache/nuttx/pull/6360) libc/time: rearrange itimerspec struct elements
* [#6357](https://github.com/apache/nuttx/pull/6357) libc/stdio: Support 'e'(O_CLOEXEC) in lib_mode2oflags
* [#6248](https://github.com/apache/nuttx/pull/6248) libc: Rename lib_Exit lib__Exit
* [#5971](https://github.com/apache/nuttx/pull/5971) libc: Avoid the compiler generate code call self(memcpy/memmove/memset/memcmp) recursively
* [#6240](https://github.com/apache/nuttx/pull/6240) libs: Move aeabi_atexit from libxx/ to libc/machine/arm/
* [#6229](https://github.com/apache/nuttx/pull/6229) libc/string: simplify strrchr
* [#6197](https://github.com/apache/nuttx/pull/6197) libc: Implement userland implementations of exit functions
* [#6196](https://github.com/apache/nuttx/pull/6196) libxx: Make HAVE_CXXINITIALIZE workable even HAVE_CXX isn't enabled
* [#6175](https://github.com/apache/nuttx/pull/6175) libc: Remove the redundant seek in writev
* [#6184](https://github.com/apache/nuttx/pull/6184) libc/assert: let CONFIG_NDEBUG default to !CONFIG_DEBUG_ASSERTIONS
* [#6169](https://github.com/apache/nuttx/pull/6169) libc/arch_atomic: add gcc legacy __sync buitins support and add FAR to pointers
* [#6140](https://github.com/apache/nuttx/pull/6140) libs/libc/string: unify implementation across the functions
* [#5948](https://github.com/apache/nuttx/pull/5948) libc/lib_localtime:fix deadcode
* [#5861](https://github.com/apache/nuttx/pull/5861) libs/libc/time: update description of strftime
* [#5837](https://github.com/apache/nuttx/pull/5837) libc: Implement getrandom on top of "/dev/[u]random"
* [#5806](https://github.com/apache/nuttx/pull/5806) libc: Change the return type of strerror from "const char *" to "char *"
* [#5798](https://github.com/apache/nuttx/pull/5798) libc/err: fix unpaired va_end()
* [#6139](https://github.com/apache/nuttx/pull/6139) libc/string: strcmp/strncmp cast unsigned char
* [#6130](https://github.com/apache/nuttx/pull/6130) libc: Fix typo error in execle
* [#6124](https://github.com/apache/nuttx/pull/6124) libc/fixedmatch: Avoid "divide by zero" error
* [#6066](https://github.com/apache/nuttx/pull/6066) libc/blockstream: add block out stream backend
* [#6087](https://github.com/apache/nuttx/pull/6087) libc: Don't duplicate string in chdir and lib_restoredir
* [#5950](https://github.com/apache/nuttx/pull/5950) libs/libc/lib_err.c:add va_end to vwarn
* [#5949](https://github.com/apache/nuttx/pull/5949) lib_chdir:change ret judgment method
* [#5976](https://github.com/apache/nuttx/pull/5976) modlib_bind.c: Restore "Relocation address out of range" checks
* [#5951](https://github.com/apache/nuttx/pull/5951) modlib/modlib_bind:fix unsigned_compare with zero
* [#5952](https://github.com/apache/nuttx/pull/5952) libc/netdb: Support the recursive lock
* [#6027](https://github.com/apache/nuttx/pull/6027) netdb/lib_dnsaddserver.c: Do not insert the duplicate DNS address
* [#6714](https://github.com/apache/nuttx/pull/6714) libc: Remove the unnecessary include from wchar and wctype
* [#6613](https://github.com/apache/nuttx/pull/6613) libc/stdio: Support "long long" type if CONFIG_HAVE_LONG_LONG is enabled
* [#6607](https://github.com/apache/nuttx/pull/6607) libc/stdio: Enable LIBC_FLOATINGPOINT by default if ARCH_FPU is enabled
* [#6606](https://github.com/apache/nuttx/pull/6606) libc/stdio: enable long long formating by CONFIG_HAVE_LONG_LONG
* [#6547](https://github.com/apache/nuttx/pull/6547) libc: Fix getrandom() bug: Didn't propagate read error
* [#6241](https://github.com/apache/nuttx/pull/6241) libs: risc-v: Add R_RISCV_JAL support to arch_elf.c
* [#6667](https://github.com/apache/nuttx/pull/6667) libs/libc/string: add memmem
* [#6666](https://github.com/apache/nuttx/pull/6666) libc/wchar: support wchar
* [#6652](https://github.com/apache/nuttx/pull/6652) libc/impure: Fix the inconsistence from the different toolchain
* [#6337](https://github.com/apache/nuttx/pull/6337) Refine the implementation of TLS
* [#6434](https://github.com/apache/nuttx/pull/6434) include/cxx: Remove all non standard c++ header files
* [#6108](https://github.com/apache/nuttx/pull/6108) assert: static_assert is not support in c standard C89,C99
* [#5851](https://github.com/apache/nuttx/pull/5851) libxx: Add CXX_RTTI for enabling RTTI support for C++ applications
* [#6791](https://github.com/apache/nuttx/pull/6791) Add Embedded Template Library (ETL) support
* [#6720](https://github.com/apache/nuttx/pull/6720) libs/libc: correct config name
* [#5890](https://github.com/apache/nuttx/pull/5890) rexec: fix free error in error handing
* [#6709](https://github.com/apache/nuttx/pull/6709) Imx6 adb
* [#6586](https://github.com/apache/nuttx/pull/6586) Sabre6quad netknsh
* [#6482](https://github.com/apache/nuttx/pull/6482) Use builtins for byteswapping
* [#6421](https://github.com/apache/nuttx/pull/6421) getrandom: use _NX_XXXX interface to remove cancelation point for kernel
* [#6205](https://github.com/apache/nuttx/pull/6205) binfmt/libelf: Fix function description field
* [#6190](https://github.com/apache/nuttx/pull/6190) binfmt_execmodule: Use heap size getter for print
# Major Changes to the Build System
## Bug Fixes and Improvements
* [#6015](https://github.com/apache/nuttx/pull/6015) configure.sh: Make top Make.defs symlink to board Make.defs instead
* [#6014](https://github.com/apache/nuttx/pull/6014) checkpatch.sh: add -m option to enable/disable Change-Id check
* [#6013](https://github.com/apache/nuttx/pull/6013) tools/mkdeps: Extend MAX_SHQUOTE to 3072
* [#6094](https://github.com/apache/nuttx/pull/6094) tools/cibuild.sh: Migrate risc-v toolchian from 8.3.0 to 10.2.0
* [#5836](https://github.com/apache/nuttx/pull/5836) tools:use dump log creat a gdbsever to debug
* [#6350](https://github.com/apache/nuttx/pull/6350) tools/gencromfs: add attribute to set minimum 4 bytes aignment for cromfs image data
* [#6520](https://github.com/apache/nuttx/pull/6520) tools/jlink-nuttx: Move the register index check to setget_reg
* [#5826](https://github.com/apache/nuttx/pull/5826) tools/jlink: Change the type of pid from uint16_t to uint32_t
* [#5808](https://github.com/apache/nuttx/pull/5808) tools/nxstyle: Order g_white_prefix by alphanum
* [#6128](https://github.com/apache/nuttx/pull/6128) tools:fix parsememdump.py match error
* [#6245](https://github.com/apache/nuttx/pull/6245) tools/mkallsyms.sh: Make it work with llvm
* [#6129](https://github.com/apache/nuttx/pull/6129) tools:minidumpserver.py support xtensa
* [#6132](https://github.com/apache/nuttx/pull/6132) compiler.h: optimization option is not supported before GCC 4.6
* [#6232](https://github.com/apache/nuttx/pull/6232) tools/nxstyle: Add the suffix white list
* [#6180](https://github.com/apache/nuttx/pull/6180) tools/testbuild.sh: Don't skip configure and distclean
# Architectural Support
## New Architecture Support
* [#6179](https://github.com/apache/nuttx/pull/6179) tlsr82: first commit of telink tlsr82xx chip port
* [#6687](https://github.com/apache/nuttx/pull/6687) Add support for NXP S32K3XX MCU family and boards
* [#6375](https://github.com/apache/nuttx/pull/6375) stm32wl5: add new chip family
* [#6422](https://github.com/apache/nuttx/pull/6422) New stm32wb chip family
* [#6418](https://github.com/apache/nuttx/pull/6418) Eps32 Lilygo t5v2 BSP
* [#6478](https://github.com/apache/nuttx/pull/6478) arch: arm64: ARMv8-A support for NuttX
## Bug Fixes and Improvements
* [#6188](https://github.com/apache/nuttx/pull/6188) arch: Move -fstack-protector-all and -finstrument-functions from Make.defs to Toolchain.defs
* [#6200](https://github.com/apache/nuttx/pull/6200) arch: Add gcov related config for arm/risc-v/xtensa
* [#6063](https://github.com/apache/nuttx/pull/6063) arch/stack_color: correct the stack top of running task
* [#6056](https://github.com/apache/nuttx/pull/6056) arch/stack_color: correct the end address of stack color
* [#5966](https://github.com/apache/nuttx/pull/5966) arch:tcbinfo: update tcbinfo as xcpcontext update
* [#5865](https://github.com/apache/nuttx/pull/5865) arch: Add -fsanitize=kernel-address to ARCHCPUFLAGS if CONFIG_MM_KASAN=y
* [#5864](https://github.com/apache/nuttx/pull/5864) arch/Toolchain.defs: add wildcard for EXTRA_LIBS
* [#5920](https://github.com/apache/nuttx/pull/5920) ARCH_ADDRENV: Add guard against mis-configuration
* [#6105](https://github.com/apache/nuttx/pull/6105) arch/clang: add support for Clang LTO
* [#6089](https://github.com/apache/nuttx/pull/6089) arch: Move group_addrenv to common place
* [#6183](https://github.com/apache/nuttx/pull/6183) arch: Remvoe the error message when toolchain can't find
* [#6080](https://github.com/apache/nuttx/pull/6080) arch/ostest: remove CONFIG_TESTING_OSTEST_FPUSIZE & board level implement
* [#6086](https://github.com/apache/nuttx/pull/6086) Remove FAR from the arch and board files of ceva/mips/misoc/or1k/sim/sparc/x86_64/xtensa
* [#6778](https://github.com/apache/nuttx/pull/6778) arch: common: Fix up_check_tcbstack() for CONFIG_ARCH_ADDRENV=y
* [#6665](https://github.com/apache/nuttx/pull/6665) arch/stack: get correct stack remain and limit dump size when sp is not within stack
* [#6717](https://github.com/apache/nuttx/pull/6717) arch: Call board_reset before up_irq_save and spin_trylock
* [#6252](https://github.com/apache/nuttx/pull/6252) arch/addrenv: Change text write enable/disable to generic mprot
* [#6254](https://github.com/apache/nuttx/pull/6254) arch: Remove board/libboard$(LIBEXT) from the rerequest of export_startup
* [#6276](https://github.com/apache/nuttx/pull/6276) arch: Move "-nostartfiles -nodefaultlibs" from Make.defs to Toolchian.defs
* [#6351](https://github.com/apache/nuttx/pull/6351) arch: Define WCHAR_[MIN|MAX] in arch/include/limits.h
* [#6286](https://github.com/apache/nuttx/pull/6286) arch: inline up_interrupt_context()
* [#6284](https://github.com/apache/nuttx/pull/6284) arch/addrenv: Add missing FAR qualifier to addrenv_mprot
* [#6277](https://github.com/apache/nuttx/pull/6277) arch/i2c: Change xxx_i2c_tousecs to xxx_i2c_toticks
* [#6416](https://github.com/apache/nuttx/pull/6416) Fix CONFIG_ALLSYMS for arm, risc-v and xtensa after #5496
* [#6567](https://github.com/apache/nuttx/pull/6567) arch: Remove the inclusion of arch/irq.h from chip/irq.h
* [#6550](https://github.com/apache/nuttx/pull/6550) arch: Move up_getsp from arch.h to irq.h
* [#6452](https://github.com/apache/nuttx/pull/6452) arch/backtrace: correct the skip counter
* [#6581](https://github.com/apache/nuttx/pull/6581) arch: Correct the order of stack related information in assert
* [#5818](https://github.com/apache/nuttx/pull/5818) progmem: eliminate PROGMEM_ERASESTATE configuration option
* [#5828](https://github.com/apache/nuttx/pull/5828) Show assigned cpu in dump task
* [#6193](https://github.com/apache/nuttx/pull/6193) Elf loader: give temporary write access to user .text memory
* [#6176](https://github.com/apache/nuttx/pull/6176) UMM: Implement getter for address environment heap start vaddr
* [#6367](https://github.com/apache/nuttx/pull/6367) dump_task: also dump thread param when dump thread name
* [#6062](https://github.com/apache/nuttx/pull/6062) SAM3X HSMCI DMA Fixes
* [#6059](https://github.com/apache/nuttx/pull/6059) arch/risc-v/riscv_misaligned: Correct sw source register
* [#6065](https://github.com/apache/nuttx/pull/6065) RISC-V: Support for mtimer in S-mode
* [#6054](https://github.com/apache/nuttx/pull/6054) riscv/riscv_schedulesigaction.c: Remove the duplicate state saving
* [#6051](https://github.com/apache/nuttx/pull/6051) arch/risc-v: Add missing DMB to mtimer / setmtimecmp
* [#6050](https://github.com/apache/nuttx/pull/6050) RISC-V: Move mhartid to own assembly macro+function
* [#6039](https://github.com/apache/nuttx/pull/6039) arch/riscv: Move toolchain config to arch/risc-v/Kconfig like xtensa
* [#6034](https://github.com/apache/nuttx/pull/6034) arch/risc-v: Apply common mtime driver to mtime based chps
* [#6022](https://github.com/apache/nuttx/pull/6022) arch/risc-v: Apply misaligned access handler for k210/bl602
* [#6006](https://github.com/apache/nuttx/pull/6006) riscv/ESP32C3: Use the common exception handler
* [#6468](https://github.com/apache/nuttx/pull/6468) Add I2C_M_NOSTART and I2C_M_NOSTOP support in esp32c3_i2c
* [#6583](https://github.com/apache/nuttx/pull/6583) risc-v/esp32c3: Add the rest of the reset causes
* [#6600](https://github.com/apache/nuttx/pull/6600) ESP32-C3: General improvements to Protected Mode infra
* [#6487](https://github.com/apache/nuttx/pull/6487) risc-v/esp32c3: Implement up_perf_xxx API
* [#6538](https://github.com/apache/nuttx/pull/6538) ESP32-S3: Add driver for I2C peripheral in Master mode
* [#6552](https://github.com/apache/nuttx/pull/6552) esp32s3: Fix IOMUX function number for SPI
* [#6522](https://github.com/apache/nuttx/pull/6522) Added configuration files for using BMP280 with ESP32-DevkitC
* [#6549](https://github.com/apache/nuttx/pull/6549) Esp32 lilygo tty t5v2 bugfix
* [#6540](https://github.com/apache/nuttx/pull/6540) ESP32-S2: Improvements to the GPIO driver
* [#6539](https://github.com/apache/nuttx/pull/6539) ESP32-S2: Add driver for I2C peripheral in Master mode
* [#6493](https://github.com/apache/nuttx/pull/6493) stm32xx: Fix RTC drift when using HSE
* [#6492](https://github.com/apache/nuttx/pull/6492) Stm32wl55JC SPI driver
* [#6579](https://github.com/apache/nuttx/pull/6579) Added ADC support to RP2040
* [#6499](https://github.com/apache/nuttx/pull/6499) Added PWM for rp2040
* [#6502](https://github.com/apache/nuttx/pull/6502) risc-v: Move common memory map to its own file from riscv_internal
* [#6603](https://github.com/apache/nuttx/pull/6603) ESP32: Add support for Protected Mode
* [#6516](https://github.com/apache/nuttx/pull/6516) arch/stm32_capture fix SMC register offset address and completion slave mode selection
* [#6565](https://github.com/apache/nuttx/pull/6565) arch/risc-v: Move __XSTR, FLOAD/FSTORE and REGLOAD/REGSTORE to the right place
* [#6020](https://github.com/apache/nuttx/pull/6020) arch/riscv: Add mtimer driver
* [#6008](https://github.com/apache/nuttx/pull/6008) arch/risc-v: Attach exception handler in common place
* [#5998](https://github.com/apache/nuttx/pull/5998) arch/riscv: Minor style change and text correction
* [#6003](https://github.com/apache/nuttx/pull/6003) esp32c3: Simplify irq dispatch logic
* [#5989](https://github.com/apache/nuttx/pull/5989) arch/risc-v: Replace riscv_fault with riscv_exception
* [#5970](https://github.com/apache/nuttx/pull/5970) b-u585i-iot02a:nsh: Drop TrustedFirmware-M dependency
* [#5974](https://github.com/apache/nuttx/pull/5974) arch/risc-v: use STACK_FRAME_SIZE for in S-mode syscall asm
* [#5980](https://github.com/apache/nuttx/pull/5980) RISC-V: Fix file name of riscv_dispatch_syscall
* [#5985](https://github.com/apache/nuttx/pull/5985) RISC-V: Combine 3 variables that depend on CPU amount into one
* [#5981](https://github.com/apache/nuttx/pull/5981) RISC-V: Fix usage of static_assert in riscv_percpu.c
* [#5983](https://github.com/apache/nuttx/pull/5983) arch/risc-v: Remove the unnecessary inclusion of board header files
* [#5754](https://github.com/apache/nuttx/pull/5754) arch/risc-v: Correct stack coloration in riscv_cpu_boot
* [#5758](https://github.com/apache/nuttx/pull/5758) RISC-V: Prepare CONFIG_BUILD_KERNEL part 1
* [#5760](https://github.com/apache/nuttx/pull/5760) ESP32-S3: Fix UART IRQ setup hardcoded to CPU 0
* [#5766](https://github.com/apache/nuttx/pull/5766) arch/risc-v: Rework riscv_get_newintctx
* [#5773](https://github.com/apache/nuttx/pull/5773) risc-v/esp32c3: Remove deprecated option for disabling atomics support
* [#5775](https://github.com/apache/nuttx/pull/5775) arch/risc-v: Merge riscv_getnewintctx into common
* [#5781](https://github.com/apache/nuttx/pull/5781) phy62xx_exception: using armv6-m exception_common code
* [#5782](https://github.com/apache/nuttx/pull/5782) RISC-V: Implement option to run NuttX in supervisor mode (S-mode)
* [#5809](https://github.com/apache/nuttx/pull/5809) fixed mpu9250 not work on i2c bus issue.
* [#5765](https://github.com/apache/nuttx/pull/5765) esp32 efuse build fix
* [#5772](https://github.com/apache/nuttx/pull/5772) arch/Kconfig: Don't depend on Xtensa for the SUPPRESS_CLOCK_CONFIG option
* [#5825](https://github.com/apache/nuttx/pull/5825) ESP32-S3: Enable GPIO read/write operations and interrupts support
* [#5827](https://github.com/apache/nuttx/pull/5827) Add SPIRAM to ESP32-S2
* [#5829](https://github.com/apache/nuttx/pull/5829) RISC-V: Add/fix implementation for arch_elf.c
* [#5830](https://github.com/apache/nuttx/pull/5830) risc-v/qemu-rv: Restore FPU context after context switch
* [#5831](https://github.com/apache/nuttx/pull/5831) RISC-V: Add kernel stack
* [#5833](https://github.com/apache/nuttx/pull/5833) ESP32-S2: Remove unused and unsupported configs from Kconfig
* [#5834](https://github.com/apache/nuttx/pull/5834) ESP32-S2: Initialize instruction cache on startup
* [#5878](https://github.com/apache/nuttx/pull/5878) arch/risc-v: Use riscv_fpuconfig to enable FPU
* [#5898](https://github.com/apache/nuttx/pull/5898) riscv/bl602: Implement SPI Cmd/Data
* [#5957](https://github.com/apache/nuttx/pull/5957) risc-v/esp32c3: Fix regression on IRQ handling for ECALL instruction
* [#5905](https://github.com/apache/nuttx/pull/5905) arch/risc-v: Store/Restore FPU register in exception_common
* [#5795](https://github.com/apache/nuttx/pull/5795) ESP32-S3: Clean up and improve GPIO driver interface
* [#6604](https://github.com/apache/nuttx/pull/6604) esp32s3: Add DMA support
* [#5838](https://github.com/apache/nuttx/pull/5838) esp32/Make.defs: Organise common arch files and chip files appropriately
* [#5868](https://github.com/apache/nuttx/pull/5868) arch/risc-v: Move fpu [re]store to common place
* [#5869](https://github.com/apache/nuttx/pull/5869) riscv/bl602: Enable SPI Master in SPI Poll Send
* [#5907](https://github.com/apache/nuttx/pull/5907) riscv/bl602: Remove check for LCD driver
* [#5908](https://github.com/apache/nuttx/pull/5908) riscv/esp32c3: Remove check for LCD driver
* [#5746](https://github.com/apache/nuttx/pull/5746) RISCV: Fix nasty bug in PMP region test
* [#5842](https://github.com/apache/nuttx/pull/5842) arch/risc-v: improve style consistency accross chip variants
* [#5913](https://github.com/apache/nuttx/pull/5913) arch/risc-v: Move group_addrenv to correct place
* [#5922](https://github.com/apache/nuttx/pull/5922) arch/risc-v: get wider visibility for arch instruction macros
* [#5940](https://github.com/apache/nuttx/pull/5940) arch/risc-v: Add handler for misaligned load/store
* [#5917](https://github.com/apache/nuttx/pull/5917) arch/risc-v: move REGLOAD/REGSTORE macro to riscv_internal.h
* [#6217](https://github.com/apache/nuttx/pull/6217) riscv/pmp: fix bug: PMP_CFG_FLAG_MASK makes pmp cfg fail
* [#6192](https://github.com/apache/nuttx/pull/6192) Riscv hostfs
* [#6235](https://github.com/apache/nuttx/pull/6235) RISC-V: add C++ support to crt0
* [#5731](https://github.com/apache/nuttx/pull/5731) arch/risc-v: Improve speed of context switch
* [#6255](https://github.com/apache/nuttx/pull/6255) arch/riscv: Remove & ~1 before assign signal_handler to REG_EPC
* [#6237](https://github.com/apache/nuttx/pull/6237) arch: risc-v: Enable FPU for qemu-rv only if EXPERIMENTAL=y
* [#6242](https://github.com/apache/nuttx/pull/6242) rv-virt:knsh64
* [#6690](https://github.com/apache/nuttx/pull/6690) Ability to use newer pico-sdk with RP2040 builds (Issue #4919)
* [#6249](https://github.com/apache/nuttx/pull/6249) risc-v/mpfs: introduce IHC driver
* [#6776](https://github.com/apache/nuttx/pull/6776) risc-v/mpfs: usb: configure fifos properly
* [#6077](https://github.com/apache/nuttx/pull/6077) arch/risc-v: Use fs status definition from csr.h
* [#6095](https://github.com/apache/nuttx/pull/6095) arch/risc-v: Remove FAR from chip and board folder
* [#6101](https://github.com/apache/nuttx/pull/6101) arch/risc-v: Change riscv_savefpu/riscv_loadfpu to macro
* [#6102](https://github.com/apache/nuttx/pull/6102) ARM/RISC-V: Fix xxx_assert from IRQ context
* [#6115](https://github.com/apache/nuttx/pull/6115) arch/risc-v: Don't clear reserved bits in fcsr in riscv_fpuconfig
* [#6116](https://github.com/apache/nuttx/pull/6116) arch/risc-v: Enable FPU for K210
* [#6117](https://github.com/apache/nuttx/pull/6117) arch/risc-v/riscv_misaligned: Implement float load/store support
* [#6125](https://github.com/apache/nuttx/pull/6125) arch: risc-v: Do not enable FPU for K210 with QEMU
* [#6126](https://github.com/apache/nuttx/pull/6126) arch/risc-v: add support for GCC LTO
* [#6156](https://github.com/apache/nuttx/pull/6156) riscv/Makefile: Delete old target used for debugging
* [#6162](https://github.com/apache/nuttx/pull/6162) RISC-V PMP: Restrict Fence instruction for chips that support S-mode
* [#6191](https://github.com/apache/nuttx/pull/6191) RISC-V: Fix crt0 file compilation
* [#6194](https://github.com/apache/nuttx/pull/6194) RISC-V: Fix bug in riscv_addrenv.c
* [#6052](https://github.com/apache/nuttx/pull/6052) arch/riscv: Jump instead call riscv_dispatch_syscall
* [#6131](https://github.com/apache/nuttx/pull/6131) RISC-V: Add implementation for vfork
* [#6134](https://github.com/apache/nuttx/pull/6134) RISC-V: Fix system crash when FPU is in use
* [#6145](https://github.com/apache/nuttx/pull/6145) RISC-V: Add syscall support for vfork
* [#6151](https://github.com/apache/nuttx/pull/6151) RISC-V: workaround for the RV64 SoC which does not has mem mapped MTI...
* [#6069](https://github.com/apache/nuttx/pull/6069) RISC-V: Add support for CONFIG_BUILD_KERNEL
* [#6005](https://github.com/apache/nuttx/pull/6005) ESP32C3 TWAI (CAN) controller support.
* [#5740](https://github.com/apache/nuttx/pull/5740) Add ethernet support for risc-v/MPFS
* [#5749](https://github.com/apache/nuttx/pull/5749) risc-v/mpfs: usb: fix ep0 stall/resume and rx reads
* [#5783](https://github.com/apache/nuttx/pull/5783) risc-v/mpfs: usb: fix ep0 read done
* [#5881](https://github.com/apache/nuttx/pull/5881) MPFS: Fix issue with external interrupt detection
* [#5875](https://github.com/apache/nuttx/pull/5875) MPFS: Fix error in flat build linker script
* [#5912](https://github.com/apache/nuttx/pull/5912) arch/risc-v/mpfs: Remove duplicated riscv_restorefpu
* [#6060](https://github.com/apache/nuttx/pull/6060) MPFS: Fix timer and exception/fault handling
* [#6070](https://github.com/apache/nuttx/pull/6070) MPFS: Set correct interrupt per mode (M-/S-mode) for mtimer
* [#5993](https://github.com/apache/nuttx/pull/5993) MPFS: Prepare support for S-mode
* [#5780](https://github.com/apache/nuttx/pull/5780) MPFS: Add board_memorymap.h
* [#6160](https://github.com/apache/nuttx/pull/6160) MPFS: Remove # CONFIG_ARCH_FPU is not set from defconfigs
* [#6177](https://github.com/apache/nuttx/pull/6177) MPFS: Add support for CONFIG_BUILD_KERNEL, adds icicle:knsh
* [#6303](https://github.com/apache/nuttx/pull/6303) MPFS: Implement S-mode head and start function
* [#6304](https://github.com/apache/nuttx/pull/6304) risc-v/mpfs: amend OpenSBI to utilize IHC
* [#6260](https://github.com/apache/nuttx/pull/6260) risc-v/mpfs: apply IHC review fixes
* [#6396](https://github.com/apache/nuttx/pull/6396) Mpfs fix ddr training failures
* [#6395](https://github.com/apache/nuttx/pull/6395) risc-v/mpfs: composite usb driver
* [#6261](https://github.com/apache/nuttx/pull/6261) risc-v/mpfs: IHC: clarify semaphore usage
* [#6285](https://github.com/apache/nuttx/pull/6285) risc-v/mpfs: IHC: allow hart configuration
* [#6437](https://github.com/apache/nuttx/pull/6437) risc-v/mpfs: update clock configuration parameters
* [#6405](https://github.com/apache/nuttx/pull/6405) risc-v/mpfs: Move the entry point to .start section
* [#6496](https://github.com/apache/nuttx/pull/6496) risc-v/mpfs: emmcsd: fix two issues
* [#6326](https://github.com/apache/nuttx/pull/6326) mpfs/knsh: Add C++ support
* [#6450](https://github.com/apache/nuttx/pull/6450) arch/riscv/mpfs: Add a config flag to select SD mux state
* [#6503](https://github.com/apache/nuttx/pull/6503) arch/risc-v/src/mpfs: Add mpfs_gpiosetevent and gpio irq handling fun…
* [#6530](https://github.com/apache/nuttx/pull/6530) mpfs: Fix IHC memory locations to native width type
* [#6490](https://github.com/apache/nuttx/pull/6490) mpfs: Allow mapping of RAM/ROM regions from different memory areas
* [#6602](https://github.com/apache/nuttx/pull/6602) risc-v/mpfs: usb: fix illegal reads
* [#6535](https://github.com/apache/nuttx/pull/6535) risc-v/mpfs: ihc: don't start rptun automatically
* [#6361](https://github.com/apache/nuttx/pull/6361) arch/risc-v: re-add missing riscv_udelay source
* [#6343](https://github.com/apache/nuttx/pull/6343) Some cleanup for risc-v
* [#6342](https://github.com/apache/nuttx/pull/6342) arch/risc-v: Unify common source include
* [#6292](https://github.com/apache/nuttx/pull/6292) risc-v/opensbi: Generalize the SBI variable handling in makefile
* [#6291](https://github.com/apache/nuttx/pull/6291) ESP32-C3: Add support for Protected Mode
* [#6400](https://github.com/apache/nuttx/pull/6400) ESP32-C3: Disable access to invalid memory regions using MPU
* [#6336](https://github.com/apache/nuttx/pull/6336) esp32*: Disable CONFIG_RAW_BINARY and make Config.mk update nuttx.manifest for nuttx.bin
* [#6325](https://github.com/apache/nuttx/pull/6325) esp32:wamr_wasi_debug: Remove CONFIG_SCHED_ONEXIT
* [#6324](https://github.com/apache/nuttx/pull/6324) Fix stm32 pwm HAVE_ADVTIM
* [#6323](https://github.com/apache/nuttx/pull/6323) esp32: Add an example config for wamr and littlefs
* [#6322](https://github.com/apache/nuttx/pull/6322) ESP32/ESP32-C3: Fix leak of semaphores created by Wi-Fi kernel thread
* [#6317](https://github.com/apache/nuttx/pull/6317) esp32_cpuidlestack.c: Remove unnecessary code.
* [#6313](https://github.com/apache/nuttx/pull/6313) arch: risc-v: Fix crt0.c if CONFIG_HAVE_CXX is not set
* [#6300](https://github.com/apache/nuttx/pull/6300) risc-v/vfork: FPU was not saved correctly
* [#6299](https://github.com/apache/nuttx/pull/6299) risc-v/vfork: Fix saved register set and add FPU registers
* [#6415](https://github.com/apache/nuttx/pull/6415) arch: k210: Add a workaround for clock stabilization
* [#6688](https://github.com/apache/nuttx/pull/6688) OpenSBI: Add configurable support for domain init
* [#6285](https://github.com/apache/nuttx/pull/6285) risc-v/mpfs: IHC: allow hart configuration
* [#6645](https://github.com/apache/nuttx/pull/6645) arch/esp32: Introduce the ESP32_RTC option
* [#5946](https://github.com/apache/nuttx/pull/5946) arch/xtensa: Add xtensa_tcbinfo struct that contains helpful offsets
* [#5877](https://github.com/apache/nuttx/pull/5877) xtensa: add xtensa arch oneshot ops
* [#5876](https://github.com/apache/nuttx/pull/5876) xtensa: add xtensa_spill_window declaration
* [#5820](https://github.com/apache/nuttx/pull/5820) xtensa/esp32(s2)_user.c: Use macros defined in xtens_corebits.h
* [#5771](https://github.com/apache/nuttx/pull/5771) arch/xtensa: Don't always reset the APP CPU on startup
* [#5979](https://github.com/apache/nuttx/pull/5979) arch/xtensa: Build the xtensa_tcbinfo.c file for S2 and S3
* [#5987](https://github.com/apache/nuttx/pull/5987) xtensa/esp32: Add support to TWAI/CANBus
* [#5941](https://github.com/apache/nuttx/pull/5941) arch/xtensa: add syscall note support in the flat build
* [#6167](https://github.com/apache/nuttx/pull/6167) arch/xtensa: Replace the xcp context with stack context to improve context switching
* [#6148](https://github.com/apache/nuttx/pull/6148) arch/xtensa: Refactor assembly macros
* [#6147](https://github.com/apache/nuttx/pull/6147) arch/xtensa: Simply use xtensa_createstack for CPU1 idle task.
* [#6136](https://github.com/apache/nuttx/pull/6136) xtensa: Fix backtrace on exceptions
* [#6122](https://github.com/apache/nuttx/pull/6122) arch/xtensa: Color the other CPUs task when they are created
* [#6111](https://github.com/apache/nuttx/pull/6111) arch/xtensa: Use syscall interface for xtensa_save/restore_context
* [#6109](https://github.com/apache/nuttx/pull/6109) arch/sparc,xtensa: Control output by $(Q) as other arch
* [#6222](https://github.com/apache/nuttx/pull/6222) xtensa: move fpu register to XCPTCONTEXT_REGS
* [#6231](https://github.com/apache/nuttx/pull/6231) xtensa_sigtramp.S: Remove unnecessary entry instruction
* [#6203](https://github.com/apache/nuttx/pull/6203) xtensa/xtensa_coproc.S: Use the first allocated memory to save A0
* [#5790](https://github.com/apache/nuttx/pull/5790) xtensa_coporc: Adjust stack frame for C callable coprocessor functions
* [#6258](https://github.com/apache/nuttx/pull/6258) xtensa: Fix argument passing for sys_call5 and sys_call6 functions
* [#6269](https://github.com/apache/nuttx/pull/6269) xtensa: use CONFIG_ARCH_FPU macro for coprocossor and add up_fpucmp
* [#6270](https://github.com/apache/nuttx/pull/6270) xtensa: Implement syscalls required for Protected Mode
* [#6278](https://github.com/apache/nuttx/pull/6278) xtensa.h: Remove old prototype
* [#6293](https://github.com/apache/nuttx/pull/6293) Xtensa: Add missing input operand on sys_call6 inline ASM
* [#6349](https://github.com/apache/nuttx/pull/6349) arch/xtensa: Remove the assembly signal trampoline
* [#6312](https://github.com/apache/nuttx/pull/6312) xtensa/esp32s3: Add basic support to SPI
* [#6372](https://github.com/apache/nuttx/pull/6372) arch/xtensa: Initialize the internal heap early with the rest of custom heaps
* [#6352](https://github.com/apache/nuttx/pull/6352) esp32-devkitc:wamr_wasi_debug: pin WAMR version
* [#6314](https://github.com/apache/nuttx/pull/6314) xtensa: esp32: enable cp processor of app core
* [#6302](https://github.com/apache/nuttx/pull/6302) xtensa: coproc: modify coproc_save/restore to macro
* [#6294](https://github.com/apache/nuttx/pull/6294) xtensa: add perf counter
* [#6380](https://github.com/apache/nuttx/pull/6380) arch/xtensa/xtensa_coproc.S: Fix the condition to save the coprocessors state
* [#6425](https://github.com/apache/nuttx/pull/6425) arch/xtensa: Don't build xtensa_coproc.S
* [#6443](https://github.com/apache/nuttx/pull/6443) xtensa: Remove old references to co-processors
* [#6440](https://github.com/apache/nuttx/pull/6440) arch/xtensa: Refactor assembly code
* [#6436](https://github.com/apache/nuttx/pull/6436) xtensa/esp32_rtc_lowerhalf.c: Initialize ret variable
* [#6532](https://github.com/apache/nuttx/pull/6532) Remove '-g' LDFLAG
* [#6573](https://github.com/apache/nuttx/pull/6573) xtensa: Unify common options within a single Make.defs
* [#6390](https://github.com/apache/nuttx/pull/6390) arch/sparc/bm3803: fix the using of uart1 and uart2
* [#6327](https://github.com/apache/nuttx/pull/6327) arch/sparc: Remove FILE dump code from _up_dumponexit
* [#6233](https://github.com/apache/nuttx/pull/6233) Tiva qemu
* [#5151](https://github.com/apache/nuttx/pull/5151) Tiva CAN driver
* [#6244](https://github.com/apache/nuttx/pull/6244) Fix broken tiva_gpioirqclear
* [#6548](https://github.com/apache/nuttx/pull/6548) tiva: Add UART CTS/RTS support
* [#5815](https://github.com/apache/nuttx/pull/5815) defconfig: add Lua configs for sim and teensy-4.x
* [#6765](https://github.com/apache/nuttx/pull/6765) arm/backtrace: use sp unwind if FRAME_POINTER is enabled on thumb mode
* [#6208](https://github.com/apache/nuttx/pull/6208) arm: Refine the common Make.defs
* [#6309](https://github.com/apache/nuttx/pull/6309) Armv6-m LTO fix
* [#6071](https://github.com/apache/nuttx/pull/6071) arm/rtl8720c: Remove up_getsp which is already implemented in arch/arm/arch.h
* [#6072](https://github.com/apache/nuttx/pull/6072) arm/armv7-[a|r]: move fpu save/restore to assembly handler
* [#6048](https://github.com/apache/nuttx/pull/6048) arm/armv8-m: indicating no low-overhead-loop predication by default
* [#6042](https://github.com/apache/nuttx/pull/6042) arch/arm: Move FPU initialization to common place
* [#6001](https://github.com/apache/nuttx/pull/6001) arm/armv[7|8]-m: skip the fpu save/restore if stack frame is integer-only
* [#5752](https://github.com/apache/nuttx/pull/5752) arch: cxd56xx: Fix critical section in serial transmission
* [#5761](https://github.com/apache/nuttx/pull/5761) arch/arm: Remove the code copy register from xcpt to stack
* [#5774](https://github.com/apache/nuttx/pull/5774) arch/arm: set the SP to stack top
* [#5824](https://github.com/apache/nuttx/pull/5824) arch/arm/src/stm32l4: peripheral voltage monitor support for vddio2
* [#5863](https://github.com/apache/nuttx/pull/5863) arch/arm: Change arm_arch.h to arm_internal.h in arm_perf.c
* [#5870](https://github.com/apache/nuttx/pull/5870) arch/armv7-a: Fix a typo in Toolchain.defs
* [#5845](https://github.com/apache/nuttx/pull/5845) armv8-m: make the securefault handled by non-securefult
* [#5850](https://github.com/apache/nuttx/pull/5850) armv7-m/armv8-m: move up_pref* api to common place
* [#5745](https://github.com/apache/nuttx/pull/5745) arch/arm/samv7/sam_tc: implement timer driver support
* [#5896](https://github.com/apache/nuttx/pull/5896) arm/cortex-[a|r]: IRQ Switch return should with shadow SPSR
* [#5897](https://github.com/apache/nuttx/pull/5897) ESP32{S2/S3/C3}: Enable support for C++ applications
* [#5918](https://github.com/apache/nuttx/pull/5918) arm/chip: add backtrace support for all chips that support thumb instruction set
* [#6079](https://github.com/apache/nuttx/pull/6079) arm/arch: using __builtin_frame_address(0) implement up_getsp()
* [#6076](https://github.com/apache/nuttx/pull/6076) arch/armv[7|8]m: enhance the clang support
* [#6073](https://github.com/apache/nuttx/pull/6073) arch/arm: Remove all lazy fpu related code
* [#6057](https://github.com/apache/nuttx/pull/6057) arch/stm32h7: Add SocketCAN FDCAN driver
* [#6091](https://github.com/apache/nuttx/pull/6091) arch/arm: Move arm_signal_dispatch.c to common folder
* [#6165](https://github.com/apache/nuttx/pull/6165) arch/arm/Make.defs: unify common source include
* [#6123](https://github.com/apache/nuttx/pull/6123) arch/arm: add support for GCC LTO
* [#6114](https://github.com/apache/nuttx/pull/6114) arm/armv[7|8]m: compare of hardware fp registers should skip REG_FP_RESERVED
* [#6107](https://github.com/apache/nuttx/pull/6107) armv7/r:cp15_cache_all: fix error in LineSize 'r5' mask
* [#6099](https://github.com/apache/nuttx/pull/6099) arch/armv7-[a|r]: correct the handing of group env switch
* [#6097](https://github.com/apache/nuttx/pull/6097) arch/armv[7|8]-m: Unify the toolchain definition of eabi/clang/iar for linux and windows
* [#6096](https://github.com/apache/nuttx/pull/6096) arch/arm: Remove unneeded group_addrenv call which handled by arm_doirq
* [#6093](https://github.com/apache/nuttx/pull/6093) arch/arm: Remove FAR and CODE from common/ and arm*/ folder
* [#6092](https://github.com/apache/nuttx/pull/6092) arch/arm: Remove FAR and CODE from chip and board folder
* [#6198](https://github.com/apache/nuttx/pull/6198) armv7-a: smp: fix stack coloration
* [#6185](https://github.com/apache/nuttx/pull/6185) arm/cxd56xx/lc823450: replace arch testset to board implement
* [#6178](https://github.com/apache/nuttx/pull/6178) armv7-a/r: use cps instruction to change cpu mode
* [#6163](https://github.com/apache/nuttx/pull/6163) arm/arch_setjmp.S: armv6m support setjmp, longjmp
* [#6103](https://github.com/apache/nuttx/pull/6103) arm: Remove or merge assembly code as much as possible
* [#6214](https://github.com/apache/nuttx/pull/6214) armv7-a: smp: allocate page table for each cpu
* [#6213](https://github.com/apache/nuttx/pull/6213) arm/cortex-m/toolchain: try print runtime library only in clang
* [#6211](https://github.com/apache/nuttx/pull/6211) armv7-a: Inner Shareable TLB maintenance operations
* [#6225](https://github.com/apache/nuttx/pull/6225) arm/tlsr82: pwm driver optimize and add pulse count support
* [#6259](https://github.com/apache/nuttx/pull/6259) arm/tlsr82: add hardware aes encrypt and decrypt support
* [#6354](https://github.com/apache/nuttx/pull/6354) arm/tlsr82: support flash protection and flash voltage calibration
* [#6311](https://github.com/apache/nuttx/pull/6311) arm/tlsr82: optimize the adc driver
* [#6424](https://github.com/apache/nuttx/pull/6424) arm/tlsr82: bugfix, tlsr82_flash_ioctl() return wrong value
* [#6379](https://github.com/apache/nuttx/pull/6379) arm/tlsr82: gpio driver bug fix and optimize
* [#6334](https://github.com/apache/nuttx/pull/6334) arm/tlsr82: ble performance optimize and problems solve
* [#6238](https://github.com/apache/nuttx/pull/6238) tlsr82/tc32: optimize the irq process
* [#6332](https://github.com/apache/nuttx/pull/6332) arch: imx6: add support kernel build and smp
* [#6429](https://github.com/apache/nuttx/pull/6429) arch: imx6: Enable imx_idle.c to reduce CPU load
* [#6234](https://github.com/apache/nuttx/pull/6234) arm/tc32/Make.defs: filter-out arm_udelay.c
* [#6736](https://github.com/apache/nuttx/pull/6736) arm/allocateheap: fix multiple definition of 'up_allocate_heap'
* [#6659](https://github.com/apache/nuttx/pull/6659) arch/arm/samv7: fix SPI 16-bit transactions in DMA mode
* [#6676](https://github.com/apache/nuttx/pull/6676) arm_secure_irq: fix NVIC_IRQ_DBGMONITOR un-secure set failed
* [#5645](https://github.com/apache/nuttx/pull/5645) arch/arm: optimize context switch speed
* [#5662](https://github.com/apache/nuttx/pull/5662) arch/arm: Move ARCHCPUFLAGS to Toolchain.defs
* [#6228](https://github.com/apache/nuttx/pull/6228) arch/arm: Fix target 'arm_fpuconfig.o' given more than once in the same rule
* [#6201](https://github.com/apache/nuttx/pull/6201) Restore lost flash define for stm32
* [#3488](https://github.com/apache/nuttx/pull/3488) stm32h7: Adds tickless support
* [#6772](https://github.com/apache/nuttx/pull/6772) arch/stm32f7/stm32_tim.c: include the missing RCC header
* [#6771](https://github.com/apache/nuttx/pull/6771) arch/stm32xx/Kconfig: simplify and unify PWM options
* [#6757](https://github.com/apache/nuttx/pull/6757) STM32L4 DAC: Implements basic support for low level operations
* [#6741](https://github.com/apache/nuttx/pull/6741) stm32wb/mbox: fixing TX buffer queue
* [#6732](https://github.com/apache/nuttx/pull/6732) Multiple stm32wl5jc flash usage improvements
* [#6775](https://github.com/apache/nuttx/pull/6775) arch/stm32/stm32_foc.c: fix some ADC and PWM ifdefs
* [#6769](https://github.com/apache/nuttx/pull/6769) arch/stm32f0l0g0: add SPI3 support (STM32G0B0 chips)
* [#6218](https://github.com/apache/nuttx/pull/6218) STM32F746G-Disco, Audiosupport, Bugfix
* [#6715](https://github.com/apache/nuttx/pull/6715) stm32wb: adding BLE support
* [#6729](https://github.com/apache/nuttx/pull/6729) stm32f7: add showprogress in __start
* [#6078](https://github.com/apache/nuttx/pull/6078) Stm32f746 audio
* [#6413](https://github.com/apache/nuttx/pull/6413) stm32wl5: add gpio exti support
* [#6426](https://github.com/apache/nuttx/pull/6426) stm32wl5: add flash progmem driver support
* [#6788](https://github.com/apache/nuttx/pull/6788) LPC17xx_40xx PWM multichannel support
* [#6758](https://github.com/apache/nuttx/pull/6758) LPC17_40 CAN driver SocketCAN support
* [#6267](https://github.com/apache/nuttx/pull/6267) arch/arm/samv7/sam_afec: fix ADC pin for channel 9
* [#6339](https://github.com/apache/nuttx/pull/6339) sama5d2: Fix sama5d2 Kconfig errors and add missing pin definitions
* [#6268](https://github.com/apache/nuttx/pull/6268) arm/cortex-[a|r]: add performance counter implement based on PMU
* [#6298](https://github.com/apache/nuttx/pull/6298) arch/arm/samv7: Fix PWM operation for single channel mode
* [#6265](https://github.com/apache/nuttx/pull/6265) Fixes to imxRT and SAM E70 PWM drivers
* [#6572](https://github.com/apache/nuttx/pull/6572) arch/arm/Kconfig: Add description for ARM_THUMB to make it configurable
* [#6508](https://github.com/apache/nuttx/pull/6508) sama5: add config SAMA5_SYSTEMRESET in arch/arm/src/sama5/Kconfig
* [#6534](https://github.com/apache/nuttx/pull/6534) arch/arm/armv7-m: Fix error link argument for compiler-rt
* [#6497](https://github.com/apache/nuttx/pull/6497) samv7:mcan Fix can buffer calculation. Add two words to every msg buffer
* [#6614](https://github.com/apache/nuttx/pull/6614) samv7: add support for RX DMA and RS-485 mode to serial driver
* [#6599](https://github.com/apache/nuttx/pull/6599) arch/arm/samv7: EMAC bugfixes
* [#6306](https://github.com/apache/nuttx/pull/6306) Add up_textheap_heapmember
* [#6204](https://github.com/apache/nuttx/pull/6204) MCAN_INT_ACKE must be on the list of MCAN_TXERR_INTS to be properly h…
* [#6121](https://github.com/apache/nuttx/pull/6121) compile/opt: add config DEBUG_LINK_MAP
* [#6614](https://github.com/apache/nuttx/pull/6614) samv7: add support for RX DMA and RS-485 mode to serial driver
* [#6615](https://github.com/apache/nuttx/pull/6615) Add I2C slave mode for RP2040
* [#6617](https://github.com/apache/nuttx/pull/6617) Fix arm64 stack coloration
* [#6682](https://github.com/apache/nuttx/pull/6682) Fixed path calculation in BBS RAM
* [#6790](https://github.com/apache/nuttx/pull/6790) Several IMXRT fixes
* [#6786](https://github.com/apache/nuttx/pull/6786) IMX.RT EDMA Support
* [#6787](https://github.com/apache/nuttx/pull/6787) imxrt: Ethernet Cleanup and extend support for ETH1 or ETH2 and LAN8742A
* [#6794](https://github.com/apache/nuttx/pull/6794) IMX.RT Add DMA on LPSPI, LPUART, LPI2C
* [#6675](https://github.com/apache/nuttx/pull/6675) sim: idle pm should do PM_RESOTRE in critical section
* [#6689](https://github.com/apache/nuttx/pull/6689) sim: Increased priority of loop task
* [#6792](https://github.com/apache/nuttx/pull/6792) sim/adb: Enable ping for test
* [#5862](https://github.com/apache/nuttx/pull/5862) arch/sim: Remove the unused SIM_TCNWAITERS from Kconfig
* [#5923](https://github.com/apache/nuttx/pull/5923) sim: Fix initialization of static C++ constructors when using glibc >= 2.34
* [#5885](https://github.com/apache/nuttx/pull/5885) sim/rptun: rsc must set rpmsg_vdev.config_len
* [#5756](https://github.com/apache/nuttx/pull/5756) sim: Enable garbage collection of unused input sections
* [#5988](https://github.com/apache/nuttx/pull/5988) arch/sim: support simulator keyboard devices
* [#6043](https://github.com/apache/nuttx/pull/6043) sim: bt: Add specific bluetooth HCI number id
# Driver Support
## New Driver Support
* [#6030](https://github.com/apache/nuttx/pull/6030) Add Sensirion's SCD41 driver and minor fix
* [#6412](https://github.com/apache/nuttx/pull/6412) drivers/sensors: add driver for as5048a magnetic encoder
* [#6345](https://github.com/apache/nuttx/pull/6345) drivers: video: add isx019 camera sensor
* [#6491](https://github.com/apache/nuttx/pull/6491) LITEETH peripheral driver support
* [#6525](https://github.com/apache/nuttx/pull/6525) drivers: add support of pwm capture driver
* [#6537](https://github.com/apache/nuttx/pull/6537) drivers/ipcc: add Inter Processor Communication driver
* [#5835](https://github.com/apache/nuttx/pull/5835) LITESDCARD peripheral driver support
* [#6510](https://github.com/apache/nuttx/pull/6510) Support for 2.13 inch display v2
* [#6634](https://github.com/apache/nuttx/pull/6634) drivers/lcd: Add support to use APA102 LED Matrix as LCD Display
* [#6408](https://github.com/apache/nuttx/pull/6408) e-ink ssd1680 driver
* [#6353](https://github.com/apache/nuttx/pull/6353) Add driver for WIZnet W5500 Ethernet controller
## Bug Fixes and Improvements
* [#6068](https://github.com/apache/nuttx/pull/6068) driver/mmcsdio: do not hold the semaphore on interrupt context
* [#6019](https://github.com/apache/nuttx/pull/6019) power/governor: Remove the duplicated function prototype
* [#6021](https://github.com/apache/nuttx/pull/6021) Test/wm8904balance
* [#6018](https://github.com/apache/nuttx/pull/6018) Increase audio_comp driver flexibility
* [#5927](https://github.com/apache/nuttx/pull/5927) Minor improve for mmcsd
* [#5747](https://github.com/apache/nuttx/pull/5747) drivers/timers: rename notification parameter oneshot to periodic
* [#5849](https://github.com/apache/nuttx/pull/5849) pm: remove unnecessary depends on OSINIT_OS_READY
* [#5853](https://github.com/apache/nuttx/pull/5853) driver/syslog: Add microseconds after date time
* [#5901](https://github.com/apache/nuttx/pull/5901) power: unify lock sates and move pm_auto_update to outer dir
* [#5990](https://github.com/apache/nuttx/pull/5990) fix uinput rpmsg logic error
* [#5816](https://github.com/apache/nuttx/pull/5816) drivers/mtd/mtd_config: set different format versions for named and ID modes
* [#5736](https://github.com/apache/nuttx/pull/5736) driver/uinput: add cross core control function
* [#6127](https://github.com/apache/nuttx/pull/6127) pm: Move pm_initialize call from driver_initialize to xxx_pminitialize
* [#6053](https://github.com/apache/nuttx/pull/6053) drivers: remove unimplemented open/close/ioctl interfaces
* [#6157](https://github.com/apache/nuttx/pull/6157) drivers: mtd: fix null buffer reference
* [#6159](https://github.com/apache/nuttx/pull/6159) driver/ioexpander: remove response about irq_handler
* [#6186](https://github.com/apache/nuttx/pull/6186) Stm32f746 audio
* [#6164](https://github.com/apache/nuttx/pull/6164) drivers/audio/cxd56: Workaround for HW issue of CXD56
* [#6655](https://github.com/apache/nuttx/pull/6655) driver/syslog: support syslog_rpmsg client and server chardev
* [#6657](https://github.com/apache/nuttx/pull/6657) drivers/lcd/st7789: update putarea() method
* [#6661](https://github.com/apache/nuttx/pull/6661) drivers/syslog: Call up_nputs in syslog_default_write
* [#6668](https://github.com/apache/nuttx/pull/6668) driver/ioe_rpmsg: split server and client ept_cb to simplify code
* [#6246](https://github.com/apache/nuttx/pull/6246) drivers/sdio: Call SDIO_LOCK before and after the transaction
* [#5736](https://github.com/apache/nuttx/pull/5736) driver/uinput: add cross core control function
* [#5718](https://github.com/apache/nuttx/pull/5718) drivers/can: optimize can driver reader side
* [#6789](https://github.com/apache/nuttx/pull/6789) drivers/net: make sure that net driver d_buf is 16-bit aligned
* [#6708](https://github.com/apache/nuttx/pull/6708) driver/sensors[2]: enhance and update sensor driver
* [#6703](https://github.com/apache/nuttx/pull/6703) driver/sensor: add calibrate interface for sensor driver
* [#6704](https://github.com/apache/nuttx/pull/6704) driver/sensors: enhance sensor driver
* [#6696](https://github.com/apache/nuttx/pull/6696) driver/sensor: add sensor type of cap and wake_gesture
* [#6698](https://github.com/apache/nuttx/pull/6698) driver/power:add ioctl cmd for voltage info and protocol and add update event mask
* [#6727](https://github.com/apache/nuttx/pull/6727) power: add PM_IDLE_DOMAIN to pm.h and remove definations
* [#6759](https://github.com/apache/nuttx/pull/6759) drivers: Reorganize the power related code layout
* [#6748](https://github.com/apache/nuttx/pull/6748) power/axp202: Replace battery_charger_operations_s * with battery_charger_dev_s
* [#6761](https://github.com/apache/nuttx/pull/6761) drivers/wireless/gs2200m: Fix short bit length
* [#6743](https://github.com/apache/nuttx/pull/6743) drivers/battery: Handle the early changed event correctly
* [#6673](https://github.com/apache/nuttx/pull/6673) power related update
* [#6653](https://github.com/apache/nuttx/pull/6653) Driver/sensor: enhance sensor driver to support uorb and multi core access sensor by rpmsg
* [#6331](https://github.com/apache/nuttx/pull/6331) drivers/mtd/smart.c: Modify devname[] size to avoid overflow
* [#6414](https://github.com/apache/nuttx/pull/6414) drivers/syslog: fix deadlock by reverting part of the changes from b88a8cf39ff1019ad787c4316b22ce29c7daa2dc
* [#6435](https://github.com/apache/nuttx/pull/6435) drivers/syslog: reuse rmutex_t for the recursive check
* [#6419](https://github.com/apache/nuttx/pull/6419) drvers/mmcsd/sdio: function enable should wait for CCCR_IORDY
* [#6500](https://github.com/apache/nuttx/pull/6500) drivers: serial: Add error for insuff buffer
* [#6526](https://github.com/apache/nuttx/pull/6526) drivers/lcd: getplaneinfo fix for ST7789,ST7565 and skeleton driver
* [#6513](https://github.com/apache/nuttx/pull/6513) drivers/lcd: Fix regression on ILI9341 introduced after #6465
* [#6544](https://github.com/apache/nuttx/pull/6544) Make sensor mpu60x0 more configurable in menuconfig
* [#6564](https://github.com/apache/nuttx/pull/6564) drivers/lcd_framebuffer: Optimize updateearea for the full screan case
* [#6577](https://github.com/apache/nuttx/pull/6577) drivers/segger: Support the customize SEGGER_RTT_[BUFFER_]SECTION
* [#6113](https://github.com/apache/nuttx/pull/6113) pipe: Increase buffer size by one byte to ompensate the full indicator
* [#6455](https://github.com/apache/nuttx/pull/6455) usbhost_cdcacm: fix error with interrupt IN endpoint
* [#6369](https://github.com/apache/nuttx/pull/6369) Fix in default syslog date format
* [#6601](https://github.com/apache/nuttx/pull/6601) usbdev/usbmsc: introduce USBMSC_WRMULTIPLE for faster writes
* [#6571](https://github.com/apache/nuttx/pull/6571) fix sd can't usage when mult-block receive errro
* [#6551](https://github.com/apache/nuttx/pull/6551) framebuffer for e-ink display. Added callback function to redraw
* [#6456](https://github.com/apache/nuttx/pull/6456) mmcsd/sdio: correct return value of sdio_probe()
* [#6363](https://github.com/apache/nuttx/pull/6363) Added color reset when a syslog channel is added
* [#6362](https://github.com/apache/nuttx/pull/6362) syslog Fixed separation of log sessions
* [#5886](https://github.com/apache/nuttx/pull/5886) syslog_rpmsg related update
* [#5803](https://github.com/apache/nuttx/pull/5803) syslog: Change g_syslog_default_sem to static function variable
* [#5801](https://github.com/apache/nuttx/pull/5801) syslog/channel: minor fix to avoid unreachabled return
* [#6171](https://github.com/apache/nuttx/pull/6171) syslog: Fixed a potential buffer overflow issue
* [#6618](https://github.com/apache/nuttx/pull/6618) Optimize syslog_write performance
* [#6669](https://github.com/apache/nuttx/pull/6669) lcd/apa102: Fix APA102 RGB LED Matrix interleaving issue
* [#6639](https://github.com/apache/nuttx/pull/6639) lcd/apa102: Add putarea() support for faster rendering
* [#6633](https://github.com/apache/nuttx/pull/6633) drivers/bch: Adjust f_pos with the correct value
* [#6621](https://github.com/apache/nuttx/pull/6621) mmcsd: Remove the not really used capacity field
* [#5802](https://github.com/apache/nuttx/pull/5802) Refine the uinput implementation
* [#5800](https://github.com/apache/nuttx/pull/5800) regulator/rpmsg: list delete should use safe version in loop
* [#5893](https://github.com/apache/nuttx/pull/5893) ioe_rpmsg: use rptun_wait/post to resolve deadlock with usrsock
* [#6699](https://github.com/apache/nuttx/pull/6699) rtc/rpmsg: when a client connection, server initiates time sync
* [#6706](https://github.com/apache/nuttx/pull/6706) rptun related update 1
* [#6713](https://github.com/apache/nuttx/pull/6713) rptun related update
* [#5847](https://github.com/apache/nuttx/pull/5847) rptun related update
* [#6678](https://github.com/apache/nuttx/pull/6678) stdio: need also flush stdio when flushall
* [#6756](https://github.com/apache/nuttx/pull/6756) Minor update for sensor
* [#5880](https://github.com/apache/nuttx/pull/5880) ramlog: support setting threshold value of ramlog for poll waiters
* [#5857](https://github.com/apache/nuttx/pull/5857) c89: get rid of designated initializers in common code
* [#6738](https://github.com/apache/nuttx/pull/6738) w25qxxxjv.c: Use PRIxOFF to format off_t
* [#6728](https://github.com/apache/nuttx/pull/6728) w25qxxxjv.c: Ensure Quad SPI mode is enabled
* [#6459](https://github.com/apache/nuttx/pull/6459) Adds device descriptor for the MB5RS2MTA 256KB FRAM part
* [#6465](https://github.com/apache/nuttx/pull/6465) Add lcd_dev_s pointer to lcd_planeinfo_s to support multiple LCDs per board
* [#6588](https://github.com/apache/nuttx/pull/6588) SSD1680 Landscape mode bugfix
* [#6319](https://github.com/apache/nuttx/pull/6319) SSD1306: Added option to force reconfigure display after power off
* [#6224](https://github.com/apache/nuttx/pull/6224) LCD SSD1306: Added custom configuration option
* [#6223](https://github.com/apache/nuttx/pull/6223) LCD: Added existing FBIO_SETPOWER support to lcd_framebuffer.c
* [#6344](https://github.com/apache/nuttx/pull/6344) Video: various updates
* [#6320](https://github.com/apache/nuttx/pull/6320) use rmutex inside of all repeated implementation
# Board Support
## New Board Support
* [#6216](https://github.com/apache/nuttx/pull/6216) Nucleo G474RE board support including USB Full Speed Device
* [#6754](https://github.com/apache/nuttx/pull/6754) NXP S32K1XX: add initial support for NXP RDDRONE-BMS772 board
* [#6730](https://github.com/apache/nuttx/pull/6730) boards/stm32f7: add intial support for ST steval-eth001v1 board
* [#6691](https://github.com/apache/nuttx/pull/6691) boards: add initial support for ST steval-stlcs01v1
* [#6383](https://github.com/apache/nuttx/pull/6383) boards/nucleo-wl55jc: add new board
* [#6448](https://github.com/apache/nuttx/pull/6448) xtensa/esp32s3: Add esp32s3-eye board support
* [#6592](https://github.com/apache/nuttx/pull/6592) boards: add initial support for stm32l0538-disco
* [#6528](https://github.com/apache/nuttx/pull/6528) Added RP2040 Boards: Adafruit KB2040 and Adafruit Feather RP2040
* [#6620](https://github.com/apache/nuttx/pull/6620) boards/stm32f0l0g0: common board logic support
* [#6189](https://github.com/apache/nuttx/pull/6189) Sabre 6quad libcxx
* [#6793](https://github.com/apache/nuttx/pull/6793) TTGO T-Display ESP32 V1.1 board support
* [#6266](https://github.com/apache/nuttx/pull/6266) Nucleo f401 re oled
* [#6592](https://github.com/apache/nuttx/pull/6592) boards: add initial support for stm32l0538-disco
## Bug Fixes and Improvements
* [#6684](https://github.com/apache/nuttx/pull/6684) Enable to test C++ static object in ELF
* [#6036](https://github.com/apache/nuttx/pull/6036) arch, boards: cxd56xx: Minor update for spresense
* [#6074](https://github.com/apache/nuttx/pull/6074) boards/arm/a1x: Remove the check CONFIG_ARCH_FPU around arm_fpuconfig
* [#5964](https://github.com/apache/nuttx/pull/5964) boards/nucleo-f446re: support for SystemView
* [#5964](https://github.com/apache/nuttx/pull/5964) boards/nucleo-f446re: support for SystemView
* [#5788](https://github.com/apache/nuttx/pull/5788) boards/arm/samv7/same70-qmtech: add gpio driver support
* [#5812](https://github.com/apache/nuttx/pull/5812) esp32s3-devkit/spiflash: Use SmartFS instead of LittleFS
* [#5817](https://github.com/apache/nuttx/pull/5817) boards/arm/same70-qmtech: Remove dead code
* [#5841](https://github.com/apache/nuttx/pull/5841) esp32s3-devkit: Fix the number of memory regions in some configurations
* [#5909](https://github.com/apache/nuttx/pull/5909) boards/boardctl:common boardctl to read reset cause
* [#5751](https://github.com/apache/nuttx/pull/5751) boards/sim/adb: Enable CONFIG_ADBD_SOCKET_SERVICE
* [#5763](https://github.com/apache/nuttx/pull/5763) boards: sabre-6quad: Enable environ and path in knsh/defconfig
* [#5839](https://github.com/apache/nuttx/pull/5839) boards: rv-virt: Fix stack corruption for rv64 config
* [#5860](https://github.com/apache/nuttx/pull/5860) boards/arm/uid: fix pointer to int compare
* [#5895](https://github.com/apache/nuttx/pull/5895) boards: correct path to RCRAWS files during file copy
* [#5785](https://github.com/apache/nuttx/pull/5785) boards/arm/samv7: define MTD progmem partitions at board level
* [#5787](https://github.com/apache/nuttx/pull/5787) boards/arm/samv7/same70-qmtech: add /dev/timer0 support
* [#5804](https://github.com/apache/nuttx/pull/5804) boards/arm/samv7/samv71-xult: Fix mcuboot update example missing config
* [#6142](https://github.com/apache/nuttx/pull/6142) boards: Switch the elf link script to binfmt/libelf/gnu-elf.ld
* [#6199](https://github.com/apache/nuttx/pull/6199) boards/space: Remove the unneeded XXXEXT definition
* [#6138](https://github.com/apache/nuttx/pull/6138) boards/boardctl: correct boarctl return value
* [#6141](https://github.com/apache/nuttx/pull/6141) boards/risc-v: Remove "MAXOPTIMIZATION = -Os" from Make.defs
* [#6143](https://github.com/apache/nuttx/pull/6143) boards: Move -fno-common from Make.defs to Toolchain.defs
* [#6144](https://github.com/apache/nuttx/pull/6144) boards: Move -g from Make.defs to Toolchain.defs
* [#6146](https://github.com/apache/nuttx/pull/6146) boards: Move "-fno-exceptions -fcheck-new" from Make.defs to Toolchain.defs
* [#6155](https://github.com/apache/nuttx/pull/6155) boards: Move -fno-strict-aliasing from Make.defs to Toolchain.defs
* [#6195](https://github.com/apache/nuttx/pull/6195) boards: rv-virt: Add support ELF to nsh and nsh64 defconfigs
* [#6075](https://github.com/apache/nuttx/pull/6075) boards/esp32_twai: Remove arm_arch.h from comment
* [#6081](https://github.com/apache/nuttx/pull/6081) boards/sim: support rc.sysinit
* [#6654](https://github.com/apache/nuttx/pull/6654) boardctl:add reset subreason restore factory
* [#6744](https://github.com/apache/nuttx/pull/6744) boards/stm32wb/ble: adding nimble config
* [#6752](https://github.com/apache/nuttx/pull/6752) NXP S32K1XX: fix LPI2C reset
* [#6753](https://github.com/apache/nuttx/pull/6753) NXP S32K1XX boards: add up_perf_init to support SEGGER SystemView
* [#6798](https://github.com/apache/nuttx/pull/6798) board/cxd56xx/audio: Fix CXD56 audio initialization
* [#5033](https://github.com/apache/nuttx/pull/5033) boards/arm/samv7: Update mcuboot configs
* [#6692](https://github.com/apache/nuttx/pull/6692) stm32f0l0g0: fixes for SPI half duplex
* [#6693](https://github.com/apache/nuttx/pull/6693) boards/stm32g071b-disco: add ina230 support and gpio dev support
* [#6694](https://github.com/apache/nuttx/pull/6694) esp32s3-devkit: Add support to discrete 5-way joystick
* [#6764](https://github.com/apache/nuttx/pull/6764) boards: spresense: Reduce power consumption with LTE board
* [#6777](https://github.com/apache/nuttx/pull/6777) boards: Enable thread local storage for some config
* [#6391](https://github.com/apache/nuttx/pull/6391) esp32c3-devkit/knsh: Enable CONFIG_RAW_BINARY to convert the ELF file
* [#6287](https://github.com/apache/nuttx/pull/6287) stm32h7: allow definition of HSI divider in board config
* [#6373](https://github.com/apache/nuttx/pull/6373) board: nucleo-l432kc: Add missing nucleo 432kc spi driver setting
* [#6275](https://github.com/apache/nuttx/pull/6275) boards/arm: Remove "LDFLAGS += -g" whichi is already added by Toolchain.defs
* [#6439](https://github.com/apache/nuttx/pull/6439) boards/esp32: Increase the NTP deamon stack size as it was overflowing
* [#6273](https://github.com/apache/nuttx/pull/6273) board/sim: Enable hellocxx in loadable config
* [#6580](https://github.com/apache/nuttx/pull/6580) Add ws2812 bringup logic to all RP2040 boards
* [#6511](https://github.com/apache/nuttx/pull/6511) esp32_board_spi:Missing Data Command pin support
* [#6514](https://github.com/apache/nuttx/pull/6514) esp32-wrover-kit: Add board profile to support MMC/SDCard over SPI
* [#6462](https://github.com/apache/nuttx/pull/6462) boards/risc-v/mpfs/m100pfsevp/include/board_liberodefs.h: Update memo…
* [#6597](https://github.com/apache/nuttx/pull/6597) boards/xtensa: Remove outdated information
* [#6582](https://github.com/apache/nuttx/pull/6582) boards: stm32f4discovery: Add iperf to rndis/defconfig
* [#6626](https://github.com/apache/nuttx/pull/6626) stm32: hide STM32xx_SPI_DMA option and select it automatically
* [#6627](https://github.com/apache/nuttx/pull/6627) stm32g071b-disco: add OLED support
* [#6542](https://github.com/apache/nuttx/pull/6542) Nucleo Wl55JC board supports E-ink display
* [#6622](https://github.com/apache/nuttx/pull/6622) arch/stm32f0l0g0: improvements for SPI and enable SPI for STM32G0
* [#6623](https://github.com/apache/nuttx/pull/6623) stm32f0l0g0: improvements for ADC
* [#6625](https://github.com/apache/nuttx/pull/6625) stm32f0l0g0/SPI: support for half duplex and simplex rx/tx modes
* [#6646](https://github.com/apache/nuttx/pull/6646) esp32: Re-organise wireless options
* [#6585](https://github.com/apache/nuttx/pull/6585) esp32s3-devkit: Add support to ST7735 SPI LCD
* [#6648](https://github.com/apache/nuttx/pull/6648) Added Adafruit QT Py RP2040 board and made UART, SPI, and I2C configuration more flexible
# File System
## Bug Fixes and Improvements
* [#6726](https://github.com/apache/nuttx/pull/6726) vfs: Remove the unnessary check when CONFIG_DEBUG_MM enable
* [#6007](https://github.com/apache/nuttx/pull/6007) fs/vfs: fix st_mode mask check
* [#6002](https://github.com/apache/nuttx/pull/6002) fs/poll: change format for type pollevent_t
* [#5797](https://github.com/apache/nuttx/pull/5797) fs/rpmsgfs: minor refine the return value
* [#6686](https://github.com/apache/nuttx/pull/6686) fs/hostfs: Change nuttx_dev_t from uint16_t to uint32_t
* [#6674](https://github.com/apache/nuttx/pull/6674) procfs related update
* [#6671](https://github.com/apache/nuttx/pull/6671) rpmsgfs related update
* [#6663](https://github.com/apache/nuttx/pull/6663) fs/fs_sync/ioctl: update
* [#6662](https://github.com/apache/nuttx/pull/6662) sys/sysmacros.h: support sysmacros header
* [#6630](https://github.com/apache/nuttx/pull/6630) partition/gpt: Replace PRI?LBA with PRI?OFF
* [#6629](https://github.com/apache/nuttx/pull/6629) procfs/mount: Unify uint[32|64]_t to fsblkcnt_t for the code simplification
* [#6545](https://github.com/apache/nuttx/pull/6545) fs/fat: Fix a bug that long file name cannot be found
* [#6401](https://github.com/apache/nuttx/pull/6401) fs/mqueue: skip nxmq_pollnotify() if no poll waiters
* [#6347](https://github.com/apache/nuttx/pull/6347) fs/cromfs: Fixed a hardFault caused by unaligned memory access
* [#6104](https://github.com/apache/nuttx/pull/6104) fs:oflag need consistent with psock
* [#6100](https://github.com/apache/nuttx/pull/6100) fs/inode/fs_files:changes fd judgment method
* [#5854](https://github.com/apache/nuttx/pull/5854) fs/romfs: fix bug about test case:examples/romfs
* [#5867](https://github.com/apache/nuttx/pull/5867) fs/romfs: fix size of pointer during memory allocation
* [#5879](https://github.com/apache/nuttx/pull/5879) littlefs: unify lfs error code to nuttx
* [#5884](https://github.com/apache/nuttx/pull/5884) fs/files_allocate: assert when fd overflow
* [#5894](https://github.com/apache/nuttx/pull/5894) fs:add _POSIX_OPEN_MAX limit to files_extend
* [#5899](https://github.com/apache/nuttx/pull/5899) Fs/romfs: fix bug about compare path with same prefix
* [#6049](https://github.com/apache/nuttx/pull/6049) fs/vfs/fs_truncate.c: Use ioctl to truncate on non-mountpoint inode
* [#5891](https://github.com/apache/nuttx/pull/5891) opendir: use inode_find() instead when opendir()
* [#6024](https://github.com/apache/nuttx/pull/6024) fs/fcntl: add O_APPEND flag judge in fcntl
* [#6023](https://github.com/apache/nuttx/pull/6023) littelfs: deal with block devices w/o ioctl
* [#6773](https://github.com/apache/nuttx/pull/6773) FS disable FS_LARGEFILE by default
* [#5934](https://github.com/apache/nuttx/pull/5934) fs/unionfs: fix some warning and bug
* [#5938](https://github.com/apache/nuttx/pull/5938) fs/procfstcbinfo: minor bug about print address
* [#5883](https://github.com/apache/nuttx/pull/5883) lseek: use type:off_t for return value
* [#5764](https://github.com/apache/nuttx/pull/5764) procfs: Remove mallinfo from struct procfs_meminfo_entry_s
* [#5924](https://github.com/apache/nuttx/pull/5924) fs and unistd: increase OPEN_MAX by claiming a Kconfig
* [#5937](https://github.com/apache/nuttx/pull/5937) fs/epoll: change type of eventset from uint8_t to uint32_t
* [#5807](https://github.com/apache/nuttx/pull/5807) sys/type.h: Change pid_t from int16_t to int
* [#6307](https://github.com/apache/nuttx/pull/6307) littlefs_stat: Fix directory size
* [#6724](https://github.com/apache/nuttx/pull/6724) add heapcheck(memcheck) flag
* [#5935](https://github.com/apache/nuttx/pull/5935) fs/rpmsgfs: fix bug about using uninit variable "times"
* [#5936](https://github.com/apache/nuttx/pull/5936) fs/romfs: fix string overflow
* [#5844](https://github.com/apache/nuttx/pull/5844) rpmsgfs: do NOT access the pointer when do remote ioctl
* [#5856](https://github.com/apache/nuttx/pull/5856) rpmsgfs/rename: fix bug about pathname align with 8bytes
* [#5892](https://github.com/apache/nuttx/pull/5892) rpmsgfs related update
* [#5846](https://github.com/apache/nuttx/pull/5846) epoll: fix epoll close error, report by kasan
* [#6680](https://github.com/apache/nuttx/pull/6680) poll: defalut set POLLERR POLLHUP to events
* [#6681](https://github.com/apache/nuttx/pull/6681) unlink: don't do unlink with inode_semtake
* [#6637](https://github.com/apache/nuttx/pull/6637) mtd/smartfs: Fix uninitialized variable
# Networking
## Bug Fixes and Improvements
* [#5967](https://github.com/apache/nuttx/pull/5967) net:fix coverity warning
* [#5972](https://github.com/apache/nuttx/pull/5972) net/utils: fix IPv4 checksum calculation
* [#5769](https://github.com/apache/nuttx/pull/5769) net/local: correct the socket flags from client socket
* [#5750](https://github.com/apache/nuttx/pull/5750) net/udp: clear the connection structure after free
* [#5748](https://github.com/apache/nuttx/pull/5748) net/local: correct the socket flags from server socket
* [#6368](https://github.com/apache/nuttx/pull/6368) net/tcp: Hold the net lock in tcp_timer_expiry
* [#6355](https://github.com/apache/nuttx/pull/6355) tcp: remove all devif_timer
* [#6154](https://github.com/apache/nuttx/pull/6154) net/tcp:make initial tcp port more random
* [#5794](https://github.com/apache/nuttx/pull/5794) netdb/getaddrinfo: fix NULL pointer reference
* [#5791](https://github.com/apache/nuttx/pull/5791) netinitialize: call xxx_netinitialize unconditionally
* [#5770](https://github.com/apache/nuttx/pull/5770) net/sockopt: bypass the SO_RCVBUF/SO_SNDBUF to usrsock
* [#6735](https://github.com/apache/nuttx/pull/6735) make sure conn's domain is matched with addr's family
* [#6608](https://github.com/apache/nuttx/pull/6608) net: Fix frame count check fail and race condition
* [#6330](https://github.com/apache/nuttx/pull/6330) tcp: move wd_timer from wifi driver to tcp stack
* [#6289](https://github.com/apache/nuttx/pull/6289) net: fix the build when CONFIG_NET_TCP_WRITE_BUFFERS is not enabled
* [#6262](https://github.com/apache/nuttx/pull/6262) icmp: Fixed replies to broadcasts
* [#6161](https://github.com/apache/nuttx/pull/6161) Fix udp recvfrom to correctly return addrlen
* [#5799](https://github.com/apache/nuttx/pull/5799) net/netdev: fix switch case missing break
* [#6398](https://github.com/apache/nuttx/pull/6398) net/tcp: wave hands on background
* [#6297](https://github.com/apache/nuttx/pull/6297) net/tcp: Zero keeptimer in case caller set keepalive to false
* [#6290](https://github.com/apache/nuttx/pull/6290) net/tcp: Use the decrease timer in TCP_TIME_WAIT/TCP_FIN_WAIT_2
* [#6264](https://github.com/apache/nuttx/pull/6264) Fix ENOENT errors when polling on Netlink socket
* [#6428](https://github.com/apache/nuttx/pull/6428) net/tcp: d_appdata should remove the tcp specific option field
* [#6399](https://github.com/apache/nuttx/pull/6399) Packet dropped in IPv4/v6 input is now an info, not a warning
* [#6770](https://github.com/apache/nuttx/pull/6770) delay creating DNS bind socket
* [#6751](https://github.com/apache/nuttx/pull/6751) Net thread-safe ether_ntoa_r & inet_ntoa_r
* [#6740](https://github.com/apache/nuttx/pull/6740) [TCP] Close RAM usage optimization
* [#6747](https://github.com/apache/nuttx/pull/6747) Fix notify disassocitaion
* [#6702](https://github.com/apache/nuttx/pull/6702) tcp: check option length before d_len update
* [#6701](https://github.com/apache/nuttx/pull/6701) udp: Use s_sndtimeo as the actual timeout time
* [#6700](https://github.com/apache/nuttx/pull/6700) netdev: add return value for ifup / ifdown
* [#6563](https://github.com/apache/nuttx/pull/6563) net/tcp: discard connect reference before free
* [#6562](https://github.com/apache/nuttx/pull/6562) net/tcp: fix regression of invalid update the rexmit_seq in buffer mode
* [#6543](https://github.com/apache/nuttx/pull/6543) net_if: add IFF_LOOPBACK/POINTOPOINT/MULTICAST/BROADCAST
* [#6529](https://github.com/apache/nuttx/pull/6529) net: Ensure sendmsg and sendfile return -EAGAIN in case of timeout
* [#6519](https://github.com/apache/nuttx/pull/6519) netdev/carrier: check the IF stautus before carrier
* [#6451](https://github.com/apache/nuttx/pull/6451) net/tcp(buffered): retransmit only one the earliest not acknowledged segment
* [#6640](https://github.com/apache/nuttx/pull/6640) net/slip: Rename and clarify orphaned Kconfig options
* [#6590](https://github.com/apache/nuttx/pull/6590) net/poll: fix race condition if connect free before poll teardown
* [#6589](https://github.com/apache/nuttx/pull/6589) net/tcp: fix assertion of fallback connection alloc
* [#5943](https://github.com/apache/nuttx/pull/5943) This PR mainly contains some USRSOCK related changes
* [#6041](https://github.com/apache/nuttx/pull/6041) rpmsg_usrsock: Support the wireless ioctl which contain pointer
* [#5945](https://github.com/apache/nuttx/pull/5945) fix:Remove udp send large pkt assert
* [#5944](https://github.com/apache/nuttx/pull/5944) net: tcp/udp/icmp/icmpv6 add FIONSPACE support
* [#5926](https://github.com/apache/nuttx/pull/5926) local socket: cancel assert about backlog exceed 255
* [#5933](https://github.com/apache/nuttx/pull/5933) netdev_file_ioctl: Fix fcntl F_SETFL O_NONBLOCK regression
* [#5889](https://github.com/apache/nuttx/pull/5889) rpmsg_socket: fix kasan report error
* [#5848](https://github.com/apache/nuttx/pull/5848) local_socket: default set block mode if accept() a new socket
* [#5755](https://github.com/apache/nuttx/pull/5755) wireless/80211: update the 80211 header
* [#6432](https://github.com/apache/nuttx/pull/6432) wireless/bcm43xxx: add extended join parameters
* [#6358](https://github.com/apache/nuttx/pull/6358) wireless: add Wireless statistics definition
* [#6420](https://github.com/apache/nuttx/pull/6420) wireless/bcm43xxx: add support of bcm43013 chip
* [#6463](https://github.com/apache/nuttx/pull/6463) wireless/bcm43xxx: add status print on bcmf_wl_auth_event_handler()
* [#6461](https://github.com/apache/nuttx/pull/6461) wireless/bcm43xxx: Don't call bcmf_board_setup_oob_irq in bcmf_sdio_thread
* [#6457](https://github.com/apache/nuttx/pull/6457) wireless/bcm43xxx: configurable buffer size of escan result
* [#6453](https://github.com/apache/nuttx/pull/6453) wireless/bcm43xxx: replace all busy delay to nxsig_usleep
* [#6447](https://github.com/apache/nuttx/pull/6447) bcm43xxx: Remove bcmf_txavail_work and resue bcmf_tx_poll_work
* [#6446](https://github.com/apache/nuttx/pull/6446) wireless/bcm43xxx: improve throughput of net driver
* [#6444](https://github.com/apache/nuttx/pull/6444) wireless/bcm43xxx: configurable schedule priority of daemon thread
* [#6442](https://github.com/apache/nuttx/pull/6442) wireless/bcm43xxx: fix typo sq_init() -> dq_init()
* [#6441](https://github.com/apache/nuttx/pull/6441) wireless/bcm43xx: replace sem_wait to uninterruptible version
* [#6431](https://github.com/apache/nuttx/pull/6431) wirless/sdio: frame length should with guard bound
* [#6430](https://github.com/apache/nuttx/pull/6430) wireless/bcm430xx: rename chip minor id to 'x'
* [#6427](https://github.com/apache/nuttx/pull/6427) wireless/bcm43xxx: load nvram from file system
* [#6561](https://github.com/apache/nuttx/pull/6561) wireless/bcm43xxx: only break out the send loop if no data
* [#6560](https://github.com/apache/nuttx/pull/6560) wireless/bcm43xxx: remove flowctrl check
* [#6559](https://github.com/apache/nuttx/pull/6559) wireless/bcm43xxx: filter out the bssi with same ssid name
* [#6558](https://github.com/apache/nuttx/pull/6558) wireless/bcm43xxx: mac address does not need to be updated in ifup
* [#6557](https://github.com/apache/nuttx/pull/6557) wireless/bcm43xxx: discard auth event if netdev down
* [#6556](https://github.com/apache/nuttx/pull/6556) wireless/bcm43xxx: set listen interval on lowpower
* [#6555](https://github.com/apache/nuttx/pull/6555) wireless/bcm43xxx: country code should terminating with null
* [#6554](https://github.com/apache/nuttx/pull/6554) wireless/bcm43xxx: fix memory leak if tx fail
* [#6533](https://github.com/apache/nuttx/pull/6533) wireless/bcm43xxx: enable tx flow control to improve performance
* [#6524](https://github.com/apache/nuttx/pull/6524) wireless/bcm43xxx: replace private queue implement to list_node
* [#6523](https://github.com/apache/nuttx/pull/6523) wireless/bcm43xxx: remove unused tx_queue_count
* [#6518](https://github.com/apache/nuttx/pull/6518) wireless/bcm43xxx: add dynamic kso control support
* [#6517](https://github.com/apache/nuttx/pull/6517) wireless/bcm43xxx: correct the return value
* [#6501](https://github.com/apache/nuttx/pull/6501) wireless/bcm43xxx: add get country code support
* [#6494](https://github.com/apache/nuttx/pull/6494) wireless/bcm43xxx: add set country code support
* [#6488](https://github.com/apache/nuttx/pull/6488) wireless/bcm43xxx: add auto power saving support
* [#6481](https://github.com/apache/nuttx/pull/6481) wireless/bcm43xxx: remove small chunks to improve clm download speed
* [#6480](https://github.com/apache/nuttx/pull/6480) wireless/bcm43xxx: prefer HPWORK if bcmf task has higher priority than HPWORK
* [#6479](https://github.com/apache/nuttx/pull/6479) wireless/bcm43xxx: merge frame send to once to improve the performance
* [#6471](https://github.com/apache/nuttx/pull/6471) wireless/bcm43xxx: enable power saving on netdev up/down
* [#6470](https://github.com/apache/nuttx/pull/6470) wireless/bcm43xxx: add customized MAC address support
* [#6469](https://github.com/apache/nuttx/pull/6469) wireless/bcm43xxx: remove global variable for bcmf_sdio_thread
* [#6467](https://github.com/apache/nuttx/pull/6467) wireless/bcm43xxx: handle disassoc correctly
* [#6466](https://github.com/apache/nuttx/pull/6466) wireless/bcm43xxx: sort scan result by rssi
* [#6464](https://github.com/apache/nuttx/pull/6464) wireless/bcm43xxx: add more ioctl command support
* [#6636](https://github.com/apache/nuttx/pull/6636) wireless/ieee802154: Don't set IFF_DOWN in mac802154netdev_register
* [#6695](https://github.com/apache/nuttx/pull/6695) bluetooth: fixing BT buffer addref/release balance
* [#6782](https://github.com/apache/nuttx/pull/6782) bluetooth: fix net lock imbalance in drop casse
* [#6672](https://github.com/apache/nuttx/pull/6672) rpmsg socket related update
* [#6670](https://github.com/apache/nuttx/pull/6670) local socket related update
Compatibility Concerns
#6276 - Remove -nostartfiles and -nodefaultlibs from individual board Make.defs.
#6256 - Remove ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef and ARCHWARNINGSXX = -Wall -Wshadow -Wundef and then remove ARCHWARNINGS and ARCHWARNINGSXX from CFLAGS and CXXFLAGS.
#5897 - Remove -fno-exceptions -fcheck-new from ARCHCFLAGS and ARCHCXXFLAGS and change ARCHCFLAGS = to ARCHCFLAGS += and ARCHCXXFLAGS = to ARCHCXXFLAGS +=. C++ exceptions are now managed centrally by Kconfig options CONFIG_CXX_EXCEPTION and CONFIG_CXX_RTTI.
#6144 - Remove from each board:
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
ARCHOPTIMIZATION = -g
endif
and
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
LDFLAGS += -g
endif
as these are now managed centrally by Kconfig option CONFIG_DEBUG_SYMBOLS.
#6155 - Remove from each board:
ifneq ($(CONFIG_DEBUG_NOOPT),y)
ARCHOPTIMIZATION += $(MAXOPTIMIZATION) -fno-strict-aliasing
endif
as these are now managed centrally by Kconfig options CONFIG_DEBUG_OPTLEVEL and CONFIG_DEBUG_FULLOPT.

View file

@ -0,0 +1,808 @@
NuttX-12.0.0
------------
# What's New In This Release
## Core OS Improvements
 * [#7493](https://github.com/apache/incubator-nuttx/pull/7493) sched: clock: adjust clock function to support tick
 * [#7200](https://github.com/apache/incubator-nuttx/pull/7200) sched: clock: Rename g_system_timer to g_system_ticks
 * [#6936](https://github.com/apache/incubator-nuttx/pull/6936) sched: cpuload: fix cpuload error
 * [#7318](https://github.com/apache/incubator-nuttx/pull/7318) sched: env: Skip the envirnment variable duplication of kernel thread
 * [#7490](https://github.com/apache/incubator-nuttx/pull/7490) sched: getprioritymax: handle invaild policy as posix style
 * [#7563](https://github.com/apache/incubator-nuttx/pull/7563) sched: group_setupidlefiles: fall back to /dev/null if /dev/console is disabled
 * [#7235](https://github.com/apache/incubator-nuttx/pull/7235) sched: irq: Refactor irq_spinlock.c
 * [#7469](https://github.com/apache/incubator-nuttx/pull/7469) sched: mutex: NXMUTEX_INITIALIZER should enable priority inheritance
 * [#7095](https://github.com/apache/incubator-nuttx/pull/7095) sched: mqueue: fix resource leak in mq_timedsend()
 * [#7088](https://github.com/apache/incubator-nuttx/pull/7088) sched: msgq: add support of System V message queue
 * [#7838](https://github.com/apache/incubator-nuttx/pull/7838) sched: nx_bringup: Set the initial stack size in kernel build as well
 * [#7492](https://github.com/apache/incubator-nuttx/pull/7492) sched: posix/timer: handle invaild timerid correctly
 * [#6905](https://github.com/apache/incubator-nuttx/pull/6905) sched: prctl: Replace strncpy with strlcpy for safety
 * [#7267](https://github.com/apache/incubator-nuttx/pull/7267) sched: sem: don't clear waitobj when do sem recover
 * [#6967](https://github.com/apache/incubator-nuttx/pull/6967) sched: semaphore: add sem_count temporary variable to improve performance
 * [#6318](https://github.com/apache/incubator-nuttx/pull/6318) sched: semaphore: fix priority boost restoration for priority inheritance
 * [#7456](https://github.com/apache/incubator-nuttx/pull/7456) sched: semaphore: add the wdog judge before cancel
 * [#7583](https://github.com/apache/incubator-nuttx/pull/7583) sched: signal: fix sigtimedwait error handling
 * [#7327](https://github.com/apache/incubator-nuttx/pull/7327) sched: spawn: Add the dummy task_spawnattr_xxxstackyyy in the kernel mode
 * [#7485](https://github.com/apache/incubator-nuttx/pull/7485) sched: spawn: Rename task_spawnattr_[get|set]stack[size|addr] to posix_spawnattr_[get|set]stack[size|addr]
 * [#7597](https://github.com/apache/incubator-nuttx/pull/7597) sched: task: task_getpid: getpid should return process id not thread id
 * [#7018](https://github.com/apache/incubator-nuttx/pull/7018) sched: wqueue: change single queue to double queue to improve speed
 * [#6996](https://github.com/apache/incubator-nuttx/pull/6996) sched: wqueue: fix visual studio Compiler Error C2059
 * [#7477](https://github.com/apache/incubator-nuttx/pull/7477) sched: change the type of tg_joinlock, mm_lock and md_lock from sem_t to mutex_t
 * [#7019](https://github.com/apache/incubator-nuttx/pull/7019) sched: fix corner case wd_cancel assert crash
 * [#7062](https://github.com/apache/incubator-nuttx/pull/7062) sched: fix kasan report error when open CONFIG_DEBUG_MM
 * [#6948](https://github.com/apache/incubator-nuttx/pull/6948) sched: fix macro "SCHED_NOTE_PRINTF" requires 3 argumnets, but only 1 given
 * [#7322](https://github.com/apache/incubator-nuttx/pull/7322) sched: fix runtime error UBSan(division by zero)
 * [#7792](https://github.com/apache/incubator-nuttx/pull/7792) sched: Improve UBSan configuraion
 * [#7159](https://github.com/apache/incubator-nuttx/pull/7159) sched: merge waitsem and msgwaitq
 * [#7791](https://github.com/apache/incubator-nuttx/pull/7791) sched: move _assert to kernel space.
 * [#7837](https://github.com/apache/incubator-nuttx/pull/7837) sched: move sched_note.c to drivers/note
 * [#7810](https://github.com/apache/incubator-nuttx/pull/7810) sched: pthread_mutex_timedlock never returns EINTR
 * [#7816](https://github.com/apache/incubator-nuttx/pull/7816) sched: Remove intr and EINTR from pthread mutex 
 * [#7276](https://github.com/apache/incubator-nuttx/pull/7276) sched: Minor fix backtrace config
 * [#7459](https://github.com/apache/incubator-nuttx/pull/7459) sched: use pid to check idle task
 * [#7196](https://github.com/apache/incubator-nuttx/pull/7196) sched: Optimize sched_note_begin/end
 * [#7471](https://github.com/apache/incubator-nuttx/pull/7471) sched: Remove the unnecessary (FAR sem_t *) cast
 * [#6862](https://github.com/apache/incubator-nuttx/pull/6862) sched: Remove the unnecessary weak_function
 * [#6958](https://github.com/apache/incubator-nuttx/pull/6958) sched: Remove volatile from the task list
 * [#7808](https://github.com/apache/incubator-nuttx/pull/7808) sched: move common assert logic together.
 * [#6987](https://github.com/apache/incubator-nuttx/pull/6987) sched: semaphore and mqueue task list optimize
 * [#7339](https://github.com/apache/incubator-nuttx/pull/7339) sched: Simplify HAVE_GROUP_MEMBERS logic
 * [#6866](https://github.com/apache/incubator-nuttx/pull/6866) sched: Simplify the cpuload process
 * [#7511](https://github.com/apache/incubator-nuttx/pull/7511) sched: remove sched_continue, merge code
 * [#7599](https://github.com/apache/incubator-nuttx/pull/7599) sched: remove nxsched_remove_blocked from up_unblock_task
 * [#7364](https://github.com/apache/incubator-nuttx/pull/7364) sched: Support the stack size and address for posix_spawn and kernel mode
 * [#7415](https://github.com/apache/incubator-nuttx/pull/7415) sched: Pass idle thread envionment variables to the child task through copy
 * [#7454](https://github.com/apache/incubator-nuttx/pull/7454) sched: remove the unused function nx_wait and nx_waitid
 * [#7605](https://github.com/apache/incubator-nuttx/pull/7605) sched: mqueue: make mqueue and mqueue sysv can disable separately
 * [#7656](https://github.com/apache/incubator-nuttx/pull/7656) sched: merge up_block_task and up_unblock_task
 * [#7065](https://github.com/apache/incubator-nuttx/pull/7065) sched: wqueue: fix race-condition on work_queue
 * [#7815](https://github.com/apache/incubator-nuttx/pull/7815) mm: iob: reserved bytes should be updated after each iteration
 * [#7714](https://github.com/apache/incubator-nuttx/pull/7714) mm: iob: new function iob_reserve() to adjust headroom offset
 * [#6836](https://github.com/apache/incubator-nuttx/pull/6836) mm: iob: Remove iob_user_e enum and related code
 * [#6834](https://github.com/apache/incubator-nuttx/pull/6834) mm: iob: modify iob to support header padding and alignment features
 * [#7066](https://github.com/apache/incubator-nuttx/pull/7066) mm: kasan: use init value to avoid kasan used before bss clear
 * [#7509](https://github.com/apache/incubator-nuttx/pull/7509) mm: kasan: fix kasan race-condition #
 * [#6804](https://github.com/apache/incubator-nuttx/pull/6804) mm: mempool: support mempool and show mempool info in procfs
 * [#7450](https://github.com/apache/incubator-nuttx/pull/7450) mm: mempool: support multiple-mempool and enhance mempool
 * [#7581](https://github.com/apache/incubator-nuttx/pull/7581) mm: mm_heap: Change TCB_FLAG_HEAPCHECK to TCB_FLAG_HEAP_CHECK
 * [#7449](https://github.com/apache/incubator-nuttx/pull/7449) mm: mm_heap: optimize MM_XX_SHIFT define
 * [#7495](https://github.com/apache/incubator-nuttx/pull/7495) mm: mm_heap: add debug assert to check the alignment problem
 * [#6928](https://github.com/apache/incubator-nuttx/pull/6928) mm: mm_heap: Avoid assertion violation in case of kmm_free(NULL)
 * [#7662](https://github.com/apache/incubator-nuttx/pull/7662) mm: mm_size2ndx: using flsl to calculate the ndx
 * [#7618](https://github.com/apache/incubator-nuttx/pull/7618) mm: shm: Implement a generic utility API for creating / destroying shm mappings
 * [#7607](https://github.com/apache/incubator-nuttx/pull/7607) mm: shm: Implement shmem drivers for risc-v target
 * [#7134](https://github.com/apache/incubator-nuttx/pull/7134) mm: ubsan: UBSan option should be turned on if SIM_UBSAN enabled
 * [#7301](https://github.com/apache/incubator-nuttx/pull/7301) mm: ubsan: Ubsan
 * [#7285](https://github.com/apache/incubator-nuttx/pull/7285) mm: ubsan: Fixed undefined behavior in UBSan.
 * [#6986](https://github.com/apache/incubator-nuttx/pull/6986) mm: ubsan: Allow custom the sanitizer in Kconfig
 * [#6881](https://github.com/apache/incubator-nuttx/pull/6881) mm: ubsan: debug: Introduce portion of UBSan
 * [#6979](https://github.com/apache/incubator-nuttx/pull/6979) mm: umm_heap: Do not register Umem if CONFIG_BUILD_KERNEL=y
 * [#6995](https://github.com/apache/incubator-nuttx/pull/6995) mm: Check the function result with suitable macro.
 * [#7457](https://github.com/apache/incubator-nuttx/pull/7457) mm: Check for memory leaks in tasks
 * [#6999](https://github.com/apache/incubator-nuttx/pull/6999) mm: fix runtime error by UBSan #
 * [#7536](https://github.com/apache/incubator-nuttx/pull/7536) mm: Refine mm Kconfig
 * [#7551](https://github.com/apache/incubator-nuttx/pull/7551) mm: Remove the unused macro MM_IS_ALLOCATED
 * [#7540](https://github.com/apache/incubator-nuttx/pull/7540) mm: Restore the return type of mm_lock from bool to int
 * [#7424](https://github.com/apache/incubator-nuttx/pull/7424) libc: Add %T and %R conversion specifiers to strftime(3)
 * [#7025](https://github.com/apache/incubator-nuttx/pull/7025) libc: Add check in roundx() functions for infinite or NaN cases
 * [#7724](https://github.com/apache/incubator-nuttx/pull/7724) libc: Add Hexadecimal parsing for strtof
 * [#7661](https://github.com/apache/incubator-nuttx/pull/7661) libc: Add libc_stubs functions
 * [#6898](https://github.com/apache/incubator-nuttx/pull/6898) libc: add lib_dump utils
 * [#7198](https://github.com/apache/incubator-nuttx/pull/7198) libc: add obstack
 * [#7003](https://github.com/apache/incubator-nuttx/pull/7003) libc: add timingsafe_bcmp to libc #
 * [#6861](https://github.com/apache/incubator-nuttx/pull/6861) libc: Add some missing functions to libc.csv
 * [#7345](https://github.com/apache/incubator-nuttx/pull/7345) libc: Added flush of the read buffers when a file is reopened.
 * [#7224](https://github.com/apache/incubator-nuttx/pull/7224) libc: allow to enable LIBC_NETDB directly from menuconfig
 * [#7545](https://github.com/apache/incubator-nuttx/pull/7545) libc: atexit: correct return value of exitfunc lock
 * [#7175](https://github.com/apache/incubator-nuttx/pull/7175) libc: arm: use builtin routines instead of aliases of __aeabi_mem*
 * [#6856](https://github.com/apache/incubator-nuttx/pull/6856) libc: crc: Add full suffix to avoid the the penitential symbol collision
 * [#6841](https://github.com/apache/incubator-nuttx/pull/6841) libc: dns_client: directly initialize g_dns_servers and remove dns_initialize directly
 * [#7117](https://github.com/apache/incubator-nuttx/pull/7117) libc: Ensure key returned from ftok is unique
 * [#7567](https://github.com/apache/incubator-nuttx/pull/7567) libc: fine tune mutex/sem_t implementation
 * [#6959](https://github.com/apache/incubator-nuttx/pull/6959) libc: Fix wrong report by UBSan
 * [#6991](https://github.com/apache/incubator-nuttx/pull/6991) libc: Fixed pow() for negative bases.
 * [#6952](https://github.com/apache/incubator-nuttx/pull/6952) libc: fixes in strtod parser.
 * [#7349](https://github.com/apache/incubator-nuttx/pull/7349) libc: gmtimer: Fixed range of tm_yday.
 * [#7774](https://github.com/apache/incubator-nuttx/pull/7774) libc: hex2bin: Remove the unused declaration
 * [#6806](https://github.com/apache/incubator-nuttx/pull/6806) libc: Implement memfd on top of tmpfs
 * [#7688](https://github.com/apache/incubator-nuttx/pull/7688) libc: include: unified stream read and write interface
 * [#7677](https://github.com/apache/incubator-nuttx/pull/7677) libc: lib_libvsprintf: fix the float point print bug
 * [#6868](https://github.com/apache/incubator-nuttx/pull/6868) libc: libc.csv: Add new found missing functions
 * [#7343](https://github.com/apache/incubator-nuttx/pull/7343) libc: libfread: Fixed error flag when reading a write-only file.
 * [#6783](https://github.com/apache/incubator-nuttx/pull/6783) libc: localtime: fix some issues and update to consistent with mainline
 * [#7657](https://github.com/apache/incubator-nuttx/pull/7657) libc: machine: xtensa: make longjmp safe against context switch
 * [#7681](https://github.com/apache/incubator-nuttx/pull/7681) libc: Minor stream interface improvement
 * [#7700](https://github.com/apache/incubator-nuttx/pull/7700) libc: Minor fix for vsprintf and stream
 * [#6840](https://github.com/apache/incubator-nuttx/pull/6840) libc: move crc8.h, crc16.h and crc32.h from include to include/nuttx
 * [#7372](https://github.com/apache/incubator-nuttx/pull/7372) libc: move param check to sem_xx level
 * [#7185](https://github.com/apache/incubator-nuttx/pull/7185) libc: Move queue.h from include to include/nuttx
 * [#7820](https://github.com/apache/incubator-nuttx/pull/7820) libc: netdb: add proto.c
 * [#7289](https://github.com/apache/incubator-nuttx/pull/7289) libc: newlib/impure: declare thread specific file only if __NEWLIB__ is defined
 * [#7281](https://github.com/apache/incubator-nuttx/pull/7281) libc: newlib/impure: sync with newlib(4.2.0) reent update
 * [#7667](https://github.com/apache/incubator-nuttx/pull/7667) libc: obstack, mm/circbuf: Fix non-standard usage of void* arithmetics
 * [#7716](https://github.com/apache/incubator-nuttx/pull/7716) libc: optimize the code of the printf
 * [#6954](https://github.com/apache/incubator-nuttx/pull/6954) libc: Port strtod fixes to strtof, strtold and improve comments
 * [#7565](https://github.com/apache/incubator-nuttx/pull/7565) libc: pthread_barrier:don't destroy when barrier used
 * [#7644](https://github.com/apache/incubator-nuttx/pull/7644) libc: pthread: Change stacksize type from long to size_t
 * [#7005](https://github.com/apache/incubator-nuttx/pull/7005) libc: pthread: fix typo with CONFIG_PTHREAD_MUTEX_DEFAULT_PRIO_INHERIT
 * [#6805](https://github.com/apache/incubator-nuttx/pull/6805) libc: Remove CONFIG_LIBC_ERR
 * [#7116](https://github.com/apache/incubator-nuttx/pull/7116) libc: Remove LIBC_ERR from libs/libc/misc/Kconfig
 * [#7151](https://github.com/apache/incubator-nuttx/pull/7151) libc: Remove the reference of _stext/_etext from lib_cxx_initialize.c
 * [#5070](https://github.com/apache/incubator-nuttx/pull/5070) libc: semaphore: sem_init change defult protocol
 * [#7710](https://github.com/apache/incubator-nuttx/pull/7710) libc: signal: correct the return values
 * [#7499](https://github.com/apache/incubator-nuttx/pull/7499) libc: spawn: Always build lib_psa_[get|set]stacksize.c
 * [#6152](https://github.com/apache/incubator-nuttx/pull/6152) libc: stdio: Add stdio file locking functions
 * [#7770](https://github.com/apache/incubator-nuttx/pull/7770) libc: stdio: add total_len back
 * [#7310](https://github.com/apache/incubator-nuttx/pull/7310) libc: stdio: fix ungetc operation
 * [#7715](https://github.com/apache/incubator-nuttx/pull/7715) libc: stream: add putc interface for mtd/blk stream.
 * [#7694](https://github.com/apache/incubator-nuttx/pull/7694) libc: stream: Remove \n special handle from syslogstream_putc
 * [#7772](https://github.com/apache/incubator-nuttx/pull/7772) libc: stream: Rename [lib_stream_](put|get) to [lib_stream_](putc|getc)
 * [#7348](https://github.com/apache/incubator-nuttx/pull/7348) libc: strftime: Added support for the %w format specifier.
 * [#7455](https://github.com/apache/incubator-nuttx/pull/7455) libc: time: fix regression in clock_calendar2utc
 * [#7440](https://github.com/apache/incubator-nuttx/pull/7440) libc: time: mktime normalize struct tm
 * [#7819](https://github.com/apache/incubator-nuttx/pull/7819) openamp: don't depend on pen-amp.zip and libmetal.zip in the git mode
 * [#7534](https://github.com/apache/incubator-nuttx/pull/7534) openamp: update openmap lib version to 2022.10.0
 * [#7279](https://github.com/apache/incubator-nuttx/pull/7279) openamp: libmetal: support other arch sim host
 * [#7444](https://github.com/apache/incubator-nuttx/pull/7444) openamp: fix rptun don't wait issue when get tx patyload buffer
 * [#6910](https://github.com/apache/incubator-nuttx/pull/6910) syscall: fix task_testcancel header file
 * [#7557](https://github.com/apache/incubator-nuttx/pull/7557) syscall: prctl syscall is present unconditionally
 * [#6824](https://github.com/apache/incubator-nuttx/pull/6824) syscall: remove directory related function declaration since it become normal libc api after #6803
 * [#7735](https://github.com/apache/incubator-nuttx/pull/7735) Add linux-like panic notifier.
 * [#6994](https://github.com/apache/incubator-nuttx/pull/6994) binfmt: Check return pointer.
 * [#7498](https://github.com/apache/incubator-nuttx/pull/7498) binfmt: elf_addrenv_free select addrenv before up_addrenv_destroy
 * [#7473](https://github.com/apache/incubator-nuttx/pull/7473) Call nxsem_destroy or nxmutex_destry in the error path
 * [#6983](https://github.com/apache/incubator-nuttx/pull/6983) compiler.h: Rename inline_function to always_inline_function
 * [#7561](https://github.com/apache/incubator-nuttx/pull/7561) crypto: random_pool:add a new api arc4random
 * [#7516](https://github.com/apache/incubator-nuttx/pull/7516) fix a mistake about nxmutex & sem
 * [#6961](https://github.com/apache/incubator-nuttx/pull/6961) Fixed format specifier in various prints.
 * [#7532](https://github.com/apache/incubator-nuttx/pull/7532) hwspinlock: add hwspinlock driver for multi CPU
 * [#7472](https://github.com/apache/incubator-nuttx/pull/7472) Initialize global mutext/sem by NXMUTEX_INITIALIZER and SEM_INITIALIZER
 * [#6926](https://github.com/apache/incubator-nuttx/pull/6926) list.h: Change inline function to macro as much as possbile
 * [#7517](https://github.com/apache/incubator-nuttx/pull/7517) nxmutex: minor fix for mutex lock mismatch
 * [#6965](https://github.com/apache/incubator-nuttx/pull/6965) nxmutex: replace nxsem when used as a lock
 * [#6966](https://github.com/apache/incubator-nuttx/pull/6966) queue: Change some queue function to macro
 * [#6906](https://github.com/apache/incubator-nuttx/pull/6906) Replace all strncpy with strlcpy for safety
 * [#7590](https://github.com/apache/incubator-nuttx/pull/7590) sys: boardctl: Add more reset causes to enum
 * [#7033](https://github.com/apache/incubator-nuttx/pull/7033) timer: add arch_alarm tick interface
 * [#7115](https://github.com/apache/incubator-nuttx/pull/7115) time: Typedef time_t to uint64_t if CONFIG_SYSTEM_TIME64 is defined
 * [#6981](https://github.com/apache/incubator-nuttx/pull/6981) up_nputs: fix AddressSanitizer: global-buffer-overflow problem
 * [#7420](https://github.com/apache/incubator-nuttx/pull/7420) Update errno to match asm-generic
## Build System Improvements
 * [#7419](https://github.com/apache/incubator-nuttx/pull/7419) Makefile: Remove INCDIROPT
 * [#7118](https://github.com/apache/incubator-nuttx/pull/7118) Remove EXPERIMENTAL from some long existent config
 * [#7043](https://github.com/apache/incubator-nuttx/pull/7043) Kconfig: EXPERIMENTAL: Add help text and change prompt label
 * [#7052](https://github.com/apache/incubator-nuttx/pull/7052) Config.mk: Add COMPILEZIG
 * [#6885](https://github.com/apache/incubator-nuttx/pull/6885) Make the full image instrumentation configurable
 * [#7272](https://github.com/apache/incubator-nuttx/pull/7272) tools: Added Kconfig option for ccache.
 * [#7048](https://github.com/apache/incubator-nuttx/pull/7048) tools: Optimizing mkallsyms scripts with python
 * [#7103](https://github.com/apache/incubator-nuttx/pull/7103) tools: configure.sh: Update USAGE for custom out-of-tree boards
 * [#7081](https://github.com/apache/incubator-nuttx/pull/7081) tools: b16.c: Fix usage text
 * [#7080](https://github.com/apache/incubator-nuttx/pull/7080) tools: pic32: Add description, fix nxstyle, fix typos
 * [#7076](https://github.com/apache/incubator-nuttx/pull/7076) tools: Remove duplicate calls and optimize compilation speed
 * [#7569](https://github.com/apache/incubator-nuttx/pull/7569) tools: Win.mk Fix error in Windows native build
 * [#7556](https://github.com/apache/incubator-nuttx/pull/7556) tools: incdir.bat
 * [#7849](https://github.com/apache/incubator-nuttx/pull/7849) tools: Fix ccache: error: Could not find compiler "x86_64-elf-gcc" in PATH
 * [#7552](https://github.com/apache/incubator-nuttx/pull/7552) tools: ignore errors when indir does not exist
 * [#7658](https://github.com/apache/incubator-nuttx/pull/7658) tools: Config: Fix error caused by double quotation in Windows native build
 * [#7357](https://github.com/apache/incubator-nuttx/pull/7357) tools: Fix an issue that libboard.a is not exported
 * [#7686](https://github.com/apache/incubator-nuttx/pull/7686) tools: nuttx-gdbinit: restore the context at the end of each command
 * [#7594](https://github.com/apache/incubator-nuttx/pull/7594) tools: configure.bat: Update USAGE
 * [#7765](https://github.com/apache/incubator-nuttx/pull/7765) tools: define.bat: sync design of define.bat with define.sh to uniform usage
 * [#7572](https://github.com/apache/incubator-nuttx/pull/7572) tools: Fix various error in Windows native build
 * [#7560](https://github.com/apache/incubator-nuttx/pull/7560) tools: Fix some buid error
 * [#7529](https://github.com/apache/incubator-nuttx/pull/7529) tools: Fix some configure error in Windows native build
## Architectural Support
### New Architecture Support
 * [#7011](https://github.com/apache/incubator-nuttx/pull/7011) arch: arm: add chip GD32F450 of GD32MCU 
 * [#7125](https://github.com/apache/incubator-nuttx/pull/7125) arch: arm: initial support for NRF5340 
 * [#7443](https://github.com/apache/incubator-nuttx/pull/7443) arch: sparc: add initial support for S698PM chip and SMP
 * [#7692](https://github.com/apache/incubator-nuttx/pull/7692) arch: arm: arm64: Add support for PINE64 PinePhone
### Architecture Improvements
 * [#7804](https://github.com/apache/incubator-nuttx/pull/7804) arch: arch_alarm: don't init local variable for fpu test case fail
 * [#7160](https://github.com/apache/incubator-nuttx/pull/7160) arch: Change the linker generated symbols from uint32_t to uint8_t *
 * [#6919](https://github.com/apache/incubator-nuttx/pull/6919) arch: common: Fix arm_allocateheap.c for BUILD_KERNEL
 * [#7503](https://github.com/apache/incubator-nuttx/pull/7503) arch: Fix linking of multiple preprocessed linker script files
 * [#7208](https://github.com/apache/incubator-nuttx/pull/7208) arch: makefile: preprocess link script to make configure more flexibly
 * [#7140](https://github.com/apache/incubator-nuttx/pull/7140) arch: Move _vector and g_current_regs definition to common place
 * [#7621](https://github.com/apache/incubator-nuttx/pull/7621) arch: Refine SCTLR register configuration to confirm the spec
 * [#7463](https://github.com/apache/incubator-nuttx/pull/7463) arch: Remove the unnecessary nosanitize_address from backtrace source code
 * [#7430](https://github.com/apache/incubator-nuttx/pull/7430) arch: Replace __builtin_bswapxx with bswapxx
 * [#7106](https://github.com/apache/incubator-nuttx/pull/7106) arch: Remove FAR from 32bit/64bit arch
 * [#6833](https://github.com/apache/incubator-nuttx/pull/6833) arch: SMP: fix crash when switch to new task which is still running
 * [#7610](https://github.com/apache/incubator-nuttx/pull/7610) arch: rename arch special function name
 * [#7436](https://github.com/apache/incubator-nuttx/pull/7436) arch: arm: Added breakpoint in stack overflow trap.
 * [#7100](https://github.com/apache/incubator-nuttx/pull/7100) arch: arm: add support for armclang compiler(AC6)
 * [#7818](https://github.com/apache/incubator-nuttx/pull/7818) arch: arm: add syscall SYS_save_context support for old arm and armv7-r
 * [#7448](https://github.com/apache/incubator-nuttx/pull/7448) arch: arm: added DHCSR definitions for ARMv7 & ARMv8.
 * [#7187](https://github.com/apache/incubator-nuttx/pull/7187) arch: arm: armlink: add support of link time optimization(lto)
 * [#7767](https://github.com/apache/incubator-nuttx/pull/7767) arch: arm: arm_syscall: add SYS_save_context for armv7-a
 * [#7283](https://github.com/apache/incubator-nuttx/pull/7283) arch: arm: backtrace: rename arm_backtrace_thumb.c to arm_backtrace_sp.c
 * [#7260](https://github.com/apache/incubator-nuttx/pull/7260) arch: arm: backtrace: add support for EHABI(Exception Handling ABI) stack unwinder
 * [#7119](https://github.com/apache/incubator-nuttx/pull/7119) arch: arm: correct global symbol name
 * [#6968](https://github.com/apache/incubator-nuttx/pull/6968) arch: arm: change context switch to macro
 * [#7120](https://github.com/apache/incubator-nuttx/pull/7120) arch: arm: declare vector array default type to read-only
 * [#7173](https://github.com/apache/incubator-nuttx/pull/7173) arch: arm: declare vector array default type to read-only
 * [#7502](https://github.com/apache/incubator-nuttx/pull/7502) arch: arm: document the clever trick of PRI?32 macros
 * [#7154](https://github.com/apache/incubator-nuttx/pull/7154) arch: arm: fallback to common toolchain if armeb(endian big) is unavailable
 * [#7068](https://github.com/apache/incubator-nuttx/pull/7068) arch: arm: fix backtrace busyloop
 * [#7158](https://github.com/apache/incubator-nuttx/pull/7158) arch: arm: fix conditional compilation term (#else)
 * [#7755](https://github.com/apache/incubator-nuttx/pull/7755) arch: arm: generating assemble code in ARM states by default
 * [#7827](https://github.com/apache/incubator-nuttx/pull/7827) arch: arm: Kconfig: add cortex-m85 config
 * [#7128](https://github.com/apache/incubator-nuttx/pull/7128) arch: arm: makefile: linking libraries with GCC should use option -l
 * [#7830](https://github.com/apache/incubator-nuttx/pull/7830) arch: arm: qemu-armv8a/netnsh: Set iob buffer size to 1514 to improve performance
 * [#7165](https://github.com/apache/incubator-nuttx/pull/7165) arch: arm: redefine the linker symbols as armlink style
 * [#7824](https://github.com/apache/incubator-nuttx/pull/7824) arch: arm: only compare callee-saved registers for fpu
 * [#7337](https://github.com/apache/incubator-nuttx/pull/7337) arch: arm: Remove the unnecessary cast for main_t, NULL and argv
 * [#7775](https://github.com/apache/incubator-nuttx/pull/7775) arch: arm: sync ARM_THUMB support from cortex-a
 * [#7653](https://github.com/apache/incubator-nuttx/pull/7653) arch: arm: llvm/clang: add support for LLVMEmbeddedToolchainForArm release-15.0.2
 * [#7212](https://github.com/apache/incubator-nuttx/pull/7212) arch: arm: armv[7|8]-m: Implement up_invalidate_icache
 * [#7288](https://github.com/apache/incubator-nuttx/pull/7288) arch: arm: armv7-a: add l2 page mapping interface
 * [#7064](https://github.com/apache/incubator-nuttx/pull/7064) arch: arm: armv7-a: icache also need SMP cache coherency configuration
 * [#7141](https://github.com/apache/incubator-nuttx/pull/7141) arch: arm: armv7-a: mmu enable should after enable SMP
 * [#7149](https://github.com/apache/incubator-nuttx/pull/7149) arch: arm: armv7-a: remove the code for CONFIG_ARCH_PGPOOL_MAPPING=n
 * [#7290](https://github.com/apache/incubator-nuttx/pull/7290) arch: arm: armv7-a: set normal memory shareable in smp mode
 * [#7171](https://github.com/apache/incubator-nuttx/pull/7171) arch: arm: armv7-r: correct include path of chip.h
 * [#7718](https://github.com/apache/incubator-nuttx/pull/7718) arch: arm: armv7-r: correct the wrong usage of ARMV7A_XX marco
 * [#7577](https://github.com/apache/incubator-nuttx/pull/7577) arch: arm: armv7-r: fix arm_gic_nlines redefines
 * [#7190](https://github.com/apache/incubator-nuttx/pull/7190) arch: arm: armv7-r: fix build break on armlink
 * [#7155](https://github.com/apache/incubator-nuttx/pull/7155) arch: arm: armv7-r: remove incorrect include header "addrenv.h"
 * [#7773](https://github.com/apache/incubator-nuttx/pull/7773) arch: arm: armv7-r: sync ARM_THUMB support from cortex-a
 * [#7513](https://github.com/apache/incubator-nuttx/pull/7513) arch: arm: armv7-a/r: add isb after CACHE and TLB operations.
 * [#7195](https://github.com/apache/incubator-nuttx/pull/7195) arch: arm: armv7-a/r: SMP hande all cores start at same time
 * [#7338](https://github.com/apache/incubator-nuttx/pull/7338) arch: arm: armv7-a/r: Don't define fiq stack if CONFIG_ARMV7A_DECODEFIQ=n
 * [#7751](https://github.com/apache/incubator-nuttx/pull/7751) arch: arm: armv7-a/r: thumb: force assembler files to be interpreted as Thumb code
 * [#7129](https://github.com/apache/incubator-nuttx/pull/7129) arch: arm: armv7-a/r: Implement up_affinity_irq
 * [#7144](https://github.com/apache/incubator-nuttx/pull/7144) arch: arm: armv7-a/r: only primary can do invalidate_dcache_all() at startting
 * [#7113](https://github.com/apache/incubator-nuttx/pull/7113) arch: arm: armv7-a/r: refact cp15_cache functions
 * [#7045](https://github.com/apache/incubator-nuttx/pull/7045) arch: arm: armv7-a/r: use SRS and RFE for exception handler
 * [#7063](https://github.com/apache/incubator-nuttx/pull/7063) arch: arm: armv7-a/r: use generic timer to realize arm_timer
 * [#7067](https://github.com/apache/incubator-nuttx/pull/7067) arch: arm: armv7-a/r: cache: fix up_clean_dcache() slowly
 * [#7099](https://github.com/apache/incubator-nuttx/pull/7099) arch: arm: armv7-a/r: modify regs index to improve exception performance
 * [#7384](https://github.com/apache/incubator-nuttx/pull/7384) arch: arm: armv8-m MPU fixes
 * [#7423](https://github.com/apache/incubator-nuttx/pull/7423) arch: arm: toolchain: update toolchain comment to avoid confusion
 * [#7406](https://github.com/apache/incubator-nuttx/pull/7406) arch: arm: cxd56xx: Fix stall bulk xfer when sending 512 byte data
 * [#7405](https://github.com/apache/incubator-nuttx/pull/7405) arch: arm: cxd56xx: Fix deadlock by using GNSS CEP file on SPI-Flash
 * [#6842](https://github.com/apache/incubator-nuttx/pull/6842) arch: arm: imx6: enet update
 * [#7096](https://github.com/apache/incubator-nuttx/pull/7096) arch: arm: imxrt: add support for PWM synchronization
 * [#7164](https://github.com/apache/incubator-nuttx/pull/7164) arch: arm: imxrt: add support for ADC triggering by an external signal
 * [#7593](https://github.com/apache/incubator-nuttx/pull/7593) arch: arm: imxrt: add Support for NXP TJA1103 PHY
 * [#6989](https://github.com/apache/incubator-nuttx/pull/6989) arch: arm: imxrt: encoder: add support for QEIOC_GETINDEX ioctl
 * [#7146](https://github.com/apache/incubator-nuttx/pull/7146) arch: arm: imxrt: disable PWM synchronization when XBAR connection fails
 * [#7178](https://github.com/apache/incubator-nuttx/pull/7178) arch: arm: lc823450: Fix to boot
 * [#6813](https://github.com/apache/incubator-nuttx/pull/6813) arch: arm: kinetis: EDMA update
 * [#7111](https://github.com/apache/incubator-nuttx/pull/7111) arch: arm: phy62xx: support MTDIOC_ERASESTATE
 * [#7142](https://github.com/apache/incubator-nuttx/pull/7142) arch: arm: sama5: add SAMA5D2 support for SAMA5 xdma driver
 * [#7698](https://github.com/apache/incubator-nuttx/pull/7698) arch: arm: sama5: Corrects PIO errors and omissions for SAMA5D2
 * [#7740](https://github.com/apache/incubator-nuttx/pull/7740) arch: arm: sama5: fix recursive dependency
 * [#7702](https://github.com/apache/incubator-nuttx/pull/7702) arch: arm: sama5: Fix SAMA5D2 ADC and TSD problems
 * [#7730](https://github.com/apache/incubator-nuttx/pull/7730) arch: arm: sama5: Fixes for SAMA5D2 Flexcom USART
 * [#7761](https://github.com/apache/incubator-nuttx/pull/7761) arch: arm: sama5: SAMA5D2 TDC, ADC and TC Corrections
 * [#7112](https://github.com/apache/incubator-nuttx/pull/7112) arch: arm: samv7: fix random corruption of data after SDIO RX DMA transaction
 * [#6830](https://github.com/apache/incubator-nuttx/pull/6830) arch: arm: samv7: get TX DMA running for HSMCI interface
 * [#6814](https://github.com/apache/incubator-nuttx/pull/6814) arch: arm: s32k1xx: EDMA clean up and loop support
 * [#7758](https://github.com/apache/incubator-nuttx/pull/7758) arch: arm: s32k1xx: LPI2C Add DMA support and fix compile
 * [#6821](https://github.com/apache/incubator-nuttx/pull/6821) arch: arm: s32k1xx: LPI2C Add DMA support
 * [#6882](https://github.com/apache/incubator-nuttx/pull/6882) arch: arm: S32K1xx: Fixed PM bug for clockconfig
 * [#7216](https://github.com/apache/incubator-nuttx/pull/7216) arch: arm: s32k1xx: Fix FlexIO timer register access macros
 * [#7217](https://github.com/apache/incubator-nuttx/pull/7217) arch: arm: s32k1xx: Allow building with debug features and no console.
 * [#7737](https://github.com/apache/incubator-nuttx/pull/7737) arch: arm: s32K3xx: RAM fixes
 * [#7759](https://github.com/apache/incubator-nuttx/pull/7759) arch: arm: s32k3xx: EDMA add looping and Error handling
 * [#7757](https://github.com/apache/incubator-nuttx/pull/7757) arch: arm: s32k3xx: EDMA fix DMAMUX1 access violation
 * [#7784](https://github.com/apache/incubator-nuttx/pull/7784) arch: arm: s32k3xx: EDMA Set Backdoor for DTCM memory map
 * [#7538](https://github.com/apache/incubator-nuttx/pull/7538) arch: arm: stm32_eth: Fix in assertion parameters.
 * [#7611](https://github.com/apache/incubator-nuttx/pull/7611) arch: arm: stm32: fix ADC clock after ef517ed
 * [#7592](https://github.com/apache/incubator-nuttx/pull/7592) arch: arm: stm32: 1wire: Don't free the context if the reference doesn't equal zero
 * [#7385](https://github.com/apache/incubator-nuttx/pull/7385) arch: arm: stm32: socketcan: fix the EFF flag for received frames
 * [#7347](https://github.com/apache/incubator-nuttx/pull/7347) arch: arm: stm32: socketcan: fixes for arm_netinitialize
 * [#7346](https://github.com/apache/incubator-nuttx/pull/7346) arch: arm: stm32f7: add SocketCAN support
 * [#6930](https://github.com/apache/incubator-nuttx/pull/6930) arch: arm: stm32f7: fix syslog formats
 * [#6831](https://github.com/apache/incubator-nuttx/pull/6831) arch: arm: stm32f7: fix cache invalidation issue in Ethernet RX
 * [#6889](https://github.com/apache/incubator-nuttx/pull/6889) arch: arm: stm32f7: Kconfig: add STM32F7_SYSCFG
 * [#6810](https://github.com/apache/incubator-nuttx/pull/6810) arch: arm: stm32f7: port ADC driver from arch/stm32
 * [#6811](https://github.com/apache/incubator-nuttx/pull/6811) arch: arm: stm32f7: port FOC driver from arch/stm32
 * [#6809](https://github.com/apache/incubator-nuttx/pull/6809) arch: arm: stm32f7: port PWM driver from arch/stm32
 * [#6880](https://github.com/apache/incubator-nuttx/pull/6880) arch: arm: stm32f7: stm32_otghost.c: fix undeclared ret
 * [#7763](https://github.com/apache/incubator-nuttx/pull/7763) arch: arm: stm32f7: stm32f746 usb
 * [#7258](https://github.com/apache/incubator-nuttx/pull/7258) arch: arm: stm32h7: Add support for dual bank flash
 * [#7359](https://github.com/apache/incubator-nuttx/pull/7359) arch: arm: stm32h7: Add support for stm32h7b3xx MCU's flash
 * [#7417](https://github.com/apache/incubator-nuttx/pull/7417) arch: arm: stm32h7: Allow the use of the Network Monitor via polling
 * [#7017](https://github.com/apache/incubator-nuttx/pull/7017) arch: arm: stm32h7: kconfig
 * [#7401](https://github.com/apache/incubator-nuttx/pull/7401) arch: arm: stm32h7: multiple fixes for stm32h7 flash interface
 * [#6984](https://github.com/apache/incubator-nuttx/pull/6984) arch: arm: stm32h7: stm32_fdcan_sock: fix the FDCAN_LOOPBACK config macros
 * [#7174](https://github.com/apache/incubator-nuttx/pull/7174) arch: arm: stm32h7: SDMMC fix unaligned access for buffers not on 32 bit boundaries
 * [#7194](https://github.com/apache/incubator-nuttx/pull/7194) arch: arm: stm32h7: stm32_fdcan_sock: reserve space for timeval struct in the int…
 * [#6875](https://github.com/apache/incubator-nuttx/pull/6875) arch: arm: stm32l4: ADC: Change hardware trigger configuration
 * [#7167](https://github.com/apache/incubator-nuttx/pull/7167) arch: arm: stm32l5: fix conditional compilation term (#else)
 * [#7162](https://github.com/apache/incubator-nuttx/pull/7162) arch: arm: stm32u5: fix conditional compilation term (#else)
 * [#7166](https://github.com/apache/incubator-nuttx/pull/7166) arch: arm: stm32wl5: fix conditional compilation term (#else)
 * [#6781](https://github.com/apache/incubator-nuttx/pull/6781) arch: arm: stm32wl5: Multiple improvements for stm32wl5 board nucleo-stm32wl5jc 
 * [#6998](https://github.com/apache/incubator-nuttx/pull/6998) arch: arm: rp2040: Added SMART filesystem to RP2040 #
 * [#7037](https://github.com/apache/incubator-nuttx/pull/7037) arch: arm: rp2040: Add watchdog driver support to RP2040
 * [#7044](https://github.com/apache/incubator-nuttx/pull/7044) arch: arm: rp2040: Code Cleanup
 * [#7036](https://github.com/apache/incubator-nuttx/pull/7036) arch: arm: rp2040: Eliminate un-needed wait in rp2040 SMART filesystem
 * [#7021](https://github.com/apache/incubator-nuttx/pull/7021) arch: arm: rp2040: Fix race condition in RaspberryPi Pico W WiFi
 * [#7321](https://github.com/apache/incubator-nuttx/pull/7321) arch: arm: rp2040: Use the correct marcro name for RP2040_UART0_BASE
 * [#7029](https://github.com/apache/incubator-nuttx/pull/7029) arch: arm: telink: add custom setjmp implementation for tlsr82.
 * [#7204](https://github.com/apache/incubator-nuttx/pull/7204) arch: arm: tlsr82: move peripherals pin config to board.h
 * [#7172](https://github.com/apache/incubator-nuttx/pull/7172) arch: arm: tlsr82: replace incompatible instruction sets to internal implement
 * [#7133](https://github.com/apache/incubator-nuttx/pull/7133) arch: arm: tlsr82: serial: clear tx index also when uart_reset called.
 * [#7130](https://github.com/apache/incubator-nuttx/pull/7130) arch: arm: tlsr82: Use flase_read ins of memcpy
 * [#7630](https://github.com/apache/incubator-nuttx/pull/7630) arch: arm64: add support for Generic Interrupt Controller Version 2
 * [#7304](https://github.com/apache/incubator-nuttx/pull/7304) arch: arm64: add Cortex-A57 and Cortex-A72 configurations
 * [#7362](https://github.com/apache/incubator-nuttx/pull/7362) arch: arm64: arm64_arch_timer: delete unused includes
 * [#7256](https://github.com/apache/incubator-nuttx/pull/7256) arch: arm64: arm64_mmu: add mmu_nxrt_config
 * [#7295](https://github.com/apache/incubator-nuttx/pull/7295) arch: arm64: cleanup defconfigs
 * [#7745](https://github.com/apache/incubator-nuttx/pull/7745) arch: arm64: Fix qemu_pl011_txint() in qemu_serial.c
 * [#7262](https://github.com/apache/incubator-nuttx/pull/7262) arch: arm64: qemu/qemu_boot: fix wrong memory size
 * [#7623](https://github.com/apache/incubator-nuttx/pull/7623) arch: arm64: Move group_addrenv to arm64_syscall_switch
 * [#7261](https://github.com/apache/incubator-nuttx/pull/7261) arch: arm64: update to follow NuttX C Coding Standard
 * [#6815](https://github.com/apache/incubator-nuttx/pull/6815) arch: mips: pic32mx: add option to disable JTAG at runtime
 * [#6962](https://github.com/apache/incubator-nuttx/pull/6962) arch: risc-v: addrenv #
 * [#7246](https://github.com/apache/incubator-nuttx/pull/7246) arch: risc-v: address environments: Add basic sanity checks for section boundaries
 * [#7252](https://github.com/apache/incubator-nuttx/pull/7252) arch: risc-v: BUILD_KERNEL + SMP
 * [#6957](https://github.com/apache/incubator-nuttx/pull/6957) arch: risc-v: Dump trap val in exception handler
 * [#6817](https://github.com/apache/incubator-nuttx/pull/6817) arch: risc-v: Fix kernel MMU mapping for L3 table
 * [#7744](https://github.com/apache/incubator-nuttx/pull/7744) arch: risc-v: Fix nsec overflow in riscv_mtimer_current()
 * [#6963](https://github.com/apache/incubator-nuttx/pull/6963) arch: risc-v: Fix up_check_tcbstack() for CONFIG_ARCH_ADDRENV=y
 * [#7242](https://github.com/apache/incubator-nuttx/pull/7242) arch: risc-v: Introduce g_percpu_spin in riscv_percpu.c
 * [#7249](https://github.com/apache/incubator-nuttx/pull/7249) arch: risc-v: Introduce RISCV_IPI macro for SMP
 * [#6818](https://github.com/apache/incubator-nuttx/pull/6818) arch: risc-v: Implement riscv_sbi_set_timer
 * [#7137](https://github.com/apache/incubator-nuttx/pull/7137) arch: risc-v: Remove FPU support from qemu-rv
 * [#7823](https://github.com/apache/incubator-nuttx/pull/7823) arch: risc-v: mmu-mappings: Mark kernel page tables as NOLOAD to save ROM space in kernel
 * [#7229](https://github.com/apache/incubator-nuttx/pull/7229) arch: risc-v: bl602: Add initial DMA support, including SPI over DMA.
 * [#7280](https://github.com/apache/incubator-nuttx/pull/7280) arch: risc-v: bl602/dma: Fix possible call of null pointer
 * [#7263](https://github.com/apache/incubator-nuttx/pull/7263) arch: risc-v: bl602: Fix bug in lli functionality for dma.
 * [#7228](https://github.com/apache/incubator-nuttx/pull/7228) arch: risc-v: qemu-rv: Add M-timer handling for BUILD_KERNEL
 * [#7221](https://github.com/apache/incubator-nuttx/pull/7221) arch: risc-v: qemu-rv: Fix qemu_rv_start_s() for S-mode
 * [#7244](https://github.com/apache/incubator-nuttx/pull/7244) arch: risc-v: qemu-rv: Fix build errors in chip.h for BUILD_KERNEL + SMP
 * [#6848](https://github.com/apache/incubator-nuttx/pull/6848) arch: risc-v: qemu-rv: Fix high CPU usage in SMP mode
 * [#7254](https://github.com/apache/incubator-nuttx/pull/7254) arch: risc-v: qemu-rv: Fix timer and IPI handling for BUILD_KERNEL+SMP
 * [#7259](https://github.com/apache/incubator-nuttx/pull/7259) arch: risc-v: qemu-rv: Refactor the entry point name for BUILD_KERNEL
 * [#7829](https://github.com/apache/incubator-nuttx/pull/7829) arch: risc-v: esp32: Fix maximum I2C FIFO size (now SSD1306 will work)
 * [#7822](https://github.com/apache/incubator-nuttx/pull/7822) arch: risc-v: esp32[-S2/-S3]: Refactor and rename linker scripts
 * [#7800](https://github.com/apache/incubator-nuttx/pull/7800) arch: risc-v: esp32: Optimize macro and ensure overwrite protection
 * [#7790](https://github.com/apache/incubator-nuttx/pull/7790) arch: risc-v: esp32: Modify REG_[GET/SET]_FIELD to use [get/set]reg32
 * [#7817](https://github.com/apache/incubator-nuttx/pull/7817) arch: risc-v: es32c3: improve passthrough performance by iob offload
 * [#7637](https://github.com/apache/incubator-nuttx/pull/7637) arch: risc-v: esp32c3: fix i2c bug of timout
 * [#7214](https://github.com/apache/incubator-nuttx/pull/7214) arch: risc-v: esp32c3: Fix retrieval for linker-defined symbol 
 * [#6988](https://github.com/apache/incubator-nuttx/pull/6988) arch: risc-v: esp32c3: Fix some UBSAN shift-out-of-bounds warnings
 * [#7439](https://github.com/apache/incubator-nuttx/pull/7439) arch: risc-v: esp32[-s2/-s3/-c3]: Re-sort SPI Flash configs
 * [#7445](https://github.com/apache/incubator-nuttx/pull/7445) arch: risc-v: fix bl602 i2c sem init mistake
 * [#7060](https://github.com/apache/incubator-nuttx/pull/7060) arch: risc-v: mmu: Fix L3 mappings for kernel, and mpfs protected mode user space
 * [#7270](https://github.com/apache/incubator-nuttx/pull/7270) arch: risc-v: mpfs: Add a config option for enabling L2 cache
 * [#7460](https://github.com/apache/incubator-nuttx/pull/7460) arch: risc-v: mpfs: Add a configuration flag for SD-card card detec…
 * [#7203](https://github.com/apache/incubator-nuttx/pull/7203) arch: risc-v: mpfs: add conf flags for ddr
 * [#7047](https://github.com/apache/incubator-nuttx/pull/7047) arch: risc-v: mpfs: emmcsd: allow switching from SD to eMMC
 * [#7092](https://github.com/apache/incubator-nuttx/pull/7092) arch: risc-v: mpfs: emmcsd: further enhance the clocking
 * [#7075](https://github.com/apache/incubator-nuttx/pull/7075) arch: risc-v: mpfs: emmcsd: provide options for selecting clk speed
 * [#7526](https://github.com/apache/incubator-nuttx/pull/7526) arch: risc-v: mpfs: Fix the section align mask checks
 * [#6911](https://github.com/apache/incubator-nuttx/pull/6911) arch: risc-v: mpfs: Fixes for MSSIO GPIO configurations
 * [#7507](https://github.com/apache/incubator-nuttx/pull/7507) arch: risc-v: mpfs: ihc rework
 * [#6922](https://github.com/apache/incubator-nuttx/pull/6922) arch: risc-v: mpfs: ihc: fix performance issue
 * [#6902](https://github.com/apache/incubator-nuttx/pull/6902) arch: risc-v: mpfs: ihc: update vq ids 
 * [#6872](https://github.com/apache/incubator-nuttx/pull/6872) arch: risc-v: mpfs: ihc: don't use semaphores with OpenSBI vendor calls
 * [#7461](https://github.com/apache/incubator-nuttx/pull/7461) arch: risc-v: mpfs: Lower the defaul…
 * [#7606](https://github.com/apache/incubator-nuttx/pull/7606) arch: risc-v: mpfs: Mark .start section attributes explicitly
 * [#6879](https://github.com/apache/incubator-nuttx/pull/6879) arch: risc-v: mpfs: Make entrypoint table run-time configurable
 * [#7527](https://github.com/apache/incubator-nuttx/pull/7527) arch: risc-v: mpfs: opensbi: fix random boot failures
 * [#6878](https://github.com/apache/incubator-nuttx/pull/6878) arch: risc-v: mpfs: opensbi: Add the ddr memory region back to opensbi ld script
 * [#6820](https://github.com/apache/incubator-nuttx/pull/6820) arch: risc-v: mpfs: Remove the ddrstorage section from the OpenSBI package
 * [#7230](https://github.com/apache/incubator-nuttx/pull/7230) arch: risc-v: mpfs: Set PHY speed advert after PHY …
 * [#7091](https://github.com/apache/incubator-nuttx/pull/7091) arch: risc-v: mpfs: Stop the DDR training once it is completed
 * [#6953](https://github.com/apache/incubator-nuttx/pull/6953) arch: risc-v: mpfs: usb: fix cppcheck findings
 * [#6951](https://github.com/apache/incubator-nuttx/pull/6951) arch: risc-v: mpfs: usb: fix infinite loop issue
 * [#7041](https://github.com/apache/incubator-nuttx/pull/7041) arch: risc-v: mpfs: usb: fix usb restart
 * [#7013](https://github.com/apache/incubator-nuttx/pull/7013) arch: risc-v: mpfs: usb: provide more endpoints
 * [#7783](https://github.com/apache/incubator-nuttx/pull/7783) arch: sim: add fb poll notify support
 * [#7798](https://github.com/apache/incubator-nuttx/pull/7798) arch: sim: add v4l2 driver for sim
 * [#6933](https://github.com/apache/incubator-nuttx/pull/6933) arch: sim: added gcov dump on application exit.
 * [#6935](https://github.com/apache/incubator-nuttx/pull/6935) arch: sim: add bth4 bridge codes
 * [#6897](https://github.com/apache/incubator-nuttx/pull/6897) arch: sim: add windows host simulate support
 * [#6903](https://github.com/apache/incubator-nuttx/pull/6903) arch: sim: Assign virtio vring notifyid to RSC_NOTIFY_ID_ANY
 * [#7015](https://github.com/apache/incubator-nuttx/pull/7015) arch: sim: fix signal crash in SMP mode
 * [#7380](https://github.com/apache/incubator-nuttx/pull/7380) arch: sim: fix MTU mismatch on TAP device in host route mode
 * [#7334](https://github.com/apache/incubator-nuttx/pull/7334) arch: sim: fix tx pipeline in netdriver to avoid delaying packets.
 * [#7771](https://github.com/apache/incubator-nuttx/pull/7771) arch: sim: Make the naming consistent with each other
 * [#7779](https://github.com/apache/incubator-nuttx/pull/7779) arch: sim: netdriver: set ipv6 addr to host route
 * [#7170](https://github.com/apache/incubator-nuttx/pull/7170) arch: sim: remove stderr in the function renaming list
 * [#6852](https://github.com/apache/incubator-nuttx/pull/6852) arch: sim: remove up_smpsignal.o and up_touchscreen.o from REQUIREDOBJS
 * [#6883](https://github.com/apache/incubator-nuttx/pull/6883) arch: sim: set CMDLINE env to the argument user pass to nuttx
 * [#7717](https://github.com/apache/incubator-nuttx/pull/7717) arch: sim: sim_alsa.c: add mp3 offload playback on sim
 * [#7282](https://github.com/apache/incubator-nuttx/pull/7282) arch: sim: support multiple tapdev for sim
 * [#7655](https://github.com/apache/incubator-nuttx/pull/7655) arch: sim: Unify the host soruce file naming
 * [#6908](https://github.com/apache/incubator-nuttx/pull/6908) arch: sim: wchar_t: fix visual studio Compiler Error C2371
 * [#7335](https://github.com/apache/incubator-nuttx/pull/7335) arch: sparc: add support of spin_lock for LEON3 and LEON4
 * [#7292](https://github.com/apache/incubator-nuttx/pull/7292) arch: sparc: dismiss non-Unicode characters issue
 * [#7579](https://github.com/apache/incubator-nuttx/pull/7579) arch: xtensa: Add missing SENS registers to ESP32
 * [#6993](https://github.com/apache/incubator-nuttx/pull/6993) arch: xtensa: Minor issues to fix ESP32's TWAI.
 * [#6990](https://github.com/apache/incubator-nuttx/pull/6990) arch: xtensa: Avoid including handlers when no coprocessor is available
 * [#6937](https://github.com/apache/incubator-nuttx/pull/6937) arch: xtensa: Remove non-existent ARCH_HAVE_TESTSET support for ESP32-S2
 * [#7447](https://github.com/apache/incubator-nuttx/pull/7447) arch: xtensa: Define COMMON_CTX_REGS for chips without FPU (e.g. ESP32-S2)
 * [#6924](https://github.com/apache/incubator-nuttx/pull/6924) arch: xtensa: Fix allocation of FPU registers in exception context
 * [#7220](https://github.com/apache/incubator-nuttx/pull/7220) arch: xtensa: Add I2S support for ESP32
 * [#7375](https://github.com/apache/incubator-nuttx/pull/7375) arch: xtensa: Save SCOMPARE1 on context switches
 * [#7336](https://github.com/apache/incubator-nuttx/pull/7336) arch: xtensa: esp32_qencoder: Fix small issues and typos reported by Tiago Medicci
 * [#7328](https://github.com/apache/incubator-nuttx/pull/7328) arch: xtensa: esp32: Add support to Quadrature Encoder
 * [#7236](https://github.com/apache/incubator-nuttx/pull/7236) arch: xtensa: esp32: Allow allocation of user data in SPI RAM
 * [#7361](https://github.com/apache/incubator-nuttx/pull/7361) arch: xtensa: esp32: i2c: Add macros to conform with other peripherals and fix typos
 * [#7596](https://github.com/apache/incubator-nuttx/pull/7596) arch: xtensa: esp32: i2s: implement I2S receiver module
 * [#7501](https://github.com/apache/incubator-nuttx/pull/7501) arch: xtensa: esp32: i2s: use internal buffer to handle multiple audio formats
 * [#7360](https://github.com/apache/incubator-nuttx/pull/7360) arch: xtensa: esp32: i2s: Reduce MCLK multiple to support existing boards
 * [#7373](https://github.com/apache/incubator-nuttx/pull/7373) arch: xtensa: esp32s2: i2s: add support for I2S peripheral
 * [#7537](https://github.com/apache/incubator-nuttx/pull/7537) arch: xtensa: esp32s2: i2s: use internal buffer to handle multiple audio formats
 * [#7363](https://github.com/apache/incubator-nuttx/pull/7363) arch: xtensa: esp32s2: Fix SPI
 * [#6823](https://github.com/apache/incubator-nuttx/pull/6823) arch: xtensa: esp32s2: Add basic support to SPI
 * [#7641](https://github.com/apache/incubator-nuttx/pull/7641) arch: xtensa: esp32s2: i2s: implement I2S receiver module
 * [#7799](https://github.com/apache/incubator-nuttx/pull/7799) arch: xtensa: esp32-s3: Add support for Protected Mode
## Driver Support
### New Driver Support
 * [#7042](https://github.com/apache/incubator-nuttx/pull/7042) drivers: Add rpmsgmtd support
 * [#7466](https://github.com/apache/incubator-nuttx/pull/7466) drivers: sensors: add LTR308 ambient light sensor
 * [#7546](https://github.com/apache/incubator-nuttx/pull/7546) drivers: audio: Add support for the ES8388 codec (output)
 * [#6869](https://github.com/apache/incubator-nuttx/pull/6869) drivers: misc: rpmsgdev: add rpmsg-device support.
 * [#7442](https://github.com/apache/incubator-nuttx/pull/7442) drivers: misc: rpmsgblk: rpmsg block device support
 * [#7678](https://github.com/apache/incubator-nuttx/pull/7678) drivers: segger: Add Segger RTT stream support
 * [#7609](https://github.com/apache/incubator-nuttx/pull/7609) drivers: mtd: add support for mx25l16 serial flash
### Drivers With Significant Improvements
 * [#7429](https://github.com/apache/incubator-nuttx/pull/7429) drivers: audio: add i2s_mclkfrequency method to the I2S lower half
 * [#7225](https://github.com/apache/incubator-nuttx/pull/7225) drivers: btuart driver improvement
 * [#7739](https://github.com/apache/incubator-nuttx/pull/7739) drivers: input: touchscreen_upper: add missing function code comments
 * [#6853](https://github.com/apache/incubator-nuttx/pull/6853) drivers: ioexpander: Honor C89 standard
 * [#7032](https://github.com/apache/incubator-nuttx/pull/7032) drivers: ipcc: enter/leave critical section should in pairs
 * [#6849](https://github.com/apache/incubator-nuttx/pull/6849) drivers: leds: ws2812: Revert SPI frequency change
 * [#7643](https://github.com/apache/incubator-nuttx/pull/7643) drivers: lcd: st7789: fix invalid displayed color
 * [#7277](https://github.com/apache/incubator-nuttx/pull/7277) drivers: lcd: Fix npixels parameter in calls to getrun/putrun
 * [#6837](https://github.com/apache/incubator-nuttx/pull/6837) drivers: lcd: Framebuffer and lcddev buffer usage for LCD displays drivers
 * [#7403](https://github.com/apache/incubator-nuttx/pull/7403) drivers: lte: Include nuttx/fs/ioctl.h instead of wireless.h
 * [#7840](https://github.com/apache/incubator-nuttx/pull/7840) drivers: note: unify spinlock related functions
 * [#7533](https://github.com/apache/incubator-nuttx/pull/7533) drivers: mbox: Don't reference the nonexistent CONFIG_MBOX
 * [#6827](https://github.com/apache/incubator-nuttx/pull/6827) drivers: misc: Refine rpmsg server initialization sequence
 * [#7255](https://github.com/apache/incubator-nuttx/pull/7255) drivers: misc: rpmsgdev: add rpmsgdev poll() support.
 * [#7753](https://github.com/apache/incubator-nuttx/pull/7753) drivers: misc: rpmsgdev: rpmsgdegv ioctl and seek buf fix
 * [#6904](https://github.com/apache/incubator-nuttx/pull/6904) drivers: mmcsd: Double the MMCSD_IDLE_DELAY from 50ms to 100ms
 * [#7084](https://github.com/apache/incubator-nuttx/pull/7084) drivers: mmcsd: Remove executable permissions from source files
 * [#7077](https://github.com/apache/incubator-nuttx/pull/7077) drivers: mmcsd: mmcsd_spi:reinit spi sd when sd status is wrong.
 * [#7248](https://github.com/apache/incubator-nuttx/pull/7248) drivers: modem: update altair modem
 * [#7408](https://github.com/apache/incubator-nuttx/pull/7408) drivers: modem: alt1250: Change return type of bool function
 * [#7402](https://github.com/apache/incubator-nuttx/pull/7402) drivers: modem: alt1250: Fix poll function
 * [#7612](https://github.com/apache/incubator-nuttx/pull/7612) drivers: motor: foc: remove unused variable
 * [#6829](https://github.com/apache/incubator-nuttx/pull/6829) drivers: mtd: init commit of power-loss resilient cfg
 * [#7046](https://github.com/apache/incubator-nuttx/pull/7046) drivers: mtd: config: Remove MTD_CONFIG_ERASEDVALUE
 * [#7691](https://github.com/apache/incubator-nuttx/pull/7691) drivers: mtd: GD25Q 4 byte read status issue
 * [#7358](https://github.com/apache/incubator-nuttx/pull/7358) drivers: mtd/smart: Fix a compile error in smart_fsck
 * [#7218](https://github.com/apache/incubator-nuttx/pull/7218) drivers: net: Enable NETDEVICES by default
 * [#7251](https://github.com/apache/incubator-nuttx/pull/7251) drivers: net: Fix the skeleton network driver
 * [#7087](https://github.com/apache/incubator-nuttx/pull/7087) drivers: net: w5500: Fix small typo
 * [#7131](https://github.com/apache/incubator-nuttx/pull/7131) drivers: poll: add poll_notify() api and call it in all drivers.
 * [#7255](https://github.com/apache/incubator-nuttx/pull/7255) drivers: rpmsgdev: add rpmsgdev poll() support.
 * [#7287](https://github.com/apache/incubator-nuttx/pull/7287) drivers: rpmsgdev: forward all open/close to server to support complex driver
 * [#7603](https://github.com/apache/incubator-nuttx/pull/7603) drivers: rpmsgdev: support blocked read/write operation
 * [#7575](https://github.com/apache/incubator-nuttx/pull/7575) drivers: rptun: bug fix
 * [#7645](https://github.com/apache/incubator-nuttx/pull/7645) drivers: rptun: fix rptun don't wait issue when get tx patyload
 * [#7709](https://github.com/apache/incubator-nuttx/pull/7709) drivers: segger: let segger RTT kconfig sink one level
 * [#7634](https://github.com/apache/incubator-nuttx/pull/7634) drivers: segger: make RTT_MODE configurable
 * [#7704](https://github.com/apache/incubator-nuttx/pull/7704) drivers: segger: Refine Kconfig option
 * [#7809](https://github.com/apache/incubator-nuttx/pull/7809) drivers: segger: Systemview add kconfig SEGGER_SYSVIEW_PREFIX for co-existance with other note drivers 
 * [#6807](https://github.com/apache/incubator-nuttx/pull/6807) drivers: sensors: rename /dev/sensor -> /dev/uorb
 * [#6939](https://github.com/apache/incubator-nuttx/pull/6939) drivers: sensors: as5048b.c: change initialization of struct to C89 standard
 * [#7547](https://github.com/apache/incubator-nuttx/pull/7547) drivers: sensors: mpu60x0: Remove the simple mpu_lock/mpu_unlock
 * [#7061](https://github.com/apache/incubator-nuttx/pull/7061) drivers: serial: uart_rpmsg: add mutex to dmatx
 * [#6901](https://github.com/apache/incubator-nuttx/pull/6901) drivers: serial: uart: h4: add ioctl interface
 * [#7672](https://github.com/apache/incubator-nuttx/pull/7672) drivers: syslog: Move syslog stream to libc like other stream implementation
 * [#7674](https://github.com/apache/incubator-nuttx/pull/7674) drivers: syslog: support stream as syslog backend.
 * [#6894](https://github.com/apache/incubator-nuttx/pull/6894) drivers: syslog: Refine how to specify iob and ramlog data section
 * [#7659](https://github.com/apache/incubator-nuttx/pull/7659) drivers: syslog: add stream as syslog backend, let crash dump into stream.
 * [#7211](https://github.com/apache/incubator-nuttx/pull/7211) drivers: telnet: Remove io work thread
 * [#7494](https://github.com/apache/incubator-nuttx/pull/7494) drivers: timers: arch_timer: adjust timer/arch_timer to support tick
 * [#7441](https://github.com/apache/incubator-nuttx/pull/7441) drivers: timers: capture: Fix mutual exclusion lock
 * [#7126](https://github.com/apache/incubator-nuttx/pull/7126) drivers: timers: watchdog: Support auto monitor keep alive from timer/oneshot lowerhalf
 * [#7825](https://github.com/apache/incubator-nuttx/pull/7825) drivers: usb: ft232r: fixed build issue
 * [#7805](https://github.com/apache/incubator-nuttx/pull/7805) drivers: usbdev: adb: fixed usbclass steup issue
 * [#7264](https://github.com/apache/incubator-nuttx/pull/7264) drivers: usrsock: Add driver with type of rpmsg interface
 * [#7226](https://github.com/apache/incubator-nuttx/pull/7226) drivers: usrsock: Check CONFIG_NET_USRSOCK_DEVICE instead CONFIG_NET_USRSOCK
 * [#7070](https://github.com/apache/incubator-nuttx/pull/7070) drivers: usrsock: up usrsock refactor
 * [#7754](https://github.com/apache/incubator-nuttx/pull/7754) drivers: video: add support for YUV formats
 * [#7687](https://github.com/apache/incubator-nuttx/pull/7687) drivers: video: add support for V4L2 mmap-ed buffer
 * [#7738](https://github.com/apache/incubator-nuttx/pull/7738) drivers: video: fb: add poll support
 * [#7749](https://github.com/apache/incubator-nuttx/pull/7749) drivers: video: enhance v4l2 compatibility
 * [#7521](https://github.com/apache/incubator-nuttx/pull/7521) drivers: video: Move _VIDIOCBASE and _VIDIOC to include/nuttx/fs/ioctl.h
 * [#7416](https://github.com/apache/incubator-nuttx/pull/7416) drivers: video: Update some features
 * [#7673](https://github.com/apache/incubator-nuttx/pull/7673) drivers: virtio: Add virtio-mmio and virtio-net drivers
 * [#6857](https://github.com/apache/incubator-nuttx/pull/6857) drivers: wireless: Add ioctl cmd to setting PTA prio
 * [#6934](https://github.com/apache/incubator-nuttx/pull/6934) drivers: wireless/bluetooth:add bt bridge codes
 * [#7024](https://github.com/apache/incubator-nuttx/pull/7024) drivers: wireless: Add SIOCGIFFLAGS support to gs2200m.c
 * [#6845](https://github.com/apache/incubator-nuttx/pull/6845) drivers: wireless: Added gSPI mode for Infineon CYW43439 WiFi chip.
 * [#7374](https://github.com/apache/incubator-nuttx/pull/7374) drivers: wireless: bcm43xxx: correct auth status if PSK is invaild
 * [#7543](https://github.com/apache/incubator-nuttx/pull/7543) drivers: wireless: lpwan/sx127x: correct device unlock interface to nxmutex_unlock()
## Board Support
### New Board Support
 * [#6850](https://github.com/apache/incubator-nuttx/pull/6850) boards: arm: rp2040: Added support for Raspberry Pi Pico W
 * [#7418](https://github.com/apache/incubator-nuttx/pull/7418) boards: arm: stm32wb: Flipper Zero initial support
 * [#7023](https://github.com/apache/incubator-nuttx/pull/7023) boards: arm: tiva: Add tm4c129e-launchpad
 * [#6895](https://github.com/apache/incubator-nuttx/pull/6895) boards: risc-v: esp32c3: Add initial support to esp32c3-devkit-rust-1 board
 * [#7685](https://github.com/apache/incubator-nuttx/pull/7685) boards: sparc: add initial support of s698pm-dkit board 
 * [#7548](https://github.com/apache/incubator-nuttx/pull/7548) boards: xtensa: Added support for the ESP32-S2-Kaluga-1 board
 * [#7169](https://github.com/apache/incubator-nuttx/pull/7169) boards: xtensa: initial support for the ESP32-LyraT
 * [#7073](https://github.com/apache/incubator-nuttx/pull/7073) boards: xtensa: ttgo_lora_esp32: Add support to SX1276
### Boards With Significant Improvements
 * [#7330](https://github.com/apache/incubator-nuttx/pull/7330) boards: Change CONFIG_SYSTEM_NSH_SYMTAB to CONFIG_NSH_SYMTAB
 * [#7245](https://github.com/apache/incubator-nuttx/pull/7245) boards: Change the linker generated symbols from uint32_t to uint8_t array
 * [#7648](https://github.com/apache/incubator-nuttx/pull/7648) boards: enter/leave critical section should in pairs
 * [#7316](https://github.com/apache/incubator-nuttx/pull/7316) boards: Fix pthread_attr_setstacksize failed in ostest
 * [#7626](https://github.com/apache/incubator-nuttx/pull/7626) boards: iperf: device name will vary across different NICs #
 * [#7351](https://github.com/apache/incubator-nuttx/pull/7351) boards: Update telnetd related config after apps/nshlib change
 * [#7324](https://github.com/apache/incubator-nuttx/pull/7324) boards: Remove the duplicated prototype of CONFIG_INIT_ENTRYPOINT
 * [#7788](https://github.com/apache/incubator-nuttx/pull/7788) boards: Remove the unused function prototype(slcd_getstream)
 * [#7409](https://github.com/apache/incubator-nuttx/pull/7409) boards: arm: gcc: disable coverage analysis temporarily
 * [#7524](https://github.com/apache/incubator-nuttx/pull/7524) boards: arm: remove -funwind-tables from boards Make.defs
 * [#6847](https://github.com/apache/incubator-nuttx/pull/6847) boards: arm: imx6: sabre-6quad: Add netknsh_smp/defconfig
 * [#6826](https://github.com/apache/incubator-nuttx/pull/6826) boards: arm: imx6: sabre-6quad: Add telnetd to netknsh/defconfig
 * [#7604](https://github.com/apache/incubator-nuttx/pull/7604) boards: arm: lpc31xx/ea3131/pgnsh: enable DEFAULT_SMALL to reducing the code size
 * [#7071](https://github.com/apache/incubator-nuttx/pull/7071) boards: arm: rp2040: Add "telnet" configuration to Raspberry Pi Pico W
 * [#7243](https://github.com/apache/incubator-nuttx/pull/7243) boards: arm: raspberrypi-pico: Adjust CONFIG_UART0_TXBUFSIZE for SMP
 * [#6844](https://github.com/apache/incubator-nuttx/pull/6844) boards: arm: samv7: add support for GPIO driver based encoder
 * [#7601](https://github.com/apache/incubator-nuttx/pull/7601) boards: arm: samv7: Add SAMV7's capability to overwirte pwm pins
 * [#7122](https://github.com/apache/incubator-nuttx/pull/7122) boards: arm: sabre-6quad/lm3s6965-ek: ac6: add scatter linker script for sabre-6quad/lm3s6965-ek
 * [#7176](https://github.com/apache/incubator-nuttx/pull/7176) boards: arm: stm32: Add b-g474e-dpow1:ostest configuration.
 * [#7240](https://github.com/apache/incubator-nuttx/pull/7240) boards: arm: stm32: nucleo-f446re: add romfs support
 * [#6851](https://github.com/apache/incubator-nuttx/pull/6851) boards: arm: stm32: stm32f4discovery: Add Shift Game board example with gesture (APDS9960 sensor) support
 * [#7093](https://github.com/apache/incubator-nuttx/pull/7093) boards: arm: stm32: stm32F4Discovery: Add support to W5500 and board config example
 * [#7639](https://github.com/apache/incubator-nuttx/pull/7639) boards: arm: stm32: stm32f4discovery: icmp/arp message should talk to GS2200M through usrsock
 * [#7587](https://github.com/apache/incubator-nuttx/pull/7587) boards: arm: stm32: stm32f103-minimum: Enable nsh help and basic commands
 * [#7602](https://github.com/apache/incubator-nuttx/pull/7602) boards: arm: stm32: stm32f103-minimum: enable LTO to reducing the code size
 * [#6858](https://github.com/apache/incubator-nuttx/pull/6858) boards: arm: stm32f7: steval-eth001v1: add FOC examples
 * [#7588](https://github.com/apache/incubator-nuttx/pull/7588) boards: arm: stm32f103-minimum: Add ssd1306 example
 * [#6931](https://github.com/apache/incubator-nuttx/pull/6931) boards: arm: stm32f7: nucleo-144: fix CONFIG_STM32F4DISC…
 * [#7470](https://github.com/apache/incubator-nuttx/pull/7470) boards: arm: stm32f7: Files for pysimCoder on nucleo-h743zi2 #
 * [#7432](https://github.com/apache/incubator-nuttx/pull/7432) boards: arm: stm32f7: New files for pysimCoder
 * [#7487](https://github.com/apache/incubator-nuttx/pull/7487) boards: arm: stm32h7: Initialization of wdg
 * [#6944](https://github.com/apache/incubator-nuttx/pull/6944) boards: arm: stm32h7: add support for mcuboot
 * [#7427](https://github.com/apache/incubator-nuttx/pull/7427) boarda: arm: stm32h7: update mcuboot-loader configuration
 * [#4908](https://github.com/apache/incubator-nuttx/pull/4908) boards: arm: stm32h7: nucleo-h743zi: add board files to support mcuboot
 * [#7107](https://github.com/apache/incubator-nuttx/pull/7107) boards: arm: stm32h7: nucleo-h743zi: Remove CONFIG_ARMV7M_SYSTICK from stm32_boot_image.c
 * [#7040](https://github.com/apache/incubator-nuttx/pull/7470) boards: arm: stm32l4: nucleo-l496zg: modify clock config #7040  
 * [#7479](https://github.com/apache/incubator-nuttx/pull/7479) boards: arm: stm32wb: flipperzero: adding LCD support
 * [#6863](https://github.com/apache/incubator-nuttx/pull/6863) boards: arm: spresense: Add fmsynth defconfig
 * [#7410](https://github.com/apache/incubator-nuttx/pull/7410) boards: arm: spresense: enable lte modem
 * [#7708](https://github.com/apache/incubator-nuttx/pull/7708) boards: arm: spresense: Fix the build error in cxd56_crashdump.c
 * [#7489](https://github.com/apache/incubator-nuttx/pull/7489) boards: arm: spresense: Minor update for video and lte driver
 * [#7793](https://github.com/apache/incubator-nuttx/pull/7793) boards: arm: spresense: set RNDIS default throttle entries to 24 (2*MTU)
 * [#7412](https://github.com/apache/incubator-nuttx/pull/7412) boards: arm: spresense: Update imageproc driver
 * [#6927](https://github.com/apache/incubator-nuttx/pull/6927) boards: arm: tiva: lm3s6965-ek: Fix to load ELF applications for qemu-protected
 * [#7183](https://github.com/apache/incubator-nuttx/pull/7183) boards: arm: tiva: tm4c129e-launchpad: Expand README.txt
 * [#7253](https://github.com/apache/incubator-nuttx/pull/7253) boards: arm: tiva: tm4c129e-launchpad: Enable priority inheritance in ostest config
 * [#7098](https://github.com/apache/incubator-nuttx/pull/7098) boards: arm: tlsr: Add specific section for discribe information
 * [#7303](https://github.com/apache/incubator-nuttx/pull/7303) boards: arm64: qemu/qemu-a53: Ensure the purity of the defconfig
 * [#7796](https://github.com/apache/incubator-nuttx/pull/7796) boards: arm64: a64: Add drivers for PIO and LEDs
 * [#7806](https://github.com/apache/incubator-nuttx/pull/7806) boards: arm64: a64: pinephone: add support of reboot command
 * [#6977](https://github.com/apache/incubator-nuttx/pull/6977) boards: sim: add usrsocktest config to detect the regression issue
 * [#7219](https://github.com/apache/incubator-nuttx/pull/7219) boards: sim: adb: Enable netdb
 * [#7332](https://github.com/apache/incubator-nuttx/pull/7332) boards: sim: Enable CONFIG_NSH_TELNET_LOGIN for adb
 * [#6892](https://github.com/apache/incubator-nuttx/pull/6892) boards: sim: Enable ubsan in sim:kasan
 * [#7210](https://github.com/apache/incubator-nuttx/pull/7210) boards: sim: Enable telnetd in adb config
 * [#6843](https://github.com/apache/incubator-nuttx/pull/6843) boards: sim: Fix the /etc/passwd after TEA algo fixing
 * [#6946](https://github.com/apache/incubator-nuttx/pull/6946) boards: sim: Add a new config minmea to detect build break
 * [#7182](https://github.com/apache/incubator-nuttx/pull/7182) boards: sim: windows: add more net configs
 * [#7386](https://github.com/apache/incubator-nuttx/pull/7386) boards: risc-v: Implement Interface method for ESP32C3: go_setpintype
 * [#6955](https://github.com/apache/incubator-nuttx/pull/6955) boards: risc-v: esp32c3: Add support APA102/APDS-9960 for Shift Game
 * [#7831](https://github.com/apache/incubator-nuttx/pull/7831) boards: risc-v: esp32c3: enable dumpstack/backtrace
 * [#7250](https://github.com/apache/incubator-nuttx/pull/7250) boards: risc-v: esp32c3: fix wapi stack size on board examples
 * [#7833](https://github.com/apache/incubator-nuttx/pull/7833) boards: risc-v: esp32c3: Move linker scripts and source files to folder common to all boards
 * [#7453](https://github.com/apache/incubator-nuttx/pull/7453) boards: risc-v: esp32c3: remove not needed ldscript flags
 * [#6846](https://github.com/apache/incubator-nuttx/pull/6846) boards: risc-v: esp32c3-devkit: Fix /etc/passwd too
 * [#7619](https://github.com/apache/incubator-nuttx/pull/7619) boards: risc-v: mpfs: Add example target for SHM
 * [#7860](https://github.com/apache/incubator-nuttx/pull/7860) boards: risc-v: rv-virt: Improve iperf speed for virtio-mmio-net
 * [#7333](https://github.com/apache/incubator-nuttx/pull/7333) boards: risc-v: rv-virt: Update README.txt
 * [#7725](https://github.com/apache/incubator-nuttx/pull/7725) boards: xtensa: Fix buttons IRQ on ESP boards
 * [#7582](https://github.com/apache/incubator-nuttx/pull/7582) boards: xtensa: esp32: Add support to LilyGO_TBeam V1.1 LoRa/GPS board
 * [#7474](https://github.com/apache/incubator-nuttx/pull/7474) boards: xtensa: esp32: Add MAX6675 temperature sensor support
 * [#7519](https://github.com/apache/incubator-nuttx/pull/7519) boards: xtensa: esp32: Fix invalid IRAM option in linker script
 * [#7647](https://github.com/apache/incubator-nuttx/pull/7647) boards: xtensa: esp32: Esp32 sparrow kit
 * [#7693](https://github.com/apache/incubator-nuttx/pull/7693) boards: xtensa: esp32: Adds ESP32-WroverKit LUA config and fixes LEDs setup
 * [#7293](https://github.com/apache/incubator-nuttx/pull/7293) boards: xtensa: esp32s2: Add missing ESP32S2 SPIRAM config
 * [#7520](https://github.com/apache/incubator-nuttx/pull/7520) boards: xtensa: esp32s2: Move linker scripts to folder common to all boards
 * [#6917](https://github.com/apache/incubator-nuttx/pull/6917) boards: xtensa: esp32s3: Fix alignment of FPU registers in exception context
 * [#6916](https://github.com/apache/incubator-nuttx/pull/6916) boards: xtensa: esp32s3: Fix Data allocation offset within shared Internal SRAM1
 * [#7500](https://github.com/apache/incubator-nuttx/pull/7500) boards: xtensa: esp32s3: Move linker scripts to folder common to all boards
 * [#7550](https://github.com/apache/incubator-nuttx/pull/7550) boards: xtensa: esp32s3: Extend Instruction RAM region according to IDFboot v4.4.2
 * [#7564](https://github.com/apache/incubator-nuttx/pull/7564) boards: xtensa: esp32-devkitc/wamr_wasi_debug: bump WAMR version
 * [#7127](https://github.com/apache/incubator-nuttx/pull/7127) boards: xtensa: esp32-devkitc: Add support to W5500 WIZnet
 * [#7553](https://github.com/apache/incubator-nuttx/pull/7553) boards: xtensa: esp32-devkitc: Update elf/defconfig
 * [#7756](https://github.com/apache/incubator-nuttx/pull/7756) boards: xtensa: esp32-devkitc: wamr_wasi_debug: enable native-lib stuff
 * [#6964](https://github.com/apache/incubator-nuttx/pull/6964) boards: xtensa: esp32-devkitc: wamr_wasi_debug: config maintenance
 * [#7736](https://github.com/apache/incubator-nuttx/pull/7736) boards: xtensa: esp32-devkitc: wamr_wasi_debug: kconfig maintainance
 * [#7559](https://github.com/apache/incubator-nuttx/pull/7559) boards: xtensa: esp32-lyrat: Remove CONFIG_MM_CIRCBUF=y from audio config
## File System Improvements
 * [#6932](https://github.com/apache/incubator-nuttx/pull/6932) fs: aio: fix typo ail
 * [#6803](https://github.com/apache/incubator-nuttx/pull/6803) fs: directory: Using file api to implement operations on directories
 * [#6969](https://github.com/apache/incubator-nuttx/pull/6969) fs: dup2: fix potential deadlock on usrsock
 * [#7034](https://github.com/apache/incubator-nuttx/pull/7034) fs: Fix symbol name in comments
 * [#7434](https://github.com/apache/incubator-nuttx/pull/7434) fs: Refine the implementation of files_allocate
 * [#7712](https://github.com/apache/incubator-nuttx/pull/7712) fs: romfs meet localtime in syslog
 * [#7437](https://github.com/apache/incubator-nuttx/pull/7437) fs: remove the unused nx_xxx functions
 * [#7748](https://github.com/apache/incubator-nuttx/pull/7748) fs: littlefs: add a few Kconfig options
 * [#7555](https://github.com/apache/incubator-nuttx/pull/7555) fs: littlefs: set LFS_NAME_MAX to CONFIG_NAME_MAX
 * [#7760](https://github.com/apache/incubator-nuttx/pull/7760) fs: littlefs: Get and return the current error status before RMDIR execution type
 * [#7568](https://github.com/apache/incubator-nuttx/pull/7568) fs: epoll: Reuse fd returned from epoll for internal signaling
 * [#7642](https://github.com/apache/incubator-nuttx/pull/7642) fs: epoll: support extend the epoll dynamicly.
 * [#7696](https://github.com/apache/incubator-nuttx/pull/7696) fs: epoll: [bug fix] EPOLL_CTL_ADD/MOD consider the teardown list too
 * [#7699](https://github.com/apache/incubator-nuttx/pull/7699) fs: epoll: [bug fix] epoll node use-after-free in epoll extend list
 * [#7539](https://github.com/apache/incubator-nuttx/pull/7539) fs: epoll: Correct epoll lock usage
 * [#7189](https://github.com/apache/incubator-nuttx/pull/7189) fs: partition: Fixes for GPT partition parsing
 * [#7376](https://github.com/apache/incubator-nuttx/pull/7376) fs: procfs: check task group before get group info
 * [#7319](https://github.com/apache/incubator-nuttx/pull/7319) fs: procfs: Change FS_PROCFS_EXCLUDE_xxx default value to DEFAULT_SMALL
 * [#7723](https://github.com/apache/incubator-nuttx/pull/7723) fs: procfs: meminfo: buflen identify the left of buffer
 * [#7404](https://github.com/apache/incubator-nuttx/pull/7404) fs: romfs: expand file cache by CONFIG_FS_ROMFS_FCACHE_NSECTORS
 * [#6864](https://github.com/apache/incubator-nuttx/pull/6864) fs: rpmsgfs: fix ioctl operation can not work bug
 * [#6865](https://github.com/apache/incubator-nuttx/pull/6865) fs: rpmsgfs: fix double free
 * [#6980](https://github.com/apache/incubator-nuttx/pull/6980) fs: rpmsgfs/Make.defs: rpmsgfs_server.c given more than once
 * [#7462](https://github.com/apache/incubator-nuttx/pull/7462) fs: socket: Separation error code EBADF and ENOTSOCK
 * [#7007](https://github.com/apache/incubator-nuttx/pull/7007) fs: smartfs: Fixes to RP2040 SMART flash and documentation
 * [#7305](https://github.com/apache/incubator-nuttx/pull/7305) fs: tmpfs: Fixed NULL pointer use in tmpfs.
 * [#7591](https://github.com/apache/incubator-nuttx/pull/7591) fs: unionfs: fix memory leak about directory operation
 * [#7628](https://github.com/apache/incubator-nuttx/pull/7628) fs: userfs: destroy nxmutex properly
 * [#7312](https://github.com/apache/incubator-nuttx/pull/7312) fs: vfs: fix case when file to rename does not exist
 * [#7188](https://github.com/apache/incubator-nuttx/pull/7188) fs: vfs: fs_poll: not clear POLLIN event if POLLHUP or POLLERR set
 * [#7356](https://github.com/apache/incubator-nuttx/pull/7356) fs: vfs: implement fdopendir
 * [#6976](https://github.com/apache/incubator-nuttx/pull/6976) fs: vfs: run the default action of FIONBIO/FIOCLEX/FIONCLEX in success path
 * [#7207](https://github.com/apache/incubator-nuttx/pull/7207) fs: vfs: poll: using callback mechanism to implement poll notification
 * [#7317](https://github.com/apache/incubator-nuttx/pull/7317) fs: vfs: refine the implementation of rename
 * [#7227](https://github.com/apache/incubator-nuttx/pull/7227) fs: vfs: don't need monitor POLLERR or POLLHUP explicitly
 * [#7742](https://github.com/apache/incubator-nuttx/pull/7742) fs: vfs: timerfd_create: initial reference count to zero
 * [#7035](https://github.com/apache/incubator-nuttx/pull/7035) fs: vfs: fs_open.c: Improve documentation blocks of functions
## Networking
### New Features
 * [#7562](https://github.com/apache/incubator-nuttx/pull/7562) net: Add Network Address Translation (NAT) for NuttX
### Improvements
 * [#7828](https://github.com/apache/incubator-nuttx/pull/7828) net: Adjust ioctl function of cellular
 * [#7821](https://github.com/apache/incubator-nuttx/pull/7821) net: Add mtu set and interface name set in ioctl
 * [#7143](https://github.com/apache/incubator-nuttx/pull/7143) net: Add IN6_IS_ADDR_LINKLOCAL macro
 * [#7727](https://github.com/apache/incubator-nuttx/pull/7727) net: extract l3 header build code into new functions
 * [#6923](https://github.com/apache/incubator-nuttx/pull/6923) net: remove pvconn reference from all devif callback
 * [#7675](https://github.com/apache/incubator-nuttx/pull/7675) net: remove psock reference from connect
 * [#7452](https://github.com/apache/incubator-nuttx/pull/7452) net: remove the unused nx_[send|recv]msg
 * [#7431](https://github.com/apache/incubator-nuttx/pull/7431) net: move IPv4/6BUF define to common header
 * [#7769](https://github.com/apache/incubator-nuttx/pull/7769) net: nename arp_arpin to arp_input
 * [#7631](https://github.com/apache/incubator-nuttx/pull/7631) net: arp: Make NET_ARP(Address Resolution Protocol) configurable
 * [#7239](https://github.com/apache/incubator-nuttx/pull/7239) net: can: improve net/can/Kconfig
 * [#7382](https://github.com/apache/incubator-nuttx/pull/7382) net: can: can_xxxsockopt.c: correct the code alignment
 * [#7733](https://github.com/apache/incubator-nuttx/pull/7733) net: chksum: move all chksum api declarations to common header
 * [#7814](https://github.com/apache/incubator-nuttx/pull/7814) net: devif_send: replace all block send to nonblock mode
 * [#7703](https://github.com/apache/incubator-nuttx/pull/7703) net: devif/ip: build l2 header on the IP layer
 * [#7746](https://github.com/apache/incubator-nuttx/pull/7746) net: devif: fix devif loopback
 * [#7719](https://github.com/apache/incubator-nuttx/pull/7719) net: devif: add common interface to build L2 headers
 * [#7701](https://github.com/apache/incubator-nuttx/pull/7701) net: devif: add common funtion to build L2 headers before sending
 * [#7574](https://github.com/apache/incubator-nuttx/pull/7574) net: dns: Reduce the dns_lock granularity
 * [#7625](https://github.com/apache/incubator-nuttx/pull/7625) net: icmp: ICMP_NO_STACK should not depends on NET_IPv4
 * [#7269](https://github.com/apache/incubator-nuttx/pull/7269) net: ipforward: fix typo in ipv4_dev_forward
 * [#7766](https://github.com/apache/incubator-nuttx/pull/7766) net: offload: add offload support for pkt/arp
 * [#7616](https://github.com/apache/incubator-nuttx/pull/7616) net: l2/l3/l4: add support of iob offload
 * [#7713](https://github.com/apache/incubator-nuttx/pull/7713) net: local: add net_lock to local_listen
 * [#6808](https://github.com/apache/incubator-nuttx/pull/6808) net: local: make local udp send multi-thread safe
 * [#7197](https://github.com/apache/incubator-nuttx/pull/7197) net: local: remove dead code
 * [#6812](https://github.com/apache/incubator-nuttx/pull/6812) net: local: remove the sync preamble from datagram
 * [#7679](https://github.com/apache/incubator-nuttx/pull/7679) net: local: support FIONWRITE for domain socket ioctl
 * [#7275](https://github.com/apache/incubator-nuttx/pull/7275) net: local: unified formatting name function
 * [#7732](https://github.com/apache/incubator-nuttx/pull/7732) net: loopback: reuse devif_loopback() logic for device lo(loopback)
 * [#7768](https://github.com/apache/incubator-nuttx/pull/7768) net: d_buf: remove d_buf reference from l3/l4
 * [#7807](https://github.com/apache/incubator-nuttx/pull/7807) net: devif: initialize d_len to 0 before polling connections
 * [#7782](https://github.com/apache/incubator-nuttx/pull/7782) net: devif: reprepare iob buffer before polling connections
 * [#7711](https://github.com/apache/incubator-nuttx/pull/7711) net: inet: fix compile failed if not define UDP
 * [#7030](https://github.com/apache/incubator-nuttx/pull/7030) net: inet: invalid addrlen length should return EINVAL
 * [#7778](https://github.com/apache/incubator-nuttx/pull/7778) net: ip: return success if the packet was forwarded.
 * [#7433](https://github.com/apache/incubator-nuttx/pull/7433) net: ipfwd: correct application data offset
 * [#7797](https://github.com/apache/incubator-nuttx/pull/7797) net: ipfwd: fix ipforward after IOB offload
 * [#7826](https://github.com/apache/incubator-nuttx/pull/7826) net: ipfwd: limit number of ipforward struct to be less than number of IOB
 * [#7750](https://github.com/apache/incubator-nuttx/pull/7750) net: ipfwd: Support ICMP/ICMPv6 error reply when forwarding
 * [#7801](https://github.com/apache/incubator-nuttx/pull/7801) net: ipfwd: update IP buffer offset
 * [#7741](https://github.com/apache/incubator-nuttx/pull/7741) net: ipv4: fix shadows declaration
 * [#7683](https://github.com/apache/incubator-nuttx/pull/7683) net: icmpv6: Fix icmpv6_reply function
 * [#6925](https://github.com/apache/incubator-nuttx/pull/6925) net: icmpv6: finetune the RA parsing procedure
 * [#7747](https://github.com/apache/incubator-nuttx/pull/7747) net: nat: Add support for ICMP Error Message
 * [#7102](https://github.com/apache/incubator-nuttx/pull/7102) net: netdev: Fix memcpy() size used by SIOCSIFHWADDR for radios
 * [#7101](https://github.com/apache/incubator-nuttx/pull/7101) net: netdev: Fix sa_family returned by SIOCGIFHWADDR
 * [#7314](https://github.com/apache/incubator-nuttx/pull/7314) net: netdev: Add Cellular link layer support
 * [#7016](https://github.com/apache/incubator-nuttx/pull/7016) net: netdev: ioctl: correct the argument length of ioctl MII/PHY
 * [#7038](https://github.com/apache/incubator-nuttx/pull/7038) net: netdev ioctl: netlock/unlock() should in pairs
 * [#7020](https://github.com/apache/incubator-nuttx/pull/7020) net: netdev: simplify handling of netdev ifr ioctl()
 * [#7004](https://github.com/apache/incubator-nuttx/pull/7004) net: procfs: add tcp profs support
 * [#6997](https://github.com/apache/incubator-nuttx/pull/6997) net: procfs: add entry mapping table
 * [#7132](https://github.com/apache/incubator-nuttx/pull/7132) net: procfs: disable tcp/udp proc node if no stack available
 * [#7192](https://github.com/apache/incubator-nuttx/pull/7192) net: procfs: fix runtime error AddressSanitizer(global-buffer-overflow)
 * [#7039](https://github.com/apache/incubator-nuttx/pull/7039) net: procfs: interface index should begin from 1
 * [#7124](https://github.com/apache/incubator-nuttx/pull/7124) net: socket: implement SO_RCVBUF and SO_SNDBUF for getsockopt
 * [#7438](https://github.com/apache/incubator-nuttx/pull/7438) net: socket: remove the unused nx_xxx functions
 * [#7206](https://github.com/apache/incubator-nuttx/pull/7206) net: socket: return -ENOPROTOOPT for unsupported/unknown socket option
 * [#6907](https://github.com/apache/incubator-nuttx/pull/6907) net: sockopt: move BINDTODEVICE to socket level
 * [#7722](https://github.com/apache/incubator-nuttx/pull/7722) net: sockopt: add parameter check in psock_setsockopt
 * [#7651](https://github.com/apache/incubator-nuttx/pull/7651) net: sockif: add si_getsockopt and si_setsockopt to simply getsockopt and setsockopt
 * [#7377](https://github.com/apache/incubator-nuttx/pull/7377) net: tcp: Update conn laddr after select device
 * [#7483](https://github.com/apache/incubator-nuttx/pull/7483) net: tcp: fix build break if enable NET_TCP_NO_STACK
 * [#7350](https://github.com/apache/incubator-nuttx/pull/7350) net: tcp: remove debug counter of connect instance
 * [#7313](https://github.com/apache/incubator-nuttx/pull/7313) net: tcp: syscall send() should not return ETIMEDOUT
 * [#7535](https://github.com/apache/incubator-nuttx/pull/7535) net: tcp: Make TCP_MAXRTX and TCP_MAXSYNRTX configurable
 * [#7668](https://github.com/apache/incubator-nuttx/pull/7668) net: tcp: recv returns 0 without set errno
 * [#7571](https://github.com/apache/incubator-nuttx/pull/7571) net: tcp: find bound device when laddr is ANY
 * [#6956](https://github.com/apache/incubator-nuttx/pull/6956) net: tcp: use independent work to free the conn instance
 * [#7635](https://github.com/apache/incubator-nuttx/pull/7635) net: tcp: TCP_WAITALL should use state flag
 * [#7728](https://github.com/apache/incubator-nuttx/pull/7728) net: tcp: fix build break if enable CONFIG_NET_IPv6 only
 * [#6874](https://github.com/apache/incubator-nuttx/pull/6874) net: tcp: reset conn->nrtx when ack received
 * [#7510](https://github.com/apache/incubator-nuttx/pull/7510) net: tcp: Avoid starting TCP sequence number from 0
 * [#6947](https://github.com/apache/incubator-nuttx/pull/6947) net: tcp: fix devif callback list corruption on tcp_close()
 * [#7286](https://github.com/apache/incubator-nuttx/pull/7286) net: tcp: Added handling of MSG_WAITALL flag in TCP recv.
 * [#7652](https://github.com/apache/incubator-nuttx/pull/7652) net: usrsock: add REMOTE_CLOSED event handler to connect
 * [#6975](https://github.com/apache/incubator-nuttx/pull/6975) net: usrsock: allow usrsock *DATA_ACK with no-preload data
 * [#6893](https://github.com/apache/incubator-nuttx/pull/6893) net: usrsock: Change xid from uint64_t to uint32_t
 * [#6971](https://github.com/apache/incubator-nuttx/pull/6971) net: usrsock: Change xid from uint64_t to uint32_t
 * [#7072](https://github.com/apache/incubator-nuttx/pull/7072) net: usrsock: Code refactor
 * [#7291](https://github.com/apache/incubator-nuttx/pull/7291) net: usrsock: Correct some status exceptions in non-blocking mode usrsock connect
 * [#7665](https://github.com/apache/incubator-nuttx/pull/7665) net: usrsock: fix get/setsockopt issue about usrsock protocol
 * [#6974](https://github.com/apache/incubator-nuttx/pull/6974) net: usrsock: forward FIONBIO to socket level
 * [#6949](https://github.com/apache/incubator-nuttx/pull/6949) net: usrsock: refine usrsock's architecture
 * [#7627](https://github.com/apache/incubator-nuttx/pull/7627) net: usrsock: Refine  Kconfig option
 * [#6890](https://github.com/apache/incubator-nuttx/pull/6890) net: usrsock: Remove dev field from usrsockdev_s
 * [#7671](https://github.com/apache/incubator-nuttx/pull/7671) net: usrsock: Remove specific process from common code as much as possible
 * [#7378](https://github.com/apache/incubator-nuttx/pull/7378) net: usrsock: Some relatively reasonable error code modifications
 * [#7009](https://github.com/apache/incubator-nuttx/pull/7009) net: udp: add IPVx_PKTINFO related support
 * [#7026](https://github.com/apache/incubator-nuttx/pull/7026) net: udp: Clean up psock_udp_recvfrom related code
 * [#7506](https://github.com/apache/incubator-nuttx/pull/7506) net: utils: add net_chksum_adjust defined by RFC3022
 * [#6900](https://github.com/apache/incubator-nuttx/pull/6900) net: wireless: bluetooth: add btsnoop open-close ioctl cmd
 * [#6899](https://github.com/apache/incubator-nuttx/pull/6899) net: wireless: bluetooth: add btsnoop and snoop
 * [#7135](https://github.com/apache/incubator-nuttx/pull/7135) net: wireless: add support for netdev private ioctl
 * [#6970](https://github.com/apache/incubator-nuttx/pull/6970) net: getsockname: small addrlen should be a valid value
 * [#7576](https://github.com/apache/incubator-nuttx/pull/7576) net: rpmsg: add lock to poll & poll_notify 
 * [#6978](https://github.com/apache/incubator-nuttx/pull/6978) net: Align the prototype of sock_intf_s::si_ioctl with file_operations::ioctl
## Security Issues Fixed In This Release
## Compatibility Concerns
## API Changes
Default Semaphore Protocol Changed
When NuttX is built with priority inheritance (CONFIG_PRIORITY_INHERITANCE), priority inheritance can be enabled or disabled per semaphore and care must be taken to make the correct choice based on how each semaphore is used.
When a semaphore is used as a mutual exclusion lock ("locking semaphore"), a thread that needs exclusive access to a resource waits on the semaphore, uses the resource, and then posts the semaphore. In this case, priority inheritance should be enabled for the semaphore (sem_setprotocol(sem, SEM_PRIO_INHERIT)) to mitigate priority inversion which could occur when multiple threads with different priorities compete for various resources.
In contrast, when a semaphore is used to signal an event from one thread to another ("signaling semaphore"), one thread waits on the semaphore and another thread posts it when the anticipated event occurs. In this case, since the thread that posts the semaphore is different than the one that waits on it, priority inheritance must not be enabled for the semaphore (sem_setprotocol(sem, SEM_PRIO_NONE)).
In earlier releases, priority inheritance was enabled by default for all semaphores whenever NuttX was built with CONFIG_PRIORITY_INHERITANCE. If a semaphore was used for signaling across threads, the non-standard API sem_setprotocol(sem, SEM_PRIO_NONE) had to be used to selectively disable priority inheritance for that semaphore.
Starting with this release, the default is changed: priority inheritance is disabled by default for all semaphores. To enable priority inheritance for a semaphore, first NuttX needs to be built with CONFIG_PRIORITY_INHERITANCE, then priority inheritance needs to be enabled for the semaphore in question with sem_setprotocol(sem, SEM_PRIO_INHERIT).
The benefit of this change is easier porting and maintenance of standards-compliant applications to NuttX by eliminating the need for 3rd party applications to call the non-standard API sem_setprotocol().
In addition, this is a safer default: Having priority inheritance inadvertently enabled for a signaling semaphore can cause incorrect behavior, while the impact of having it inadvertently disabled for a locking semaphore is limited to reduced performance.
This change was introduced in PR # 5070 https://github.com/apache/incubator-nuttx/pull/5070, git commits 4e1d967bcd0031bd07a6a46f022c75216cf98404, e5fbbd416d5f1e74e3f705677b2e99b0b8c544d3, 9a4b66fbb306d388e2ce431807a139848604a9f0, and 125de66b63b316a2c2a2912dd408f4bac2fc85c3.
All semaphore uses within the NuttX repositories have been updated; those used for locking have been replaced with mutexes (mutex_t instead of sem_t). See PR # 6965, git commits 
ef3919e4eb75b1ab854a21c98124d7e90e5c5e14, 590e0d5666c47dcb91ccd35faa57681ca26d4b1d, and 5db565c78d7c009eaea8517f01a2d138ab5f0028.
Downstream users need to call sem_setprotocol(sem, SEM_PRIO_INHERIT) when setting up each semaphore used for mutual exclusion locking. In addition, they may optionally remove calls to sem_setprotocol(sem, SEM_PRIO_NONE) for signaling semaphores.

View file

@ -0,0 +1,937 @@
NuttX-12.1.0
------------
What's New In This Release
Changes to Core OS
Sched
* [](https://github.com/apache/nuttx/pull/) Correct Real Time signal definitions. #8881
* [#8286](https://github.com/apache/nuttx/pull/8286) sched: Add _NSIG, SIGFPE, SIGILL and SIGSEGV definition
* [#8686](https://github.com/apache/nuttx/pull/8686) sched: add critical section in nxsched_get_stateinfo
* [#8708](https://github.com/apache/nuttx/pull/8708) sched: build error fix in task_exithook
* [#4819](https://github.com/apache/nuttx/pull/4819) sched: Disable stdio api by default when DEFAULT_SMALL equals y
* [#8642](https://github.com/apache/nuttx/pull/8642) sched: fix kconfig warning
* [#8151](https://github.com/apache/nuttx/pull/8151) sched: fix task_delete crash in SMP case
* [#8311](https://github.com/apache/nuttx/pull/8311) sched: fix run ltp_interfaces_sched_setscheduler_17_1 fail
* [#8210](https://github.com/apache/nuttx/pull/8210) sched: Map both NZERO and PTHREAD_DEFAULT_PRIORITY to SCHED_PRIORITY_DEFAULT
* [#8330](https://github.com/apache/nuttx/pull/8330) sched: Map SCHED_OTHER to SCHED_FIFO or SCHED_RR
* [#7882](https://github.com/apache/nuttx/pull/7882) sched: remove unnecessary type cast
* [#8374](https://github.com/apache/nuttx/pull/8374) sched: Remove the unused TCB_FLAG_SCHED_OTHER
* [#7956](https://github.com/apache/nuttx/pull/7956) sched: assert: modify assert message
* [#7957](https://github.com/apache/nuttx/pull/7957) sched: assert: Do not call the user space "exit" function
* [#7952](https://github.com/apache/nuttx/pull/7952) sched: assert: Fix printing argv when address environments are in use
* [#8224](https://github.com/apache/nuttx/pull/8224) sched: assert: sched: Implement tkill/tgkill
* [#8556](https://github.com/apache/nuttx/pull/8556) sched: assert: sync ps/assert output
* [#8897](https://github.com/apache/nuttx/pull/8897) sched: clock_gettime: Remove output log
* [#8653](https://github.com/apache/nuttx/pull/8653) sched: env: add tg_envc in task_group_s to avoid some loops in code
* [#8394](https://github.com/apache/nuttx/pull/8394) sched: getpid: replace syscall getpid/tid/ppid() to kernel version
* [#8066](https://github.com/apache/nuttx/pull/8066) sched: group: fix task info heap-use-after-free
* [#7997](https://github.com/apache/nuttx/pull/7997) sched: group: Fix memory corruption in group_leave.c
* [#8282](https://github.com/apache/nuttx/pull/8282) sched: group: Implement group_drop()
* [#8169](https://github.com/apache/nuttx/pull/8169) sched: group/addrenv: An assorment of fixes to address environment handling (part1)
* [#7995](https://github.com/apache/nuttx/pull/7995) sched: misc: add linux-like reboot notifier list
* [#8035](https://github.com/apache/nuttx/pull/8035) sched: misc: assert: add a last type to call notifier
* [#8158](https://github.com/apache/nuttx/pull/8158) sched: misc: assert: fix build break
* [#8035](https://github.com/apache/nuttx/pull/8035) sched: misc: assert: add a last type to call notifier
* [#8144](https://github.com/apache/nuttx/pull/8144) sched: misc: crash dump message added
* [#7996](https://github.com/apache/nuttx/pull/7996) sched: misc: Rename panic.c to panic_notifier.c
* [#7893](https://github.com/apache/nuttx/pull/7893) sched: note: Change sched_note_[begin|end] to macro
* [#8521](https://github.com/apache/nuttx/pull/8521) sched: nxtask_sigchild: Set exit code when CONFIG_SCHED_CHILD_STATUS=y
* [#8486](https://github.com/apache/nuttx/pull/8486) sched: nxtask_sigchild: Set process exit code to group exit code
* [#8520](https://github.com/apache/nuttx/pull/8520) sched: pthread: change the wrong type cast
* [#8505](https://github.com/apache/nuttx/pull/8505) sched: pthread: check pthread group after find joininfo
* [#7923](https://github.com/apache/nuttx/pull/7923) sched: pthread: Delay pjoininfo allocation time
* [#8150](https://github.com/apache/nuttx/pull/8150) sched: pthread: fix pthread exit error when set DETACHED
* [#8170](https://github.com/apache/nuttx/pull/8170) sched: pthread fixed pthread issue
* [#8205](https://github.com/apache/nuttx/pull/8205) sched: pthread: Implement more pthread API
* [#8209](https://github.com/apache/nuttx/pull/8209) sched: pthread: Implement pthread_gettid_np
* [#8236](https://github.com/apache/nuttx/pull/8236) sched: pthread: restore C89 compliance in pthread_create
* [#8336](https://github.com/apache/nuttx/pull/8336) sched: pthread: set default pthread name to parent's name
* [#7909](https://github.com/apache/nuttx/pull/7909) sched: pthread: show thread main entry when display thread name
* [#7877](https://github.com/apache/nuttx/pull/7877) sched: release_tcb: Do not release stack for user processes here
* [#8182](https://github.com/apache/nuttx/pull/8182) sched: semaphore: Add the holder for mutex
* [#7934](https://github.com/apache/nuttx/pull/7934) sched: semaphore: check sem flags before enable priority inheritance
* [#8175](https://github.com/apache/nuttx/pull/8175) sched: semaphore: increase sem count when holder task exit
* [#8074](https://github.com/apache/nuttx/pull/8074) sched: semaphore: Remove PRIOINHERIT_FLAGS_ENABLE and use SEM_PRIO_INHERIT instead
* [#8057](https://github.com/apache/nuttx/pull/8057) sched: semaphore: sem_unlink: return ENOENT when the named semaphore does not exist.
* [#8918](https://github.com/apache/nuttx/pull/8918) sched: semaphore: sem_waitirq: Fix semaphore wait interruption when MMU is in use
* [#8452](https://github.com/apache/nuttx/pull/8452) sched: sched_note: add SCHED_NOTE_CUSTOM_BEGIN/END interface
* [#8245](https://github.com/apache/nuttx/pull/8245) sched: sched_releasetcb: Revert 2 changes related to stack deallocation
* [#8914](https://github.com/apache/nuttx/pull/8914) sched: signal: add SIGSYS
* [#8312](https://github.com/apache/nuttx/pull/8312) sched: signal: Fix typo error in Kconfig(SIG_SEGA->SIG_SEGV)
* [#8885](https://github.com/apache/nuttx/pull/8885) sched: signal: Increase the number of real time signals. Two is not enough.
* [#8900](https://github.com/apache/nuttx/pull/8900) sched: signal: Remove configurable assignment of signal numbers
* [#8884](https://github.com/apache/nuttx/pull/8884) sched: signal: remove unused SIGCONDTIMEDOUT
* [#8740](https://github.com/apache/nuttx/pull/8740) sched: signal: sig_dispatch: Add signal action, if task is in system call
* [#8605](https://github.com/apache/nuttx/pull/8605) sched: signal: sig_dispatch: Fix case where signal action is sent twice
* [#8563](https://github.com/apache/nuttx/pull/8563) sched: signal: sig_dispatch: Signal action was not performed if TCB_FLAG_SYSC…
* [#8763](https://github.com/apache/nuttx/pull/8763) sched: signal: sig_dispatch: Revert changes that cause a regression
* [#7910](https://github.com/apache/nuttx/pull/7910) sched: task_setup: set sigprocmask directly to improve performance
* [#8560](https://github.com/apache/nuttx/pull/8560) sched: task: task_cancelpt: Kill the child if it is not in a cancel point
* [#8392](https://github.com/apache/nuttx/pull/8392) sched: waitpid: rename nx_waitpid() to nxsched_waitpid()
* [#8832](https://github.com/apache/nuttx/pull/8832) sched: wqueue: Do as much work as possible in work_thread
* [#8126](https://github.com/apache/nuttx/pull/8126) sched: wqueue: do work_cancel when worker is not null
* [#8321](https://github.com/apache/nuttx/pull/8321) sched: wqueue: semaphore count should be consistent with the number of work entries.
mm
* [#8085](https://github.com/apache/nuttx/pull/8085) mm: Add common virtual region allocator
* [#8140](https://github.com/apache/nuttx/pull/8140) mm: Enable a dedicated kernel heap on BUILD_FLAT via MM_KERNEL_HEAP
* [#7953](https://github.com/apache/nuttx/pull/7953) mm: fix typos
* [#8094](https://github.com/apache/nuttx/pull/8094) mm: Integrate TLSF manager
* [#8139](https://github.com/apache/nuttx/pull/8139) mm: backtrace: add backtrace for mempool and memdup for tlsf
* [#8650](https://github.com/apache/nuttx/pull/8650) mm: circbuf: update buffer head according to real length of writing
* [#8668](https://github.com/apache/nuttx/pull/8668) mm: circbuf: fix minor issue about update buffer head
* [#8161](https://github.com/apache/nuttx/pull/8161) mm: heap: add heap args to mm_malloc_size
* [#8054](https://github.com/apache/nuttx/pull/8054) mm: heap: Minor fix
* [#8136](https://github.com/apache/nuttx/pull/8136) mm: heap: tlsf: add global multi-mempool for heap manager and tlsf
* [#7920](https://github.com/apache/nuttx/pull/7920) mm: iob: revert "modify iob to support header padding and alignment features"
* [#7914](https://github.com/apache/nuttx/pull/7914) mm: iob: add a helper function to get iob count in chain
* [#7892](https://github.com/apache/nuttx/pull/7892) mm: iob: iob members are initialized after allocate
* [#7870](https://github.com/apache/nuttx/pull/7870) mm: iob: add support of partial bytes clone
* [#8296](https://github.com/apache/nuttx/pull/8296) mm: kasan: bypass link-time optimizer
* [#8028](https://github.com/apache/nuttx/pull/8028) mm: map: Remove the unnessary map.h inclusion in various drivers
* [#8512](https://github.com/apache/nuttx/pull/8512) mm: mempool: fix bug for realloc when shortage of memory
* [#8511](https://github.com/apache/nuttx/pull/8511) mm: mempool: fix mempool bug,when use MM_BACKTRACE
* [#8116](https://github.com/apache/nuttx/pull/8116) mm: mempool: fix crash by kasan report and enhance mempool
* [#8167](https://github.com/apache/nuttx/pull/8167) mm: mempool: update about mempool.
* [#8188](https://github.com/apache/nuttx/pull/8188) mm: mm_extend: Increase total heap size accordingly
* [#8339](https://github.com/apache/nuttx/pull/8339) mm: mm_memalign: avoid two adjacent free nodes situation.
* [#8295](https://github.com/apache/nuttx/pull/8295) mm: mm_heap: do this check in mm_size2ndx
* [#8734](https://github.com/apache/nuttx/pull/8734) mm: mm_heap: double malloced memory default alignment (4 -> 8, 8 -> 16)
* [#8353](https://github.com/apache/nuttx/pull/8353) mm: mm_heap: reduce the memory node overhead size
* [#8721](https://github.com/apache/nuttx/pull/8721) mm: mm_heap: support custom the mm alignment and default to be 8
* [#8131](https://github.com/apache/nuttx/pull/8131) mm: mm_heap: tlsf: support global mempool to optimize small block performance
* [#8068](https://github.com/apache/nuttx/pull/8068) mm: shm: Clean up the System-V shm driver
* [#8133](https://github.com/apache/nuttx/pull/8133) mm: tlsf: fix compile error/warning on tlsf
* [#8736](https://github.com/apache/nuttx/pull/8736) mm: ubsan: Implement __ubsan_handle_invalid_builtin
libs
* [#8042](https://github.com/apache/nuttx/pull/8042) libc: Add more libc function for arm and riscv
* [#8862](https://github.com/apache/nuttx/pull/8862) libc: add more syscall/libc symbols into csv file
* [#8118](https://github.com/apache/nuttx/pull/8118) libc: Add sys/endian.h to improve the compatiblity with bionic libc
* [#8294](https://github.com/apache/nuttx/pull/8294) libc: Add return check in posix_spawn_file_actions_adddup2
* [#7850](https://github.com/apache/nuttx/pull/7850) libc: Add scalbn[f|l]function to libc math
* [#8437](https://github.com/apache/nuttx/pull/8437) libc: Define _assert/__assert to avoid 3rd libary redefine them
* [#8065](https://github.com/apache/nuttx/pull/8065) libc: don't redefined __ARM_ARCH_XXX when __ARM_ARCH defined
* [#8624](https://github.com/apache/nuttx/pull/8624) libc: export exit() if configured in flat mode
* [#8608](https://github.com/apache/nuttx/pull/8608) libc: fix a bug of strtof
* [#8441](https://github.com/apache/nuttx/pull/8441) libc: fix a bug of strtold
* [#8106](https://github.com/apache/nuttx/pull/8106) libc: fix the some else bug of strtold
* [#8495](https://github.com/apache/nuttx/pull/8495) libc: fix some bug of strtold
* [#8117](https://github.com/apache/nuttx/pull/8117) libc: Fixbug strtold
* [#8206](https://github.com/apache/nuttx/pull/8206) libc: Implement quick_exit and at_quick_exit
* [#8289](https://github.com/apache/nuttx/pull/8289) libc: invalid dns cache entry after ttl expires
* [#8418](https://github.com/apache/nuttx/pull/8418) libc: Keep printf("%pS", p) behavior consistent
* [#8112](https://github.com/apache/nuttx/pull/8112) libc: Let _SC_PAGESIZE return 4096 when CONFIG_MM_PGSIZE isn't defined
* [#8112](https://github.com/apache/nuttx/pull/8112) libc: modify the strtof
* [#8584](https://github.com/apache/nuttx/pull/8584) libc: Move math library from libs/libc/math to libs/libm/libm
* [#8023](https://github.com/apache/nuttx/pull/8023) libc: Move tree.h from include/nuttx to include/sys
* [#8517](https://github.com/apache/nuttx/pull/8517) libc: Move memfd related stuff to sys/mman.h
* [#8585](https://github.com/apache/nuttx/pull/8585) libc: Remove dependence of LIBC_FLOATINGPOINT and LIBC_LONG_LONG from LIBC_NUMBERED_ARGS
* [#8292](https://github.com/apache/nuttx/pull/8292) libc: asctime_r: add param check to asctime_r()
* [#8546](https://github.com/apache/nuttx/pull/8546) libc: exit: Purge calls to userspace API exit() from kernel
* [#8087](https://github.com/apache/nuttx/pull/8087) libc: getaddrinfo: add AI_NUMERICHOST flag handle
* [#8606](https://github.com/apache/nuttx/pull/8606) libc: lib_abort.c: Change tall to user-space exit() into system call _exit()
* [#8651](https://github.com/apache/nuttx/pull/8651) libc: lib_bzero: Add bzero prototype.
* [#8522](https://github.com/apache/nuttx/pull/8522) libc: lib_memcpy.c:Add mempcpy method.
* [#8639](https://github.com/apache/nuttx/pull/8639) libc: lib_rawmemchr.c: Add rawmemchr methon.
* [#8756](https://github.com/apache/nuttx/pull/8756) libc: libvsprintf: use puts to replace the putc
* [#8063](https://github.com/apache/nuttx/pull/8063) libc: math: add simple implementation for sincos API
* [#8874](https://github.com/apache/nuttx/pull/8874) libc: math: rename libc/math.csv to libm/libm.csv
* [#8416](https://github.com/apache/nuttx/pull/8416) libc: misc: mutex: fix assertion if nxmutex_reset() before nxmutex_unlock()
* [#8291](https://github.com/apache/nuttx/pull/8291) libc: netdb: Add return check in rexec_af
* [#7998](https://github.com/apache/nuttx/pull/7998) libc: passwd: add pw_gecos field(userinfo)
* [#8861](https://github.com/apache/nuttx/pull/8861) libc: settimeofday: correct prototype of settimeofday()
* [#8356](https://github.com/apache/nuttx/pull/8356) libc: stdio: fix rounding errors for fractional values less than 1
* [#8696](https://github.com/apache/nuttx/pull/8696) libc: stdio: Implement lib_get_stream
* [#8641](https://github.com/apache/nuttx/pull/8641) libc: stdio: Implement simple buffered out stream for vdprintf
* [#8638](https://github.com/apache/nuttx/pull/8638) libc: stdio: Make gets/gets_s work without CONFIG_FILE_STREAM
* [#8628](https://github.com/apache/nuttx/pull/8628) libc: stdio: Remove CONFIG_EOL_IS_XXX
* [#5996](https://github.com/apache/nuttx/pull/5996) libc: stdlib: generate uniformly distributed pseudo-random numbers
* [#8503](https://github.com/apache/nuttx/pull/8503) libc: stdlib: Guard fflush in exit with CONFIG_FILE_STREAM
* [#8681](https://github.com/apache/nuttx/pull/8681) libc: stream: Exchange name of lib_rawsostream.c and lib_rawoutstream.c
* [#8352](https://github.com/apache/nuttx/pull/8352) libc: stream: fix syslogstream_addstring length error
* [#8685](https://github.com/apache/nuttx/pull/8685) libc: stream: Implement gets/puts for all streams
* [#8704](https://github.com/apache/nuttx/pull/8704) libc: stream: unify stream return behavior
* [#8809](https://github.com/apache/nuttx/pull/8809) libc: syslogstream: add length check
* [#8555](https://github.com/apache/nuttx/pull/8555) libc: unistd: lib_getrlimit: return a value for RLIMIT_NOFILE request.
* [#8115](https://github.com/apache/nuttx/pull/8115) libc: versionsort: support versionsort and strverscmp
* [#8596](https://github.com/apache/nuttx/pull/8596) libcxx: Workaround -Wmaybe-uninitialized warning with "GCC 12.2"
* [#8120](https://github.com/apache/nuttx/pull/8120) libxx: Add CXX_STANDARD to select -std=c++??
* [#8187](https://github.com/apache/nuttx/pull/8187) libxx: c++: Change the default value of CXX_STANDARD from c++17 to gnu++17
* [#8600](https://github.com/apache/nuttx/pull/8600) libxx: check GCC version before set special flags
* [#8611](https://github.com/apache/nuttx/pull/8611) libxx: Fix typo in shell expressions
* [#8349](https://github.com/apache/nuttx/pull/8349) netdb: add sanity check to avoid null pointer reference
Misc
* [#8634](https://github.com/apache/nuttx/pull/8634) Add branch prediction for assert
* [#8280](https://github.com/apache/nuttx/pull/8280) Add more battery operation
* [#8003](https://github.com/apache/nuttx/pull/8003) Add new api for signal and string
* [#8000](https://github.com/apache/nuttx/pull/8000) Change FIOC_MMAP, FIOC_MUNMAP and FIOC_TRUNCATE into file operation c…
* [#8371](https://github.com/apache/nuttx/pull/8371) Change sec2tick macros to round up
* [#8618](https://github.com/apache/nuttx/pull/8618) change strcpy to strlcpy
* [#8285](https://github.com/apache/nuttx/pull/8285) Force sockaddr_storage to the desired alignment
* [#8201](https://github.com/apache/nuttx/pull/8201) Make 64-bit time_t unsigned
* [#8435](https://github.com/apache/nuttx/pull/8435) Move SEEK_xxx from unistd.h to sys/types.h
* [#8363](https://github.com/apache/nuttx/pull/8363) Remove executable permissions from source files
* [#7881](https://github.com/apache/nuttx/pull/7881) Remove FAR and apply formatting
* [#8401](https://github.com/apache/nuttx/pull/8401) Remove OK macro from the code base
* [#8417](https://github.com/apache/nuttx/pull/8417) Remove the remain MIN/MAX like macro
* [#8424](https://github.com/apache/nuttx/pull/8424) Remove the remain MIN/MAX like macro
* [#8240](https://github.com/apache/nuttx/pull/8240) Switch from semaphore to mutex for exclusive access
* [#8400](https://github.com/apache/nuttx/pull/8400) assert: add a Kconfig option to limit binfile size
* [#8213](https://github.com/apache/nuttx/pull/8213) assert: Log the assertion expression in case of fail
* [#6920](https://github.com/apache/nuttx/pull/6920) crypto: support /dev/crypto for nuttx
* [#8134](https://github.com/apache/nuttx/pull/8134) crypto: support crypto can handle streaming data
* [#8135](https://github.com/apache/nuttx/pull/8135) crypto: add read & write function aviod check flag failed
* [#8279](https://github.com/apache/nuttx/pull/8279) dns: packed dns_header_s and dns_question_s
* [#8274](https://github.com/apache/nuttx/pull/8274) feature: add audio AUDIOIOC_SETPARAMTER ioctl command
* [#8397](https://github.com/apache/nuttx/pull/8397) include: Add MIN/MAX definition to sys/param.h
* [#8414](https://github.com/apache/nuttx/pull/8414) include: Add nitems() definition to sys/param.h
* [#7859](https://github.com/apache/nuttx/pull/7859) include: compiler.h: Add malloc_likex and realloc_like macro
* [#8211](https://github.com/apache/nuttx/pull/8211) include: epoll.h: Add u64 field like Linux
* [#8523](https://github.com/apache/nuttx/pull/8523) include: limits.h: Map _POSIX_[S]SIZE_M[AX|IN] to [U]LONG_M[AX|IN]
* [#8183](https://github.com/apache/nuttx/pull/8183) include: limits.h: add PTRDIFF_MAX and PTRDIFF_MIN
* [#8623](https://github.com/apache/nuttx/pull/8623) include: signal.h:Expanding SIGNAL to be consistent with Linux
* [#8571](https://github.com/apache/nuttx/pull/8571) include: sys/resource.h:Added ru_maxrss type
* [#8535](https://github.com/apache/nuttx/pull/8535) include: sys/socket.h: Add SOCK_CTRL to socket type
* [#8326](https://github.com/apache/nuttx/pull/8326) include: sys/queue.h:remove CONFIG_ALLOW_MIT_COMPONENTS
* [#8196](https://github.com/apache/nuttx/pull/8196) include: time.h: Add CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID definition
* [#8277](https://github.com/apache/nuttx/pull/8277) include: timers/pwm: Add user provided argument in struct pwm_info_s
* [#8174](https://github.com/apache/nuttx/pull/8174) include: touchscreen.h: move the #ifdef CONFIG_INPUT position
* [#8407](https://github.com/apache/nuttx/pull/8407) misc/assert: remove const string from assert expression
* [#8281](https://github.com/apache/nuttx/pull/8281) motor: Add pattern control mode
* [#7943](https://github.com/apache/nuttx/pull/7943) nuttx: add some missing FAR
* [#7942](https://github.com/apache/nuttx/pull/7942) nuttx: unify MIN, MAX and ABS macro definition across the code
* [#8413](https://github.com/apache/nuttx/pull/8413) nuttx: Use MIN/MAX definitions from "sys/param.h"
* [#8859](https://github.com/apache/nuttx/pull/8859) openamp: fix libmetal compile error with arm64 arch
* [#8629](https://github.com/apache/nuttx/pull/8629) openamp: update openamp lib
* [#8284](https://github.com/apache/nuttx/pull/8284) spinlock: Move spinlock_init to public macros
* [#7999](https://github.com/apache/nuttx/pull/7999) sys: socket/scm: return NULL when cmsg_len is zero
* [#8073](https://github.com/apache/nuttx/pull/8073) syscall: Always add munmap into syscalls
* [#8275](https://github.com/apache/nuttx/pull/8275) touch: Add ioctl to enable/disable gesture
* [#8016](https://github.com/apache/nuttx/pull/8016) treewide: Remove the unnecessary NULL fields in global instance definition of file_operations
* [#8527](https://github.com/apache/nuttx/pull/8527) utsname: Expand the buffer for version information slightly
Changes to the Build System
Improvements
* [#8177](https://github.com/apache/nuttx/pull/8177) build: Add STACK_USAGE(-fstack-usage) to assist the stack analysis
* [#8449](https://github.com/apache/nuttx/pull/8449) build/Kconfig: add BINDIR/APPSBINDIR to support out of tree build
* [#8357](https://github.com/apache/nuttx/pull/8357) tools: add separate flags parameter for COMPILE/COMPILEXX
* [#8391](https://github.com/apache/nuttx/pull/8391) tools: ARCHIVE uses the full path
* [#8732](https://github.com/apache/nuttx/pull/8732) tools: arm: Add missing -mcpu param for zig
* [#8403](https://github.com/apache/nuttx/pull/8403) tools: checkpatch.sh: Check the source code doesn't set executable bit
* [#8379](https://github.com/apache/nuttx/pull/8379) tools: checkpatch: Added encoding check with cvt2utf
* [#8379](https://github.com/apache/nuttx/pull/8379) tools: checkpatch: Added encoding check with cvt2utf
* [#8347](https://github.com/apache/nuttx/pull/8347) tools: compile with full file path
* [#8347](https://github.com/apache/nuttx/pull/8347) tools: compile with full file path
* [#8443](https://github.com/apache/nuttx/pull/8443) tools: config: silent print of archive objects
* [#8442](https://github.com/apache/nuttx/pull/8442) tools: config: stack usage(.su) file should be removed on clean phase
* [#8674](https://github.com/apache/nuttx/pull/8674) tools: cxd56: Fix typo in mkspk tool
* [#8663](https://github.com/apache/nuttx/pull/8663) tools: Don't download tarball if a local git repo found
* [#7971](https://github.com/apache/nuttx/pull/7971) tools: Ensure removing Python related commands for macOS
* [#7993](https://github.com/apache/nuttx/pull/7993) tools: Ensure removing Python3.11 related commands for macOS
* [#8515](https://github.com/apache/nuttx/pull/8515) tools: Extract a valid trace line and resolve the address to a function name
* [#8310](https://github.com/apache/nuttx/pull/8310) tools: Extend mkdep buffer
* [#8916](https://github.com/apache/nuttx/pull/8916) tools: export: LLVM style arch info for non-c language
* [#8870](https://github.com/apache/nuttx/pull/8870) tools: export: Add LDELFFLAGS to mkexport.sh.
* [#8425](https://github.com/apache/nuttx/pull/8425) tools: Fix Config.mk
* [#8494](https://github.com/apache/nuttx/pull/8494) tools: kconfig: add kconfiglib support
* [#8384](https://github.com/apache/nuttx/pull/8384) tools: Makefile: fix redundant delimiters when using make V=1
* [#8378](https://github.com/apache/nuttx/pull/8378) tools: makefile: silent all compile output
* [#8381](https://github.com/apache/nuttx/pull/8381) tools: Make zig available for arm/riscv/sim
* [#8601](https://github.com/apache/nuttx/pull/8601) tools: make the symbol table generated by mkallsyms.py two-byte aligned 
* [#8305](https://github.com/apache/nuttx/pull/8305) tools: minidumpserver: add arm-a support
* [#8142](https://github.com/apache/nuttx/pull/8142) tools: minidumpserver: replace stackdump to stack_dump
* [#7938](https://github.com/apache/nuttx/pull/7938) tools: minidumpserver: sync the stackdump search string after #7875
* [#8723](https://github.com/apache/nuttx/pull/8723) tools: nxstyle: add 'IRQn_Type' to whitelists
* [#8657](https://github.com/apache/nuttx/pull/8657) tools: nxstyle: add "NimMain" to whitelists.
* [#8559](https://github.com/apache/nuttx/pull/8559) tools: nxstyle: add "CMUnitTest" to nxstyle white list
* [#8307](https://github.com/apache/nuttx/pull/8307) tools: parsememdump.py: support show total pid memory
* [#8652](https://github.com/apache/nuttx/pull/8652) tools: parsememdump.py: Restore the execution permission bit
* [#8808](https://github.com/apache/nuttx/pull/8808) tools: parsetrace: fix context swtich parsing error
* [#8928](https://github.com/apache/nuttx/pull/8928) tools: riscv: Map extensions to certain cpu model for LLVM based toolc…
* [#8030](https://github.com/apache/nuttx/pull/8030) tools: script: support IPv6 in simhostroute.sh
* [#8001](https://github.com/apache/nuttx/pull/8001) tools: script: enable forward in simhostroute.sh
* [#8007](https://github.com/apache/nuttx/pull/8007) tools: syscall: export UP_WRAPSYM/UP_REALSYM macro
* [#8419](https://github.com/apache/nuttx/pull/8419) tools: use relative paths when reverting to compile
* [#8586](https://github.com/apache/nuttx/pull/8586) tools: unix: use anonymous pipes to avoid menuconfig break
* [#8675](https://github.com/apache/nuttx/pull/8675) tools: Unix.mk: Add VERSION_ARG to argument of version.sh
* [#8308](https://github.com/apache/nuttx/pull/8308) tools: unix.mk: Pass APPDIR to arch's Makefile
* [#8582](https://github.com/apache/nuttx/pull/8582) tools: Updated python scripts interpreter invocation in tools/.
* [#8306](https://github.com/apache/nuttx/pull/8306) tools: version: generate dummy version without breakout
* [#8759](https://github.com/apache/nuttx/pull/8759) treewide: add DOWNLOAD variable as unification of curl call
Architectural Support
New Architecture Support
* [#8816](https://github.com/apache/nuttx/pull/#8816) risc-v: espressif: Add Espressif chip family support on top of esp-hal-3rdparty
* [#8420](https://github.com/apache/nuttx/pull/#8420) risc-v: esp32c6: Add ESP32-C6 basic support
* [#8466](https://github.com/apache/nuttx/pull/#8466) risc-v: hpm6750: add hpmicro chip
Improvements
* [#8114](https://github.com/apache/nuttx/pull/8114) Revert "arch: Don't free the context if the reference doesn't equal z…
* [#7982](https://github.com/apache/nuttx/pull/7982) arch: add volatile for regs in up_dump_register function
* [#8283](https://github.com/apache/nuttx/pull/8283) arch: addrenv: Change group_addrenv_t to arch_addrenv_t
* [#8355](https://github.com/apache/nuttx/pull/8355) arch: addrenv: Refactor address environment handling, by moving tg_addrenv out of the group structure
* [#8227](https://github.com/apache/nuttx/pull/8227) arch: ARCH_KERNEL_STACK: Fix signal handling with kernel stack
* [#8821](https://github.com/apache/nuttx/pull/8821) arch: arch_timer: fixed build issue when enable tickless
* [#8241](https://github.com/apache/nuttx/pull/8241) arch: assert: switch from ASSERT(0/false) to PANIC
* [#8192](https://github.com/apache/nuttx/pull/8192) arch: backtrace: use CURRENT_REGS when in interrupt context
* [#8037](https://github.com/apache/nuttx/pull/8037) arch: change tcbinfo regs num
* [#7915](https://github.com/apache/nuttx/pull/7915) arch: compiler.h: Add _ between format|printf|syslog|scanf|strftime and like
* [#8253](https://github.com/apache/nuttx/pull/8253) arch: EXTRA_LIBS: link all staging library
* [#8776](https://github.com/apache/nuttx/pull/8776) arch: fixed error in the calculation of nwords caused an out of bounds
* [#8467](https://github.com/apache/nuttx/pull/8467) arch: group_addrenv: Fix call to group_addrenv for targets that don't need it
* [#7895](https://github.com/apache/nuttx/pull/7895) arch: Make REG_[GET/SET]_FIELD thread safe for ESP SOCs
* [#7875](https://github.com/apache/nuttx/pull/7875) arch: move stack and task dump to common code
* [#8875](https://github.com/apache/nuttx/pull/8875) arch: Remove MIN macro definition
* [#7973](https://github.com/apache/nuttx/pull/7973) arch: Remove the unused arch color function variant
* [#8779](https://github.com/apache/nuttx/pull/8779) arch: Rename up_[early]serialinit to [arm64|riscv|x86_64][early]serialinit
* [#7899](https://github.com/apache/nuttx/pull/7899) arch: remove up_release_pending function
* [#8825](https://github.com/apache/nuttx/pull/8825) arch: remove unnecessary sem_setprotocol code
* [#7955](https://github.com/apache/nuttx/pull/7955) arch: save user context in assert common code
* [#8842](https://github.com/apache/nuttx/pull/8842) arch: Set the default value of ARCH for x86_64
* [#8712](https://github.com/apache/nuttx/pull/8712) arch/boards: Rename up_lowputc to [arm64|renesas]_lowputc
* [#8127](https://github.com/apache/nuttx/pull/8127) arm: Add missing kconfig for arm
* [#8627](https://github.com/apache/nuttx/pull/8627) arm: backtrace/unwind: skip unaligned instruction
* [#8730](https://github.com/apache/nuttx/pull/8730) arm: cache: add up_get_xcache_linesize() support
* [#8866](https://github.com/apache/nuttx/pull/8866) arm: chip/sdio/muxbus: remove all undefined symbols
* [#8746](https://github.com/apache/nuttx/pull/8746) arm: correct ARCH_HAVE_DSP to ARM_HAVE_DSP
* [#8125](https://github.com/apache/nuttx/pull/8125) arm: Fix error in cache ops
* [#7906](https://github.com/apache/nuttx/pull/7906) arm: fix typos in start files
* [#8249](https://github.com/apache/nuttx/pull/8249) arm: make DSP arch extension configurable
* [#8703](https://github.com/apache/nuttx/pull/8703) arm: armv7-a: fixed scu cpu tagram mask define issue
* [#8157](https://github.com/apache/nuttx/pull/8157) arm: armv7-a/r: fix kconfig error of l2 cache latency
* [#8036](https://github.com/apache/nuttx/pull/8036) arm: armv7-m/armv8-m: add faultmask register operation to
* [#8737](https://github.com/apache/nuttx/pull/8737) arm: armv8-m: add missing zig flags
* [#8717](https://github.com/apache/nuttx/pull/8717) arm: armv8-m: DSP extension is optional
* [#8238](https://github.com/apache/nuttx/pull/8238) arm: armv8-m: Fix pthread_start syscall
* [#7854](https://github.com/apache/nuttx/pull/7854) arm: armv8-m: support pmu api
* [#8747](https://github.com/apache/nuttx/pull/8747) arm: armv8-m/cortex-m85: add support of PACBTI(Authentication and Branch Target Identification Extension)
* [#8335](https://github.com/apache/nuttx/pull/8335) arm: itm_syslog: remove invaild select config
* [#8360](https://github.com/apache/nuttx/pull/8360) arm: unwinder: set default unwinder type to arm exidx/extab
* [#8678](https://github.com/apache/nuttx/pull/8678) arm: cxd56xx: Fix a freezing issue caused by power control
* [#8677](https://github.com/apache/nuttx/pull/8677) arm: cxd56xx: Fix gnss poll when an event has already occurred
* [#8877](https://github.com/apache/nuttx/pull/8877) arm: cxd56xx: Fix SPI transfer without DMA
* [#8676](https://github.com/apache/nuttx/pull/8676) arm: cxd56xx: Update miscellaneous cxd56xx drivers
* [#7884](https://github.com/apache/nuttx/pull/7884) arm: gd32f450: Add i2c driver for gd32f450 MCU
* [#8707](https://github.com/apache/nuttx/pull/8707) arm: imx6: Fix a compilation error with UBSan
* [#8603](https://github.com/apache/nuttx/pull/8603) arm: imxrt: d-cache write-back mode with networking
* [#8684](https://github.com/apache/nuttx/pull/8684) arm: imxrt: Feature imxrt1064 mcuboot
* [#8788](https://github.com/apache/nuttx/pull/8788) arm: imxrt: imxrt_flexpwm independent output B support added
* [#8499](https://github.com/apache/nuttx/pull/8499) arm: imxrt: PWM trigger source selection option and update for Teensy 4.1 configuration
* [#7929](https://github.com/apache/nuttx/pull/7929) arm: imxrt: serial: Fix selection of RTS to iflow
* [#7868](https://github.com/apache/nuttx/pull/7868) arm: imxrt: Serial: LPUART_STAT_PF s/b LPUART_STAT_NF
* [#7933](https://github.com/apache/nuttx/pull/7933) amr: lpc17xx_40xx: CAN driver SocketCAN enforce TX fifo behaviour
* [#8803](https://github.com/apache/nuttx/pull/8803) arm: nrf52: fix device shutdown
* [#8828](https://github.com/apache/nuttx/pull/8828) arm: nrf52: fix RTC tickless
* [#8817](https://github.com/apache/nuttx/pull/8817) arm: nrf52: improvements for GPIOTE and buttons example for boards
* [#8923](https://github.com/apache/nuttx/pull/8923) arm: nrf52: initial support for USBDEV
* [#8725](https://github.com/apache/nuttx/pull/8725) arm: nrf52: minor fixes for SoftDevice
* [#8702](https://github.com/apache/nuttx/pull/8702) arm: nrf52: use the lates SoftDevice release (v2.3.0)
* [#8793](https://github.com/apache/nuttx/pull/8793) arm: nrf52/nrf53: various fixes
* [#8804](https://github.com/apache/nuttx/pull/8804) arm: nrf53: add ADC support
* [#8909](https://github.com/apache/nuttx/pull/8909) arm: nrf53: add GPIOTE support (GPIO interrupts)
* [#8826](https://github.com/apache/nuttx/pull/8826) arm: nrf53: add PWM support
* [#8908](https://github.com/apache/nuttx/pull/8908) arm: nrf53: add RTC and tickless support
* [#8722](https://github.com/apache/nuttx/pull/8722) arm: nrf53: add SoftDevice support for the net core
* [#8806](https://github.com/apache/nuttx/pull/8806) arm: nrf53: add TIM support
* [#8805](https://github.com/apache/nuttx/pull/8805) arm: nrf53: add UID support
* [#8770](https://github.com/apache/nuttx/pull/8770) arm: nrf53: add more register definitions (ported from nrf52) and some cosmetics for nrf52
* [#8710](https://github.com/apache/nuttx/pull/8710) arm: nrf53: initial support for net core boot
* [#8765](https://github.com/apache/nuttx/pull/8765) arm: nrf53: initial support for rptun
* [#8807](https://github.com/apache/nuttx/pull/8807) arm: nrf53: initialize PM
* [#7869](https://github.com/apache/nuttx/pull/7869) arm: s32k1xx: Add DMA to the s32k1 serial
* [#7961](https://github.com/apache/nuttx/pull/7961) arm: s32k1xx: Add config option to enable UART invert setting.
* [#7866](https://github.com/apache/nuttx/pull/7866) arm: s32k1xx: automatically calculate size of periphclocks array
* [#8058](https://github.com/apache/nuttx/pull/8058) arm: s32k1xx: avoid buffer overflow when CAN time is used for non-FD CAN.
* [#7887](https://github.com/apache/nuttx/pull/7887) arm: s32k3xx: Clean up
* [#7931](https://github.com/apache/nuttx/pull/7931) arm: s32k3xx: EDMA fix get count
* [#7901](https://github.com/apache/nuttx/pull/7901) arm: s32k1xx: Fix S32K1XX PM which was broken by #7869
* [#7879](https://github.com/apache/nuttx/pull/7879) arm: s32k1xx: FlexCAN don't use a blocking wait in tx avail
* [#7888](https://github.com/apache/nuttx/pull/7888) arm: s32k1xx: LPSPI use DMA
* [#7921](https://github.com/apache/nuttx/pull/7921) arm: s32k3xx: MR-CANHUBK3 Add protected knsh support
* [#7958](https://github.com/apache/nuttx/pull/7958) arm: s32k3xx: PHY MII/MMD support and TJA1103 support
* [#7967](https://github.com/apache/nuttx/pull/7967) arm: s32k3xx: Progmem dataflash with littlefs support
* [#8005](https://github.com/apache/nuttx/pull/8005) arm: s32k3xx: Progmem fixes and size config
* [#7932](https://github.com/apache/nuttx/pull/7932) arm: s32k3xx: Serial add DMA
* [#8223](https://github.com/apache/nuttx/pull/8223) arm: s32k3xx: serial Do not use TC use TDRE & TIE Bug Fix
* [#7930](https://github.com/apache/nuttx/pull/7930) arm: s32k1xx: serial: Fix selection of RTS to iflow
* [#7907](https://github.com/apache/nuttx/pull/7907) arm: samv7: add ARCH_RAMVECTORS support
* [#7894](https://github.com/apache/nuttx/pull/7894) arm: sama5: Add Flexcom SPI support
* [#7940](https://github.com/apache/nuttx/pull/7940) arm: sama5: Add SAMA5D2 MCAN support
* [#8655](https://github.com/apache/nuttx/pull/8655) arm: samv7: add support for ADC conversion triggering with PWM
* [#8597](https://github.com/apache/nuttx/pull/8597) arm: samv7: add support for complementary PWM output
* [#8484](https://github.com/apache/nuttx/pull/8484) arm: sama5: add support for flexcom twi
* [#8689](https://github.com/apache/nuttx/pull/8689) arm: samv7: add support for PWM fault protection
* [#8480](https://github.com/apache/nuttx/pull/8480) arm: sama5: Changes to allow board-specific SAMA5 DRP/OTG support
* [#8724](https://github.com/apache/nuttx/pull/8724) arm: sam34: Copy I2C_M_NOSTART support from sam7v/sam_twihs.c driver
* [#8141](https://github.com/apache/nuttx/pull/8141) arm: sama5: Ensure SFR CKTRIM register correctly set, SAMA5D2/D3 only
* [#8488](https://github.com/apache/nuttx/pull/8488) arm: samv7: fix compilation error when only DAC1 is configured
* [#8104](https://github.com/apache/nuttx/pull/8104) arm: sama5: fix dma support for SAMA5 flexspi driver
* [#8237](https://github.com/apache/nuttx/pull/8237) arm: samv7: fix issue when AFEC1 driver failed to open second time
* [#8565](https://github.com/apache/nuttx/pull/8565) arm: samv7: fix MCAN build error
* [#8479](https://github.com/apache/nuttx/pull/8479) arm: sama5: Fix sam_udphs to allow RNDIS to work
* [#8490](https://github.com/apache/nuttx/pull/8490) arm: sama5: Fixes to PR that enables SAMA5 OTG/DRP support
* [#7904](https://github.com/apache/nuttx/pull/7904) arm: sama5: serial and flexcom serial corrections
* [#8714](https://github.com/apache/nuttx/pull/8714) arm: samv7: raise input flow control warning only for serial drivers
* [#8745](https://github.com/apache/nuttx/pull/8745) arm: samv7: switch from printing numbers as signed to unsigned in QSPI
* [#7941](https://github.com/apache/nuttx/pull/7941) arm: samv7: Update SAMV7 sam_mcan.c
* [#8570](https://github.com/apache/nuttx/pull/8570) arm: stm32: Add UART4 & UART5 to high density stm32f103 chips
* [#8880](https://github.com/apache/nuttx/pull/8880) arm: stm32: Fixed stm32 rcc and tim
* [#8882](https://github.com/apache/nuttx/pull/8882) arm: stm32: otgdev: remove invalid use of the priv field for EP
* [#8060](https://github.com/apache/nuttx/pull/8060) arm: stm32: protect TX buffer during CAN error frame generation.
* [#8040](https://github.com/apache/nuttx/pull/8040) arm: stm32: unified up_perf initialization
* [#8220](https://github.com/apache/nuttx/pull/8220) arm: stm32: foc: move the warning in the right place - should be in stm32f7
* [#8569](https://github.com/apache/nuttx/pull/8569) arm: stm32: stm32_eth: Fixed alignment of Ethernet descriptors & buffers.
* [#8566](https://github.com/apache/nuttx/pull/8566) arm: stm32: stm32_eth: Enabled store-end-forward.
* [#8548](https://github.com/apache/nuttx/pull/8548) arm: stm32: stm32_eth: Busy bit is cleared before accessing the MACMIIAR register.
* [#8502](https://github.com/apache/nuttx/pull/8502) arm: stm32: stm32_sdio: Fix in SDIO clocking configuration.
* [#8212](https://github.com/apache/nuttx/pull/8212) arm: stm32/stm32f7: add support for BEMF sensing
* [#8069](https://github.com/apache/nuttx/pull/8069) arm: stm32/stm32f7: CANv1: protect TX buffer during CAN error frame generation
* [#8547](https://github.com/apache/nuttx/pull/8547) arm: stm32f7: Remove CPU lock on HW fail
* [#8699](https://github.com/apache/nuttx/pull/8699) arm: stm32f7: stm32_i2c.c: Driver cleanup
* [#8303](https://github.com/apache/nuttx/pull/8303) arm: stm32f7: stm32_i2c.c: Round up stm32_i2c_toticks return v…
* [#8219](https://github.com/apache/nuttx/pull/8219) arm: stm32h7: add lower half timer driver
* [#8124](https://github.com/apache/nuttx/pull/8124) arm: stm32h7: add SMPS PWR option for STM32H7X7
* [#8536](https://github.com/apache/nuttx/pull/8536) arm: stm32h7: socketcan extended filter fixes
* [#8250](https://github.com/apache/nuttx/pull/8250) arm: stm32h7: Support socket CAN error handling.
* [#8055](https://github.com/apache/nuttx/pull/8055) arm: stm32wb: add i2c driver
* [#8304](https://github.com/apache/nuttx/pull/8304) arm: tiva: Added SocketCAN driver implementation to the tiva chip, modified the …
* [#8465](https://github.com/apache/nuttx/pull/8465) arm: tiva: Fix inability to control serial CTS/RTS via termios
* [#8362](https://github.com/apache/nuttx/pull/8362) arm: tiva: Remove dead store
* [#8475](https://github.com/apache/nuttx/pull/8475) arm: tiva: Serial TIOCxBRK BSD-compatible BREAK support
* [#8405](https://github.com/apache/nuttx/pull/8405) arm: tiva: Support termios for Tiva
* [#8406](https://github.com/apache/nuttx/pull/8406) arm: tiva: serial: Allow changing CTS/RTS with termios
* [#8322](https://github.com/apache/nuttx/pull/8322) arm: tlsr82: Minor fix for telink tls82 chip
* [#8252](https://github.com/apache/nuttx/pull/8252) arm: tlsr82: tc32 backtrace bug fix
* [#8716](https://github.com/apache/nuttx/pull/8716) arm64: add arm64_serialinit/arm64_earlyserialinit
* [#8665](https://github.com/apache/nuttx/pull/8665) arm64: ARMv8-r(Cortex-R82) support
* [#8687](https://github.com/apache/nuttx/pull/8687) arm64: ARMv8-r(Cortex-R82) support( add FVP platform)
* [#8009](https://github.com/apache/nuttx/pull/8009) arm64/a64: add driver for Allwinner A64 I2C bus
* [#7865](https://github.com/apache/nuttx/pull/7865) arm64/A64: Add irq definition of Allwinner A64 interrupts #7939 arm64/a64: Add driver for MIPI DSI
* [#8039](https://github.com/apache/nuttx/pull/8039) arm64/a64: Fix PIO Interrupt
* [#7944](https://github.com/apache/nuttx/pull/7944) arm64/a64: Add driver for Display Engine
* [#7962](https://github.com/apache/nuttx/pull/7962) arm64/a64: Add driver for Reduced Serial Bus
* [#7919](https://github.com/apache/nuttx/pull/7919) arm64/a64: Add driver for TCON0
* [#8476](https://github.com/apache/nuttx/pull/8476) mips: pic32mz: Serial support for termios
* [#8550](https://github.com/apache/nuttx/pull/8550) mips: pic32mz: Serial TIOCxBRK BSD-compatible BREAK support
* [#8540](https://github.com/apache/nuttx/pull/8540) mips: pic32mz: Fix PPS mappings for RPE5R register
* [#8539](https://github.com/apache/nuttx/pull/8539) mips: pic32mz: Fix PPS register mapping defines
* [#7970](https://github.com/apache/nuttx/pull/7970) qemu-rv: Fix qemu_rv_mtimer_interrupt() for BUILD_KERNEL
* [#8180](https://github.com/apache/nuttx/pull/8180) risc-v: addrenv: Do not free physical memory for SHM area
* [#7960](https://github.com/apache/nuttx/pull/7960) risc-v: addrenv: Test that satp contents make sense
* [#8168](https://github.com/apache/nuttx/pull/8168) risc-v: addrenv_shm: Add missing sanity check to up_shmdt()
* [#8226](https://github.com/apache/nuttx/pull/8226) risc-v: riscv_exception.c: Print the EPC value always
* [#8461](https://github.com/apache/nuttx/pull/8461) risc-v: esp32c3: Add RTC interrupt support
* [#8064](https://github.com/apache/nuttx/pull/8064) risc-v: esp32c3: correct receive buffer size
* [#8415](https://github.com/apache/nuttx/pull/8415) risc-v: esp32c3: fix cpuint issue
* [#7902](https://github.com/apache/nuttx/pull/7902) risc-v: esp32c3: Fix double initialization of SHA Accelerator
* [#8265](https://github.com/apache/nuttx/pull/8265) risc-v: esp32c3: Fix IRQ initialization, it was crashing on DEBUG_ASSERTIONS
* [#8671](https://github.com/apache/nuttx/pull/8671) risc-v: esp32c3: Fix missing irq timer
* [#8636](https://github.com/apache/nuttx/pull/8636) risc-v: esp32c3: Fix WDT incorrect interrupt enable/disable
* [#8014](https://github.com/apache/nuttx/pull/8014) risc-v: esp32c3: Modify the IRQ APIs to be compatible with ESP32/S2/S3
* [#8673](https://github.com/apache/nuttx/pull/8673) risc-v: esp32c3: Remove erroneous interrupt disable
* [#8934](https://github.com/apache/nuttx/pull/8934) risc-v: espressif: Add High Resolution Timer driver
* [#8932](https://github.com/apache/nuttx/pull/8932) risc-v: espressif: Add Hardware RNG support
* [#8931](https://github.com/apache/nuttx/pull/8931) risc-v: espressif: Add support for System Reset
* [#8769](https://github.com/apache/nuttx/pull/8769) risc-v: espressif: Fix unwanted flush in the SPI slave driver
* [#8222](https://github.com/apache/nuttx/pull/8222) risc-v: espressif: Stabilize MCUboot support on Espressif chips
* [#8912](https://github.com/apache/nuttx/pull/8912) risc-v: espressif: Update revision of esp-hal-3rdparty
* [#8529](https://github.com/apache/nuttx/pull/8529) risc-v: mpfs: add athena irq defines
* [#8701](https://github.com/apache/nuttx/pull/8701) risc-v: mpfs: clear i2c ints before the transfer starts
* [#8700](https://github.com/apache/nuttx/pull/8700) risc-v: mpfs: clear spi int before the transfer starts
* [#8191](https://github.com/apache/nuttx/pull/8191) risc-v: mpfs: Make selection of SBI boot or direct boot run-time configu…
* [#8368](https://github.com/apache/nuttx/pull/8368) risc-v: litex: Add GPIO driver.
* [#8233](https://github.com/apache/nuttx/pull/8233) risc-v: litex: Allow custom peripheral memory mapping and IRQ.
* [#8225](https://github.com/apache/nuttx/pull/8225) risc-v: litex: System clock frequency selectable from Kconfig.
* [#8393](https://github.com/apache/nuttx/pull/8393) risc-v: litex: watchdog: fix Kconfig typo
* [#7855](https://github.com/apache/nuttx/pull/7855) sim: add hostfs support for windows
* [#8354](https://github.com/apache/nuttx/pull/8354) sim: add toolchain library libm
* [#8143](https://github.com/apache/nuttx/pull/8143) sim: bug fix when open CONFIG_SIM_WALLTIME_SIGNAL
* [#8468](https://github.com/apache/nuttx/pull/8468) sim: Fix bugs on sim
* [#8519](https://github.com/apache/nuttx/pull/8519) sim: fix build break on visual studio
* [#8850](https://github.com/apache/nuttx/pull/8850) sim: Fix iic/spi bus open failed
* [#8031](https://github.com/apache/nuttx/pull/8031) sim: Fix make tool doesn't rebuild dependencies of the libboard target
* [#8489](https://github.com/apache/nuttx/pull/8489) sim: fix nuttx consumes much CPU time
* [#8255](https://github.com/apache/nuttx/pull/8255) sim: fix sim_x11events calls but sim_x11initialize() hasn't ready
* [#7936](https://github.com/apache/nuttx/pull/7936) sim: Fix small video bugs
* [#8497](https://github.com/apache/nuttx/pull/8497) sim: fix vfork report error
* [#8254](https://github.com/apache/nuttx/pull/8254) sim: init events field when send ack/dack
* [#7905](https://github.com/apache/nuttx/pull/7905) sim: Minor improvement for sim serial driver
* [#8076](https://github.com/apache/nuttx/pull/8076) sim: move some i2c,spi configs from board to arch
* [#8469](https://github.com/apache/nuttx/pull/8469) sim: realize sim timer tickless
* [#7911](https://github.com/apache/nuttx/pull/7911) sim: Refine arch/sim implementation
* [#7946](https://github.com/apache/nuttx/pull/7946) sim: remove unused variale in sim_saveusercontext()
* [#8849](https://github.com/apache/nuttx/pull/8849) sim: sim_linuxi2c: fix snprintf parameter
* [#8472](https://github.com/apache/nuttx/pull/8472) sim: sim_saveusercontext & sim_fullcontextrestore update
* [#7928](https://github.com/apache/nuttx/pull/7928) sim: take timer irq as real timer with WALL_SIGNAL
* [#8390](https://github.com/apache/nuttx/pull/8390) sim: alsa: add audio offload capture support.
* [#7927](https://github.com/apache/nuttx/pull/7927) sim: alsa: don't let switch out when do poweroff & alsa mixer open
* [#8251](https://github.com/apache/nuttx/pull/8251) sim: alsa: Minor improvement for sim alsa
* [#8377](https://github.com/apache/nuttx/pull/8377) sim: alsa: support streaming data when offload playback.
* [#7925](https://github.com/apache/nuttx/pull/7925) sim: fb: remove the lpwork in fb, merge to looper task
* [#8423](https://github.com/apache/nuttx/pull/8423) sim: hcisocket: correct teardown device index
* [#8078](https://github.com/apache/nuttx/pull/8078) sim: posix: sim_linuxspi.c: fix select not work and incorrect behaviour
* [#8348](https://github.com/apache/nuttx/pull/8348) sim: rpserver/rpproxy: remove colon from syslog prefix
* [#8470](https://github.com/apache/nuttx/pull/8470) sim: uart: add uart dma mode & use work instead of loop
* [#8408](https://github.com/apache/nuttx/pull/8408) sim: uart: do uart_xmitchars() when tty_txint enabled
* [#7926](https://github.com/apache/nuttx/pull/7926) sim: uart: fix printf error when use irq mode
* [#8834](https://github.com/apache/nuttx/pull/8834) sim: uart: return -ENOTTY for cmd which don't support
* [#8646](https://github.com/apache/nuttx/pull/8646) sim: Usb: add sim usb device and host driver
* [#7898](https://github.com/apache/nuttx/pull/7898) sim: video: call validate_buf when set_buf
* [#7786](https://github.com/apache/nuttx/pull/7786) xtensa: Add support for touch pad polling on ESP32
* [#8672](https://github.com/apache/nuttx/pull/8672) xtensa: Fix Xtensa interrupt stack context restore issue
* [#8372](https://github.com/apache/nuttx/pull/8372) xtensa: modify timer interrupt level large to XCHAL_IRQ_LEVEL level
* [#8711](https://github.com/apache/nuttx/pull/8711) xtensa: Perform some build system cleanups
* [#8121](https://github.com/apache/nuttx/pull/8121) xtensa: toolchain: add -Wno-atmoic-alignment flags
* [#7762](https://github.com/apache/nuttx/pull/7762) xtensa: esp32: Add esp32_himem_chardev.c
* [#8046](https://github.com/apache/nuttx/pull/8046) xtensa: esp32: Add option to enable ETH PHY reset pin
* [#8202](https://github.com/apache/nuttx/pull/8202) xtensa: esp32: Add support for RTC IRQs
* [#8248](https://github.com/apache/nuttx/pull/8248) xtensa: esp32: Add touch pad IRQ support
* [#8051](https://github.com/apache/nuttx/pull/8051) xtensa: esp32: Add Wi-Fi softap event
* [#8166](https://github.com/apache/nuttx/pull/8166) xtensa: esp32: Enable the allocation of Userspace heap exclusively in SPI RAM under Flat mode
* [#8048](https://github.com/apache/nuttx/pull/8048) xtensa: esp32: ESP32 SPI Flash encryption supports 16-bytes align writing
* [#8200](https://github.com/apache/nuttx/pull/8200) xtensa: esp32: fix lower half oneshot for usage with nxsched_oneshot_start
* [#8171](https://github.com/apache/nuttx/pull/8171) xtensa: esp32: Fix SPI bugs
* [#8050](https://github.com/apache/nuttx/pull/8050) xtensa: esp32: Optimize WLAN device buffer
* [#8132](https://github.com/apache/nuttx/pull/8132) xtensa: esp32: Partition device supports encryption mode
* [#8382](https://github.com/apache/nuttx/pull/8382) xtensa: esp32: Propagate RTC IRQ status register to lower levels
* [#8783](https://github.com/apache/nuttx/pull/8783) xtensa: esp32: Tasks use PSRAM as stack can do SPI flash read/write/erase/map/unmap
* [#8047](https://github.com/apache/nuttx/pull/8047) xtensa: esp32: SPI support to configure as R/W/RW mode
* [#8838](https://github.com/apache/nuttx/pull/8838) xtensa: esp32: Update bootloader patch to recent ESP-IDF version
* [#8096](https://github.com/apache/nuttx/pull/8096) xtensa: esp32s2: Add initial support for touch pad polling
* [#8445](https://github.com/apache/nuttx/pull/8445) xtensa: esp32s2: Add pwm support using LEDC peripheral
* [#8426](https://github.com/apache/nuttx/pull/8426) xtensa: esp32s2: Add support for RTC IRQs
* [#8428](https://github.com/apache/nuttx/pull/8428) xtensa: esp32s2: Add support for touch pad interrupts
* [#8198](https://github.com/apache/nuttx/pull/8198) xtensa: esp32s2: Add support to efuse
* [#8070](https://github.com/apache/nuttx/pull/8070) xtensa: esp32s3: Add initial support for touch pad polling
* [#8446](https://github.com/apache/nuttx/pull/8446) xtensa: esp32s3: Add pwm support using LEDC peripheral
* [#8458](https://github.com/apache/nuttx/pull/8458) xtensa: esp32s3: Add support for RTC IRQs
* [#8473](https://github.com/apache/nuttx/pull/8473) xtensa: esp32s3: Add support for touch pad interrupts
* [#8199](https://github.com/apache/nuttx/pull/8199) xtensa: esp32s3: Add support to efuse
* [#8264](https://github.com/apache/nuttx/pull/8264) xtensa: esp32s3: Add support to RNG (random number generator)
* [#8818](https://github.com/apache/nuttx/pull/8818) xtensa: esp32s3: add support to softAP (softAP and softAP + STA mode)
* [#8771](https://github.com/apache/nuttx/pull/8771) xtensa: esp32s3: Add Wi-Fi driver (STA mode) for ESP32-S3
* [#7873](https://github.com/apache/nuttx/pull/7873) xtensa: esp32s3: Enable booting from MCUboot bootloader
* [#8640](https://github.com/apache/nuttx/pull/8640) xtensa: esp32s3: Define syscall table to enable using ROM functions
* [#7987](https://github.com/apache/nuttx/pull/7987) xtensa: esp32xx: Clear the timer interrupt to avoid losing the next interrupt
Driver Support
New Drivers
* [#8794](https://github.com/apache/nuttx/pull/8794) wireless/bluetooth: add RPMSG HCI controller support
* [#8738](https://github.com/apache/nuttx/pull/8738) drivers: lcd: Add support for LS027B7DH01A display and MEMLCD_EXTCOMIN_MODE_HW
* [#7948](https://github.com/apache/nuttx/pull/7948) drivers: leds: Add LP503x RGB LED driver
* [#8103](https://github.com/apache/nuttx/pull/8103) drivers: video: add mipidsi support
* [#8088](https://github.com/apache/nuttx/pull/8088) drivers: power: Add ACT8945A power driver
* [#7954](https://github.com/apache/nuttx/pull/7954) drivers: power: relay: add relay driver framework for NuttX
Improvements
* [#8819](https://github.com/apache/nuttx/pull/8819) drivers: audio/es8388: Add input support
* [#8792](https://github.com/apache/nuttx/pull/8792) drivers: bluetooth: bth4 depends on bluetooth definitions
* [#8230](https://github.com/apache/nuttx/pull/8230) drivers: camera: Support the private data for imgsensor and imgdata
* [#8852](https://github.com/apache/nuttx/pull/8852) drivers: eeprom: spi_xx25xx: Repair the spi bus locking mechanism when waiting for write completion
* [#7935](https://github.com/apache/nuttx/pull/7935) drivers: fb: support linux info.
* [#8204](https://github.com/apache/nuttx/pull/8204) drivers: foc: support for BEMF sensing
* [#8203](https://github.com/apache/nuttx/pull/8203) drivers: foc: add interface that turn off all PWM switches
* [#8101](https://github.com/apache/nuttx/pull/8101) drivers: input: Add driver for Goodix GT9XX Touch Panel
* [#8727](https://github.com/apache/nuttx/pull/8727) drivers: ioexpander: Bug fixes and improved interrupt support for mcp23x17 driver
* [#8456](https://github.com/apache/nuttx/pull/8456) drivers: ioexpander/gpio:Add gpio_pin_register_byname
* [#8901](https://github.com/apache/nuttx/pull/8901) drivers: lcd: st7789: Support mirror X/Y
* [#8865](https://github.com/apache/nuttx/pull/8865) drivers: mmcsd: sdio: fix potential race condition in sdio
* [#8801](https://github.com/apache/nuttx/pull/8801) drivers: mmcsd: add nxsig_usleep delay after MMC_CMD1 command
* [#8422](https://github.com/apache/nuttx/pull/8422) drivers: mmcsd: mmcsd_spi: remove redundant mmcsd_unlock()
* [#8375](https://github.com/apache/nuttx/pull/8375) drivers: mmcsd: Fix kconfig error regarding MMCSD_IOCSUPPORT
* [#8256](https://github.com/apache/nuttx/pull/8256) drivers: mmcsd: Add MMC_IOC_CMD ioctl
* [#8544](https://github.com/apache/nuttx/pull/8544) drivers: mmcsd: fixes to ensure CPU is not busy waited
* [#8453](https://github.com/apache/nuttx/pull/8453) drivers: mtd: add Kconfig options for RAMTRON emulated page & sector size
* [#8341](https://github.com/apache/nuttx/pull/8341) drivers: mtd: Add smartfs loop driver registration
* [#8038](https://github.com/apache/nuttx/pull/8038) drivers: mtd: add support for more is25 mtd devices
* [#8573](https://github.com/apache/nuttx/pull/8573) drivers: mtd: Add mtd loop device
* [#8683](https://github.com/apache/nuttx/pull/8683) drivers: mtd: Extend isbad and markbad func for mtd_dev_s
* [#8561](https://github.com/apache/nuttx/pull/8561) drivers: mtd/ramtron: change nsectors size to uint32
* [#8002](https://github.com/apache/nuttx/pull/8002) drivers: note: add note_syscall_enter parameter list
* [#8635](https://github.com/apache/nuttx/pull/8635) drivers: note: correct systime with perf count
* [#8593](https://github.com/apache/nuttx/pull/8593) drivers: note: fix build break by note rename change
* [#8820](https://github.com/apache/nuttx/pull/8820) drivers: note: fix sched_note error
* [#8015](https://github.com/apache/nuttx/pull/8015) drivers: note: Fix the mismatch of va_end call
* [#8633](https://github.com/apache/nuttx/pull/8633) drivers: note: handle tcb is empty, so that it can also record before the driv…
* [#8619](https://github.com/apache/nuttx/pull/8619) drivers: note: Implement the trace function and add tracepoints for the startup process
* [#7897](https://github.com/apache/nuttx/pull/7897) drivers: note: merge sched_note_spinxxx
* [#7900](https://github.com/apache/nuttx/pull/7900) drivers: note: move taskname related functions to note_taskname.c
* [#7986](https://github.com/apache/nuttx/pull/7986) drivers: note: move sched_note_xxx related configuration
* [#8697](https://github.com/apache/nuttx/pull/8697) drivers: note: optimize noteram_add, copy as much content as possible at a time
* [#8525](https://github.com/apache/nuttx/pull/8525) drivers: note: record the latest scheduling information
* [#7844](https://github.com/apache/nuttx/pull/7844) drivers: note: Refine the driver note structure
* [#8531](https://github.com/apache/nuttx/pull/8531) drivers: note: Refine the Kconfig
* [#7858](https://github.com/apache/nuttx/pull/7858) drivers: note: rename /dev/note to /dev/note/ram
* [#7981](https://github.com/apache/nuttx/pull/7981) drivers: note: register notelog device
* [#7984](https://github.com/apache/nuttx/pull/7984) drivers: note: register sysview to note drivers list
* [#8020](https://github.com/apache/nuttx/pull/8020) drivers: note: Replace the scritical section with spin_xxx_wo_note
* [#8043](https://github.com/apache/nuttx/pull/8043) drivers: note: remove choice in Kconfig
* [#7841](https://github.com/apache/nuttx/pull/7841) drivers: note: sched_note support mulit-channel
* [#8682](https://github.com/apache/nuttx/pull/8682) drivers: note: support note filtering at runtime
* [#7994](https://github.com/apache/nuttx/pull/7994) drivers: note: unify the spinlock operation in noteram
* [#8389](https://github.com/apache/nuttx/pull/8389) drivers: note_driver: fix build error
* [#8263](https://github.com/apache/nuttx/pull/8263) drivers: nuttx: Add missing FAR and CODE
* [#8052](https://github.com/apache/nuttx/pull/8052) drivers: pipes: add PIPEIOC_POLLTHRES to set POLLIN/POLLOUT threshold
* [#8369](https://github.com/apache/nuttx/pull/8369) drivers: pipes: fix write busy loop because POLLOUT always ready.
* [#8846](https://github.com/apache/nuttx/pull/8846) drivers: pty: Echo input by default
* [#8667](https://github.com/apache/nuttx/pull/8667) drivers: pty: Map CR->LF from terminal input
* [#8742](https://github.com/apache/nuttx/pull/8742) drivers: power: ACT8945A: Correct DEBUGASSERT code error, plus tidy ups
* [#8257](https://github.com/apache/nuttx/pull/8257) drivers: power: charge: add support for voltage infomation
* [#8145](https://github.com/apache/nuttx/pull/8145) drivers: power: power related update
* [#8631](https://github.com/apache/nuttx/pull/8631) drivers: rptun: fix rptun_start() failed
* [#8041](https://github.com/apache/nuttx/pull/8041) drivers: segger: sysview: add up_perf_freq result chaeck
* [#8004](https://github.com/apache/nuttx/pull/8004) drivers: syslog: A trailing newline is added if none is present.
* [#8432](https://github.com/apache/nuttx/pull/8432) drivers: syslog: correct Kconfig name
* [#8008](https://github.com/apache/nuttx/pull/8008) drivers: syslog: fix extra line breaks in syslog when SYSLOG_COLOR_OUTPUT is e…
* [#8012](https://github.com/apache/nuttx/pull/8012) drivers: syslog: optimize syslog speed
* [#8077](https://github.com/apache/nuttx/pull/8077) drivers: sensors: bmi160: fix i2C read and write behavior
* [#8259](https://github.com/apache/nuttx/pull/8259) drivers: sensors: bmi160.c: fix the problem Linux SPI doesn't working properly
* [#8260](https://github.com/apache/nuttx/pull/8260) drivers: sensors: fakesensor: fix timestamp is woring when batch.
* [#8261](https://github.com/apache/nuttx/pull/8261) drivers: sensors: Fix sensor bug in production environment
* [#8278](https://github.com/apache/nuttx/pull/8278) drivers: sensors: Minor sensor improvement
* [#8797](https://github.com/apache/nuttx/pull/8797) drivers: sensors: mpu60x0: Fix some error bit and width macro
* [#8025](https://github.com/apache/nuttx/pull/8025) drivers: sensors: new member into ECG sensor type
* [#8338](https://github.com/apache/nuttx/pull/8338) drivers: sensors/ioctl: add common cmd for accelerators
* [#8843](https://github.com/apache/nuttx/pull/8843) drivers: serial: Always support c_oflag, c_iflag and c_lflag in termios
* [#8454](https://github.com/apache/nuttx/pull/8454) drivers: serial: Convert CR to LF in driver
* [#8718](https://github.com/apache/nuttx/pull/8718) drivers: serial: Echo CR when NL is detected and the serial device is a console
* [#8691](https://github.com/apache/nuttx/pull/8691) drivers: serial: Echo input in driver layer
* [#8705](https://github.com/apache/nuttx/pull/8705) drivers: serial: Echo only determined by ECHO flag with termios enabled
* [#8444](https://github.com/apache/nuttx/pull/8444) drivers: serial: Fix docstrings on UART interrupt handlers
* [#8800](https://github.com/apache/nuttx/pull/8800) drivers: serial: Fix wrong ECHO flag
* [#8258](https://github.com/apache/nuttx/pull/8258) drivers: serial: h4:increase h4 uart tx/rx buffer default size
* [#8692](https://github.com/apache/nuttx/pull/8692) drivers: serial: Include spawn.h required by CONFIG_TTY_LAUNCH
* [#7484](https://github.com/apache/nuttx/pull/7484) drivers: serial: Launch the initial task through task_spawn instead of nxtask_create
* [#8483](https://github.com/apache/nuttx/pull/8483) drivers: serial: libc/termios: Implement tcsendbreak
* [#8764](https://github.com/apache/nuttx/pull/8764) drivers: serial: Only enable tx interrupt if tx buffer is not empty
* [#8769](https://github.com/apache/nuttx/pull/8769) drivers: spi: Fix unwanted flush in the SPI slave driver
* [#7972](https://github.com/apache/nuttx/pull/7972) drivers: usb: Fix the typo error in Kconfig
* [#8482](https://github.com/apache/nuttx/pull/8482) drivers: usbmisc: FUSB302
* [#8568](https://github.com/apache/nuttx/pull/8568) drivers: usbmisc: FUSB302 - correct ioctl inconsistencies
* [#8524](https://github.com/apache/nuttx/pull/8524) drivers: usbdev: adb: add adb usbclass_unbind function
* [#8661](https://github.com/apache/nuttx/pull/8661) drivers: usbdev: adb: fixed adb build issue
* [#8883](https://github.com/apache/nuttx/pull/8883) drivers: usbdev: composite: composite should send only one request for USB_REQ_SETCONFIGURATION
* [#8508](https://github.com/apache/nuttx/pull/8508) drivers: usbdev: composite: remove excess uninitialize code
* [#8509](https://github.com/apache/nuttx/pull/8509) drivers: usbdev: fixed DUALSPEED issue for adb/cdcecm/rndis
* [#8507](https://github.com/apache/nuttx/pull/8507) drivers: usbdev: rndis: add endpoint configure
* [#8892](https://github.com/apache/nuttx/pull/8892) drivers: usbdev: rndis: do not configure endpoints from Kconfig when composite enabled
* [#8594](https://github.com/apache/nuttx/pull/8594) drivers: usbdev: rndis: support iob offload
* [#8893](https://github.com/apache/nuttx/pull/8893) drivers: usbdev: rndis: various fixes for composite
* [#8506](https://github.com/apache/nuttx/pull/8506) drivers: usbhost: fixed cdcacm issue
* [#8921](https://github.com/apache/nuttx/pull/8921) drivers: usbhost_hidkbd: Add the option to use interrupt transfers.
* [#8889](https://github.com/apache/nuttx/pull/8889) drivers: usbmsc: do not sent deferred response if USBMSC_COMPOSITE=y
* [#8022](https://github.com/apache/nuttx/pull/8022) drivers: usrsock: switch usrsock server's defconfig to upgraded version
* [#8910](https://github.com/apache/nuttx/pull/8910) drivers: usrsock_server: Do not poll SOCK_CTRL
* [#8741](https://github.com/apache/nuttx/pull/8741) drivers: timers: pwm: add config option to support dead time delay + add dead time support to SAMv7 MCU
* [#8574](https://github.com/apache/nuttx/pull/8574) drivers: timers: pwm: add PWM overwrite under CONFIG_PWM_OVERWRITE option
* [#8393](https://github.com/apache/nuttx/pull/8393) drivers: timers: watchdog: fix Kconfig typo
* [#8034](https://github.com/apache/nuttx/pull/8034) drivers: timers: watchdog: add a callback when painc stop the watchdog
* [#8033](https://github.com/apache/nuttx/pull/8033) drivers: timers: watchdog: use 'V' to stop watchdog
* [#8447](https://github.com/apache/nuttx/pull/8447) drivers: video: Add v4l2_buffer timestamp and sequence
* [#7787](https://github.com/apache/nuttx/pull/7787) drivers: video: Minor fix for video driver(2)
* [#7776](https://github.com/apache/nuttx/pull/7776) drivers: video: Minor change for video framebuff
* [#8516](https://github.com/apache/nuttx/pull/8516) drivers: video: NONBLOCK and POLLIN support for video device
* [#8644](https://github.com/apache/nuttx/pull/8644) drivers: video/fb: fix poll event lost
* [#7924](https://github.com/apache/nuttx/pull/7924) drivers: video/fb: initializes the info structure
* [#8056](https://github.com/apache/nuttx/pull/8056) drivers: virtio/net: Try fix virtnet logic
* [#8045](https://github.com/apache/nuttx/pull/8045) drivers: wireless: bluetooth: add interrupt_context hander for netsnoop
* [#8318](https://github.com/apache/nuttx/pull/8318) drivers: wireless: Remove the duplicated bc_bifup check from bcmf_wl_auth_event_handler
* [#8323](https://github.com/apache/nuttx/pull/8323) drivers: wireless: wireless/ieee80211: update ieee80211 header
* [#8345](https://github.com/apache/nuttx/pull/8345) drivers: watchdog: Fix the wrong value of WATCHDOG_AUTOMONITOR_PING_INTERVAL
* [#8575](https://github.com/apache/nuttx/pull/8575) Revert "drivrs/mtd/filemtd.c: add block device MTD interface. Block …
Board Support
New Board Support
* [#8841](https://github.com/apache/nuttx/pull/8841) avr: atmega: Add support for Atmega mega1284p_xplained board
* [#8698](https://github.com/apache/nuttx/pull/8698) nrf53: initial support for nrf5340-dk
* [#7950](https://github.com/apache/nuttx/pull/7950) sama5: add Jupiter Nano support
* [#8228](https://github.com/apache/nuttx/pull/8228) stm32f7: add initial support to Meadow F7Micro board
Improvements
* [#8231](https://github.com/apache/nuttx/pull/8231) boards/arch: Remove FAR decorator
* [#7268](https://github.com/apache/nuttx/pull/7268) boards: adapt LVGL v8 defconfig
* [#8459](https://github.com/apache/nuttx/pull/8459) boards: add nxscope configurations
* [#8364](https://github.com/apache/nuttx/pull/8364) boards: Enable assert for citest
* [#8246](https://github.com/apache/nuttx/pull/8246) boards: Update Administrator tea result to 8Tv+Hbmr3pLVb5HHZgd26D
* [#8235](https://github.com/apache/nuttx/pull/8235) boards: Pass the assertion expression to board_crashdump too
* [#8215](https://github.com/apache/nuttx/pull/8215) boards: Update all boards config after updating NSH_CMDPARMS
* [#8936](https://github.com/apache/nuttx/pull/8936) arm: gd32f4: add littlefs support for gd32f450zk-eval board
* [#8342](https://github.com/apache/nuttx/pull/8342) arm: imx6: sabre-6quad: Add netnsh_wb and fix imxrt1060-evk:netnsh
* [#8186](https://github.com/apache/nuttx/pull/8186) arm: imx6: sabre-6quad: Adjust TCP and UDP configurations
* [#7896](https://github.com/apache/nuttx/pull/7896) arm: imx6: sabre-6quad: Improve iperf performance
* [#8438](https://github.com/apache/nuttx/pull/8438) arm: imx6: sabre-6quad: Update with QEMU
* [#8492](https://github.com/apache/nuttx/pull/8492) arm: imxrt: imxrt1060-evk: Fix knsh
* [#8796](https://github.com/apache/nuttx/pull/8796) arm: nrf53: nrf5340-dk: add sdc net core examples
* [#8688](https://github.com/apache/nuttx/pull/8688) arm: nrf52: sdc examples
* [#8179](https://github.com/apache/nuttx/pull/8179) arm: rp2040: add waveshare rp2040 lcd 1.28
* [#8439](https://github.com/apache/nuttx/pull/8439) arm: rp2040: raspberrypi-pico-w: update submodule to avoid invaild firmware
* [#8844](https://github.com/apache/nuttx/pull/8844) arm: sama5: sama5d3-xplained: Add reboot support.
* [#8854](https://github.com/apache/nuttx/pull/8854) arm: sama5: sama5d3-xplained: Fix OHCI clock.
* [#8879](https://github.com/apache/nuttx/pull/8879) arm: sama5: sama5d3-xplained: Make hot plugging more reliable.
* [#7949](https://github.com/apache/nuttx/pull/7949) arm: sama5: sama5d2-xult: Update entry point
* [#8395](https://github.com/apache/nuttx/pull/8395) arm: sama5: jupiter-nano: correct config name
* [#8232](https://github.com/apache/nuttx/pull/8232) arm: sama5: jupiter-nano: Remove sam_ostest.c
* [#8577](https://github.com/apache/nuttx/pull/8577) arm: samv7: hsmci: add option to invert card detection pin
* [#7584](https://github.com/apache/nuttx/pull/7584) arm: spresense: add fs automount driver for SD Card
* [#8888](https://github.com/apache/nuttx/pull/8888) arm: spresense: add rndis composite support
* [#8543](https://github.com/apache/nuttx/pull/8543) arm: spresense: Enable broadcast flag in DHCP process
* [#8617](https://github.com/apache/nuttx/pull/8617) arm: spresense: Fix bugs in cxd56 imageproc
* [#8100](https://github.com/apache/nuttx/pull/8100) arm: spresense: fix sdcard operation
* [#8243](https://github.com/apache/nuttx/pull/8243) arm: spresense: remove BOARDIOC_SDCARD_SETNOTIFYCB ioctl
* [#8679](https://github.com/apache/nuttx/pull/8679) arm: spresense: Update miscellaneous spresense drivers
* [#8873](https://github.com/apache/nuttx/pull/8873) arm: stm32: photon: Use D0 Busy to detect Write Complete
* [#8214](https://github.com/apache/nuttx/pull/8214) arm: stm32f4disco: Add support to mount /tmp
* [#8457](https://github.com/apache/nuttx/pull/8457) arm: stm32f4disco: add timer driver support
* [#8733](https://github.com/apache/nuttx/pull/8733) arm: stm32f4disco: Update kostest/defconfig to avoid crash
* [#8152](https://github.com/apache/nuttx/pull/8152) arm: tiva: Tm4c1294-launchpad: can char dev
* [#8178](https://github.com/apache/nuttx/pull/8178) arm: tiva: tm4c1294-launchpad: Fix warning: defaults for choice values not supported
* [#8267](https://github.com/apache/nuttx/pull/8267) arm64: add support for nuttx arm64 Toolchain Selection
* [#7988](https://github.com/apache/nuttx/pull/7988) arm64/pinephone: Add driver for Frame Buffer
* [#7977](https://github.com/apache/nuttx/pull/7977) arm64/pinephone: Add driver for LCD Panel (Xingbangda XBD599)
* [#8123](https://github.com/apache/nuttx/pull/8123) arm64/pinephone: Add driver for PinePhone Touch Panel
* [#8006](https://github.com/apache/nuttx/pull/8006) arm64/pinephone: Fix missing pixels in Frame Buffer Driver
* [#8552](https://github.com/apache/nuttx/pull/8552) mips: pic32mz: chipkit-wifire: Avoid sudo for flash programming
* [#8463](https://github.com/apache/nuttx/pull/8463) mips: pic32mz: pic32mz-starterkit: Fix building with Sourcery toolchain
* [#7885](https://github.com/apache/nuttx/pull/7885) qemu-armv8a: Enable the ping command for netnsh and netnsh_smp
* [#8829](https://github.com/apache/nuttx/pull/8829) risc-v: espressif: Fix bootloader and app potential RAM overlap
* [#8128](https://github.com/apache/nuttx/pull/8128) risc-v: qemu-rv: rv-virt: Add knetnsh64 and knetnsh64_smp
* [#8643](https://github.com/apache/nuttx/pull/8643) risc-v: qemu-rv: SV32 MMU support for qemu-rv
* [#8567](https://github.com/apache/nuttx/pull/8567 ) risc-v: esp32c3-devkit: Remove -Werror to let compile ble stack
* [#8500](https://github.com/apache/nuttx/pull/8500) risc-v: esp32c6-devkit: Update defconfig
* [#8752](https://github.com/apache/nuttx/pull/8752) risc-v: hpm6750: add option to select hpmicro toolchain
* [#8350](https://github.com/apache/nuttx/pull/8350) risc-v: mpfs: icicle: Update some configs
* [#8695](https://github.com/apache/nuttx/pull/8695) sim: wamr: add example of WAMR(WebAssembly Micro Runtime)
* [#8709](https://github.com/apache/nuttx/pull/8709 ) sim: wamr: Adjust defconfigs for WAMR after dependency fix
* [#8761](https://github.com/apache/nuttx/pull/8761) sim: wamr: Remove LIBC_FLOATINGPOINT (now selected by the app)
* [#8572](https://github.com/apache/nuttx/pull/8572) sim: adb: Change telnetd port from 23 to 2323
* [#7876](https://github.com/apache/nuttx/pull/7876) sim: Add nxcamera config
* [#8431](https://github.com/apache/nuttx/pull/8431) sim: Enable CONFIG_ARCH_MATH_H for libcxxtest
* [#8481](https://github.com/apache/nuttx/pull/8481) sim: Enable CONFIG_SIM_M32 in nimble
* [#8268](https://github.com/apache/nuttx/pull/8268) sim: make iperf works on SIM platform
* [#8266](https://github.com/apache/nuttx/pull/8266) sim: Minor sim Makefile fix
* [#7945](https://github.com/apache/nuttx/pull/7945) sim/config: enable luamodule
* [#8455](https://github.com/apache/nuttx/pull/8455) sim/dynconns: enable more configs to catch compile warning
* [#7843](https://github.com/apache/nuttx/pull/7843) sim/lua: enable luv module by default
* [#8137](https://github.com/apache/nuttx/pull/8137) sim/windows: enable custom options
* [#8648](https://github.com/apache/nuttx/pull/8648) xtensa: esp32-lyrat: Add SD Card config
* [#8760](https://github.com/apache/nuttx/pull/8760) xtensa: esp32: Add CoreMark config to ESP boards
* [#8905](https://github.com/apache/nuttx/pull/8905) xtensa: esp32: Add support to Ai-Thinker Audio Kit board and ESP32-A1S module
* [#8184](https://github.com/apache/nuttx/pull/8184) xtensa: esp32: Clean ups and minor fixes to comments
* [#7880](https://github.com/apache/nuttx/pull/7880) xtensa: esp32: Fix PSRAM support when Stack Smash protection is enabled
* [#8554](https://github.com/apache/nuttx/pull/8554) xtensa: esp32: Fix WiFi default Algorithm
* [#8221](https://github.com/apache/nuttx/pull/8221) xtensa: esp32-devkitc: Add coremark config
* [#7872](https://github.com/apache/nuttx/pull/7872) xtensa: esp32-devkitc: Disable FPU test for knsh defconfig
* [#7917](https://github.com/apache/nuttx/pull/7917) xtensa: esp32s2: Add Franzinho Board
* [#8894](https://github.com/apache/nuttx/pull/8894) xtensa: esp32s2-kaluga-1: Add touch pad support
* [#8925](https://github.com/apache/nuttx/pull/8925) xtensa: esp32s3: Add esp32s3-meadow board 
File System
New FS
* [#8109](https://github.com/apache/nuttx/pull/8109) fs: Add shmfs 
Improvements 
* [#4320](https://github.com/apache/nuttx/pull/4320) fs: Add model field to geometry and mtd_geometry_s 
* [#8194](https://github.com/apache/nuttx/pull/8194) fs: Avoid accessing filep fields if it is NULL & add DEBUGASSERTs 
* [#8163](https://github.com/apache/nuttx/pull/8163) fs: Define DT_xxx to number directly 
* [#8430](https://github.com/apache/nuttx/pull/8430) fs: Implement link as a normal function instead macro 
* [#8498](https://github.com/apache/nuttx/pull/8498) fs: Make more fs API available when CONFIG_DISABLE_MOUNTPOINT isn't enabled 
* [#8195](https://github.com/apache/nuttx/pull/8195) fs: Map madvice to posix_madvice 
* [#8581](https://github.com/apache/nuttx/pull/8581) fs: Map FD_SETSIZE to OPEN_MAX instead hardcoding 256 
* [#8092](https://github.com/apache/nuttx/pull/8092) fs: Map syncfs to fsync 
* [#8021](https://github.com/apache/nuttx/pull/8021) fs: Move mmap callback before truncate in [file|mountpt]_operations 
* [#8113](https://github.com/apache/nuttx/pull/8113) fs: Support O_NOFOLLOW flag 
* [#8440](https://github.com/apache/nuttx/pull/8440) fs: support openat/fchmodat/mkfifoat/fstatat/...at api 
* [#8324](https://github.com/apache/nuttx/pull/8324) fs: unlock tmpfs before free the file object 
* [#8656](https://github.com/apache/nuttx/pull/8656) fs: Undefine CONFIG_FS_LARGEFILE if compiler doesn't support long long 
* [#8871](https://github.com/apache/nuttx/pull/8871) fs: fs_epoll: add oneshot list to handle the EPOLLONESHOT correctly 
* [#7871](https://github.com/apache/nuttx/pull/7871) fs: fs_epoll: fix some potential issue for list operation 
* [#8153](https://github.com/apache/nuttx/pull/8153) fs: fs_fsync:Fix the expected error of socket,fifo and pipe returning error in fsync case 
* [#8896](https://github.com/apache/nuttx/pull/8896) fs: fs_initialize.c:Sync fs in system restart callback 
* [#8496](https://github.com/apache/nuttx/pull/8496) fs: littlefs: add full support for LittleFS block device cfg in Kconfig 
* [#8026](https://github.com/apache/nuttx/pull/8026) fs: mmap: Add mm map 
* [#8138](https://github.com/apache/nuttx/pull/8138) fs: mmap: fix mmap returned address 
* [#8075](https://github.com/apache/nuttx/pull/8075) fs: mmap: Minor improvement 
* [#8784](https://github.com/apache/nuttx/pull/8784) fs: mmap: try rammap when filesystem mmap don't support 
* [#8162](https://github.com/apache/nuttx/pull/8162) fs: mmap: fix compile warning if set the optimize level to O3 
* [#8383](https://github.com/apache/nuttx/pull/8383) fs: mqueue: Fix file_mq_open() for SMP 
* [#8269](https://github.com/apache/nuttx/pull/8269) fs: partiton: add sanity check 
* [#8079](https://github.com/apache/nuttx/pull/8079) fs: poll: add missing FAR qualifier to poll() 
* [#8072](https://github.com/apache/nuttx/pull/8072) fs: poll: Fix poll_notify for CONFIG_BUILD_KERNEL 
* [#8337](https://github.com/apache/nuttx/pull/8337) fs: procfs: sort level0 process id 
* [#8270](https://github.com/apache/nuttx/pull/8270) fs: procfs: fix the issue of /proc/cpuload in SMP 
* [#8545](https://github.com/apache/nuttx/pull/8545) fs: procfs: group/tg_info/argv: Make utility function to read argv as string
* [#7922](https://github.com/apache/nuttx/pull/7922) fs: procfs: procmeminfo: support memdump can show specific task
* [#8626](https://github.com/apache/nuttx/pull/8626) fs: procfs/meminfo: skip invalid character before memdump 
* [#8637](https://github.com/apache/nuttx/pull/8637) fs: rpmsgfs: return ENOTTY to vfs to do cmd operate 
* [#7947](https://github.com/apache/nuttx/pull/7947) fs: streams: Flush streams in userspace when the process exits 
* [#7991](https://github.com/apache/nuttx/pull/7991) fs: signalfd: using file descriptor to accept signal 
* [#5999](https://github.com/apache/nuttx/pull/5999) fs: sync: add sync api 
* [#8053](https://github.com/apache/nuttx/pull/8053) fs: timerfd: Reverse truncate and mmap field 
* [#7990](https://github.com/apache/nuttx/pull/7990) fs: timerfd/eventfd: using anonymous inodes and using isr to notify poll waiter. 
* [#8373](https://github.com/apache/nuttx/pull/8373) fs: vfs: Suppoprt F_DUPFD_CLOEXEC 
* [#8032](https://github.com/apache/nuttx/pull/8032) fs: vfs: add missed truncate callback at timerfd file_operation 
* [#8729](https://github.com/apache/nuttx/pull/8729) fs: vfs/poll: Remove the unused ptr field from pollfd 
* [#8089](https://github.com/apache/nuttx/pull/8089) fs: vfs/poll: Remove POLLFILE and POLLSOCK NuttX specific extension 
* [#8154](https://github.com/apache/nuttx/pull/8154) fs: vfs/fs_truncate.c:Add socket judgment to return correct errno.
Networking
Improvements
* [#8735](https://github.com/apache/nuttx/pull/8735) net: Remove the dummy implementation from sock_intf_s
* [#7980](https://github.com/apache/nuttx/pull/7980) net: Add netfilter compatible headers
* [#8059](https://github.com/apache/nuttx/pull/8059) net: Support fragmentation and reassembly
* [#7985](https://github.com/apache/nuttx/pull/7985) net: Separate IP_PKTINFO from NET_IGMP
* [#7989](https://github.com/apache/nuttx/pull/7989) net: Add set/getsockopt options compatible with iptables.
* [#8822](https://github.com/apache/nuttx/pull/8822) net: use NXRMUTEX_INITIALIZER for rmutex init
* [#8811](https://github.com/apache/nuttx/pull/8811) tun: fix the access address is incorrect
* [#7937](https://github.com/apache/nuttx/pull/7937) tun: add ioctl cmd TUNGETIFF implement
* [#8751](https://github.com/apache/nuttx/pull/8751) net: Finish FIONBIO default action if si_ioctl return OK
* [#8669](https://github.com/apache/nuttx/pull/8669) net: Performance optimizations in connection allocations.
* [#8111](https://github.com/apache/nuttx/pull/8111) net: consistent the net sem wait naming conversion
* [#8029](https://github.com/apache/nuttx/pull/8029) net: add some network-related definitions #8049
* [#8351](https://github.com/apache/nuttx/pull/8351) net: Implement socket shutdown() interface
* [#8448](https://github.com/apache/nuttx/pull/8448) net: remove protocol argument from si_setup callback
* [#8487](https://github.com/apache/nuttx/pull/8487) net: modify find device logic
* [#8300](https://github.com/apache/nuttx/pull/8300) net: Fix ICMPv6 RA parsing procedure
* [#8091](https://github.com/apache/nuttx/pull/8091) net: Move accept to libc after https://github.com/apache/nuttx/pull/8083
* [#8739](https://github.com/apache/nuttx/pull/8739) net: arp: Only parse ioctl request for valid cmd.
* [#7889](https://github.com/apache/nuttx/pull/7889) net: arp: Remove nuttx/net/arp.h
* [#7862](https://github.com/apache/nuttx/pull/7862) net: arp: rules bind to nics
* [#8293](https://github.com/apache/nuttx/pull/8293) net: can: Bugfixed the SocketCAN send via setting the dev->d_len to dev->d_sndl…
* [#8160](https://github.com/apache/nuttx/pull/8160) net: devif: bypass send length check if ip fragment enabled
* [#8361](https://github.com/apache/nuttx/pull/8361) net: devif: check the net device before use
* [#8380](https://github.com/apache/nuttx/pull/8380) net: devif: correct the judgment condition in devif_send()
* [#8011](https://github.com/apache/nuttx/pull/8011) net: devif: fix devif_poll loop logic
* [#8592](https://github.com/apache/nuttx/pull/8592) net: devif: fix null pointer reference found out by coverity
* [#7969](https://github.com/apache/nuttx/pull/7969) net: devif_loopback: Add robustness to avoid infinite loop
* [#8082](https://github.com/apache/nuttx/pull/8082) net: devif_poll: optimize device buffer alloc in txpoll
* [#8837](https://github.com/apache/nuttx/pull/8837) net: icmpv6: add RDNSS field support for route advertise message
* [#8785](https://github.com/apache/nuttx/pull/8785) net: icmpv6: align structs to 2 bytes.
* [#8451](https://github.com/apache/nuttx/pull/8451) net: ip: fix compile break if disable NET_TCP
* [#8302](https://github.com/apache/nuttx/pull/8302) net: local_connect: Align the returned error code with Linux
* [#8010](https://github.com/apache/nuttx/pull/8010) net: local: fix error when work with epoll
* [#8027](https://github.com/apache/nuttx/pull/8027) net: local: rename NET_LOCAL_VFS_PATH to follow linux
* [#8749](https://github.com/apache/nuttx/pull/8749) net: local: Return the unblock handle correctly in local_accept
* [#8067](https://github.com/apache/nuttx/pull/8067) net: local: set POLLIN/POLLOUT threshold for local fifo
* [#7912](https://github.com/apache/nuttx/pull/7912) net: local: Support the abstract path
* [#8084](https://github.com/apache/nuttx/pull/8084) net: mld: fix build break of mld router
* [#8093](https://github.com/apache/nuttx/pull/8093) net: mld: update help manual for mld router
* [#7964](https://github.com/apache/nuttx/pull/7964) net: nat: Fix misused d_draddr in select_port
* [#8915](https://github.com/apache/nuttx/pull/8915) net/tcp: Reply RST when we cannot receive data
* [#7968](https://github.com/apache/nuttx/pull/7968) net: nat: Support isolation between multiple WAN devices by saving external ip
* [#7951](https://github.com/apache/nuttx/pull/7951) net: nat: Use hashtable to optimize performance
* [#8083](https://github.com/apache/nuttx/pull/8083) net: net_socket: Add an implementation of the accept4 method
* [#8080](https://github.com/apache/nuttx/pull/8080) net: netdev: Avoid hardcoded guardsize when using d_iob
* [#8513](https://github.com/apache/nuttx/pull/8513) net: netinet: in.h: add support for Nimlang compatibility.
* [#8753](https://github.com/apache/nuttx/pull/8753) net: pkt: Add readahead queue for pkt, call input for tx on sim
* [#8273](https://github.com/apache/nuttx/pull/8273) net: route.h: add RTF_XX flags and rt_dev member
* [#8518](https://github.com/apache/nuttx/pull/8518) net: sendfile: adapt sendfile() to support new driver model
* [#8344](https://github.com/apache/nuttx/pull/8344) net: slip: Change SLIP to use IOB
* [#8632](https://github.com/apache/nuttx/pull/8632) net: socket: divide errno & s_error
* [#8272](https://github.com/apache/nuttx/pull/8272) net: support ipv4 ToS and ipv6 TrafficClass
* [#8301](https://github.com/apache/nuttx/pull/8301) net: tcp: tcp_netpoll: add assert into tcp_pollsetup when pollinfo invalid
* [#8297](https://github.com/apache/nuttx/pull/8297) net: tcp: udp_connect: If the remote addr is ANY, change it to LOOPBACK
* [#7913](https://github.com/apache/nuttx/pull/7913) net: tcp: contig received data to reducing iob consumption
* [#8102](https://github.com/apache/nuttx/pull/8102) net: tcp: debug feature to drop the tx/rx packet
* [#8024](https://github.com/apache/nuttx/pull/8024) net: tcp: Do not trigger retransmission if the new data has not been consumed.
* [#8333](https://github.com/apache/nuttx/pull/8333) net: tcp: reuse common api to replace some ip select code
* [#7916](https://github.com/apache/nuttx/pull/7916) net: tcp: rename NET_TCP_RECV_CONTIG to NET_TCP_RECV_PACK
* [#8062](https://github.com/apache/nuttx/pull/8062) net: tcp: add Selective-ACK support (RFC2018)
* [#8044](https://github.com/apache/nuttx/pull/8044) net: tcp: reprepare response buffer from unthrottle pool
* [#8130](https://github.com/apache/nuttx/pull/8130) net: tcp: fix potential busy loop in tcp_send_buffered.c
* [#8129](https://github.com/apache/nuttx/pull/8129) net: tcp: correct behavior of SO_LINGER
* [#7525](https://github.com/apache/nuttx/pull/7525) net: tcp: Improvements in TCP connections allocation.
* [#8334](https://github.com/apache/nuttx/pull/8334) net: tcp: free TCP rx buffer immediately in tcp_close
* [#8165](https://github.com/apache/nuttx/pull/8165) net: tcp: move drop send source code to correct place
* [#8409](https://github.com/apache/nuttx/pull/8409) net: tcp: remove conn check since which can not be NULL
* [#8421](https://github.com/apache/nuttx/pull/8421) net: tcp: Regard snd_wnd update as ACKDATA
* [#8315](https://github.com/apache/nuttx/pull/8315) net: tcp: fix trans data error when fast retrans
* [#8314](https://github.com/apache/nuttx/pull/8314) net: tcp: add TCP_ACKDATA flag to close event callback
* [#8298](https://github.com/apache/nuttx/pull/8298) net: tcp: modify errno when connect raddr is ANY for ltp
* [#8343](https://github.com/apache/nuttx/pull/8343) net: tun: Change TUN/TAP to use IOB
* [#8647](https://github.com/apache/nuttx/pull/8647) net: udp: Add drop count when limited by recv bufsize
* [#7891](https://github.com/apache/nuttx/pull/7891) net: udp: correct udp send timeout
* [#8299](https://github.com/apache/nuttx/pull/8299) net: udp: Ipv4/6 can be bound to the same port
* [#8313](https://github.com/apache/nuttx/pull/8313) net: udp: remove DEBUGASSERT for ip6_is_ipv4addr
* [#8493](https://github.com/apache/nuttx/pull/8493) net: udp: Support binding to same addr/port if SO_REUSEADDR is specified.
* [#8609](https://github.com/apache/nuttx/pull/8609) net: usrsock: Do not return error when conn not found for an event
* [#8317](https://github.com/apache/nuttx/pull/8317) net: usrsock: net_lock: fix deadlock issue when running iperf tx test on usrsock
* [#8262](https://github.com/apache/nuttx/pull/8262) net: usrsock: only TCP data should be aggregrated for rpmsg case
* [#8429](https://github.com/apache/nuttx/pull/8429) net: usrsock: optimize usersock send/recv path
* [#8630](https://github.com/apache/nuttx/pull/8630) net: local: local_socket: remove the wrong assertion in local_listen()
* [#8148](https://github.com/apache/nuttx/pull/8148) net: rpmsg: socket related update
Compatibility Concerns
* [#8166](https://github.com/apache/nuttx/pull/8166) ESP32: Enable the allocation of Userspace heap exclusively in SPI RAM under Flat mode 
Breaking change: ESP32_SPIRAM no longer auto selects XTENSA_IMEM_USE_SEPARATE_HEAP.
XTENSA_IMEM_USE_SEPARATE_HEAP is now selected by ESP32_IMM_HEAP, which in turn is not enabled by default.
Drivers that previously relied on XTENSA_IMEM_USE_SEPARATE_HEAP now bring in ESP32_IMM_HEAP if ESP32_SPIRAM is also selected, with the notable exception from ESP32_WIFI.
ESP32_WIFI previously used XTENSA_IMEM_USE_SEPARATE_HEAP for allocating dynamic data into Internal RAM via a specific API.
With this PR, there is now an alternative approach using MM_KERNEL_HEAP. So it is up to the user to either select ESP32_IMM_HEAP or MM_KERNEL_HEAP.
In order to keep the current behavior, custom board users shall select ESP32_IMM_HEAP on Kconfig.  
* [#7525](https://github.com/apache/nuttx/pull/7525) Improvements in TCP connections allocation.
This is an attempt to fix the issues reported in #6960:
Only a single connection is allocated, the one actually needed.
In tcp_free() the connection is actually deallocated, instead of leaving it existing forever in the list.
This is only the first step, possibly with more to come (list of pre-allocated connections, maximum connections limit etc).
For the moment, this PR handles only TCP, till we determine all the details.
Then the fix will be copied to all other connections that use similar logic.
* [#8691](https://github.com/apache/nuttx/pull/8691) drivers/serial: Echo input in driver layer
* [#8846](https://github.com/apache/nuttx/pull/8846) drivers/pty: Echo input by default
Align the pty behavior to linux/bsd,
Also fix the ECHO issue with microadb after #8691.
adb shell will echo normally with this patch.
* [#8235](https://github.com/apache/nuttx/pull/8235) board: Pass the assertion expression to board_crashdump too
* [#8717](https://github.com/apache/nuttx/pull/8717) arch/armv8-m: DSP extension is optional
The DSP extension is optional for armv8-m cores, so it should be explicitly set by chip configuration.
Otherwise this can lead to hard to debug hardfaults for cores that do not support DSP.
Breaking change for out-of-tree armv8-m chips.
* [#8378](https://github.com/apache/nuttx/pull/8378) tools/makefile: silent all compile output
In order to make compilation warnings and errors easier to be found out,
this commit will disable the printing of the compilation process as much
as possible, and also if you want to restore the log information of the
compilation process, please enable verbose build on command line:
$ make V=0
OR
$ make V=1
| V=0: Exit silent mode
| V=1,2: Enable echo of commands
| V=2: Enable bug/verbose options in tools and scripts
* [#8623](https://github.com/apache/nuttx/pull/#8623) include/signal.h:Expanding SIGNAL to be consistent with Linux
build breaks if CONFIG_SCHED_HAS_PARENT is not defined because SIGCHLD will collide with the new values.

View file

@ -0,0 +1,581 @@
NuttX-12.2.0
------------
What's New In This Release
Changes to Core OS
sched
* [#9084](https://github.com/apache/nuttx/pull/9084) sched: add adjtime() interface
* [#9132](https://github.com/apache/nuttx/pull/9132) sched: add the CPU bitset to initialize the non-exclusive CPU
* [#9583](https://github.com/apache/nuttx/pull/9583) sched: automatically find deadlocks when assert
* [#7464](https://github.com/apache/nuttx/pull/7464) sched: fix context switching with locked scheduler
* [#8965](https://github.com/apache/nuttx/pull/8965) sched: Fixed improper access of g_pidhash.
* [#8867](https://github.com/apache/nuttx/pull/8867) sched: Optimize implementation of strsignal()
* [#9030](https://github.com/apache/nuttx/pull/9030) sched/addrenv, binfmt: Always allocate address environment from heap
* [#9090](https://github.com/apache/nuttx/pull/9090) sched/addrenv: Implement re-entrancy for addrenv_select()
* [#9021](https://github.com/apache/nuttx/pull/9021) sched/addrenv: Miscellaneous clean-up and fixes
* [#8938](https://github.com/apache/nuttx/pull/8938) sched/assert: Assert if a thread attempts to post a semaphore incorrectly.
* [#9595](https://github.com/apache/nuttx/pull/9595) sched/assert: Change show_xxx to dump_xxx
* [#9498](https://github.com/apache/nuttx/pull/9498) sched/assert: disable function/line print if DEBUG_ASSERTIONS_FILENAME disabled
* [#9516](https://github.com/apache/nuttx/pull/9516) sched/assert: Optimizing assert handling
* [#9183](https://github.com/apache/nuttx/pull/9183) sched/assert: show stacks with the sp from regs
* [#9184](https://github.com/apache/nuttx/pull/9184) sched/assert: sig_timewait:remove useless assert
* [#8955](https://github.com/apache/nuttx/pull/8955) sched/assert: Simplify the fatal detection logic
* [#9528](https://github.com/apache/nuttx/pull/9528) sched/group: Ensure that the setting of tg_members if safe in SMP
* [#9003](https://github.com/apache/nuttx/pull/9003) sched/irq: optimizing IRQMONITOR, move up_perf_convert to irq_procfs
* [#9369](https://github.com/apache/nuttx/pull/9369) sched/misc: add coredump support on assert
* [#8743](https://github.com/apache/nuttx/pull/8743) sched/nxmutex: mutex priority inheritance optimization
* [#9066](https://github.com/apache/nuttx/pull/9066) sched/pthread: pthread_barrierwait can not be preemption
* [#9067](https://github.com/apache/nuttx/pull/9067) sched/pthread: pthread_cond_wait dead lock
* [#9002](https://github.com/apache/nuttx/pull/9002) sched/pthread: repalce sched_lock to enter_critical_section
* [#9539](https://github.com/apache/nuttx/pull/9539) sched/pthread: Return ESRCH when the task is in the process of exit.
* [#9202](https://github.com/apache/nuttx/pull/9202) sched/pthread: sched_lock should replace with enter_critical_secion
* [#9091](https://github.com/apache/nuttx/pull/9091) sched/sem/sem_init: Change sem_xxx -> nxsem_xxx in kernel modules
* [#8951](https://github.com/apache/nuttx/pull/8951) sched/semaphore: rework semaphore holder check for priority inheritance
* [#9039](https://github.com/apache/nuttx/pull/9039) sched/sched: address performance concerns for sched_lock in non-SMP case
* [#8988](https://github.com/apache/nuttx/pull/8988) sched/sched_note: add function auto-tracing
* [#8786](https://github.com/apache/nuttx/pull/8786) sched/sig_timewait:changes the macro for waitticks
* [#9203](https://github.com/apache/nuttx/pull/9203) sched/signal: fix the issue of asynchronous signal processing
* [#9299](https://github.com/apache/nuttx/pull/9299) sched/signal: Signal must be masked when it is delivered to a signal handler
* [#9100](https://github.com/apache/nuttx/pull/9100) sched/spawn: remove spawn proxy thread to simplify task/posix_spawn()
* [#9527](https://github.com/apache/nuttx/pull/9527) sched/tls: remove PTHREAD_CLEANUP from Kconfig
* [#9007](https://github.com/apache/nuttx/pull/9007) sched/wqueue: fix issue about worker can't wake up thread before work_thread running
mm
* [#9417](https://github.com/apache/nuttx/pull/9417) mm: add invalid pid dump when malloc failed
* [#9050](https://github.com/apache/nuttx/pull/9050) mm: circbuf support write or read buffer direct
* [#9561](https://github.com/apache/nuttx/pull/9561) mm: compute the heap info more accuracy
* [#9564](https://github.com/apache/nuttx/pull/9564) mm: Compute the heap info more accuracy(2)
* [#9411](https://github.com/apache/nuttx/pull/9411) mm: Correct the callsite of mm_mallinfo
* [#9435](https://github.com/apache/nuttx/pull/9435) mm: Dump all memory blocks on allocation failure
* [#9555](https://github.com/apache/nuttx/pull/9555) mm: mm leak dump build error fix and memory foreach optimization
* [#9601](https://github.com/apache/nuttx/pull/9601) mm: mm_lock.c: reformat preprocessor
* [#9151](https://github.com/apache/nuttx/pull/9151) mm: memory allocations return valid pointer when request 0 size
* [#9563](https://github.com/apache/nuttx/pull/9563) mm: Rename PID_MM_INVALID to PID_MM_LEAK
* [#9560](https://github.com/apache/nuttx/pull/9560) mm: Rename mm_memdump_s to malltask
* [#9335](https://github.com/apache/nuttx/pull/9335) mm: Support memdump can show increased memory
* [#9476](https://github.com/apache/nuttx/pull/9476) mm/kmm_map: add missing FAR qualifiers
* [#9368](https://github.com/apache/nuttx/pull/9368) mm/kmm_map: add support to dynamically map pages into kernel virtual
* [#9055](https://github.com/apache/nuttx/pull/9055) mm/mm_map: give the mm_map as parameter to the mm_map functions
* [#9488](https://github.com/apache/nuttx/pull/9488) mm/mempool: allocate a chunk for multiple mempool avoid memory fragmentation
* [#9051](https://github.com/apache/nuttx/pull/9051) mm/mempool: fix bug, use incorrect free in mempool init
* [#9418](https://github.com/apache/nuttx/pull/9418) mm/mempool: fix bug read out of bounds when realloc
* [#9337](https://github.com/apache/nuttx/pull/9337) mm/mempool: fix bug when calculating mempool delta
* [#9052](https://github.com/apache/nuttx/pull/9052) mm/mempool: fix memory consumption double counting issue
* [#9433](https://github.com/apache/nuttx/pull/9433) mm/mempool: fix seqnumber statistics error in memdump
* [#9474](https://github.com/apache/nuttx/pull/9474) mm/mempool: remove nexpend and totalsize from mempool_s
* [#9336](https://github.com/apache/nuttx/pull/9336) mm/mempool: support when malloc failed dump mempool info
* [#9416](https://github.com/apache/nuttx/pull/9416) mm/mempool: Support when malloc failed dump mempool info
libs
* [#9284](https://github.com/apache/nuttx/pull/9284) libc: add regex implementation
* [#9148](https://github.com/apache/nuttx/pull/9148) libc: Add setbuffer to stdio.
* [#9062](https://github.com/apache/nuttx/pull/9062) libc: cleanup per-thread resource in exit/quick_exit
* [#8958](https://github.com/apache/nuttx/pull/8958) libc: correct config define of arch functions
* [#9480](https://github.com/apache/nuttx/pull/9480) libc: fix build break on kernel mode
* [#9181](https://github.com/apache/nuttx/pull/9181) libc: fixed armv7-m strcmp build issue
* [#9580](https://github.com/apache/nuttx/pull/9580) libc: lib_strftime: Fix %I to avoid printing 00:xx AM/PM
* [#9557](https://github.com/apache/nuttx/pull/9557) libc: lib_syslograwstream: fix bug when iob alloc failed
* [#9106](https://github.com/apache/nuttx/pull/9106) libc: memcpy M-profile PACBTI-enablement
* [#9543](https://github.com/apache/nuttx/pull/9543) libc: netdev/upper: Optimize on quota related operations
* [#8946](https://github.com/apache/nuttx/pull/8946) libc: print error code for unknown errors in strerror/gai_strerror
* [#9585](https://github.com/apache/nuttx/pull/9585) libc: Support gcc FORTIFY_SOURCE features
* [#9513](https://github.com/apache/nuttx/pull/9513) libc: Prefer to implement memfd on top of shm
* [#9193](https://github.com/apache/nuttx/pull/9193) libc/armv8-m: fix build break if MVE is disabled
* [#9497](https://github.com/apache/nuttx/pull/9497) libc/fdcheck: add fdcheck module
* [#9536](https://github.com/apache/nuttx/pull/9536) libc/fdcheck: compatibility enhancement
* [#9547](https://github.com/apache/nuttx/pull/9547) libc/fdcheck: Fix undefined reference to `getppid'
* [#9405](https://github.com/apache/nuttx/pull/9405) libc/fdsan: add fdsan protection for all file pointers
* [#9496](https://github.com/apache/nuttx/pull/9496) libc/fdsan: keep f_tag unchanged
* [#9384](https://github.com/apache/nuttx/pull/9384) libc/libc.csv: Correct type of return value for strstr
* [#8802](https://github.com/apache/nuttx/pull/8802) libc/locale: support iconv_open,iconv,iconv_close
* [#9260](https://github.com/apache/nuttx/pull/9260) libc/misc: add Fdsan module
* [#9076](https://github.com/apache/nuttx/pull/9076) libc/mm: fix files can not be compiled incrementally
* [#9534](https://github.com/apache/nuttx/pull/9534) libc/netdb/dns: fix dns wrong response ID error
* [#9238](https://github.com/apache/nuttx/pull/9238) libc/pthread: fix nxstyle errors
* [#9199](https://github.com/apache/nuttx/pull/9199) libc/pthread: fixed pthread incorrect return values
* [#9207](https://github.com/apache/nuttx/pull/9207) libc/qsort: fix invalid-pointer-pair if enable detect_invalid_pointer_pairs=2
* [#9456](https://github.com/apache/nuttx/pull/9456) libc/regex: provide a separate kconfig for regex
* [#9365](https://github.com/apache/nuttx/pull/9365) libc/stream/hexdump: add hexdump stream to dump binary to syslog
* [#9138](https://github.com/apache/nuttx/pull/9138) libc/string: select arch's libc for kernel/userspace optionally
* [#9605](https://github.com/apache/nuttx/pull/9605) libc/unistd: add getpgrp function
* [#9448](https://github.com/apache/nuttx/pull/9448) libc/wchar: Implement vswprintf
* [#9487](https://github.com/apache/nuttx/pull/9487) libdsp: Add average filter
* [#9061](https://github.com/apache/nuttx/pull/9061) libm/newlib: add newlib/libm support
* [#9083](https://github.com/apache/nuttx/pull/9083) libm/openlibm: add math library openlibm support.
* [#9125](https://github.com/apache/nuttx/pull/9125) libm/libmcs: add math library libmcs support
* [#9044](https://github.com/apache/nuttx/pull/9044) libxx: remove redundant code #9158 libelf: Support prioritized init and fini arrays
Misc
* [#9610](https://github.com/apache/nuttx/pull/9610) binfmt: Always include arch/elf.h in include/nuttx/elf.h
* [#9395](https://github.com/apache/nuttx/pull/9395) binfmt/elf: Support loading fully linked executables.
* [#9426](https://github.com/apache/nuttx/pull/9426) binfmt/elf/coredump: alignment stack buffer to 64 to match gdb request
* [#9376](https://github.com/apache/nuttx/pull/9376) binfmt/elf/coredump: add sanity checks for stack pointer
* [#9366](https://github.com/apache/nuttx/pull/9366) binfmt/elf/coredump: add support of dump task stack without memory segments
* [#9318](https://github.com/apache/nuttx/pull/9318) binfmt/elf/coredump: correct register offset after xcp.regs update
* [#9099](https://github.com/apache/nuttx/pull/9099) binfmt/execmodule: correct destroy flow
* [#9568](https://github.com/apache/nuttx/pull/9568) Debug:support python script auto debug nuttx kernel
* [#9600](https://github.com/apache/nuttx/pull/9600) Fix assertion of free a wrong heap
* [#9307](https://github.com/apache/nuttx/pull/9307) Fix windows compile errors because of double quotes in config
* [#9147](https://github.com/apache/nuttx/pull/9147) include/err: Enforce c linkage for err and warn functions.
* [#9459](https://github.com/apache/nuttx/pull/9459) include/nuttx/spi.h Fix SPIDEVID_TYPE macro definition  
* [#8956](https://github.com/apache/nuttx/pull/8956) Let BOARDIOC_SOFTRESETCAUSE_ASSERT equals to the default value of BOARD_ASSERT_RESET_VALUE
* [#9274](https://github.com/apache/nuttx/pull/9274) modify type of numbytes in audio_buf_desc_s from uint16_t to apb_samp_t
* [#9348](https://github.com/apache/nuttx/pull/9348) openamp: decoupling the transport layer and virtio device layer  
* [#9406](https://github.com/apache/nuttx/pull/9406) openamp: virtio.h add version field in device id table struct
* [#9553](https://github.com/apache/nuttx/pull/9553) Openamp/Kconfig: add cache and debug config for openamp
* [#9149](https://github.com/apache/nuttx/pull/9149) Remove #warning in the unnecessary places
* [#9594](https://github.com/apache/nuttx/pull/9594) Replace $(INCDIR) and ${DEFINE} with $(INCDIR_PREFIX) and $(DEFINE_PREFIX)
* [#8726](https://github.com/apache/nuttx/pull/8726) Replace the unsafe function(strcat, sprintf) with the safe one(strlcat, snprintf)  
* [#9509](https://github.com/apache/nuttx/pull/9509) sdcard: update sdcard detection to avoid 0xff asignment to bool type
* [#9424](https://github.com/apache/nuttx/pull/9424) semantic/parser: fix compile warning found by sparse
* [#9142](https://github.com/apache/nuttx/pull/9142) signal: add macro NSIG
* [#9201](https://github.com/apache/nuttx/pull/9201) system/signal: in interrupting the context, regs modify logic error  
Changes to the Build System
Improvements
* [#9400](https://github.com/apache/nuttx/pull/9400) tools: Add way to get current defconfig name on runtime
* [#9572](https://github.com/apache/nuttx/pull/9572) tools: Fix CONFIG_BASE_DEFCONFIG generation
* [#9107](https://github.com/apache/nuttx/pull/9107) tools: Fix some error in Windows native build
* [#9462](https://github.com/apache/nuttx/pull/9462) tools: Support string upper/lower case in make
* [#9334](https://github.com/apache/nuttx/pull/9334) tools/mkallsyms: add exception handle
* [#9069](https://github.com/apache/nuttx/pull/9069) tools/mksymtab: Fix a compilation warning
* [#9210](https://github.com/apache/nuttx/pull/9210) tools/nuttx-gdbinit/armv7-a: reorder and synchronization registers of save/restore
* [#9198](https://github.com/apache/nuttx/pull/9198) tools/nuttx-gdbinit: improve experience of gdb backend scripts
* [#9234](https://github.com/apache/nuttx/pull/9234) tools/nuttx-gdbinit/armv7-a: add fpu support
* [#9211](https://github.com/apache/nuttx/pull/9211) tools/Unix: treat kconfig warning as failure
* [#9231](https://github.com/apache/nuttx/pull/9231) tools/refresh.sh: Add option to refresh all archs or all chips
Architectural Support
New Architectures
* [#9465](https://github.com/apache/nuttx/pull/9465) initial FPU support for ARMv8R AARCH32 
* [#9443](https://github.com/apache/nuttx/pull/9443) Support for ARMv8R AARCH32
Improvements
* [#9115](https://github.com/apache/nuttx/pull/9115) arch: Return directly when arch not support interrupt context save
* [#8823](https://github.com/apache/nuttx/pull/8823) arch: add more dependent header file
* [#9296](https://github.com/apache/nuttx/pull/9296) arch: Save sigdeliver into xcp in the case of signal self delevery
* [#9131](https://github.com/apache/nuttx/pull/9131) arch/assert: Distinguish between assert and exception
* [#8948](https://github.com/apache/nuttx/pull/8948) arch/boards: fix stm32f411-mininum:nsh compilation failure
* [#9343](https://github.com/apache/nuttx/pull/9343) arch/all: in smp pthread_cancel occasionally deadlock except for arm64
* [#9313](https://github.com/apache/nuttx/pull/9313) arch/arm: Add a "cc" flag
* [#8814](https://github.com/apache/nuttx/pull/8814) arch/arm: Add armv7m assembly strcpy.
* [#9019](https://github.com/apache/nuttx/pull/9019) arch/arm: change up_saveusercontext to assembly code
* [#8863](https://github.com/apache/nuttx/pull/8863) arch/arm: enable eoimode only select CONFIG_XXX_GIC_EOIMODE
* [#9338](https://github.com/apache/nuttx/pull/9338) arch/arm: Fix Kconfig style and texts
* [#9072](https://github.com/apache/nuttx/pull/9072) arch/arm: relax compiler check for workaround with "GCC 12.2"
* [#9085](https://github.com/apache/nuttx/pull/9085) arch/arm: Resolving warnings for assembly instructions
* [#9310](https://github.com/apache/nuttx/pull/9310) arch/arm: set arm_testset to weak function
* [#9018](https://github.com/apache/nuttx/pull/9018) arch/arm: update running task when context switch occurred
* [#9048](https://github.com/apache/nuttx/pull/9048) arch/arm/{armv7a/armv7r}l2cc: Don't repeat disabling the cache when the cache is already disabled
* [#8930](https://github.com/apache/nuttx/pull/8930) arch/armv7-r: add armv7-r smp support
* [#9311](https://github.com/apache/nuttx/pull/9311) arch/armv8-m: add ARMV8M_TRUSTZONE_HYBRID feature
* [#9458](https://github.com/apache/nuttx/pull/9458) arch/armv8-r: Fix warning when configuring fvp-armv8r:nsh_smp
* [#9478](https://github.com/apache/nuttx/pull/9478) arch/arm/backtrace: validate PC register before process unwind
* [#9121](https://github.com/apache/nuttx/pull/9121) arch/arm/unwind: EABI unwind needs frame pointer support
* [#9034](https://github.com/apache/nuttx/pull/9034) arch/arm/cxd56: Add lowerhalf interface to keep power when cold sleep
* [#9469](https://github.com/apache/nuttx/pull/9469) arch/arm/gd32f4: add sdio driver for GD32F4
* [#9493](https://github.com/apache/nuttx/pull/9493) arch/arm/gd32f4/Fixed Kconfig options for obsolete tickless systick options.
* [#9325](https://github.com/apache/nuttx/pull/9325) arch/arm/imxrt: Base address missing from imxrt_flexio_get_shifter_buffer_address returned address
* [#9607](https://github.com/apache/nuttx/pull/9607) arch/arm/imxrt: Fix implicit function declaration
* [#9024](https://github.com/apache/nuttx/pull/9024) arch/arm/imxrt: FlexIO support
* [#9324](https://github.com/apache/nuttx/pull/9324) arch/arm/imxrt: Wrong dlastsga or slast setting if doff or soff larger than one
* [#9026](https://github.com/apache/nuttx/pull/9026) arch/arm/imx6: with ar8031
* [#9346](https://github.com/apache/nuttx/pull/9346) arch/arm/kinetis: s32k1/s32k3:edma {s|d}last needs to be total xfer size
* [#9001](https://github.com/apache/nuttx/pull/9001) arch/arm/kinetis/s32k3xx: EMAC MCAST support
* [#9402](https://github.com/apache/nuttx/pull/9402) arch/arm/{nrf52|nrf53}: fix IN endpoint completion logic
* [#9508](https://github.com/apache/nuttx/pull/9508) arch/arm/{nrf52|nrf53}: various fixes to improve USB stability
* [#9444](https://github.com/apache/nuttx/pull/9444) arch/arm/{nrf52|nrf53}: validate if EasyDMA transfer is possible
* [#9431](https://github.com/apache/nuttx/pull/9431) arch/arm/nrf52: add MCUboot support
* [#9008](https://github.com/apache/nuttx/pull/9008) arch/arm/nrf52: add QSPI support
* [#9387](https://github.com/apache/nuttx/pull/9387) arch/arm/nrf53: add QSPI support
* [#8795](https://github.com/apache/nuttx/pull/8795) arch/arm/nrf53: add support for RPMSG HCI
* [#9359](https://github.com/apache/nuttx/pull/9359) arch/arm/nrf53: add USBD support
* [#8827](https://github.com/apache/nuttx/pull/8827) arch/arm/nrf52: nvmc and flash should depends on ALLOW_BSD_COMPONENTS=y
* [#9340](https://github.com/apache/nuttx/pull/9340) arch/arm/nrf53: add I2C support ported from nrf52
* [#9442](https://github.com/apache/nuttx/pull/9442) arch/arm/nrf53: add MCUboot support
* [#9351](https://github.com/apache/nuttx/pull/9351) arch/arm/nrf53: add SPI support ported from nrf52
* [#9356](https://github.com/apache/nuttx/pull/9356) arch/arm/nrf53: correct text config I2C3 Master
* [#9252](https://github.com/apache/nuttx/pull/9252) arch/arm/sama5: add ATSAMA5D2/D4 Secure Fuse Controller (SFC) driver
* [#9377](https://github.com/apache/nuttx/pull/9377) arch/arm/sama5: Add touchscreen calibration IOCTLs, structs, and implement for ATSAMA5D2
* [#9215](https://github.com/apache/nuttx/pull/9215) arch/arm/sama5: Fix OHCI SchedulingOverrun interrupt storm.
* [#9390](https://github.com/apache/nuttx/pull/9390) arch/arm/sama5: improve LCD support and correct minor errors
* [#9286](https://github.com/apache/nuttx/pull/9286) arch/arm/sama5: Make EHCI work with slow devices.
* [#9357](https://github.com/apache/nuttx/pull/9357) arch/arm/samv7: remove alignment check that is not needed
* [#9112](https://github.com/apache/nuttx/pull/9112) arch/arm/sama5: SAMA5D2 Class D
* [#9341](https://github.com/apache/nuttx/pull/9341) arch/arm/sama5: SAMA5D2 SPI DMA fix and Performance Enhancements
* [#9157](https://github.com/apache/nuttx/pull/9157) arch/arm/sama5: Use a recursive mutex to fix OHCI deadlock.
* [#9604](https://github.com/apache/nuttx/pull/9604) arch/arm/stm: Fix duplicate include guard
* [#8992](https://github.com/apache/nuttx/pull/8992) arch/arm/stm32: Remove GPIO_{SPEED|MODE}_xxx and provide a legacy path for lazy migration
* [#9491](https://github.com/apache/nuttx/pull/9491) arch/arm/stm32: Removed unused STM32_TICKLESS_SYSTICK Kconfig option.
* [#8976](https://github.com/apache/nuttx/pull/8976) arch/arm/stm32/otg: rasie an assertion if IN request is not possible to transfer
* [#8943](https://github.com/apache/nuttx/pull/8943) arch/arm/stm32/stm32_eth: Added error handling for abnormal interrupts.
* [#8975](https://github.com/apache/nuttx/pull/8975) arch/arm/{stm32f7,stm32h7,stm32l4}/sdmmc: callback support requires HPWORK
* [#9228](https://github.com/apache/nuttx/pull/9228) arch/arm/stm32h7: sdmmc It is not an error if no wait was needed
* [#8945](https://github.com/apache/nuttx/pull/8945) arch/arm/stm32h7/otg: support for OTG HS external ULPI
* [#8969](https://github.com/apache/nuttx/pull/8969) arch/arm/stm32h7/otgdev: FS transceiver must be enabled if OTGFS enabled
* [#9006](https://github.com/apache/nuttx/pull/9006) arch/arm/stm32h7/rcc: make VOS0 configurable from board.h
* [#9088](https://github.com/apache/nuttx/pull/9088) arch/arm/stm32_f7/h7_eth: Added error handling for abnormal interrupts.
* [#9218](https://github.com/apache/nuttx/pull/9218) arch/arm/stm32f0l0g0: Fix stm32f0l0g0 GPIO definitions
* [#9216](https://github.com/apache/nuttx/pull/9216) arch/arm/tiva: Fix i2c message buffer error
* [#9441](https://github.com/apache/nuttx/pull/9441) arch/arm/tiva: start FPU before GPIO config
* [#9515](https://github.com/apache/nuttx/pull/9515) arch/arm64: save FPU context when a context switch occurs in SMP mode
* [#9464](https://github.com/apache/nuttx/pull/9464) arch/arm64: use adrp instead of adr in bss init code
* [#9333](https://github.com/apache/nuttx/pull/9333) arch/arm64: support more interfaces for gicv3
* [#9023](https://github.com/apache/nuttx/pull/9023) arch/arm64: Support tickless mode
* [#9332](https://github.com/apache/nuttx/pull/9332) arch/arm64: Each core initializes its own idle stack in SMP
* [#9315](https://github.com/apache/nuttx/pull/9315) arch/arm64: Support unalign cache clean.
* [#9243](https://github.com/apache/nuttx/pull/9243) arch/arm64: Add support for Multiple UART Ports
* [#9227](https://github.com/apache/nuttx/pull/9227) arch/arm64: merge serial_pl011.c and qemu_serial.c
* [#8994](https://github.com/apache/nuttx/pull/8994) arch/arm64: fixed arm64 backtrace issue
* [#8990](https://github.com/apache/nuttx/pull/8990) arch/Arm64: arm64 pmu supported
* [#8876](https://github.com/apache/nuttx/pull/8876) arch/arm64: fixed cache issue and add more cache interface
* [#9098](https://github.com/apache/nuttx/pull/9098) arch/arm64: Updating ARCH_EARLY_PRINT support
* [#9065](https://github.com/apache/nuttx/pull/9065) arch/arm64: in smp pthread_cancel occasionally deadlock
* [#9330](https://github.com/apache/nuttx/pull/9330) arch/arm64: .bss initialization using assembly language
* [#9220](https://github.com/apache/nuttx/pull/9220) arch/arm64: preprocess link script to make configure more flexibly
* [#8799](https://github.com/apache/nuttx/pull/8799) arch/arm64: Support for FPU profile with procfs
* [#9118](https://github.com/apache/nuttx/pull/9118) arch/risc-v: Add option for selecting coherent DMA.
* [#9114](https://github.com/apache/nuttx/pull/9114) arch/risc-v: change up_saveusercontext to assembly code
* [#9123](https://github.com/apache/nuttx/pull/9123) arch/risc-v: Fix save/load FPU macros
* [#9103](https://github.com/apache/nuttx/pull/9103) arch/risc-v: Fixed FPU register error
* [#9597](https://github.com/apache/nuttx/pull/9597) arch/risc-v: litex/gpio: Fix incorrect declaration name.
* [#9279](https://github.com/apache/nuttx/pull/9279) arch/risc-v: Remove riscv_copystate.c as it is not used a…
* [#9485](https://github.com/apache/nuttx/pull/9485) arch/risc-v: Store user context into the kernel stack
* [#9248](https://github.com/apache/nuttx/pull/9248) arch/risc-v/addrenv: Create utility function for dynamic mappings
* [#9481](https://github.com/apache/nuttx/pull/9481) arch/risc-v/backtrace: correct stack pointer if enable ARCH_KERNEL_STACK
* [#9538](https://github.com/apache/nuttx/pull/9538) arch/risc-v/barrier: Define more granular memory barriers
* [#8787](https://github.com/apache/nuttx/pull/8787) arch/risc-v/kernel mode: Add a stripped down, native version of SBI for NuttX
* [#9526](https://github.com/apache/nuttx/pull/9526) arch/risc-v/vfork: Replace jal with call for long jump
* [#9192](https://github.com/apache/nuttx/pull/9192) arch/risc-v/litex: Fix emac driver compilation when only IPv6 is used.
* [#9586](https://github.com/apache/nuttx/pull/9586) arch/risc-v/espressif: Add full GPIO support
* [#8957](https://github.com/apache/nuttx/pull/8957) arch/risc-v/espressif: Add support for Periodic and Oneshot Timers
* [#8980](https://github.com/apache/nuttx/pull/8980) arch/risc-v/espressif: Add support for RTC subsystem
* [#8953](https://github.com/apache/nuttx/pull/8953) arch/risc-v/espressif: Add support for Tickless mode
* [#8954](https://github.com/apache/nuttx/pull/8954) arch/risc-v/espressif: Panic if CPU interrupt allocation fails
* [#9545](https://github.com/apache/nuttx/pull/9545) arch/risc-v/espressif: Update esp-hal-3rdparty library
* [#8971](https://github.com/apache/nuttx/pull/8971) arch/risc-v/espressif: Use spinlock APIs for defining critical sections
* [#8973](https://github.com/apache/nuttx/pull/8973) arch/risk-v/k210: Fix k210 timer on QEMU 6.1 or later
* [#9548](https://github.com/apache/nuttx/pull/9548) arch/risc-v/mpfs: add CoreMMC support
* [#9439](https://github.com/apache/nuttx/pull/9439) arch/risc-v/mpfs: Add CoreSPI driver for Polarfire SoC
* [#9440](https://github.com/apache/nuttx/pull/9440) arch/risc-v/mpfs: Add mpfs_vbus_detect
* [#9419](https://github.com/apache/nuttx/pull/9419) arch/risc-v/mpfs: add support for CoreI2C fpga driver
* [#9489](https://github.com/apache/nuttx/pull/9489) arch/risc-v/mpfs: Enable KMM_MAP for knsh
* [#9212](https://github.com/apache/nuttx/pull/9212) arch/risc-v/mpfs: Fix some logic errors in the driver
* [#9430](https://github.com/apache/nuttx/pull/9430) arch/risc-v/mpfs: Modify mpfs_i2c.c to support arbitrary number o…
* [#9461](https://github.com/apache/nuttx/pull/9461) arch/risc-v/mpfs: Minor fixes / tweaks to the driver
* [#9503](https://github.com/apache/nuttx/pull/9503) arch/risc-v/mpfs: Remove MMU mappings and flush TLB upon boot
* [#9081](https://github.com/apache/nuttx/pull/9081) arch/rv-virt/knsh64: increase proxy stack size to avoid overflow
* [#9075](https://github.com/apache/nuttx/pull/9075) arch/rv-virt/nsh64: enable CONFIG_BCH to support block device access
* [#9312](https://github.com/apache/nuttx/pull/9312) arch/xtensa: only cmp fpu coprocessor for fpu test
* [#8977](https://github.com/apache/nuttx/pull/8977) arch/xtensa: Remove FAR qualifier for Xtensa-specific files
* [#9401](https://github.com/apache/nuttx/pull/9401) arch/xtensa/esp32: Add missing SPI Flash ROM functions
* [#8993](https://github.com/apache/nuttx/pull/8993) arch/xtensa/esp32: Add support for universal mac addresses
* [#9082](https://github.com/apache/nuttx/pull/9082) arch/xtensa/esp32: BLE Bugfix
* [#9078](https://github.com/apache/nuttx/pull/9078) arch/xtensa/esp32: enable LIBC_ARCH_ATOMIC
* [#9020](https://github.com/apache/nuttx/pull/9020) arch/xtensa/esp32: ESP32 not use IMEM in user heap mode
* [#9408](https://github.com/apache/nuttx/pull/9408) arch/xtensa/esp32: Fix build issues for SoftAP mode
* [#9236](https://github.com/apache/nuttx/pull/9236) arch/xtensa/esp32: Fix himem driver crash in SMP mode
* [#8926](https://github.com/apache/nuttx/pull/8926) arch/xtensa/esp32: fix signal deliver when task is running on ther CPU
* [#8963](https://github.com/apache/nuttx/pull/8963) arch/xtensa/esp32: Fix Wi-Fi driver parameter settings
* [#8974](https://github.com/apache/nuttx/pull/8974) arch/xtensa/esp32: Make asprintf and lib_free corresponding
* [#9077](https://github.com/apache/nuttx/pull/9077) arch/xtensa/esp32: Ssd1306
* [#9475](https://github.com/apache/nuttx/pull/9475) arch/xtensa/esp32: Support multiple PHY init data bin
* [#9242](https://github.com/apache/nuttx/pull/9242) arch/xtensa/esp32[s2]: Define syscall table to enable using ROM functions
* [#9542](https://github.com/apache/nuttx/pull/9542) arch/xtensa/esp32s2: Fix SPI DMA implementation
* [#9361](https://github.com/apache/nuttx/pull/9361) arch/xtensa/esp32s3: add dedicated interrupt stack for ESP32-S3 by default
* [#9110](https://github.com/apache/nuttx/pull/9110) arch/xtensa/esp32s3: Add RTC support
* [#9156](https://github.com/apache/nuttx/pull/9156) arch/xtensa/esp32s3: add support to WPA3 on Station Mode
* [#9525](https://github.com/apache/nuttx/pull/9525) arch/xtensa/esp32s3: Add USB OTG device driver
* [#8979](https://github.com/apache/nuttx/pull/8979) arch/xtensa/esp32s3: call softAP callback when Wi-Fi driver TX is done
* [#9367](https://github.com/apache/nuttx/pull/9367) arch/xtensa/esp32s3: pause other CPU before SPI flash operations
* [#9549](https://github.com/apache/nuttx/pull/9549) arch/xtensa/esp32s3: SPI support quad I/O mode
* [#9502](https://github.com/apache/nuttx/pull/9502) arch/xtensa/esp32s3: Support 32MB SPI flash
* [#9380](https://github.com/apache/nuttx/pull/9380) arch/xtensa/esp32s3: Support 32MB PSRAM
* [#9136](https://github.com/apache/nuttx/pull/9136) arch/xtensa/esp32s3: Support octal lines mode SPIRAM
* [#9397](https://github.com/apache/nuttx/pull/9397) arch/xtensa/esp32s3: SPI slave driver
* [#9232](https://github.com/apache/nuttx/pull/9232) arch/xtensa/esp32s3: use wapis init config to save Wi-Fi data
* [#9255](https://github.com/apache/nuttx/pull/9255) arch/xtensa/esp32xx: Workaround to avoid printing serial trash character
* [#9190](https://github.com/apache/nuttx/pull/9190) arch/sim: do not free memory of zero-length reallocation
* [#9070](https://github.com/apache/nuttx/pull/9070) arch/sim: Implement text heap
* [#9079](https://github.com/apache/nuttx/pull/9079) arch/sim: Move up_textheap_xxx to common place
* [#9071](https://github.com/apache/nuttx/pull/9071) arch/sim: multi netdevice forward issue when ll_guardsize not 14
* [#9472](https://github.com/apache/nuttx/pull/9472) arch/sim: Replace uart_[xmit|recv]chars_dma with uart_dma[txavail|rxfree]
* [#9533](https://github.com/apache/nuttx/pull/9533) arch/sim: Support more sockopts on native socket
* [#9208](https://github.com/apache/nuttx/pull/9208) arch/sim/asan: disable detect_invalid_pointer_pairs/detect_stack_use_after_return
* [#8997](https://github.com/apache/nuttx/pull/8997) arch/sim/hostfs: pass flag O_BINARY to host
* [#9186](https://github.com/apache/nuttx/pull/9186) arch/sim/lsan: disable fast-unwind by default
* [#9468](https://github.com/apache/nuttx/pull/9468) arch/sim/ostest: enable priority inheritance testing
* [#9291](https://github.com/apache/nuttx/pull/9291) arch/sim/posix/backtrace: process host backtrace with critical section
* [#9518](https://github.com/apache/nuttx/pull/9518) arch/sim/posix/sim_hostusrsock: process host network syscall with critical…
* [#9308](https://github.com/apache/nuttx/pull/9308) arch/sim/sim_alsa: modify buffer_size in GET_BUFFERINFO when offload capture.
* [#8961](https://github.com/apache/nuttx/pull/8961) arch/sim/sim_x11eventloop: fix X11 event accumulation
* [#9109](https://github.com/apache/nuttx/pull/9109) arch/sim/usbdev: fix unpaired critical_section()
* [#8996](https://github.com/apache/nuttx/pull/8996) arch/sim/win/hostuart: only read key event from console
* [#8995](https://github.com/apache/nuttx/pull/8995) arch/sim/win/hosttime: calculate sec/ms independently to avoid overflow
Driver Support
New Drivers
* [#9189](https://github.com/apache/nuttx/pull/9189) drivers/audio: add support for the ES8311 codec
* [#8775](https://github.com/apache/nuttx/pull/8775) drivers/audio: add audio_dma device driver.
* [#9372](https://github.com/apache/nuttx/pull/9372) drivers/lcd: add JD9851 driver
* [#8982](https://github.com/apache/nuttx/pull/8982) drivers/sensors: add support of InvenSense MPU-9250 sensor
* [#9452](https://github.com/apache/nuttx/pull/9452) drivers/sensors: add BMI270 IMU support
* [#9453](https://github.com/apache/nuttx/pull/9453) drivers/sensors: add bh1749nuc color sensor support
* [#9258](https://github.com/apache/nuttx/pull/9258) drivers/virtio: add virtio-mmio-blk driver Audio Support
Improvements
* [#9027](https://github.com/apache/nuttx/pull/#9027) drivers/audio: Add audio underrun notice and support it in cxd56 audio driver
* [#9609](https://github.com/apache/nuttx/pull/#9609) drivers/can/can.c: Fix nested loops with same variable
* [#9450](https://github.com/apache/nuttx/pull/#9450) drivers/can/mcp2515.c add missing spi configuration in mcp2515_r…
* [#9399](https://github.com/apache/nuttx/pull/#9399) drivers/can/mcp2515.c Fix Configure Spi Bus on every bus lock
* [#9393](https://github.com/apache/nuttx/pull/#9393) drivers/can/mcp2515.c Fix Missing Chipselect de-assert before bus unl…
* [#9427](https://github.com/apache/nuttx/pull/#9427) drivers/can/mcp2515.c Use SPIDEV_CANBUS(config->devid) instead of SP…
* [#8773](https://github.com/apache/nuttx/pull/#8773) drivers/dma: support dma driver model
* [#8922](https://github.com/apache/nuttx/pull/#8922) drivers/emmc: eMMC driver support
* [#9529](https://github.com/apache/nuttx/pull/#9529) drivers/ioexpander/pca9555: fix const correctness of pin set parameters
* [#9398](https://github.com/apache/nuttx/pull/#9398) drivers/input/tsc2007: Rename touchscreen ioctls for clarity
* [#8398](https://github.com/apache/nuttx/pull/#8398) drivers/lcd/st7789: Dynamic adjustment of the orientation, switch orientation on the fly
* [#9463](https://github.com/apache/nuttx/pull/#9463) drivers/modem/alt1250: Update alt1250 driver
* [#9119](https://github.com/apache/nuttx/pull/#9119) drivers/misc: fix missing instantiation of return value in rwb_mediaremoved.
* [#9556](https://github.com/apache/nuttx/pull/#9556) drivers/misc/rpmsg: add fdsan support for rpmsg dev/mtd/blk
* [#9436](https://github.com/apache/nuttx/pull/#9436) drivers/mtd: check args for nvs read
* [#9011](https://github.com/apache/nuttx/pull/#9011) drivers/mtd: fix uninit data in mtd_config_fs
* [#9492](https://github.com/apache/nuttx/pull/#9492) drivers/mtd: mtd_config name len max changed to NAME_MAX
* [#9342](https://github.com/apache/nuttx/pull/#9342) drivers/mtd/gd25: Flash memory - performance enhancements
* [#9500](https://github.com/apache/nuttx/pull/#9500) drivers/mtd/is25xp: Enable usage of several chips on the same spi bus
* [#9154](https://github.com/apache/nuttx/pull/#9154) drivers/mtd/nand: Return -EUCLEAN when the bit error happen but fixed by ecc
* [#9281](https://github.com/apache/nuttx/pull/#9281) drivers/mtd/w25qxxxjv: add dual die support for 1 Gbit flash
* [#9272](https://github.com/apache/nuttx/pull/#9272) drivers/mtd/w25qxxxjv: fix STATUS2_QE_ENABLED bitfield write
* [#9396](https://github.com/apache/nuttx/pull/#9396) drivers/net/slip: Switch to poll based design
* [#8987](https://github.com/apache/nuttx/pull/#8987) drivers/note: fix note_drivers error
* [#9130](https://github.com/apache/nuttx/pull/#9130) drivers/pipe: fix blocking file_pipe
* [#8985](https://github.com/apache/nuttx/pull/#8985) drivers/pipe: make pipe and named pipe (mkfifo) POSIX-compliant (blocking open)
* [#9505](https://github.com/apache/nuttx/pull/#9505) drivers/ptmx: Fix a potential buffer overflow
* [#9554](https://github.com/apache/nuttx/pull/#9554) drivers/rptun: rptun and rptun_dump bug fix
* [#9592](https://github.com/apache/nuttx/pull/#9592) drivers/segger: Change the default value of SEGGER_RTT_MAX_NUM_DOWN_BUFFERS to SEGGER_RTT_MAX_NUM_UP_BUFFERS
* [#9012](https://github.com/apache/nuttx/pull/#9012) drivers/sensors/APDS9922:
* [#9608](https://github.com/apache/nuttx/pull/#9608) drivers/sensors/apds9960: Fix use after free
* [#9004](https://github.com/apache/nuttx/pull/#9004) drivers/sensors/Kconfig: Fix bmi160 help texts in Kconfig
* [#9013](https://github.com/apache/nuttx/pull/#9013) drivers/sensors/Kconfig: Fix bmp280 texts in Kconfig
* [#9589](https://github.com/apache/nuttx/pull/#9589) drivers/sensors/mpu60x0: add IOCTL support
* [#8999](https://github.com/apache/nuttx/pull/#8999) drivers/sensors/mpu60x0: Fix the error when reset mpu60x0 in SPI case
* [#9305](https://github.com/apache/nuttx/pull/#9305) drivers/serial: Fix coverity issue
* [#9292](https://github.com/apache/nuttx/pull/#9292) drivers/serial: fix race condition in multi-thread write
* [#9219](https://github.com/apache/nuttx/pull/#9219) drivers/serial: fix update local flags for the pty device attribute
* [#9049](https://github.com/apache/nuttx/pull/#9049) drivers/serial: support tty c_cc VMIN & VTIME
* [#9354](https://github.com/apache/nuttx/pull/#9354) drivers/serial/16550: dma support 16550 uart
* [#9473](https://github.com/apache/nuttx/pull/#9473) drivers/serial/16550: Include nuttx/clk/clk.h
* [#9283](https://github.com/apache/nuttx/pull/#9283) drivers/serial/16550: serial output can cause deadlock
* [#9105](https://github.com/apache/nuttx/pull/#9105) drivers/spi/spi_bitbang: Add private data on spi_bitbang
* [#9102](https://github.com/apache/nuttx/pull/#9102) drivers/spi/spi_bitbang: Fix build warnings
* [#9404](https://github.com/apache/nuttx/pull/#9404) drivers/syslog: add mutex to syslog_default_write
* [#9591](https://github.com/apache/nuttx/pull/#9591) drivers/syslog: Add sc_write_force callback
* [#9176](https://github.com/apache/nuttx/pull/#9176) drivers/syslog: add syslog option definition
* [#9364](https://github.com/apache/nuttx/pull/#9364) drivers/syslog: use internal buffer to decoupling syslog with iob
* [#8950](https://github.com/apache/nuttx/pull/#8950) drivers/telnet: Remove TELNET_CHARACTER_MODE
* [#9133](https://github.com/apache/nuttx/pull/#9133) drivers/telnet: Refused to enter character mode
* [#9541](https://github.com/apache/nuttx/pull/#9541) drivers/usbdev/cdcacm.c: register console only for device with minor number 0
* [#9331](https://github.com/apache/nuttx/pull/#9331) drivers/usbhost: Can now handle multiple interface descriptors.
* [#9245](https://github.com/apache/nuttx/pull/#9245) drivers/usbhost: Fix function address generation for multi-port root hubs.
* [#9287](https://github.com/apache/nuttx/pull/#9287) drivers/usbhost: Make unplugging hubs more reliable.
* [#9223](https://github.com/apache/nuttx/pull/#9223) drivers/usbhost/usbhost_cdcacm.c: fix warning
* [#9257](https://github.com/apache/nuttx/pull/#9257) drivers/usbhost/usbhost_hub: Prevent crash when the last hub port is used.
* [#9479](https://github.com/apache/nuttx/pull/#9479) drivers/usrsock/dns: add sanity check before send dns event
* [#9520](https://github.com/apache/nuttx/pull/#9520) drivers/usrsock/rpmsg_server: fix poll recursive when revent POLLHUP or POLLERR
* [#9581](https://github.com/apache/nuttx/pull/#9581) drivers/usrsock/usrsock_server: fix incomplete received data error
* [#9261](https://github.com/apache/nuttx/pull/#9261) drivers/usrsock/usrsock_server: fix issues with usrsock_rpmsg_sendto_handler
* [#8949](https://github.com/apache/nuttx/pull/#8949) drivers/video: passthrough unknown ioctl commands for customized scenarios in fb driver
* [#9045](https://github.com/apache/nuttx/pull/#9045) drivers/video: Support spot position setting
* [#9221](https://github.com/apache/nuttx/pull/#9221) drivers/video/fb: adapt to fbmem dynamic update.
* [#8907](https://github.com/apache/nuttx/pull/#8907) drivers/video/fb: add vsync offset support
* [#9101](https://github.com/apache/nuttx/pull/#9101) drivers/video/fb: fix pollnotify calling crash in advance
* [#9328](https://github.com/apache/nuttx/pull/#9328) drivers/video/fb_driver: add fb_open and fb_close
* [#9388](https://github.com/apache/nuttx/pull/#9388) drivers/video/vnc_server: Fix that vnc_updater thread exited caused by readed a null data
* [#9329](https://github.com/apache/nuttx/pull/#9329) drivers/video/vnc_server: set touch.maxpoint to 1 for circbuf_init
* [#9447](https://github.com/apache/nuttx/pull/#9447) drivers/virtio: Fix virtnet_transmit() in virtio-mmio-net.c
* [#9457](https://github.com/apache/nuttx/pull/#9457) drivers/virtio: Fix virtio-mmio-net
* [#9582](https://github.com/apache/nuttx/pull/#9582) drivers/virtio: Use one dscriptor for RX in virtio-mmio-net.c
* [#9134](https://github.com/apache/nuttx/pull/#9134) drivers/wireless: Fix mtu info for gs2200m
Audio Support
Improvements
* [#9381](https://github.com/apache/nuttx/pull/9381) audio: add channels range
* [#9152](https://github.com/apache/nuttx/pull/9152) audio/pcm_decode: fix warnings regarding unused functions and vars
Board Support
New Board Support
* [#9322](https://github.com/apache/nuttx/pull/9322)boards/nrf52: add initial support for Thingy:52 board
* [#9323](https://github.com/apache/nuttx/pull/9323)boards/nrf53: add initial support for Thingy:53 board
Improvements
* [#8964](https://github.com/apache/nuttx/pull/8964) boards: define boardioc_softreset_subreason_e in CONFIG_BOARDCTL_RESET
* [#9512](https://github.com/apache/nuttx/pull/9512) boards: Enable md5 to test virtio
* [#9167](https://github.com/apache/nuttx/pull/9167) boards: Fix CONFIG_[START_DATE,START_MONTH] cannot start with 0
* [#8962](https://github.com/apache/nuttx/pull/8962) boards: refresh boards that use usbmsc
* [#8942](https://github.com/apache/nuttx/pull/8942) boards: Replace open/pread with file_open/file_pread
* [#8941](https://github.com/apache/nuttx/pull/8941) boards/boardctl: Add BOARDIOC_SOFTRESETCAUSE_ENTER_BOOTLOADER reset cause
* [#9217](https://github.com/apache/nuttx/pull/9217) boards/boardctl: add BOARDIOC_SOFTRESETCAUSE_RESTORE_FACTORY_INQUIRY
* [#9535](https://github.com/apache/nuttx/pull/9535) boards/arm/cxd56xx/spresense: Fix boards implements for supporting PM System
* [#9056](https://github.com/apache/nuttx/pull/9056) boards/arm/cxd56xx/drivers/sensors/Kconfig: Fix bmp280 texts in Kconfig
* [#9358](https://github.com/apache/nuttx/pull/9358) boards/arm/nrf5x: introduce common folder for nrf52 and nrf53
* [#9403](https://github.com/apache/nuttx/pull/9403) boards/arm/nrf52840-dongle: add usb support and usbnsh example
* [#9451](https://github.com/apache/nuttx/pull/9451) boards/arm/nrf52-feather: fix typo in I2C1 initialization
* [#9321](https://github.com/apache/nuttx/pull/9321) boards/arm/nrf53: cosmetics
* [#8840](https://github.com/apache/nuttx/pull/8840) boards/arm/sam34: make userleds work on Arduino Due
* [#9571](https://github.com/apache/nuttx/pull/9571) boards/arm/samv7: add lower level IOCTL handler to sam_gpio_enc driver
* [#9415](https://github.com/apache/nuttx/pull/9415) boards/arm/samv7: add type member to mtd_partition_s structure
* [#8952](https://github.com/apache/nuttx/pull/8952) boards/arm/stm32: add composite device configurations
* [#9559](https://github.com/apache/nuttx/pull/9559) boards/arm/stm32/stm32 tickless: stop assertion when calling up_timer_gettime
* [#9089](https://github.com/apache/nuttx/pull/9089) boards/arm/stm32/tm4c1294-launchpad: Add reboot support.
* [#9383](https://github.com/apache/nuttx/pull/9383) boards/arm/stm32/Update stm32l562e-dk:nsh
* [#9373](https://github.com/apache/nuttx/pull/9373) boards/arm/stm32f0l0g0: rework boards to not use legacy pinmap
* [#9164](https://github.com/apache/nuttx/pull/9164) boards/arm/stm32f4/nucleo-f429zi: update CONFIG define to keep up with the CONFIG in arch/stm32
* [#9593](https://github.com/apache/nuttx/pull/9593) boards/arm/stm32f4/stm32f429i-disco: Register the BUTTON driver
* [#8906](https://github.com/apache/nuttx/pull/8906) boards/arm/stm32f4/stm32f411: MiniF4 peripherals support improvements
* [#9409](https://github.com/apache/nuttx/pull/9409) boards/arm/stm32f7: DIR/Complementary PWM possible on PE08 and PE10
* [#9247](https://github.com/apache/nuttx/pull/9247) boards/arm/stm32f7: rework boards to not use legacy pinmap
* [#9230](https://github.com/apache/nuttx/pull/9230) boards/arm/stm32f7/nucleo-144: Modifications for the EMB control board
* [#9562](https://github.com/apache/nuttx/pull/9562) boards/arm/stm32f7/stm32f777zit6-meadow: Fix external RAM pinout and add board profile
* [#9250](https://github.com/apache/nuttx/pull/9250) boards/arm/stm32h7: rework boards to not use legacy pinmap
* [#9224](https://github.com/apache/nuttx/pull/9224) boards/arm/stm32h7/nucleo-h743zi: fix usb host example
* [#9233](https://github.com/apache/nuttx/pull/9233) boards/arm/tiva: bmp280 driver binding to tm4c1294
* [#9206](https://github.com/apache/nuttx/pull/9206) boards/arm/tiva: mpu6050 driver binding to TM4C1294
* [#9054](https://github.com/apache/nuttx/pull/9054) boards/arm/tiva/lm3s6432-s2e: reduce size of NSH configuration binary
* [#8929](https://github.com/apache/nuttx/pull/8929) boards/arm/tiva/tm4c1294-launchpad: Use bmi160 driver for boostxl-sensors.
* [#9150](https://github.com/apache/nuttx/pull/9150) boards/sim: Add defconfigs for testing the RTP Tools on Simulator and ESP32-LyraT board and relevant documentation about it
* [#8772](https://github.com/apache/nuttx/pull/8772) boards/sim: Add sim:toywasm config
* [#9197](https://github.com/apache/nuttx/pull/9197) boards/sim: Enable more sanitizer check when enable
* [#8972](https://github.com/apache/nuttx/pull/8972) boards/sim/ostest: Enabled KASAN, UBSAN & assertions.
* [#9015](https://github.com/apache/nuttx/pull/9015) boards/xtensa/esp32: Add ESP32-PICO-KIT support
* [#9141](https://github.com/apache/nuttx/pull/9141) boards/xtensa/esp32/esp32-devkitc: substitute ramtest to mm on defconfigs
* [#9567](https://github.com/apache/nuttx/pull/9567) boards/xtensa/esp32/esp32-devkitc/wamr_wasi_debug: Bump WAMR version
* [#9096](https://github.com/apache/nuttx/pull/9096) boards/xtensa/esp32/esp32s2-kaluga-1: Add support for LCD displays
* [#9565](https://github.com/apache/nuttx/pull/9565) boards/xtensa/esp32/esp32s3: Add usbnsh for all ESP32S3 boards
* [#9551](https://github.com/apache/nuttx/pull/9551) boards/xtensa/esp32/esp32s3-devkit: Revert NSH defconfig deletion
* [#9524](https://github.com/apache/nuttx/pull/9524) boards/xtensa/k210: Use 8 byte align in linker script #9135 boards: remove unnecessary FAR
* [#8781](https://github.com/apache/nuttx/pull/8781) boards/risc-v: Add MPU60x0 IMU sensors support for ESP32C3
* [#8762](https://github.com/apache/nuttx/pull/8762) boards/risc-rv/qemu-vr: Support for Kernel build with vexriscv-smp.
* [#9514](https://github.com/apache/nuttx/pull/9514) boards/risc-rv/rv-virt: Add netnsh64_smp to test virtio 
File System
Improvements 
* [#9063](https://github.com/apache/nuttx/pull/9063) fs: Add g_ prefix to file_operations and mountpt_operations
* [#8939](https://github.com/apache/nuttx/pull/8939) fs: Flush the file system cache in BOARDIOC_POWEROFF too
* [#9521](https://github.com/apache/nuttx/pull/9521) fs: move memset to upper lever for statfs and add f_fsid field
* [#9558](https://github.com/apache/nuttx/pull/9558) fs: some minor changed about the fs
* [#9060](https://github.com/apache/nuttx/pull/9060) fs/cromfs: Fix faulty DEBUGASSERT() check
* [#9000](https://github.com/apache/nuttx/pull/9000) fs/hostfs: align operation flags define with fcntl.h
* [#8868](https://github.com/apache/nuttx/pull/8868) fs/hostfs: switch working directory
* [#9550](https://github.com/apache/nuttx/pull/9550) fs/fdcheck: Let FDCHECK depend on SCHED_HAVE_PARENT
* [#9009](https://github.com/apache/nuttx/pull/9009) fs/inode: Fixes in asprintf usage.
* [#9093](https://github.com/apache/nuttx/pull/9093) fs/inode: when searching for nextname skip "/" and "./"
* [#9037](https://github.com/apache/nuttx/pull/9037) fs/littlefs: littlefs shouldn't be used without C99 BOOL
* [#9120](https://github.com/apache/nuttx/pull/9120) fs/littlefs: Add patch for littlefs to use kmm_malloc/free on kernel with MMU. Upgrade to latest littlefs
* [#9140](https://github.com/apache/nuttx/pull/9140) fs/mtd: add support for MTDIOC_ERASESECTORS ioctl
* [#9146](https://github.com/apache/nuttx/pull/9146) fs/mtd: Implement MTDIOC_ERASESTATE and MTDIOC_ERASESECTORS
* [#9144](https://github.com/apache/nuttx/pull/9144) fs/mtd: minor fix for mtd/nand driver
* [#9145](https://github.com/apache/nuttx/pull/9145) fs/mtd/nand: Add nand_raw_initialize to skip the probing
* [#9347](https://github.com/apache/nuttx/pull/9347) fs/partition: register partition device if caller doesn't provide handler
* [#9394](https://github.com/apache/nuttx/pull/9394) fs/procfs: add cpuinfo
* [#8991](https://github.com/apache/nuttx/pull/8991) fs/procfs: add total time running time of task
* [#9073](https://github.com/apache/nuttx/pull/9073) fs/procfs: fix readdir loss last character
* [#9540](https://github.com/apache/nuttx/pull/9540) fs/vfs: Proper use of sigisemptyset
* [#9205](https://github.com/apache/nuttx/pull/9205) fs/vfs: Zero file struct field with memset
* [#9385](https://github.com/apache/nuttx/pull/9385) fs/vfs/fs_poll: Fix wrong return value in CONFIG_BUILD_KERNEL
* [#9576](https://github.com/apache/nuttx/pull/9576) fs/vfs/sendfile: Fixed behavior of sendfile when count is set to zero.
Networking
Improvements
* [#9423](https://github.com/apache/nuttx/pull/9423) net: Fix task block when devif_send fails.
* [#9265](https://github.com/apache/nuttx/pull/9265) net: move ttl field into socket_conn_s struct
* [#9237](https://github.com/apache/nuttx/pull/9237) net: remove conn-related casts
* [#9254](https://github.com/apache/nuttx/pull/9254) net: Support to PMTUD
* [#9180](https://github.com/apache/nuttx/pull/9180) net/can: control msg support multi-attribute return
* [#9111](https://github.com/apache/nuttx/pull/9111) net/can: fix can mssage corruption if enable NET_TIMESTAMP
* [#9160](https://github.com/apache/nuttx/pull/9160) net/can: Remove the unnecessary "ret = OK;" in can_getsockopt
* [#9169](https://github.com/apache/nuttx/pull/9169) net/ethernet: add ETHERTYPE define
* [#9483](https://github.com/apache/nuttx/pull/9483) net/icmp: Save poll device in icmp_poll_s
* [#9174](https://github.com/apache/nuttx/pull/9174) net/icmp6: add icmp6-related definition
* [#9222](https://github.com/apache/nuttx/pull/9222) net/icmp6/in.h: add SOL_IPV6 protocol-level socket options IPV6_RECVHOPLIMIT
* [#9195](https://github.com/apache/nuttx/pull/9195) net/icmpv6: add SOCK_RAW type support
* [#9177](https://github.com/apache/nuttx/pull/9177) net/if: add net device type
* [#9178](https://github.com/apache/nuttx/pull/9178) net/ip: add iphdr definition
* [#9171](https://github.com/apache/nuttx/pull/9171) net/if_arp: add arphdr definition
* [#9519](https://github.com/apache/nuttx/pull/9519) net/inet_addr: return INADDR_NONE(-1) when input string is invalid
* [#9179](https://github.com/apache/nuttx/pull/9179) net/ip6: add ip6-related definition
* [#9266](https://github.com/apache/nuttx/pull/9266) net/ipv6: support SOL_IPV6 options IPV6_UNICAST_HOPS and IPV6_MULTICAST_HOPS
* [#9269](https://github.com/apache/nuttx/pull/9269) net/ipv6_setsockopt: Merge similarity logic
* [#9196](https://github.com/apache/nuttx/pull/9196) net/ipforward: copy iob when broadcast forward
* [#9043](https://github.com/apache/nuttx/pull/9043) net/ipforward: limit the forwarding range of broadcast packets
* [#9244](https://github.com/apache/nuttx/pull/9244) net/local: fix blocking local sockets
* [#9295](https://github.com/apache/nuttx/pull/9295) net/net: Add the check that socket domain is equal to bound address type, when do bind.
* [#9162](https://github.com/apache/nuttx/pull/9162) net/net: Simplify the tcp/udp existence check
* [#8610](https://github.com/apache/nuttx/pull/8610) net/netdev: Add upper half of netdev and simplify sim driver
* [#9517](https://github.com/apache/nuttx/pull/9517) net/netdev: remove ASSERT when ifindex is invalid
* [#9543](https://github.com/apache/nuttx/pull/9543) net/netdev/upper: Optimize on quota related operations
* [#9293](https://github.com/apache/nuttx/pull/9293) net/netdev_upper: Protect quota by spin lock to allow netpkt_xxx be called in interrupt context
* [#9522](https://github.com/apache/nuttx/pull/9522) net/netfilter: add NF_IP_xxx definition
* [#9188](https://github.com/apache/nuttx/pull/9188) net/netinet/include: header file definition changed to nuttx format
* [#8864](https://github.com/apache/nuttx/pull/8864) net/netlink: add RTM_NEWADDR, RTM_DELADDR and RTM_GETADDR
* [#9175](https://github.com/apache/nuttx/pull/9175) net/netlink: convert lltype to device type
* [#9116](https://github.com/apache/nuttx/pull/9116) net/procfs: Support to show MTU in netdev statistics
* [#9170](https://github.com/apache/nuttx/pull/9170) net/route: add struct in6_rtmsg definition
* [#9290](https://github.com/apache/nuttx/pull/9290) net/rpmsg: initialize semaphore count before wait
* [#9042](https://github.com/apache/nuttx/pull/9042) net/rpmsg: Set family for rpaddr in ns_bind
* [#9374](https://github.com/apache/nuttx/pull/9374) net/socket: Fix send() / recv() in BUILD_KERNEL
* [#9588](https://github.com/apache/nuttx/pull/9588) net/socket/recvfrom: Fix buffer copy direction when using BUILD_KERNEL.
* [#9074](https://github.com/apache/nuttx/pull/9074) net/tcp_input: drop SYN when no free node in the backlog
* [#9187](https://github.com/apache/nuttx/pull/9187) net/tcp_monitor: start_monitor return OK when connect closed by peer
* [#9414](https://github.com/apache/nuttx/pull/9414) net/tcp: Add flag for tcp_close to avoid double free
* [#9262](https://github.com/apache/nuttx/pull/9262) net/tcp: Add NewReno congestion control.
* [#8782](https://github.com/apache/nuttx/pull/8782) net/tcp: add TCP_MAXSEG support
* [#9041](https://github.com/apache/nuttx/pull/9041) net/tcp: Fix clear condition in ofoseg input
* [#9172](https://github.com/apache/nuttx/pull/9172) net/udp: add udphdr definition #9173 if_ether: add ether_arp definition
* [#9214](https://github.com/apache/nuttx/pull/9214) net/udp: change PKTINFO flag to socket_conn_s struct
* [#9194](https://github.com/apache/nuttx/pull/9194) net/udp: Remove wrong check in udp_readahead
* [#8947](https://github.com/apache/nuttx/pull/8947) net/usrsock_server: Improvement on sendto errors
* [#9139](https://github.com/apache/nuttx/pull/9139) wireless: add IW_AUTH_WPA_VERSION_WPA3 flag to support WPA3
* [#9113](https://github.com/apache/nuttx/pull/9113) wireless/bluetooth: Initialize private bt_driver_s member.
* [#9068](https://github.com/apache/nuttx/pull/9068) wireless/bluetooth: Fix the Unexpected ACL flags error
* [#9087](https://github.com/apache/nuttx/pull/9087) wireless/bluetooth: Fix build error when BT_GATT_CCC is used.
* [#9471](https://github.com/apache/nuttx/pull/9471) wireless/bluetooth: Add a generic access service.
* [#9166](https://github.com/apache/nuttx/pull/9166) wireless/bluetooth: Support removable bluetooth modules.
Compatibility Concerns
* [#8827](https://github.com/apache/nuttx/pull/8827) arch/nrf52: nvmc and flash should depends on ALLOW_BSD_COMPONENTS=y  
Users using nvmc and flash must allow BSD components (CONFIG_ALLOW_BSD_COMPONENTS=y).
* [#8992](https://github.com/apache/nuttx/pull/8992) stm32: Remove GPIO_{SPEED|MODE}_xxx and provide a legacy path for lazy migration  
All boards board.h should be migrated using tools/stm32_pinmap_tool.py
`tools/stm32_pinmap_tool.py --pinmap arch/arm/src/stm32h7/hardware/stm32h7x3xx_pinmap_legacy.h --addall --suffix _0 --report /include/board.h
it will output 2 sections that should be used to update the board.h.
* [#9527](https://github.com/apache/nuttx/pull/9527) sched/tls: remove PTHREAD_CLEANUP from Kconfig  
use PTHREAD_CLEANUP_STACKSIZE to enable or disable interfaces pthread_cleanup_push() and pthread_cleanup_pop().
Same as TLS_TASK_NELEM - It is no need to use two variables. Make the reserved entries more explicit
* [#8985](https://github.com/apache/nuttx/pull/8985) drivers/pipe: make pipe and named pipe (mkfifo) POSIX-compliant (blocking open)  
It would be a possible breaking change if any application was written specifically to expect an open for write-only 
(and O_NONBLOCK cleared, of course) to be non-blocking even if there are no readers.
Being able to port POSIX-compliant applications that expect open to block when opening for write-only with no readers
would enhance NuttX's objective of "to achieve a high degree of standards compliance. The primary governing standards 
are POSIX and ANSI standards". That is the case for RTP Tools, for instance.

View file

@ -0,0 +1,39 @@
NuttX-12.2.1
------------
What's New In This Release
Changes to Core OS
sched
* [#9723](https://github.com/apache/nuttx/pull/9723) {BP-9631} sched/pthread: fix race condition on pthread_cond_wait()
libc
* [#9719](https://github.com/apache/nuttx/pull/9719) {BP-9716} libc: Fix Deadloop in VFS if CONFIG_CANCELLATION_POINTS is enabled
* [#9730](https://github.com/apache/nuttx/pull/9730) {BP-9611} libc: Minor fix for pwd
* [#9733](https://github.com/apache/nuttx/pull/9733) {BP-9626} libc/aio: fix aio_error compatible bug
* [#9729](https://github.com/apache/nuttx/pull/9729) {BP-9664} libc/aio/lio_listio: fix the heap use-after-free bug
Changes to the Build System
Improvements
* [#9720](https://github.com/apache/nuttx/pull/9720) {BP-9673} Revert "tools: Fix CONFIG_BASE_DEFCONFIG generation" 
Architectural Support
Improvements
* [#9732](https://github.com/apache/nuttx/pull/9732) {BP-9621} arch/arm/cxd56xx/cxd56_dmac, lcd_dev: fix null pointer dereference
* [#9725](https://github.com/apache/nuttx/pull/9725) {BP-9697} arch/arm/cxd56xx: Fix bug when watchdog restart
* [#9728](https://github.com/apache/nuttx/pull/9728) {BP-9711} arch/arm/stm32/stm32_rtcounter.c: up_rtc_initialize Possible s…
* [#9727](https://github.com/apache/nuttx/pull/9727) {BP-9700} arch/armv8-m/arm_secure_irq.c: fix writing to the NVIC_AIRCR register
* [#9722](https://github.com/apache/nuttx/pull/9722) {BP-9649} arch/arm/stm32f0l0g0: Fix gpio outputs from being configured as interrupts in stm32f0l0g0
* [#9721](https://github.com/apache/nuttx/pull/9721) {BP-9658} arch/xtensa/esp32s2: Fix UART1 default pins
Driver Support
Improvements
* [#9724](https://github.com/apache/nuttx/pull/9724) {BP-9613} drivers/sensors/apds9960.c: Fix resource leak in error handling
* [#9726](https://github.com/apache/nuttx/pull/9726) {BP-9692} drivers/video/isx01x: Fix system clock to HV mode
Board Support
Improvements
* [#9734](https://github.com/apache/nuttx/pull/9734) {BP-9713} boards/arm/cxd56xx/alt1250: Change power on sequence
File System
Improvements 
* [#9731](https://github.com/apache/nuttx/pull/9731) {BP-9615} fs/fat: Fix undefined behavior in signed integer overflow check

View file

@ -0,0 +1,943 @@
NuttX-12.3.0
------------
What's New In This Release
Major Changes to Core OS
sched
* [#10062](https://github.com/apache/nuttx/pull/10062) sched: add CRITMONITOR time out panic
* [#10273](https://github.com/apache/nuttx/pull/10273) sched: add the startup process tracepoint
* [#9768](https://github.com/apache/nuttx/pull/9768) sched: Added missing semicolon to dead-lock detection.
* [#9824](https://github.com/apache/nuttx/pull/9824) sched: assert: check intstack_sp when print last stack in irq context
* [#10009](https://github.com/apache/nuttx/pull/10009) sched: Assert: Enhance the panic notify feature
* [#10811](https://github.com/apache/nuttx/pull/10811) sched: assert: Skip to include board:board.h if CONFIG_ARCH_LEDS=n
* [#10705](https://github.com/apache/nuttx/pull/10705) sched: clock: Add special handling for TCB null pointer cases
* [#9691](https://github.com/apache/nuttx/pull/9691) sched: clock: clock_getcpuclockid: add clock_getcpuclockid implementation
* [#9701](https://github.com/apache/nuttx/pull/9701) sched: clock: clock_getcpuclockid: fix code format, remove space
* [#9678](https://github.com/apache/nuttx/pull/9678) sched: clock: clock_getres: add two CPUTIME_ID res support
* [#9753](https://github.com/apache/nuttx/pull/9753) sched: clock: fix build break
* [#9735](https://github.com/apache/nuttx/pull/9735) sched: clock: move clock_getcpuclockid() and clock_getres() to libc + misc fixes
* [#10086](https://github.com/apache/nuttx/pull/10086) sched: Define sched_getcpu return 0 when CONFIG_SMP equals n
* [#10603](https://github.com/apache/nuttx/pull/10603) sched: do not DEBUGASSERT for priority multi-boost
* [#9632](https://github.com/apache/nuttx/pull/9632) sched: fix pthread_exit crash
* [#10041](https://github.com/apache/nuttx/pull/10041) sched: group_killchildren send signo SIGQUIT before cancel it
* [#10758](https://github.com/apache/nuttx/pull/10758) sched: implement effective uid and gid interfaces #10119 enable O_CLOEXEC explicit
* [#10419](https://github.com/apache/nuttx/pull/10419) eched: misc: assert: Fix the printing alignment of interrupt stack during assert
* [#10493](https://github.com/apache/nuttx/pull/10493) sched: misc: optimize collect_deadlock implementation
* [#10035](https://github.com/apache/nuttx/pull/10035) sched: pthread: Don't do cancel when it is already in the exit process
* [#9631](https://github.com/apache/nuttx/pull/9631) sched: pthread: fix race condition on pthread_cond_wait()
* [#10155](https://github.com/apache/nuttx/pull/10155) sched: pthread: remove unused temp change sched_priority
* [#10683](https://github.com/apache/nuttx/pull/10683) sched: pthread_cleanup: rm sched_[un]lock
* [#10681](https://github.com/apache/nuttx/pull/10681) sched: pthread_once: use rmutex replace sched_[un]lock
* [#10078](https://github.com/apache/nuttx/pull/10078) sched: replace nxsched_gettid with nxsched_getpid.
* [#10686](https://github.com/apache/nuttx/pull/10686) sched: return 0 from clock_systime_ticks if failed
* [#9863](https://github.com/apache/nuttx/pull/9863) sched: Rename DEBUG_TCBINFO to ARCH_HAVE_TCBINFO
* [#10199](https://github.com/apache/nuttx/pull/10199) sched: semaphore: Remove restriction to use nxsem_trywait from ISR
* [#10430](https://github.com/apache/nuttx/pull/10430) sched: signal: add more value defines of the siginfo si_code field
* [#10431](https://github.com/apache/nuttx/pull/10431) sched: signal: add siginterrupt implementation
* [#9704](https://github.com/apache/nuttx/pull/9704) sched: signal: correct to const pointer for sigorset and sigandset
* [#10040](https://github.com/apache/nuttx/pull/10040) sched: signal: fix group signal can't dispatch some parent group twice
* [#9923](https://github.com/apache/nuttx/pull/9923) sched: signal: ltp: sigprocmask fix
* [#10668](https://github.com/apache/nuttx/pull/10668) sched: signal: use work_cancel_sync() to fix used after free
* [#9790](https://github.com/apache/nuttx/pull/9790) sched: signal: SIGKILL or SIGSTOP cannot be caught
* [#9848](https://github.com/apache/nuttx/pull/9848) sched: signal: sig_nanosleep: fix the clock_nanosleep posix case
* [#10321](https://github.com/apache/nuttx/pull/10321) sched: sigqueue: add signal type judgment logic
* [#10313](https://github.com/apache/nuttx/pull/10313) sched: SMP: fix repeat entry timer_start
* [#10000](https://github.com/apache/nuttx/pull/10000) sched: SMP: fix repeat entry oneshot_tick_start
* [#10312](https://github.com/apache/nuttx/pull/10312) sched: smp: flush dcache before start other cpus
* [#9755](https://github.com/apache/nuttx/pull/9755) sched: task:fork: add fork implementation
* [#9961](https://github.com/apache/nuttx/pull/9961) sched: task: task_spawnparms: out of loop when ret less than 0
* [#9878](https://github.com/apache/nuttx/pull/9878) sched: tcbinfo: add stack info to tcbinfo
* [#10063](https://github.com/apache/nuttx/pull/10063) sched: use perf to implement cpuload
* [#10684](https://github.com/apache/nuttx/pull/10684) sched: wdog:change g_wdtickbase update situation
mm
* [#9970](https://github.com/apache/nuttx/pull/9970) memdump: support dump the leak memory (malloced but task exit)
* [#10287](https://github.com/apache/nuttx/pull/10287) mempool: add check for double free check for mempool free
* [#10283](https://github.com/apache/nuttx/pull/10283) mempool: Use default alignment inside of blockalign
* [#10420](https://github.com/apache/nuttx/pull/10420) mm: alloc: remove all unnecessary cast for alloc
* [#10584](https://github.com/apache/nuttx/pull/10584) mm: heap: add coloration after free to detect use after free issue
* [#10704](https://github.com/apache/nuttx/pull/10704) mm: iob: limit the iob bufsize is sufficient to fill all L2:L3:L4 headers
* [#10292](https://github.com/apache/nuttx/pull/10292) mm: iob: iob_clone_partial support Negative offset
* [#10291](https://github.com/apache/nuttx/pull/10291) mm: iob: add elapse calc for iob_allocwait
* [#9741](https://github.com/apache/nuttx/pull/9741) mm: iob:iob_alloc: change sem_post to count++
* [#9630](https://github.com/apache/nuttx/pull/9630) mm: kasan: replace load:store methods to macro
* [#9969](https://github.com/apache/nuttx/pull/9969) mm: record more useful backtrace for memory node
* [#10786](https://github.com/apache/nuttx/pull/10786) mm: rewrite the memdump code for more readable
* [#10566](https://github.com/apache/nuttx/pull/10566) mm: shm:shmget: Zero allocated shared memory pages when created.
* [#10150](https://github.com/apache/nuttx/pull/10150) mm: mempool:change mutex to rmutex avoid deadlock
* [#10098](https://github.com/apache/nuttx/pull/10098) mm_heap: check heap member in advance
* [#9972](https://github.com/apache/nuttx/pull/9972) mm_heap: mm malloc failed dump and panic only valid for the heap own by OS
* [#9933](https://github.com/apache/nuttx/pull/9933) mmap: tmpfs: support mmap for tmpfs
libs
* [#10415](https://github.com/apache/nuttx/pull/10415) alloca: add alloca implement for MSVC
* [#10337](https://github.com/apache/nuttx/pull/10337) ctype: toupper_l: Implement function toupper_l instead of macro
* [#9636](https://github.com/apache/nuttx/pull/9636) libc.csv: Correct return type of strchr
* [#10053](https://github.com/apache/nuttx/pull/10053) Revert "newlib: libc: memcpy M-profile PACBTI-enablement"
* [#10796](https://github.com/apache/nuttx/pull/10796) libc: add bsearch to libc.csv
* [#9706](https://github.com/apache/nuttx/pull/9706) libc: Add support for gdb rsp protocol
* [#10739](https://github.com/apache/nuttx/pull/10739) libc: add wchar api implementation
* [#10667](https://github.com/apache/nuttx/pull/10667) libc: add wchar implementation
* [#9643](https://github.com/apache/nuttx/pull/9643) libc: aio: fix aio_fsync compatible issue
* [#9626](https://github.com/apache/nuttx/pull/9626) libc: aio: fix aio_error compatible bug
* [#9634](https://github.com/apache/nuttx/pull/9634) libc: aio: fix aio_return compatible bug
* [#9640](https://github.com/apache/nuttx/pull/9640) libc: aio: fix aio_write compatible bug
* [#9637](https://github.com/apache/nuttx/pull/9637) libc: aio: fix aio_read compatible bug
* [#9648](https://github.com/apache/nuttx/pull/9648) libc: aio: fix aio_cancel compatible issue
* [#9655](https://github.com/apache/nuttx/pull/9655) libc: aio: adjust the flags determination method
* [#9664](https://github.com/apache/nuttx/pull/9664) libc: aio:lio_listio: fix the heap use-after-free bug
* [#10408](https://github.com/apache/nuttx/pull/10408) libc: Breakdown LIBC_BUILD_STRING into specific string operation…
* [#9835](https://github.com/apache/nuttx/pull/9835) libc: basename: Change len type from int to size_t
* [#10417](https://github.com/apache/nuttx/pull/10417) libc: change the default NETDB_DNSCLIENT_MAXRESPONSE to the standard length
* [#10021](https://github.com/apache/nuttx/pull/10021) libc: compatible with Android for htonq:ntohq
* [#10708](https://github.com/apache/nuttx/pull/10708) libc: currect usage of getpid:gettid in library
* [#10121](https://github.com/apache/nuttx/pull/10121) libc: fdt: add libfdt support
* [#10405](https://github.com/apache/nuttx/pull/10405) libc: fdt: modify makefile
* [#10519](https://github.com/apache/nuttx/pull/10519) libc: fix a fatal bug in fread
* [#9806](https://github.com/apache/nuttx/pull/9806) libc: fix and improve dynamic loader
* [#9716](https://github.com/apache/nuttx/pull/9716) libc: fix Deadloop in VFS if CONFIG_CANCELLATION_POINTS is enabled
* [#10470](https://github.com/apache/nuttx/pull/10470) libc: Fix loading of ET_DYN type of shared objects
* [#9882](https://github.com/apache/nuttx/pull/9882) libc: Fix modlib to get binary loading working again
* [#10169](https://github.com/apache/nuttx/pull/10169) libc: fix wait after vfork return error
* [#10508](https://github.com/apache/nuttx/pull/10508) libc: fopen: support fopen with mode 'm'
* [#10290](https://github.com/apache/nuttx/pull/10290) libc: getifaddrs: set sin6_scope_id when IPv6 enable
* [#9789](https://github.com/apache/nuttx/pull/9789) libc: getpgid: add getpgid implementation
* [#10336](https://github.com/apache/nuttx/pull/10336) libc: gpsutils: merged into one target to fix issue of parallel compile
* [#10184](https://github.com/apache/nuttx/pull/10184) libc: hex2bin: enhance 64-bit compatibility
* [#10675](https://github.com/apache/nuttx/pull/10675) libc: lib_iconv.c:Fix possible out-of-bounds reads
* [#10286](https://github.com/apache/nuttx/pull/10286) libc: lib_psfa_adddup2: fix mem leak when failed
* [#9644](https://github.com/apache/nuttx/pull/9644) libc: lib_remove: fix TOCTOU race condition
* [#10358](https://github.com/apache/nuttx/pull/10358) libc: libfread: Use memcpy to copy read-ahead buffer to caller buffer.
* [#9696](https://github.com/apache/nuttx/pull/9696) libc: libvsprintf: fix vsnprintf bug with "%#.0f"
* [#9748](https://github.com/apache/nuttx/pull/9748) libc: libvsprintf: fix vsnprintf bug with "%e"
* [#9662](https://github.com/apache/nuttx/pull/9662) libc: locale:langinfo: implement the nl_langinfo function
* [#10607](https://github.com/apache/nuttx/pull/10607) libc: machine: Add LIBC_PREVENT_xxx which select LIBC_PREVENT_XXX_[KERNEL|USER] automatically
* [#10446](https://github.com/apache/nuttx/pull/10446) libc: machine: Fix ARMV[7|8]M_STRING_FUNCTION typo error in Kconfig
* [#10509](https://github.com/apache/nuttx/pull/10509) libc: mallopt: implement dummy mallopt
* [#9737](https://github.com/apache/nuttx/pull/9737) libc: modlib: fix dynamic loader issues
* [#10302](https://github.com/apache/nuttx/pull/10302) libc: netdb: add dependence to net ip config
* [#10798](https://github.com/apache/nuttx/pull/10798) libc: netdb: Change the default NETDB_DNSCLIENT_NAMESIZE to PATH_MAX
* [#9890](https://github.com/apache/nuttx/pull/9890) libc: netdb: Move dns query info and buffer out of the stack
* [#9857](https://github.com/apache/nuttx/pull/9857) libc: netdb: print dns server address when query failed
* [#10761](https://github.com/apache/nuttx/pull/10761) libc: netdb: fix dns failed when ipv4:6 dual stack enable
* [#10622](https://github.com/apache/nuttx/pull/10622) libc: netdb: Restrict DNS query types
* [#10624](https://github.com/apache/nuttx/pull/10624) libc: provide flat mode the chip string customization.
* [#9886](https://github.com/apache/nuttx/pull/9886) libc: pthread: add pthread_atfork implementation
* [#9947](https://github.com/apache/nuttx/pull/9947) libc: pthread: add pthread_attr_set:getscope api
* [#9708](https://github.com/apache/nuttx/pull/9708) libc: pthread: add the implementation of pthread_getcpuclockid
* [#9903](https://github.com/apache/nuttx/pull/9903) libc: pthread: fix the incorrect description in comments
* [#10752](https://github.com/apache/nuttx/pull/10752) libc: pthread: g_lock may lead deadlock
* [#9771](https://github.com/apache/nuttx/pull/9771) libc: pthread: remove unsed compare code in pthread_rwlock_init()
* [#9948](https://github.com/apache/nuttx/pull/9948) libc: rand_r: support rand_r api
* [#9773](https://github.com/apache/nuttx/pull/9773) libc: set CONFIG_PTHREAD_STACK_MIN as DEFAULT_MM_PGSIZE`s default value and
* [#10064](https://github.com/apache/nuttx/pull/10064) libc: stdio: changed LIBC_NL_ARGMAX default value to 9
* [#10612](https://github.com/apache/nuttx/pull/10612) libc: stdio: lib_libfread: Fix buffer overflow issue
* [#9766](https://github.com/apache/nuttx/pull/9766) libc: stdlib: fix strtoul,strtoull bugs when value outside range
* [#9877](https://github.com/apache/nuttx/pull/9877) libc: strftime: add modifier character support to strftime
* [#10475](https://github.com/apache/nuttx/pull/10475) libc: support unlock version for fread:fwrite:fputc:fgetc:...
* [#9750](https://github.com/apache/nuttx/pull/9750) libc: symtab: Move SYMTAB_XXX from unistd:Kconfig to symtab:Kconfig
* [#9650](https://github.com/apache/nuttx/pull/9650) libc: time:strftime: complete the strftime implementation
* [#9836](https://github.com/apache/nuttx/pull/9836) libc: tls: Change the default value of TLS_NELEM to zero
* [#10320](https://github.com/apache/nuttx/pull/10320) libc: tls: Move task_tls_alloc and task_tls_destruct to libc
* [#10288](https://github.com/apache/nuttx/pull/10288) libc: tls: move task tls destruct to before _exit
* [#10082](https://github.com/apache/nuttx/pull/10082) libc: tls: Setting the candidtate index to null prevents dangling pointers.
* [#10510](https://github.com/apache/nuttx/pull/10510) libm: ignore git submodules
* [#9764](https://github.com/apache/nuttx/pull/9764) libm: libmcs: Fix undefined symbol 'fesetround'
* [#10114](https://github.com/apache/nuttx/pull/10114) libm: newlib: fix newlib build error
* [#10626](https://github.com/apache/nuttx/pull/10626) libm: use newlib-esp32
* [#10523](https://github.com/apache/nuttx/pull/10523) libsrc: Update libsrc
* [#8244](https://github.com/apache/nuttx/pull/8244) libcxx: LLVM libcxx upgrade from 12.0.0 to 15.0.7
* [#10674](https://github.com/apache/nuttx/pull/10674) libcxx: select PTHREAD_MUTEX_TYPES to support recursive mutex
* [#10370](https://github.com/apache/nuttx/pull/10370) libcxx: strict GCC version check from GCC-12.2 to GCC-12
binfmt
* [#10144](https://github.com/apache/nuttx/pull/10144) binfmt: add enter_critical_section
* [#10630](https://github.com/apache/nuttx/pull/10630) binfmt: binfmt_execmodule: Copy filename if CONFIG_BUILD_KERNEL and argv=NULL
* [#10107](https://github.com/apache/nuttx/pull/10107) binfmt: Change the default of BINFMT_DISABLE to DEFAULT_SMALL
* [#9635](https://github.com/apache/nuttx/pull/9635) binfmt: elf: Allow the userspace ELF type to be defined by board configuration.
* [#9703](https://github.com/apache/nuttx/pull/9703) binfmt: elf: Replace nx_stat with file_stat
* [#9946](https://github.com/apache/nuttx/pull/9946) binfmt: elf: both regular file and non-regular file (such as :dev:node…
* [#9956](https://github.com/apache/nuttx/pull/9956) binfmt: elf: bss section should init to zero
* [#9710](https://github.com/apache/nuttx/pull/9710) binfmt: elf: Replace {0x7f, 'E', 'L', 'F'} to EI_MAGIC
* [#9945](https://github.com/apache/nuttx/pull/9945) binfmt: elf: Support to load ET_EXEC in flat mode
* [#10380](https://github.com/apache/nuttx/pull/10380) binfmt: Exec: Support run exec in current task
* [#9665](https://github.com/apache/nuttx/pull/9665) binfmt: Immediately exit from elf_loadbinary if elf format isn't supported
* [#10462](https://github.com/apache/nuttx/pull/10462) binfmt: libelf:ELF Loader
* [#9833](https://github.com/apache/nuttx/pull/9833) binfmt: Move elf_allocbuffer to elf_sectname and elf_symname
* [#9751](https://github.com/apache/nuttx/pull/9751) binfmt: Move [elf|nxflat]_[un]initialize to private header file
* [#9908](https://github.com/apache/nuttx/pull/9908) binfmt: remove sched_[un]lock
* [#8924](https://github.com/apache/nuttx/pull/8924) binfmt: support uid:gid config for binfs app
* [#10176](https://github.com/apache/nuttx/pull/10176) binfmt: support euid of process set from the file system
* [#10474](https://github.com/apache/nuttx/pull/10474) binfmt: The program headers are optional.
misc
* [#10105](https://github.com/apache/nuttx/pull/10105) audio: add format sbc support
* [#10340](https://github.com/apache/nuttx/pull/10340) audio: support 32-bits pcm
* [#10515](https://github.com/apache/nuttx/pull/10515) aio: change aio_fildes int type
* [#10749](https://github.com/apache/nuttx/pull/10749) debug: add support for IPC (interprocessor communication) debug messages
* [#10384](https://github.com/apache/nuttx/pull/10384) debug: Let boards define custom debug configuration.
* [#10066](https://github.com/apache/nuttx/pull/10066) don't call lib_free in the kernel code
* [#9677](https://github.com/apache/nuttx/pull/9677) errno: Adjust help string for EALREADY and ESTALE
* [#10562](https://github.com/apache/nuttx/pull/10562) extract PAGESIZE and PAGEMASK from definitions and seems as common macro
* [#10079](https://github.com/apache/nuttx/pull/10079) fix SIM sensor rpmsg runtime error by asan report.
* [#10531](https://github.com/apache/nuttx/pull/10531) fix wait error after vfork
* [#9740](https://github.com/apache/nuttx/pull/9740) ifaddrs: add union ifa_ifu include ifu_broadaddr and ifu_dstaddr
* [#9816](https://github.com/apache/nuttx/pull/9816) include: add packed_struct macro implement
* [#10323](https://github.com/apache/nuttx/pull/10323) include: add the module of SDIO Slave
* [#10280](https://github.com/apache/nuttx/pull/10280) include: audio: Add AUDIO_CHANNELS_RANGE macro
* [#9934](https://github.com/apache/nuttx/pull/9934) include: bits.h: support GENMASK and GENMASK_ULL
* [#9774](https://github.com/apache/nuttx/pull/9774) include: change clockid_t type from uint8_t to int
* [#9951](https://github.com/apache/nuttx/pull/9951) include: fcntl.h: add O_NOATIME flags
* [#10357](https://github.com/apache/nuttx/pull/10357) include: list: Rewrite list_entry:list_first_entry:list_last_entry
* [#10303](https://github.com/apache/nuttx/pull/10303) include: move clockid_t and time[r]_t define to sys:types.h
* [#10120](https://github.com/apache/nuttx/pull/10120) include: note: fix sched_note_begin address errr
* [#10315](https://github.com/apache/nuttx/pull/10315) include: socket can : support ioctl cmd SIOCCANRECOVERY
* [#10395](https://github.com/apache/nuttx/pull/10395) make:archive: Use the full path name when matching or storing names in the archive
* [#10463](https://github.com/apache/nuttx/pull/10463) modify debug to enable ERR:WARN:INFO when DEBUG_FEATURES is enabled
* [#10507](https://github.com/apache/nuttx/pull/10507) mmc: add timeout fields for mmc_ioc_cmd
* [#10555](https://github.com/apache/nuttx/pull/10555) mmc: change rpmb operation type define style
* [#10670](https://github.com/apache/nuttx/pull/10670) notifier: add BLOCKING_INIT_NOTIFIER_HEAD support
* [#9760](https://github.com/apache/nuttx/pull/9760) openamp:libmetal: Check CONFIG_HAVE_ATOMICS instead of HAVE_STDATOMIC_H in atomic.h
* [#10136](https://github.com/apache/nuttx/pull/10136) perf: The new configuration supports hardware performance counting
* [#10033](https://github.com/apache/nuttx/pull/10033) posix: fix some issues for ltp mqueue testcases.
* [#10002](https://github.com/apache/nuttx/pull/10002) posix: fix ltp test issues
* [#10581](https://github.com/apache/nuttx/pull/10581) split a single queue to two separate queues at node p.
* [#10664](https://github.com/apache/nuttx/pull/10664) unistd: add _POSIX_SEMAPHORES definition
* [#10110](https://github.com/apache/nuttx/pull/10110) use lib_free for memory deallocation after strdup or asprintf
* [#10458](https://github.com/apache/nuttx/pull/10458) video:fb: add xres and yres for fb overlay
Changes to the Build System
Improvements
* [#9993](https://github.com/apache/nuttx/pull/9993) Add PREBUILD definition
* [#10029](https://github.com/apache/nuttx/pull/10029) add prefix addr2line to parsememdump.py
* [#9627](https://github.com/apache/nuttx/pull/9627) Add script to parse callstack
* [#10576](https://github.com/apache/nuttx/pull/10576) build: Restore ARLOCK to improve compile speed in incremental case
* [#10597](https://github.com/apache/nuttx/pull/10597) checkpach supports python files
* [#9765](https://github.com/apache/nuttx/pull/9765) cmake: add initial support for nrf52:nrf53:nrf91
* [#10490](https://github.com/apache/nuttx/pull/10490) cmake: complete missing changes during cmake reforming
* [#10138](https://github.com/apache/nuttx/pull/10138) cmake: enable nxlib cmake build,fix build break
* [#10399](https://github.com/apache/nuttx/pull/10399) cmake: export_header support origin link and export install
* [#10409](https://github.com/apache/nuttx/pull/10409) cmake: support libm:newlib cmake build
* [#10213](https://github.com/apache/nuttx/pull/10213) cmake: fix add_user_library module archive issue
* [#9797](https://github.com/apache/nuttx/pull/9797) cmake: fix build after c33d1c9 (vfork -> fork)
* [#10421](https://github.com/apache/nuttx/pull/10421) cmake: fix invalid configs when export defconfig and .config
* [#9831](https://github.com/apache/nuttx/pull/9831) cmake: fix nrf91 modem static library build
* [#9785](https://github.com/apache/nuttx/pull/9785) cmake: fix NUTTX_COMMON_DIR definition
* [#10224](https://github.com/apache/nuttx/pull/10224) cmake: new feature on enhance apps header cmake module
* [#9881](https://github.com/apache/nuttx/pull/9881) cmake: port stm32f0l0g0
* [#10379](https://github.com/apache/nuttx/pull/10379) cmake: replace custom_patch_target with PATCH_COMMAND
* [#9783](https://github.com/apache/nuttx/pull/9783) cmake: some fixes for stm32 and support for stm32f7 and stm32h7
* [#10106](https://github.com/apache/nuttx/pull/10106) cmake: support armv7-r and tms570 chip
* [#9803](https://github.com/apache/nuttx/pull/9803) cmake: support pre-processor for linker script
* [#9819](https://github.com/apache/nuttx/pull/9819) cmake: win32: set default LINK_STACKSIZE to avoid stack overflow
* [#10492](https://github.com/apache/nuttx/pull/10492) kasan: add option to disable read:write checks
* [#10700](https://github.com/apache/nuttx/pull/10700) minidumpserver: don't stop while gdb client is stopping
* [#10720](https://github.com/apache/nuttx/pull/10720) minidumpserver: refactor codes
* [#10733](https://github.com/apache/nuttx/pull/10733) minudumpserver: support auto parse log file feature
* [#10756](https://github.com/apache/nuttx/pull/10756) minudumpserver: support auto start GDB and execute some commands
* [#10546](https://github.com/apache/nuttx/pull/10546) mkdeps: increase MAX_BUFFER:MAX_EXPAND:MAX_SHQUOTE to 16384
* [#10540](https://github.com/apache/nuttx/pull/10540) mkexport: copy full library directly if library without path
* [#9618](https://github.com/apache/nuttx/pull/9618) mkexport: Allow boards to supply custom gnu-elf.ld.
* [#10511](https://github.com/apache/nuttx/pull/10511) prasetrace: remvoe function name filter
* [#10774](https://github.com/apache/nuttx/pull/10774) parsememdump.py: support the sequence number parse
* [#10335](https://github.com/apache/nuttx/pull/10335) refresh.sh: Add option to refresh custom board
* [#10619](https://github.com/apache/nuttx/pull/10619) Remove archive lock file in make distclean
* [#10398](https://github.com/apache/nuttx/pull/10398) RFC: Add a toolchaine file for CMake in exported archive.
* [#10582](https://github.com/apache/nuttx/pull/10582) showstack: add configurable rank parameters
* [#10595](https://github.com/apache/nuttx/pull/10595) Support defconfig merge
* [#10277](https://github.com/apache/nuttx/pull/10277) support xtensa esp32s3 arm-a thumb to use log create gdbserver
* [#10699](https://github.com/apache/nuttx/pull/10699) Switch riscv GCC to 12.3
* [#10229](https://github.com/apache/nuttx/pull/10229) toolchain: detect use of large stack variables
* [#10763](https://github.com/apache/nuttx/pull/10763) Unix.mk:replace process substitution to pipe avoid out of order
* [#10689](https://github.com/apache/nuttx/pull/10689) use GCC 13.2 from xPack for risc-v
Architectural Support
New Architecture Support
* [#10646](https://github.com/apache/nuttx/pull/10646) arm: add Artery at32
* [#10558](https://github.com/apache/nuttx/pull/10558) arm: add Goldfosh arm32
* [#10378](https://github.com/apache/nuttx/pull/10378) arm: Add i.MX8MP platform (Cortex-M7)
* [#9796](https://github.com/apache/nuttx/pull/9796) arm: add support for STM32H745
* [#10092](https://github.com/apache/nuttx/pull/10092) arm: nrf52: Board port to Arduino Nano 33 BLE
* [#10186](https://github.com/apache/nuttx/pull/10186) arm: qemu: Supports qemu arm32
* [#10645](https://github.com/apache/nuttx/pull/10645) arm64: Add support for FriendlyElec NanoPi M4
* [#10193](https://github.com/apache/nuttx/pull/10193) arm64: Add support for PINE64 PinePhone Pro
* [#10656](https://github.com/apache/nuttx/pull/10656) arm64: Goldfish arm64
* [#10294](https://github.com/apache/nuttx/pull/10294) arm64: IMX8 platform (Cortex-A53) support
* [#10069](https://github.com/apache/nuttx/pull/10069) risc-v: Add support for StarFive JH7110 SoC
Architecture With Improvements
* [#10482](https://github.com/apache/nuttx/pull/10482) arch_alarm: change tick to g_current_tick
* [#10010](https://github.com/apache/nuttx/pull/10010) arch_memcpy: Optimize arch memcpy for armv7-m and armv8-m
* [#10553](https://github.com/apache/nuttx/pull/10553) fix led panic feature
* [#10268](https://github.com/apache/nuttx/pull/10268) hostfs: support SEEK_CUR
* [#10057](https://github.com/apache/nuttx/pull/10057) Interrupt nesting
* [#10795](https://github.com/apache/nuttx/pull/10795) Kconfig: Add prompt string to ARCH_CHIP_CUSTOM
* [#9837](https://github.com/apache/nuttx/pull/9837) Kconfig: Change some "default y" to "default !DEFAULT_SMALL"
* [#9906](https://github.com/apache/nuttx/pull/9906) move [enter|leave]_critical_section
* [#10334](https://github.com/apache/nuttx/pull/10334) nuttx: add -Wno-psabi to Toolchain.defs.
* [#10081](https://github.com/apache/nuttx/pull/10081) nuttx: support to obtain host cpuinfo in NSH.
* [#9763](https://github.com/apache/nuttx/pull/9763) nuttx: toolchain: Add macro _LDBL_EQ_DBL to nuttx:arm64:src:Toolchain.defs
* [#9866](https://github.com/apache/nuttx/pull/9866) perf: add ARCH_HAVE_PERF_EVENTS to support hardware perf events
* [#10648](https://github.com/apache/nuttx/pull/10648) remove FAR from source code under 32bit arch and board
* [#10145](https://github.com/apache/nuttx/pull/10145) timer: frequency 0 should not be set
* [#9959](https://github.com/apache/nuttx/pull/9959) update g_running_tasks when context switch occurred
* [#10250](https://github.com/apache/nuttx/pull/10250) arm: Avoid hard fault when reading vectors in text section.
* [#10139](https://github.com/apache/nuttx/pull/10139) arm: arm_backtrace_sp: check the addr after every operation to addr
* [#10156](https://github.com/apache/nuttx/pull/10156) arm: clang: enhance compatibility of clang compiler
* [#9957](https://github.com/apache/nuttx/pull/9957) arm: Change the default value to ARCH_TRUSTZONE_NONSECURE
* [#10773](https://github.com/apache/nuttx/pull/10773) arm: Enable FPU on qemu and goldfish platforms
* [#10771](https://github.com/apache/nuttx/pull/10771) arm: Fix onchip flash erase fail
* [#9641](https://github.com/apache/nuttx/pull/9641) arm: move -mthumb option back to ARCHCPUFLAGS
* [#10499](https://github.com/apache/nuttx/pull/10499) arm: oneshot: rm sched_[un]lock
* [#10632](https://github.com/apache/nuttx/pull/10632) arm: unwinder: fix unwind abort for uleb128 case
* [#9823](https://github.com/apache/nuttx/pull/9823) arm: vfork: modify struct vfork_s
* [#10568](https://github.com/apache/nuttx/pull/10568) arm: support reboot : poweroff for qemu virt arm
* [#10610](https://github.com/apache/nuttx/pull/10610) arm: psci: Fixed arm psci related compilation errors
* [#10254](https://github.com/apache/nuttx/pull/10254) arm: update secure handling to gic
* [#9809](https://github.com/apache/nuttx/pull/9809) arm: arm_gicv2: accesses the non-secure copy in non-secure state
* [#9907](https://github.com/apache/nuttx/pull/9907) arm: trustzone: update defconfig
* [#9944](https://github.com/apache/nuttx/pull/9944) arm: trustzone: time interrupt setting failed
* [#9960](https://github.com/apache/nuttx/pull/9960) arm: arm-m: Check the dcache status before enabling dcache
* [#10054](https://github.com/apache/nuttx/pull/10054) arm: arm-m: update memset function
* [#10276](https://github.com/apache/nuttx/pull/10276) arm: armv6: select ARCH_HAVE_CPUINFO by default
* [#10132](https://github.com/apache/nuttx/pull/10132) arm: armv6-m: add armv6-m cpuinfo
* [#10264](https://github.com/apache/nuttx/pull/10264) arm: armv6-m: cpuinfo: show cpufreq when hardware performance counting enabled
* [#10204](https://github.com/apache/nuttx/pull/10204) arm: armv7-a: Update the macro definition in gic.h
* [#10045](https://github.com/apache/nuttx/pull/10045) arm: armv7 updated
* [#9802](https://github.com/apache/nuttx/pull/9802) arm: armv{7/8}-m: Add Get Cache Information interface
* [#10536](https://github.com/apache/nuttx/pull/10536) arm: armv{7/8}-m: implement dcache clean as barrier in write-through mode
* [#10344](https://github.com/apache/nuttx/pull/10344) arm: armv{7/8}-m: mpu.h: add macro to configure shared memory region
* [#9699](https://github.com/apache/nuttx/pull/9699) arm: armv8-m: add support for ARMv8-M Security Extensions
* [#9804](https://github.com/apache/nuttx/pull/9804) arm: armv8-m: arm_hardfault: add arm_gen_nonsecurefault information
* [#9700](https://github.com/apache/nuttx/pull/9700) arm: armv8-m: arm_secure_irq.c: fix writing to the NVIC_AIRCR register
* [#9698](https://github.com/apache/nuttx/pull/9698) arm: armv8-m: nvic.h: add definition for NVIC non-secure registers offset
* [#10723](https://github.com/apache/nuttx/pull/10723) arm: armv8-m: strcpy: add arch optimize version
* [#10043](https://github.com/apache/nuttx/pull/10043) arm: armv8-m: support busfault forward to TEE
* [#10130](https://github.com/apache/nuttx/pull/10130) arm: armv8-m: the FPSCR[18:16] LTPSIZE field in exception_common
* [#9621](https://github.com/apache/nuttx/pull/9621) arm: cxd56xx: cxd56_dmac, lcd_dev: fix null pointer dereference
* [#9697](https://github.com/apache/nuttx/pull/9697) arm: cxd56xx: Fix bug when watchdog restart
* [#10721](https://github.com/apache/nuttx/pull/10721) arm: cxd56xx: Return error for RTC alarm setting before initialization
* [#10500](https://github.com/apache/nuttx/pull/10500) arm: cxd56xx: rm sched_[un]lock
* [#9495](https://github.com/apache/nuttx/pull/9495) arm: imxrt: add support for YT8512 phy
* [#9984](https://github.com/apache/nuttx/pull/9984) arm: imxrt: fix txdeadline add ecc:fd support
* [#10087](https://github.com/apache/nuttx/pull/10087) arm: imxrt: flexcan use hpwork for receiving frames
* [#10194](https://github.com/apache/nuttx/pull/10194) arm: imxrt: s32k: edma lpi2c : lpspi fixes
* [#10220](https://github.com/apache/nuttx/pull/10220) arm: imxrt: Serial Preserve all but W1C bit in SR
* [#10464](https://github.com/apache/nuttx/pull/10464) arm: imx8mp: Add GPIO support for i.MX8MP
* [#10450](https://github.com/apache/nuttx/pull/10450) arm: imx8mp: Add i2c support for the i.MX8MP
* [#10232](https://github.com/apache/nuttx/pull/10232) arm: kinetis: s32k1 s32k3 kinetis: add propseg to ctrl1 timing mask
* [#9749](https://github.com/apache/nuttx/pull/9749) arm: phy62xx: Remove unused phy6222_irq.h
* [#10125](https://github.com/apache/nuttx/pull/10125) arm: qemu: add devicetree support for arm:arm64
* [#10252](https://github.com/apache/nuttx/pull/10252) arm: qemu: Remove qemu_net.c which isn't needed anymore
* [#10628](https://github.com/apache/nuttx/pull/10628) arm: s32k3xx: emac use semi-unique MAC address
* [#10501](https://github.com/apache/nuttx/pull/10501) arm: sama5: sam_hsmci:rm sched_[un]lock
* [#10154](https://github.com/apache/nuttx/pull/10154) arm: sama5: MCAN Error corrections plus changes to improve clarity
* [#10688](https://github.com/apache/nuttx/pull/10688) arm: samv7: add phy bordinit functionality
* [#10716](https://github.com/apache/nuttx/pull/10716) arm: samv7: add support for 1 wire over UART:USART
* [#10527](https://github.com/apache/nuttx/pull/10527) arm: samv7: add support for SD card detection from CD:DAT3 line
* [#10429](https://github.com/apache/nuttx/pull/10429) arm: samv7: allow usage of QSPI in SPI mode for all MCUs
* [#9684](https://github.com/apache/nuttx/pull/9684) arm: samv7: fix minor issues with serial DMA
* [#10391](https://github.com/apache/nuttx/pull/10391) arm: samv7: pwm: add option to set channel polarity with IOCTL
* [#9711](https://github.com/apache/nuttx/pull/9711) arm: stm32: add rtc
* [#10360](https://github.com/apache/nuttx/pull/10360) arm: stm32: Fix bugs related to software flow control in file stm32_hciuart.c.
* [#9977](https://github.com/apache/nuttx/pull/9977) arm: stm32: Optimize stm32 RTC accuracy
* [#10065](https://github.com/apache/nuttx/pull/10065) arm: stm32: stm32f4:f7:h7_eth: Improvements in Ethernet DMA error handling.
* [#9649](https://github.com/apache/nuttx/pull/9649) arm: stm32: stm32f0l0g0: Fix gpio outputs from being configured as interrupts in stm32f0l0g0 gpio driver
* [#10328](https://github.com/apache/nuttx/pull/10328) arm: stm32: stm32h7: add CM4 core support
* [#10472](https://github.com/apache/nuttx/pull/10472) arm: stm32: stm32l4: fix argument of nxsem_wait_uninterruptible
* [#10189](https://github.com/apache/nuttx/pull/10189) arm: stm32: stm32h7: stm32h7x5: fixed typo on SPI header inclusion
* [#10222](https://github.com/apache/nuttx/pull/10222) arm: stm32: stm32h7: use correct name for bit 2 in STM32_PWR_CR3 register
* [#10207](https://github.com/apache/nuttx/pull/10207) arm: nrf52: Added config setting for NRF52 I2C timing bug workaround.
* [#10205](https://github.com/apache/nuttx/pull/10205) arm: nrf52: Changed NRF52 USB initialization to check for power via USBREGSTATUS
* [#10206](https://github.com/apache/nuttx/pull/10206) arm: nrf52: Fixed NRF52 I2C register naming.
* [#10208](https://github.com/apache/nuttx/pull/10208) arm: nrf52: Port recent changes in nrf52 to other Nordic chips
* [#10305](https://github.com/apache/nuttx/pull/10305) arm: nrf91: add missing include guards
* [#9895](https://github.com/apache/nuttx/pull/9895) arm: nrf91: fix for secure env only configurations
* [#9902](https://github.com/apache/nuttx/pull/9902) arm: nrf91: modem: fix returned source address
* [#9746](https://github.com/apache/nuttx/pull/9746) arm: nrf91: more work towards a usable port
* [#10788](https://github.com/apache/nuttx/pull/10788) arm: nrf{52|53}: pwm: fix compilation for MULTICHAN not set
* [#10741](https://github.com/apache/nuttx/pull/10741) arm: nrf{52|53|91}: fixes for serial driver
* [#10216](https://github.com/apache/nuttx/pull/10216) arm: nrf{52|53|91}: handle I2C errors in interrupt mode
* [#9973](https://github.com/apache/nuttx/pull/9973) arm64: add ARM64_DCACHE_DISABLE and ARM64_ICACHE_DISABLE config
* [#10148](https://github.com/apache/nuttx/pull/10148) arm64: add hostfs support
* [#9971](https://github.com/apache/nuttx/pull/9971) arm64: add kasan support for arm64
* [#10653](https://github.com/apache/nuttx/pull/10653) arm64: add mcpu option for all Cortex CPU
* [#9967](https://github.com/apache/nuttx/pull/9967) arm64: arm64_backtrace: use running_task if arch_get_current_tcb return NULL
* [#9949](https://github.com/apache/nuttx/pull/9949) arm64: default select ARCH_HAVE_SETJMP
* [#9646](https://github.com/apache/nuttx/pull/9646) arm64: Do not set cntfrq_el0 in qemu_boot.c
* [#9794](https://github.com/apache/nuttx/pull/9794) arm64: enable ARCH_FPU for qemu-armv8a:netnsh_smp and netnsh_smp_hv
* [#10142](https://github.com/apache/nuttx/pull/10142) arm64: enable for arm64 virt to choice CPU core
* [#10650](https://github.com/apache/nuttx/pull/10650) arm64: fix arm64_start_cpu
* [#10135](https://github.com/apache/nuttx/pull/10135) arm64: Fixed arm64 backtrace support for other processes
* [#10008](https://github.com/apache/nuttx/pull/10008) arm64: get_cpu_id according to the correct affinity level
* [#10266](https://github.com/apache/nuttx/pull/10266) arm64: gnu: Set arch_* optimizations to be on by default.
* [#10125](https://github.com/apache/nuttx/pull/10125) arm64: qemu: add devicetree support for arm64
* [#10297](https://github.com/apache/nuttx/pull/10297) arm64: remove unnecessary trace interface
* [#10131](https://github.com/apache/nuttx/pull/10131) arm64: save and restore fpu regs in jmp when ARCH_FPU enabled
* [#10694](https://github.com/apache/nuttx/pull/10694) arm64: select ARCH_HAVE_IRQTRIGGER for all arm64 chip
* [#9652](https://github.com/apache/nuttx/pull/9652) arm64: smp with kvm
* [#10701](https://github.com/apache/nuttx/pull/10701) arm64: support reboot : poweroff for qemu virt arm64
* [#10662](https://github.com/apache/nuttx/pull/10662) arm64: sync make file rules from arm
* [#9810](https://github.com/apache/nuttx/pull/9810) arm64: Use the correct aff in up_affinity_irq function
* [#9811](https://github.com/apache/nuttx/pull/9811) arm64: Use the correct cpu id for fpu idle task init
* [#10502](https://github.com/apache/nuttx/pull/10502) mips: pic32mx: sched_lock should replace with enter_critical_secion
* [#10346](https://github.com/apache/nuttx/pull/10346) risc-v: Allocate heap for default task stacksize
* [#9577](https://github.com/apache/nuttx/pull/9577) risc-v: fpu: Implement correct lazy-FPU functionality (attempt #2)
* [#10300](https://github.com/apache/nuttx/pull/10300) risc-v: esp32c3: wifi_ble: Use nxsem_trywait to take semphr from ISR
* [#10643](https://github.com/apache/nuttx/pull/10643) risc-v: esp32c6: fix compilation of esp32c6 serial driver
* [#10089](https://github.com/apache/nuttx/pull/10089) risc-v: espressif: Add MCUboot support for ESP32-C3
* [#9874](https://github.com/apache/nuttx/pull/9874) risc-v: espressif: Add PWM:LEDC support
* [#9633](https://github.com/apache/nuttx/pull/9633) risc-v: espressif: Add USB-Serial-JTAG driver
* [#9896](https://github.com/apache/nuttx/pull/9896) risc-v: espressif: get esp-hal-3rdparty sources based on its version
* [#9917](https://github.com/apache/nuttx/pull/9917) risc-v: espressif: update esp-hal-3rdparty and related issues
* [#10231](https://github.com/apache/nuttx/pull/10231) risc-v: espressif: Update esp-hal-3rdparty version
* [#9860](https://github.com/apache/nuttx/pull/9860) risc-v: hpm6750: keep cpu clock on after "wfi"
* [#10233](https://github.com/apache/nuttx/pull/10233) risc-v: litex: Add platform specific tickless implementation.
* [#10393](https://github.com/apache/nuttx/pull/10393) risc-v: litex: Add system reset and access to core control registers.
* [#10481](https://github.com/apache/nuttx/pull/10481) risc-v: litex: litex_sdio: Address race condition in eventwait.
* [#9871](https://github.com/apache/nuttx/pull/9871) risc-v: mpfs: Add configuration option to enable DDR manual a…
* [#10635](https://github.com/apache/nuttx/pull/10635) risc-v: mpfs: Add DMA buffer allocator for eMMC access
* [#10461](https://github.com/apache/nuttx/pull/10461) risc-v: mpfs: clear L2 before use
* [#10246](https://github.com/apache/nuttx/pull/10246) risc-v: mpfs: Ddr training fixes upstream
* [#10447](https://github.com/apache/nuttx/pull/10447) risc-v: mpfs: ddr fixes upstream
* [#9843](https://github.com/apache/nuttx/pull/9843) risc-v: mpfs: emmcsd: fix csd read
* [#10483](https://github.com/apache/nuttx/pull/10483) risc-v: mpfs: ethernet updates
* [#9657](https://github.com/apache/nuttx/pull/9657) risc-v: mpfs: Fix cache and scratchpad init
* [#10484](https://github.com/apache/nuttx/pull/10484) risc-v: mpfs: IHC bugfixes and perf enhancements
* [#10285](https://github.com/apache/nuttx/pull/10285) risc-v: mpfs: MPFS DDR training cleanups
* [#10341](https://github.com/apache/nuttx/pull/10341) risc-v: mpfs: mpfs_usb: fix tx fifo size setup
* [#10599](https://github.com/apache/nuttx/pull/10599) risc-v: mpfs: mpfs_i2c.c: Clean up using priv->status and STOP…
* [#10423](https://github.com/apache/nuttx/pull/10423) risc-v: mpfs: mpfs_i2c.c: Replace 1 second timeout with Time-on-Air based timeout
* [#9851](https://github.com/apache/nuttx/pull/9851) risc-v: mpfs: mpfs_ddr.c: Correct erroneous register addresses…
* [#9904](https://github.com/apache/nuttx/pull/9904) risc-v: mpfs: Set hart2 default entrypoint to -1 like the others
* [#10724](https://github.com/apache/nuttx/pull/10724) risc-v: riscv_pmp.c: fix broken TOR checks
* [#10451](https://github.com/apache/nuttx/pull/10451) risc-v: riscv_pmp.c: Improve NAPOT area validity checks
* [#10030](https://github.com/apache/nuttx/pull/10030) sim: add -Ttext-segment to load the image in the fixed address
* [#10141](https://github.com/apache/nuttx/pull/10141) sim: add set:get_power for sim_framebuffer.c
* [#10735](https://github.com/apache/nuttx/pull/10735) sim: add sim uart_ram support
* [#10494](https://github.com/apache/nuttx/pull/10494) sim: add up_irq_enbale function.
* [#10678](https://github.com/apache/nuttx/pull/10678) sim: alsa: add AUDIO_FMT_PCM query handler.
* [#10617](https://github.com/apache/nuttx/pull/10617) sim: audio: add 24K sample rate support
* [#9693](https://github.com/apache/nuttx/pull/9693) sim: audio: add AUDIOIOC_FLUSH ioctl
* [#10520](https://github.com/apache/nuttx/pull/10520) sim: audio: add media session support for sim_alsa audio_ops_s interface
* [#9689](https://github.com/apache/nuttx/pull/9689) sim: audio: driver add AUDIOIOC_GETLATENCY ioctl
* [#9680](https://github.com/apache/nuttx/pull/9680) sim: audio: register mixer device
* [#10600](https://github.com/apache/nuttx/pull/10600) sim: change Mac sim archive operate from replace to quick insertion
* [#10179](https://github.com/apache/nuttx/pull/10179) sim: crypto: compile mbedtls alternative implementation
* [#10583](https://github.com/apache/nuttx/pull/10583) sim: crypto: support MBEDTLS_MD5_ALT config
* [#10128](https://github.com/apache/nuttx/pull/10128) sim: Fix sim stack smashing problem
* [#10671](https://github.com/apache/nuttx/pull/10671) sim: fix text-segment not taking effect
* [#10505](https://github.com/apache/nuttx/pull/10505) sim: framebuffer: fix memory leak in XStringListToTextProperty
* [#10052](https://github.com/apache/nuttx/pull/10052) sim: framebuffer: Optimize the timing of window to open and to close
* [#10606](https://github.com/apache/nuttx/pull/10606) sim: Guard frame buffer related setting in SIM_X11FB
* [#9935](https://github.com/apache/nuttx/pull/9935) sim: hostfs: fix issue about access file with size more than 2GB
* [#10414](https://github.com/apache/nuttx/pull/10414) sim: internal: add typedef pid_t to enhance sim compatibility
* [#10679](https://github.com/apache/nuttx/pull/10679) sim: posix: Add the host_system interface
* [#10325](https://github.com/apache/nuttx/pull/10325) sim: posix: Add the host_system interface used to execute the host command
* [#9770](https://github.com/apache/nuttx/pull/9770) sim: posix_test: fix shm_open() return file descriptor associated with FD_CLOEXEC
* [#10181](https://github.com/apache/nuttx/pull/10181) sim: Remove unnecessary configurations
* [#9667](https://github.com/apache/nuttx/pull/9667) sim: Rename sim_video to sim_camera
* [#10137](https://github.com/apache/nuttx/pull/10137) sim: rptun support panit & reset and fix uinput_rpmsg bug
* [#10044](https://github.com/apache/nuttx/pull/10044) sim: set loop thread priority to configurable
* [#9859](https://github.com/apache/nuttx/pull/9859) sim: Support thread command by gdb python script
* [#10685](https://github.com/apache/nuttx/pull/10685) sim: sim_alsa: reset alsa pcm device when snd_pcm_avail < 0
* [#9676](https://github.com/apache/nuttx/pull/9676) sim: sim_alsa.c: add paused variable instead of snd_pcm_pause.
* [#10003](https://github.com/apache/nuttx/pull/10003) sim: sim_alsa.c: fix ioctl AUDIOIOC_GETBUFFERINFO error
* [#10781](https://github.com/apache/nuttx/pull/10781) sim: sim_rptun: unlink shm when quit
* [#10263](https://github.com/apache/nuttx/pull/10263) sim: sim_usbdev: add sim netdev config for rndis test
* [#10284](https://github.com/apache/nuttx/pull/10284) sim: simlulator rptun powerdown
* [#10489](https://github.com/apache/nuttx/pull/10489) sim: support configuring whether the master will automatically boot slave
* [#10551](https://github.com/apache/nuttx/pull/10551) sim: To avoid system calls being interrupted when use host api
* [#9899](https://github.com/apache/nuttx/pull/9899) sim: tcbinfo:add ebp to tcbinfo
* [#10351](https://github.com/apache/nuttx/pull/10351) sim: toywasm: disable example apps (hello, nettest)
* [#10185](https://github.com/apache/nuttx/pull/10185) sim: use correct size to avoid buffer overflow
* [#10067](https://github.com/apache/nuttx/pull/10067) sim: use workquene instead of sim_bthcisock_loop
* [#9869](https://github.com/apache/nuttx/pull/9869) sim: use workquene instead rptun_loop
* [#9950](https://github.com/apache/nuttx/pull/9950) sim: usbdev: fix return value issue
* [#10349](https://github.com/apache/nuttx/pull/10349) sim: vpnkit: disable binfmt debug
* [#9828](https://github.com/apache/nuttx/pull/9828) sparc: bm3823: bm3823.h: Fix the name of the constant BM3823_Is_interrupt_pending
* [#10311](https://github.com/apache/nuttx/pull/10311) xtensa: enable -Oz for xtensa to reduce codesize
* [#10251](https://github.com/apache/nuttx/pull/10251) xtensa: Update MCUboot build process
* [#9805](https://github.com/apache/nuttx/pull/9805) xtensa: xtensa_saveusercontext:Leave the context information empty
* [#9705](https://github.com/apache/nuttx/pull/9705) xtensa: esp32: change free to kmm_free as it was allocated via kmm_malloc
* [#9707](https://github.com/apache/nuttx/pull/9707) xtensa: esp32: common: RGB LED support
* [#10598](https://github.com/apache/nuttx/pull/10598) xtensa: esp32: RMT update
* [#6992](https://github.com/apache/nuttx/pull/6992) xtensa: esp32: WS2812 LED driver using ESP32's RMT peripheral
* [#10521](https://github.com/apache/nuttx/pull/10521) xtensa: esp32s3: Add support to TWAI:CANBus controller
* [#10491](https://github.com/apache/nuttx/pull/10491) xtensa: esp32s3: add UART RS485 support
* [#10467](https://github.com/apache/nuttx/pull/10467) xtensa: esp32s3: add UART2 support
* [#10015](https://github.com/apache/nuttx/pull/10015) xtensa: esp32s3: Enhance protected build linker scripts and memory layout to add support to protected build + Wi-Fi driver
* [#10637](https://github.com/apache/nuttx/pull/10637) xtensa: esp32s3: Fix octal lines mode SPIRAM blocking issue
* [#9658](https://github.com/apache/nuttx/pull/9658) xtensa: esp32s2: Fix UART1 default pins
* [#10465](https://github.com/apache/nuttx/pull/10465) xtensa: esp32s3: i2s: Add support for the I2S peripheral + Audio subsystem
* [#10200](https://github.com/apache/nuttx/pull/10200) xtensa: esp32s3: Implement ESP32-S3 BLE support with Wi-Fi coexistence
* [#10696](https://github.com/apache/nuttx/pull/10696) xtensa: esp32s3: LCD controller driver
* [#10625](https://github.com/apache/nuttx/pull/10625) xtensa: esp32s3: SPI support psram and flash timing tuning
Driver Support
New Driver Support
* [#10172](https://github.com/apache/nuttx/pull/10172) battery:add goldfish battery driver
* [#10249](https://github.com/apache/nuttx/pull/10249) crypto: Added NXP SE05x support (secure element)
* [#9204](https://github.com/apache/nuttx/pull/9204) devicetree:fdt: Add initial FDT support and procfs for userspace export
* [#10165](https://github.com/apache/nuttx/pull/10165) input:support mouse driver
* [#10056](https://github.com/apache/nuttx/pull/10056) ioexpander: add support for pcf8575 expander
* [#10435](https://github.com/apache/nuttx/pull/10435) ioexpander: add support for ISO1I813T expander
* [#10426](https://github.com/apache/nuttx/pull/10426) ioexpander: add support for ISO1H812G expander
* [#9629](https://github.com/apache/nuttx/pull/9629) ioexpander: add SX1509 support
* [#10532](https://github.com/apache/nuttx/pull/10532) ioexpander: mcp23008 Initial support
* [#9683](https://github.com/apache/nuttx/pull/9683) mtd: ramtron.c: add FM25V02A-DGQ
* [#10503](https://github.com/apache/nuttx/pull/10503) net: Add initial ksz9477 switch support
* [#9777](https://github.com/apache/nuttx/pull/9777) segger: Add SEGGER RTT serial:console support
* [#9916](https://github.com/apache/nuttx/pull/9916) sensors: add support for BME680
* [#10127](https://github.com/apache/nuttx/pull/10127) sensors: add force sensor
* [#10760](https://github.com/apache/nuttx/pull/10760) sensors: goldfish: add goldfish sensors driver
* [#10725](https://github.com/apache/nuttx/pull/10725) sensors: goldfish: add goldfish gps driver
* [#9954](https://github.com/apache/nuttx/pull/9954) sensors: gps: Implement the GPS driver framework
* [#10152](https://github.com/apache/nuttx/pull/10152) power: Regulator:add new features
* [#10167](https://github.com/apache/nuttx/pull/10167) reset: Add resest driver framework
* [#10001](https://github.com/apache/nuttx/pull/10001) timers: qemu: add qemu rtc driver.
* [#10171](https://github.com/apache/nuttx/pull/10171) video: add NuttX Goldfish-FB driver
* [#10118](https://github.com/apache/nuttx/pull/10118) video: add NuttX goldfish camera driver
* [#10195](https://github.com/apache/nuttx/pull/10195) virtio: add virtio input driver
* [#10498](https://github.com/apache/nuttx/pull/10498) virtio: rpmb: add virtio rpmb support
* [#10166](https://github.com/apache/nuttx/pull/10166) virtio: audio:add virtio snd driver
* [#10173](https://github.com/apache/nuttx/pull/10173) virtio: add VirtIO GPU driver
* [#9297](https://github.com/apache/nuttx/pull/9297) virtio: add virtio framework in NuttX
Drivers With Improvements
* [#9900](https://github.com/apache/nuttx/pull/9900) Revert "video: Don't need update vbuf_tail in dequeue_vbuf_unsafe
* [#10516](https://github.com/apache/nuttx/pull/10516) Revert "rpmsgfs: cache statfs result in case of deadlock"
* [#9887](https://github.com/apache/nuttx/pull/9887) Format pointer through "%p" for kthread_create
* [#9776](https://github.com/apache/nuttx/pull/9776) return sequential characters for :dev:ascii device
* [#9922](https://github.com/apache/nuttx/pull/9922) adc: add missing parameters in ADC_RXINT
* [#10512](https://github.com/apache/nuttx/pull/10512) alarm: modify the default precision of up_perf_gettime to ns
* [#10757](https://github.com/apache/nuttx/pull/10757) alt1250: Correspond to shutdown
* [#10281](https://github.com/apache/nuttx/pull/10281) audio: add format for AAC:MSBC:CVSD
* [#10400](https://github.com/apache/nuttx/pull/10400) audio: cxd56: Move cxd56 sources into arch:cxd56xx
* [#9912](https://github.com/apache/nuttx/pull/9912) audio: cxd56: Support 24bit, 192kHz and 4ch max
* [#9846](https://github.com/apache/nuttx/pull/9846) audio: low level reset must always succeed
* [#9838](https://github.com/apache/nuttx/pull/9838) audio: remove unnecessary switch in switch
* [#10428](https://github.com/apache/nuttx/pull/10428) battery: add FAR for battery_gauge_operations_s
* [#9800](https://github.com/apache/nuttx/pull/9800) battery: fix poll return type
* [#9953](https://github.com/apache/nuttx/pull/9953) bch: fix sector buffer invalidation issue
* [#10468](https://github.com/apache/nuttx/pull/10468) clk: Change CLK_SET_RATE_NO_REPARENT to CLK_MUX_SET_RATE_NO_REPARENT
* [#10746](https://github.com/apache/nuttx/pull/10746) clk: fix some issues when use rpmsg clk
* [#10495](https://github.com/apache/nuttx/pull/10495) clk: Minor clk improvement
* [#9920](https://github.com/apache/nuttx/pull/9920) clk: rpmsgclk: allow client to disable clk of server
* [#10076](https://github.com/apache/nuttx/pull/10076) clk: support using clk function at interrupt and idle #9938 noteram: multi-instance support
* [#10634](https://github.com/apache/nuttx/pull/10634) input: button: First press pwrkey is ineffective
* [#10533](https://github.com/apache/nuttx/pull/10533) input: button_upper.c:Modify log level
* [#10215](https://github.com/apache/nuttx/pull/10215) input: fix circbuf leak
* [#10163](https://github.com/apache/nuttx/pull/10163) input: Fix setting the number of keyboard driver buffers fails
* [#10133](https://github.com/apache/nuttx/pull/10133) input: Implement the debounce in button_upper.c
* [#10692](https://github.com/apache/nuttx/pull/10692) input: touchscreen: Bring up TSIOC_[SET|GET]CALIB macro
* [#9682](https://github.com/apache/nuttx/pull/9682) input: touchscreen: Translate raw X:Y data into pixel coordinates
* [#10147](https://github.com/apache/nuttx/pull/10147) input: rm sched_[un]lock
* [#10005](https://github.com/apache/nuttx/pull/10005) ioexpander: add option to register GPIO by name for IOexpander
* [#10083](https://github.com/apache/nuttx/pull/10083) ioexpander: define IOEXPANDER_OPTION_NONGENERIC option
* [#9694](https://github.com/apache/nuttx/pull/9694) leds: Modified rgb led pwm freq from 100 to 200
* [#9787](https://github.com/apache/nuttx/pull/9787) lcd: add area alignment ioctl for lcd driver
* [#10271](https://github.com/apache/nuttx/pull/10271) lcd: add ioctl passthrough for LCD driver
* [#10640](https://github.com/apache/nuttx/pull/10640) lcd: Adding Byte-Per-Pixel Memory model option to memlcd
* [#9830](https://github.com/apache/nuttx/pull/9830) lcd: st7789: add support for 3 wire interface
* [#10639](https://github.com/apache/nuttx/pull/10639) lcd: Fixing row_size calculation when bpp is equal 1 in lcd_dev driver
* [#10318](https://github.com/apache/nuttx/pull/10318) math: Cordic api modify
* [#10180](https://github.com/apache/nuttx/pull/10180) math: math api support FFT
* [#10504](https://github.com/apache/nuttx/pull/10504) mmcsd: Add RPMB ioctl
* [#10778](https://github.com/apache/nuttx/pull/10778) mmcsd: add get emmc cid register interface.
* [#10168](https://github.com/apache/nuttx/pull/10168) mmcsd: fix byte_block_count error in byte mode
* [#10440](https://github.com/apache/nuttx/pull/10440) mmcsd: fix regression causing emmcsd not working
* [#9937](https://github.com/apache/nuttx/pull/9937) mmcsd: mmcsd_sdio: config timout to write one data block
* [#10560](https://github.com/apache/nuttx/pull/10560) mmcsd: Rename mmc_rpmb_frame_s to rpmb_frame
* [#10732](https://github.com/apache/nuttx/pull/10732) mmcsd: support dump cid and csd with mmc-utils
* [#10672](https://github.com/apache/nuttx/pull/10672) mmcsd: update cid reg layout
* [#10269](https://github.com/apache/nuttx/pull/10269) misc: ftl: fix ftl_flush will read:erase beyond the end of the partition
* [#9822](https://github.com/apache/nuttx/pull/9822) misc: rpmsg: use workqueue for rpmsgdev poll notify
* [#9919](https://github.com/apache/nuttx/pull/9919) misc: Rpmsgblk: add support for mmc_ioc_cmd:mmc_multi_ioc_cmd ioctl
* [#10265](https://github.com/apache/nuttx/pull/10265) misc: rpmsgdev: add tun device ioctl support
* [#9825](https://github.com/apache/nuttx/pull/9825) misc: rpmsgblk: get return value from header
* [#10187](https://github.com/apache/nuttx/pull/10187) misc: rpmsgblk: fix build break if CONFIG_DISABLE_PSEUDOFS_OPERATIONS
* [#10175](https://github.com/apache/nuttx/pull/10175) misc: rpmsgdev: support single read:write mode device
* [#9930](https://github.com/apache/nuttx/pull/9930) misc: rwbuffer: using unify lock function for lock and unlock
* [#10738](https://github.com/apache/nuttx/pull/10738) modem: alt1250: Fix bug that errno was not converted correctly
* [#10737](https://github.com/apache/nuttx/pull/10737) modem: alt1250: Fix bug that modem version could not be taken
* [#10161](https://github.com/apache/nuttx/pull/10161) mtd: Add new functions part_isbad and part_markbad in mtd partition.
* [#10332](https://github.com/apache/nuttx/pull/10332) mtd: add dhara compatiblity layer
* [#10518](https://github.com/apache/nuttx/pull/10518) mtd: dhara: add dhara folder in gitignore
* [#9958](https://github.com/apache/nuttx/pull/9958) mtd: ftl: Modify erasure result processing error issue
* [#9931](https://github.com/apache/nuttx/pull/9931) mtd: ftl: support to skip bad block for earse:bread:bwrite
* [#9983](https://github.com/apache/nuttx/pull/9983) mtd: ftl: pass the number of eraseblock for ftl_get_cblock
* [#10095](https://github.com/apache/nuttx/pull/10095) mtd: mtd_config: add mtdconfig_register_by_path()
* [#10104](https://github.com/apache/nuttx/pull/10104) mtd: mtd_config: just query when data is null or len is zero
* [#10097](https://github.com/apache/nuttx/pull/10097) mtd: mtdconfig_fs: return -ENOENT when delete non-existed key
* [#9974](https://github.com/apache/nuttx/pull/9974) mtd: w25.c: enable support for W25QxxxJV NOR flash memories
* [#9772](https://github.com/apache/nuttx/pull/9772) net: Add wireless ops in upper-half driver
* [#9817](https://github.com/apache/nuttx/pull/9817) net: fix visual studio Compiler Error C2059
* [#9918](https://github.com/apache/nuttx/pull/9918) net: Make netdev_upperhalf work well with can
* [#9663](https://github.com/apache/nuttx/pull/9663) net: Remove HAVE_ATOMICS and use CONFIG_HAVE_ATOMICS directly
* [#10713](https://github.com/apache/nuttx/pull/10713) net: rpmsgdrv.c: Take netdev_register() return value into account
* [#10190](https://github.com/apache/nuttx/pull/10190) note: add maximum channel number check
* [#10272](https://github.com/apache/nuttx/pull/10272) note: add noteram crash dump
* [#10425](https://github.com/apache/nuttx/pull/10425) note: Add support for atrace mark:counter type
* [#10258](https://github.com/apache/nuttx/pull/10258) note: dump irq handler address to trace
* [#10506](https://github.com/apache/nuttx/pull/10506) note: fix sched_note declaration inconsistency
* [#10424](https://github.com/apache/nuttx/pull/10424) note: fix trace dump: dump failed
* [#10124](https://github.com/apache/nuttx/pull/10124) note: move the note formatting code from trace_dump into noteram_drivers.c
* [#10088](https://github.com/apache/nuttx/pull/10088) noteram: Remove the unnessary inclusion and declaration from header file
* [#10784](https://github.com/apache/nuttx/pull/10784) power: pm: check the domain in pm_querystate
* [#10585](https://github.com/apache/nuttx/pull/10585) power: pm: fix issue that system crash when passed invalid relpath value
* [#10049](https://github.com/apache/nuttx/pull/10049) power: pm: fix second time add wakelock dq caused error
* [#10601](https://github.com/apache/nuttx/pull/10601) power: pm: support pm runtime function
* [#10427](https://github.com/apache/nuttx/pull/10427) power: supply: Regulator: check the id when register
* [#10651](https://github.com/apache/nuttx/pull/10651) power: supply: regulator: Refine rpmsg regulator
* [#10745](https://github.com/apache/nuttx/pull/10745) power: supply: regulator: fix some issues about rpmsg regualtor
* [#10123](https://github.com/apache/nuttx/pull/10123) pipes: use circbuf to refine buffer model
* [#10330](https://github.com/apache/nuttx/pull/10330) pipes: fix busyloop issue when circbuf is full
* [#10270](https://github.com/apache/nuttx/pull/10270) pty: Support get and set local mode of pty
* [#9926](https://github.com/apache/nuttx/pull/9926) ramdisk: don't free memory for romdisk
* [#10691](https://github.com/apache/nuttx/pull/10691) rptun: add remote poweroff support
* [#10047](https://github.com/apache/nuttx/pull/10047) rptun: rptun update
* [#10182](https://github.com/apache/nuttx/pull/10182) rtt: add rtt syslog channel configuration
* [#9834](https://github.com/apache/nuttx/pull/9834) segger: Rename serial device from :dev:rttx to :dev:ttyRx
* [#9839](https://github.com/apache/nuttx/pull/9839) segger: Simplify serial driver configuration
* [#5882](https://github.com/apache/nuttx/pull/5882) sensors: Add coordinate conversion function
* [#10740](https://github.com/apache/nuttx/pull/10740) sensors: add suffix _uorb to all sensors that use the new sensor framework
* [#10457](https://github.com/apache/nuttx/pull/10457) sensors: APDS9922 - remove unnecessary spinlock, consolidate i2c read:write
* [#10544](https://github.com/apache/nuttx/pull/10544) sensors: BMI270 fix compilation if sensor works in SPI mode
* [#9994](https://github.com/apache/nuttx/pull/9994) sensors: bmi270.c: fix define BMI270_TEMPERATURE
* [#10497](https://github.com/apache/nuttx/pull/10497) sensors: fix race condition about sensor rpmsg
* [#10410](https://github.com/apache/nuttx/pull/10410) sensors: fix wrong depends on SN_XXX
* [#10396](https://github.com/apache/nuttx/pull/10396) sensors: Move SCU-specific sensors into spresense board
* [#10077](https://github.com/apache/nuttx/pull/10077) sensors: optimize bmi160 sensor adapt to uorb.
* [#10080](https://github.com/apache/nuttx/pull/10080) sensors: optimize bmp180 sensor adapt to uorb.
* [#10623](https://github.com/apache/nuttx/pull/10623) sensors: remove non-standard message from bream privat…
* [#10693](https://github.com/apache/nuttx/pull/10693) sensors: Remove the selection of UORB from Kconfig
* [#10542](https://github.com/apache/nuttx/pull/10542) sensors: Remove unnecessary heap allocation for bmi270
* [#10726](https://github.com/apache/nuttx/pull/10726) sensors: Solve the busy loop problem caused by sampling problems
* [#10259](https://github.com/apache/nuttx/pull/10259) sensors: update nbuffer to upper state
* [#10673](https://github.com/apache/nuttx/pull/10673) serial: Add ram uart driver
* [#10170](https://github.com/apache/nuttx/pull/10170) serial: filter out control character in pty echo
* [#10443](https://github.com/apache/nuttx/pull/10443) serial: fix error echo about VT100 escape sequence
* [#10442](https://github.com/apache/nuttx/pull/10442) serial: fix race condition about calling rxflowcontrol in mutli thread
* [#9799](https://github.com/apache/nuttx/pull/9799) serial: serial.c fix logic error
* [#9980](https://github.com/apache/nuttx/pull/9980) serial: Simplify the echo process
* [#10019](https://github.com/apache/nuttx/pull/10019) serial: uart_16550: Wait before setting Line Control Register (Synopsys DesignWare 8250)
* [#10262](https://github.com/apache/nuttx/pull/10262) serial: uart: h5: add bt h5 uart serial driver
* [#10727](https://github.com/apache/nuttx/pull/10727) spi: call bind and unbind when user open or close to save power
* [#10192](https://github.com/apache/nuttx/pull/10192) spi: slave: use POLLPRI to notify TX_COMPLETE.
* [#9759](https://github.com/apache/nuttx/pull/9759) spi: add support for qspi hwfeatures
* [#10782](https://github.com/apache/nuttx/pull/10782) spi: avoid calling QPOLL to change rx_length and cause data loss
* [#9921](https://github.com/apache/nuttx/pull/9921) spi: spi_slave: enhance spi_slave driver
* [#9781](https://github.com/apache/nuttx/pull/9781) syslog: add syslog channel filtering function
* [#9780](https://github.com/apache/nuttx/pull/9780) syslog: Fix syslog stack usage is too large
* [#10514](https://github.com/apache/nuttx/pull/10514) syslog: reset syslog buffer when syslog buffer include invalid character
* [#10048](https://github.com/apache/nuttx/pull/10048) syslog: syslog & ramlog update
* [#10261](https://github.com/apache/nuttx/pull/10261) syslog: syslog_rpmsg: update check method when do flush()
* [#9779](https://github.com/apache/nuttx/pull/9779) timers: add up_perf_init weak_function
* [#9968](https://github.com/apache/nuttx/pull/9968) timers: add CONFIG_WATCHDOG_PANIC_NOTIFIER for panic notifier
* [#10486](https://github.com/apache/nuttx/pull/10486) timers: pcf85263.c: Fix compilation
* [#10665](https://github.com/apache/nuttx/pull/10665) timers: timer_getoverrun: adjust the default errno from ENOSYS to EINVAL
* [#10485](https://github.com/apache/nuttx/pull/10485) usb: Add usb fs driver for userspace transfer
* [#10162](https://github.com/apache/nuttx/pull/10162) usb: Fixed memory leak for usb uninitialize process
* [#10011](https://github.com/apache/nuttx/pull/10011) Usb: Modify macro errors with COMPOSITE equipment.
* [#10085](https://github.com/apache/nuttx/pull/10085) usbdev: add adb boardctl
* [#10242](https://github.com/apache/nuttx/pull/10242) usbdev: clear configid after class disconnect
* [#10112](https://github.com/apache/nuttx/pull/10112) usbdev: composite: Use the correct USB dual-speed descriptor when enabling IAD
* [#10113](https://github.com/apache/nuttx/pull/10113) usbdev: composite: add COMPOSITE_DEVICES config for composite device
* [#10616](https://github.com/apache/nuttx/pull/10616) usbdev: Fix build error with BOARD_USBDEV_SERIALSTR
* [#10070](https://github.com/apache/nuttx/pull/10070) usbdev: fixed composite usbdev issue
* [#10068](https://github.com/apache/nuttx/pull/10068) usbdev: move usbdev_req function to common code
* [#10620](https://github.com/apache/nuttx/pull/10620) usbdev: mtp: support media transfer protocol (MTP) class driver
* [#10331](https://github.com/apache/nuttx/pull/10331) usbdev: rndis: Fixing erroneous macros
* [#10567](https://github.com/apache/nuttx/pull/10567) usbdev: support usb adb fastboot
* [#10525](https://github.com/apache/nuttx/pull/10525) usrsock: fix rpmsg_usrsock memory leak when stop remote
* [#9913](https://github.com/apache/nuttx/pull/9913) usbhost: fix usbhost_hidkbd some errors
* [#9852](https://github.com/apache/nuttx/pull/9852) usbhost: usb communication memory should use DRVR_ALLOC
* [#10174](https://github.com/apache/nuttx/pull/10174) usrsock: usrsock_server: coverity fix for access invalid index
* [#10460](https://github.com/apache/nuttx/pull/10460) usrsock: usrsock_server: fix coverity for recvfrom handle
* [#10609](https://github.com/apache/nuttx/pull/10609) usrsock: usrsock_rpmsg_server: Add net_lock to combine get_tx_payload and recvfrom in recvfrom_handler
* [#10596](https://github.com/apache/nuttx/pull/10596) usrsock: usrsock_rpmsg_server: Clear revents for POLLHUP and POLLERR
* [#10036](https://github.com/apache/nuttx/pull/10036) video: fb: add fboverlay pandisplay & display area ioctl
* [#10526](https://github.com/apache/nuttx/pull/10526) video: fb: add vsync queue mechanism
* [#10037](https://github.com/apache/nuttx/pull/10037) video: fb: fix that vtable.priv is not freed when fb register failed.
* [#10432](https://github.com/apache/nuttx/pull/10432) video: Fix an issue isx019 may freeze
* [#10023](https://github.com/apache/nuttx/pull/10023) video: fix if video node do not exist on host of sim env, video driver init fail
* [#9964](https://github.com/apache/nuttx/pull/9964) video: Fix returned errno in error cases
* [#9965](https://github.com/apache/nuttx/pull/9965) video: Initialize flags member of query control APIs
* [#10580](https://github.com/apache/nuttx/pull/10580) video: Modify the properties of the goldfish camera driver kthread_create
* [#9786](https://github.com/apache/nuttx/pull/9786) video: use kmm_free(buff) to free memory instead of realloc(b…
* [#10071](https://github.com/apache/nuttx/pull/10071) video: video driver supports NV12
* [#10682](https://github.com/apache/nuttx/pull/10682) video: vnc_updater: use [enter|leave]_critical_section replace sched_[un]lock
* [#10339](https://github.com/apache/nuttx/pull/10339) virtio: Add support to offload small IOBs
* [#10800](https://github.com/apache/nuttx/pull/10800) virtio: virtio-snd: add state sync for virtio snd device
* [#10715](https://github.com/apache/nuttx/pull/10715) wireless: bcm_driver: revert packed attribute for scan structure
* [#10710](https://github.com/apache/nuttx/pull/10710) wireless: bcm43xxx: Add handle type for disconnecting event
* [#10709](https://github.com/apache/nuttx/pull/10709) wireless: bcm43xxx: add Packet Traffic Arbitration Priority support
* [#10711](https://github.com/apache/nuttx/pull/10711) wireless: bcm43xxx: correct beacon loss behavior
* [#10712](https://github.com/apache/nuttx/pull/10712) wireless: bcm43xxx: parse channel from IE when ctl_ch is 0
* [#10783](https://github.com/apache/nuttx/pull/10783) wireless: bcm43xxx: revert part of the previous upstream code
* [#9668](https://github.com/apache/nuttx/pull/9668) wireless: gs2200m: add NET_TCP dependency to NFS_DONT_BIND_TCP_SOCKET option
Board Support
New Board Support
* [#10790](https://github.com/apache/nuttx/pull/10790) arm: nrf52: add initial support for thingy91 board (nrf9160 and nrf52840 chips)
* [#10217](https://github.com/apache/nuttx/pull/10217) arm: nrf52: arduino-nano-33ble-rev2:Add support for Arduino Nano 33 BLE Rev2 board
* [#10791](https://github.com/apache/nuttx/pull/10791) arm: nrf91: initial support for nrf9160-dk
* [#10385](https://github.com/apache/nuttx/pull/10385) arm: stm32f7: Meadow.OS integration - Part 1
* [#9853](https://github.com/apache/nuttx/pull/9853) arm: stm32u5: nucleo-u5a5zj-q: Initial support for NUCLEO-U5A5ZJ-Q board
* [#10631](https://github.com/apache/nuttx/pull/10631) arm: stm32f7: Add support to F7 Core Compute
* [#10392](https://github.com/apache/nuttx/pull/10392) arm: stm32f7: Add support to Common Boards to STM32F7 and ProjectLab board
* [#10094](https://github.com/apache/nuttx/pull/10094) risc-v: jh7110:star64: Add support for PINE64 Star64 JH7110 SBC
* [#10769](https://github.com/apache/nuttx/pull/10769) xtensa: esp32s3: Add ESP32-S3-BOX development board basic BSP
Boards With Improvements
* [#10074](https://github.com/apache/nuttx/pull/10074) add KEEP to *(.init_array .init_array.*)
* [#9671](https://github.com/apache/nuttx/pull/9671) boardctl: Add const to struct boardioc_symtab_s::symtab
* [#9659](https://github.com/apache/nuttx/pull/9659) Enable virtio-blk and FAT for virt configurations
* [#10342](https://github.com/apache/nuttx/pull/10342) Fix QEMU_VIRTIO_MMIO_NUM
* [#10382](https://github.com/apache/nuttx/pull/10382) init_array.* needs to be executed in order
* [#10227](https://github.com/apache/nuttx/pull/10227) update README for virtio gpu driver
* [#9856](https://github.com/apache/nuttx/pull/9856) use the example from NuttX-apps for all NimBLE configurations
* [#9660](https://github.com/apache/nuttx/pull/9660) arm: qemu-armv8a: Add defconfigs for hypervisor
* [#9713](https://github.com/apache/nuttx/pull/9713) arm: cxd56xx: alt1250: Change power on sequence
* [#10099](https://github.com/apache/nuttx/pull/10099) arm: cxd56xx: Disable NET_ARP from lte defconfig
* [#10389](https://github.com/apache/nuttx/pull/10389) arm: cxd56xx: Fix charger and gauge initialize functions
* [#10101](https://github.com/apache/nuttx/pull/10101) arm: cxd56xx: Fix duplicate make target
* [#9966](https://github.com/apache/nuttx/pull/9966) arm: cxd56xx: Fix issue that GPO is not iniitalized by watchdog
* [#9692](https://github.com/apache/nuttx/pull/9692) arm: cxd56xx: Fix system clock to HV mode for video drivers
* [#10407](https://github.com/apache/nuttx/pull/10407) arm: cxd56xx: lte: use mbedtls version configured
* [#10777](https://github.com/apache/nuttx/pull/10777) arm: sam34: arduino-due: Add activation of SPI0 on arduino due
* [#10718](https://github.com/apache/nuttx/pull/10718) arm: sam34: arduino-due: Use standard arm-none-eabi toolchain by default.
* [#10210](https://github.com/apache/nuttx/pull/10210) arm: stm32: stm32f429i-disco: enable CONFIG_BOARDCTL for ofloader
* [#9962](https://github.com/apache/nuttx/pull/9962) arm: stm32: stm32f429i-disco: support stm32f429i-disco run open flash loader
* [#10522](https://github.com/apache/nuttx/pull/10522) arm: stm32: stm32f411e-disco: Fixes f4 disco
* [#10524](https://github.com/apache/nuttx/pull/10524) arm: stm32: stm32f411e-disco: F411e disco buttons
* [#10006](https://github.com/apache/nuttx/pull/10006) arm: stm32: nucleo-f446re: SystemView example based on nucleo-f446re
* [#10753](https://github.com/apache/nuttx/pull/10753) arm: stm32l4: nucleo-l432kc: Fix I2C1 pinout.
* [#10109](https://github.com/apache/nuttx/pull/10109) arm: stm32f7: stm32f7-meadow: Add spiflash support
* [#9847](https://github.com/apache/nuttx/pull/9847) arm: stm32f7: stm32f777zit6-meadow: Add usbnsh board profile
* [#10750](https://github.com/apache/nuttx/pull/10750) arm: stm32h7: nucleo-h745zi: access CM4 core NSH over uart rpmsg
* [#10223](https://github.com/apache/nuttx/pull/10223) arm: stm32h7: nucleo-h743zi: HCLK and ACLK are delivered from SYSCLK not CPUCLK
* [#10198](https://github.com/apache/nuttx/pull/10198) arm: stm32h7: stm32h745i-disco: supported external SDRAM
* [#10196](https://github.com/apache/nuttx/pull/10196) arm: kinetis: freedom-k28f:nshsdusb: Remove CONFIG_NETDB_BUFSIZE
* [#10274](https://github.com/apache/nuttx/pull/10274) arm: nrf52: arduino-nano-33ble{-rev2}: use bool for leds state
* [#10412](https://github.com/apache/nuttx/pull/10412) arm: nrf52: nrf52840-dk: add lsm9ds1 sensor support
* [#10767](https://github.com/apache/nuttx/pull/10767) arm: nrf52: thingy52: use RTT console as default
* [#10304](https://github.com/apache/nuttx/pull/10304) arm: nrf53: fix broken rptun
* [#10789](https://github.com/apache/nuttx/pull/10789) arm: nrf53: thingy53: add rgbled and i2c tools support
* [#9873](https://github.com/apache/nuttx/pull/9873) arm: nrf91: nrf9160-dk: improvements for modem and support for modem sockets
* [#9639](https://github.com/apache/nuttx/pull/9639) arm: xmc4: Fixes for xmc4700-relax board
* [#10529](https://github.com/apache/nuttx/pull/10529) arm64: rk3399: pinephonepro: Add support for board reset.
* [#10574](https://github.com/apache/nuttx/pull/10574) qemu: get reg and irq from devicetree node rather than macro
* [#10345](https://github.com/apache/nuttx/pull/10345) risc-v: Add -melf64lriscv to 64bit USER_LDFLAGS:LDELFFLAGS
* [#10307](https://github.com/apache/nuttx/pull/10307) risc-v: bl602: Move c++ related setting from wifi to elf
* [#10444](https://github.com/apache/nuttx/pull/10444) sim: add defconfig for ltp openposix testsuite
* [#10115](https://github.com/apache/nuttx/pull/10115) sim: add wakaama example configuration
* [#9955](https://github.com/apache/nuttx/pull/9955) sim: remove unnecessary config EXAMPLES_SOTEST_DEVPATH
* [#10695](https://github.com/apache/nuttx/pull/10695) sim: Minor USB improvement
* [#10016](https://github.com/apache/nuttx/pull/10016) sim: enable SIM_WALLTIME_SIGNAL for citest
* [#10570](https://github.com/apache/nuttx/pull/10570) sim: crypto: Enable CONFIG_CRYPTO_SW_AES
* [#9801](https://github.com/apache/nuttx/pull/9801) arm: tiva: lm3s6432-s2e: Enable LTO for lm3s6432-s2e:nsh
* [#10530](https://github.com/apache/nuttx/pull/10530) xtensa: esp32: Add twai defconfigs to esp32
* [#9884](https://github.com/apache/nuttx/pull/9884) xtensa: esp32: esp32-devkitc: Refresh wifi_smp_rmt config
* [#9709](https://github.com/apache/nuttx/pull/9709) xtensa: esp32: esp32-devkitc: wamr_wasi_debug: enable wasi-threads
* [#9752](https://github.com/apache/nuttx/pull/9752) xtensa: esp32s2: Add basic support to SPIFLASH
* [#9868](https://github.com/apache/nuttx/pull/9868) xtensa: esp32s3: Do not include specfic board in commom
* [#9870](https://github.com/apache/nuttx/pull/9870) xtensa: esp32s3: Some follow-up changes for ESP32s3 32M flash support
* [#10748](https://github.com/apache/nuttx/pull/10748) xtensa: esp32s3: esp32s3-devkit:disable esp32s3-devkit:ksta_softap spinlock config
* [#10588](https://github.com/apache/nuttx/pull/10588) xtensa: esp32s3: esp32s3-devkit:Add board GPIO support
* [#10387](https://github.com/apache/nuttx/pull/10387) xtensa: esp32s3: esp32s3-lcd-ev: Add ESP32-S3-LCD-EV development board BSP
* [#10591](https://github.com/apache/nuttx/pull/10591) x86_64: Change up_netinitialize to x86_64_netinitialize
Graphics
Improvements
* [#9909](https://github.com/apache/nuttx/pull/9909) graphics: remove sched_[un]lock
Crypto
Improvements
* [#10072](https://github.com/apache/nuttx/pull/10072) add curve25519 license
* [#10772](https://github.com/apache/nuttx/pull/10772) cryptodev: expansion hash operation
* [#10073](https://github.com/apache/nuttx/pull/10073) export MD5:SHA1:SHA256:SHA512 via :dev:crypto
* [#10129](https://github.com/apache/nuttx/pull/10129) export SHA224:SHA384 via :dev:crypto
* [#10517](https://github.com/apache/nuttx/pull/10517) fix multiple definition of 'poly1305_init'
* [#10020](https://github.com/apache/nuttx/pull/10020) fix nuttx crypto stability bug
* [#10134](https://github.com/apache/nuttx/pull/10134) fix typo for blake2s
* [#10060](https://github.com/apache/nuttx/pull/10060) not use software algorithm in nuttx crypto by default
* [#10026](https://github.com/apache/nuttx/pull/10026) porting Curve25519
* [#10211](https://github.com/apache/nuttx/pull/10211) remove CRYPTO_SW_AES and CRYPTO_BLAKE2S
* [#10244](https://github.com/apache/nuttx/pull/10244) remove software algorithm coupling in cryptodev
* [#10260](https://github.com/apache/nuttx/pull/10260) update aes algorithm process
File System
Improvements
* [#10061](https://github.com/apache/nuttx/pull/10061) add pipe type support to inode
* [#10764](https://github.com/apache/nuttx/pull/10764) add syncfs api for sync whole fs data
* [#9656](https://github.com/apache/nuttx/pull/9656) Define __USE_FILE_OFFSET64 when CONFIG_FS_LARGEFILE is enabled
* [#10779](https://github.com/apache/nuttx/pull/10779) hostfs: mask bit fields of not support
* [#10257](https://github.com/apache/nuttx/pull/10257) ioctl: add BIOC_BLKGETSIZE cmd to get block sector numbers
* [#10418](https://github.com/apache/nuttx/pull/10418) inode:i_private: remove all unnecessary cast for i_private
* [#10422](https://github.com/apache/nuttx/pull/10422) inode: remove all unnecessary check for filep:inode
* [#9685](https://github.com/apache/nuttx/pull/9685) mount: correct df -h output format
* [#9654](https://github.com/apache/nuttx/pull/9654) nfs: Fix nfs client
* [#9963](https://github.com/apache/nuttx/pull/9963) nfs: support seek, fsync operation
* [#9936](https://github.com/apache/nuttx/pull/9936) partition: Add txt partition table parser
* [#9939](https://github.com/apache/nuttx/pull/9939) procfs: call the close of each component when procfs_close
* [#10059](https://github.com/apache/nuttx/pull/10059) procfs: Optimize fd information output format
* [#10647](https://github.com/apache/nuttx/pull/10647) procfs: vela fs procfs add clock procfs entry
* [#9929](https://github.com/apache/nuttx/pull/9929) pseudo-file: support pseudo-file operation
* [#10004](https://github.com/apache/nuttx/pull/10004) romfs: Fix FIOC_FILEPATH for dup'ed file
* [#10075](https://github.com/apache/nuttx/pull/10075) remove (flags & MAP_PRIVATE) == 0.
* [#9905](https://github.com/apache/nuttx/pull/9905) semaphore: modify or remove sched_[un]lock
* [#9924](https://github.com/apache/nuttx/pull/9924) semaphore: fix sem_open
* [#10343](https://github.com/apache/nuttx/pull/10343) shmfs: Fix illegal usage of void* arithmetics
* [#10039](https://github.com/apache/nuttx/pull/10039) tmpfs: fix tmpfs_read overwrite after seek over tfo_size
* [#9910](https://github.com/apache/nuttx/pull/9910) unionfs: Remove unionfs_mount function
* [#10295](https://github.com/apache/nuttx/pull/10295) vfs: add nxsched_foreach to sched_lock avoid crash
* [#9798](https://github.com/apache/nuttx/pull/9798) vfs: add refcnt using epoll_create to fix bug when use popen which dup the fd and close at end after epoll_create
* [#9927](https://github.com/apache/nuttx/pull/9927) vfs: dup: add nonblock flag to avoid happening block when dup
* [#10545](https://github.com/apache/nuttx/pull/10545) vfs: fix dup issue for eventfd:signalfd:timerfd
* [#10096](https://github.com/apache/nuttx/pull/10096) vfs: fs_open: add ioctl checkflag
* [#10007](https://github.com/apache/nuttx/pull/10007) vfs: open: Use file mode only when O_CREAT is specified.
* [#9925](https://github.com/apache/nuttx/pull/9925) vfs: posix: fix ltp test errors
Networking
Improvements
* [#10038](https://github.com/apache/nuttx/pull/10038) add check for address binding
* [#10226](https://github.com/apache/nuttx/pull/10226) add FIOC_FILEPATH ioctl support for ICMP(v6):RPMsg:Usrsock sockets
* [#10103](https://github.com/apache/nuttx/pull/10103) add FIOC_FILEPATH ioctl support for tcp:udp:local sockets
* [#10319](https://github.com/apache/nuttx/pull/10319) add IP_MULTICAST_IF & IPV6_MULTICAST_IF function implementation
* [#9791](https://github.com/apache/nuttx/pull/9791) add msg_peek support for udp and tcp
* [#10111](https://github.com/apache/nuttx/pull/10111) add poll lock for local socket poll
* [#9744](https://github.com/apache/nuttx/pull/9744) add netfilter compatible definitions for iptables
* [#10539](https://github.com/apache/nuttx/pull/10539) arp: arp should depends on MM_IOB
* [#10293](https://github.com/apache/nuttx/pull/10293) arp: print dest ip address when receive wait timeout
* [#10449](https://github.com/apache/nuttx/pull/10449) assert: remove all unnecessary check for psock:conn
* [#10448](https://github.com/apache/nuttx/pull/10448) can: correct the return value if unsupported socket type
* [#10279](https://github.com/apache/nuttx/pull/10279) can: socketcan: fixed CAN ID cast error
* [#10549](https://github.com/apache/nuttx/pull/10549) can: socketcan: recv : fixed recv filter not work in special case
* [#10547](https://github.com/apache/nuttx/pull/10547) can: socketcan: support error frame filter
* [#10611](https://github.com/apache/nuttx/pull/10611) cmake: complete missing changes during reforming for net
* [#10314](https://github.com/apache/nuttx/pull/10314) devif: devif_poll : d_len must positive before invoke callback
* [#10621](https://github.com/apache/nuttx/pull/10621) devif_callback: modify the code logic to conform to the comment
* [#10278](https://github.com/apache/nuttx/pull/10278) icmp: add SOCK_RAW type support
* [#10158](https://github.com/apache/nuttx/pull/10158) icmpv6: Fix icmpv6_neighbor for link-local address
* [#10140](https://github.com/apache/nuttx/pull/10140) icmpv6: Fix value of SIZEOF_ICMPV6_ECHO_xxx_S
* [#9743](https://github.com/apache/nuttx/pull/9743) if.h: add definitions associated with IF_OPER_
* [#10541](https://github.com/apache/nuttx/pull/10541) inet_sendto: correct error messages and remove the comment
* [#10034](https://github.com/apache/nuttx/pull/10034) inet_sockif.c: In tcp protocol, Add random ports during the listening phase, if no ports are bound
* [#9742](https://github.com/apache/nuttx/pull/9742) ioctl: add some bridge calls command
* [#10301](https://github.com/apache/nuttx/pull/10301) ip: print ip addresses using ip4_addrN macro
* [#10018](https://github.com/apache/nuttx/pull/10018) ipv4_setsockopt.c:Modify IP_ MULTICAST_ TTL setting range
* [#10296](https://github.com/apache/nuttx/pull/10296) ipv6_setsockopt: remove redundant logic
* [#9702](https://github.com/apache/nuttx/pull/9702) limit max value for Send:Recv bufsize
* [#10230](https://github.com/apache/nuttx/pull/10230) local: Add peek support for pipe and MSG_PEEK support for local so…
* [#9999](https://github.com/apache/nuttx/pull/9999) local: Add support for MSG_DONTWAIT to SOCK_STREAM
* [#10219](https://github.com/apache/nuttx/pull/10219) local: Fix the error return length when read the bigger packet.
* [#10308](https://github.com/apache/nuttx/pull/10308) local: Fix the bug that localsocket fails to send in CONFIG_NET_LOCAL_DGRAM …
* [#10413](https://github.com/apache/nuttx/pull/10413) local: fix visual studio Compiler Error C2057
* [#9867](https://github.com/apache/nuttx/pull/9867) local: forward threshold ioctl() to pipe
* [#10298](https://github.com/apache/nuttx/pull/10298) local: local_recvmsg: do not print error message when errno is EAGAIN
* [#10027](https://github.com/apache/nuttx/pull/10027) local: local_sockif.c:add local_getpeername function implementation
* [#9841](https://github.com/apache/nuttx/pull/9841) local: remove client from server.lc_waiters when client close
* [#10221](https://github.com/apache/nuttx/pull/10221) local: Return an error when write the too big packet.
* [#10466](https://github.com/apache/nuttx/pull/10466) local: Replace strlen with sizeof for kconfig string
* [#10785](https://github.com/apache/nuttx/pull/10785) local: socket: fix accept used after free
* [#9814](https://github.com/apache/nuttx/pull/9814) local: Support the abstract path to connect
* [#9778](https://github.com/apache/nuttx/pull/9778) local: Support the socketpair interface of local udp socket.
* [#10538](https://github.com/apache/nuttx/pull/10538) mld: add byte order conversion for ipv6 address printing
* [#10117](https://github.com/apache/nuttx/pull/10117) netdev: Simplify handling of SIOCSIFMTU
* [#9745](https://github.com/apache/nuttx/pull/9745) netlink: add some definition
* [#10143](https://github.com/apache/nuttx/pull/10143) remove [enter|leave]_critical_section and sched_[un]lock
* [#9928](https://github.com/apache/nuttx/pull/9928) rpmsg: get credentials between client and server
* [#9952](https://github.com/apache/nuttx/pull/9952) rpmsg: read receiving data after unbind
* [#10046](https://github.com/apache/nuttx/pull/10046) rpmsg: rpmsg_socket update
* [#10289](https://github.com/apache/nuttx/pull/10289) rpmsg: rpmsg_sockif: block poll shoud not set POLLERR
* [#10661](https://github.com/apache/nuttx/pull/10661) rpmsg: set conn->backlog=-1 only when socket listening
* [#10669](https://github.com/apache/nuttx/pull/10669) rpmsg: socket: add return value check.
* [#10537](https://github.com/apache/nuttx/pull/10537) rpmsg_sockif: add recvlock for conn->sendsize in connect
* [#9879](https://github.com/apache/nuttx/pull/9879) setsockopt: Add IP_TTL support
* [#10437](https://github.com/apache/nuttx/pull/10437) socket: bind: make sure that an address was provided
* [#10309](https://github.com/apache/nuttx/pull/10309) tcp: Added tcp zero window probe timer support
* [#10218](https://github.com/apache/nuttx/pull/10218) tcp: Fix the sack byte aligment error.
* [#10324](https://github.com/apache/nuttx/pull/10324) tcp: Fix unreadable error when doing poll operation on tcp socket.
* [#10022](https://github.com/apache/nuttx/pull/10022) tcp: return -EINVAL if bind is called more than once
* [#10608](https://github.com/apache/nuttx/pull/10608) tcp: Set SO_ERROR for poll error in setup
* [#10618](https://github.com/apache/nuttx/pull/10618) tcp: Stop monitor in tcp_free
* [#10459](https://github.com/apache/nuttx/pull/10459) tcp: tcp_input: update tx_unack before reorder_ofosegs
* [#10703](https://github.com/apache/nuttx/pull/10703) tcp: tcp_ofosegs: prepare iob to reset io_offset
* [#10627](https://github.com/apache/nuttx/pull/10627) tcp: psock_tcp_cansend: return EWOULDBLOCK when send buffer is full
* [#10177](https://github.com/apache/nuttx/pull/10177) tun: move tun related macro definitions out of CONFIG_NET_TUN
* [#10025](https://github.com/apache/nuttx/pull/10025) udp: add check of the ip packet length
* [#9844](https://github.com/apache/nuttx/pull/9844) udp: Change conn->readahead to I:O buffer chain
* [#9792](https://github.com/apache/nuttx/pull/9792) udp: Fix the bug of overwriting when the udp recv buffer is full
* [#10329](https://github.com/apache/nuttx/pull/10329) udp: Fix hybrid dual-stack IPv6:IPv4 socket
* [#9625](https://github.com/apache/nuttx/pull/9625) udp: Populate the udp connection structure with the address family.
* [#10032](https://github.com/apache/nuttx/pull/10032) udp: resolve udp disconnection, status not synchronized error
* [#9647](https://github.com/apache/nuttx/pull/9647) usrsock: Add new interface to tell usrsock available
* [#10762](https://github.com/apache/nuttx/pull/10762) utils: refine: set file mode when oflags contains O_CREAT
* [#10390](https://github.com/apache/nuttx/pull/10390) xx: wrbuffer: Do not use SEM_INITIALIZER for buffers
* [#10102](https://github.com/apache/nuttx/pull/10102) wireless: bluetooth: correct judgment conditions
* [#10654](https://github.com/apache/nuttx/pull/10654) wireless: enable O_CLOEXEC explicit
Compatibility Concerns
* [#10480](https://github.com/apache/nuttx/pull/10480) usbdev: Split usbdev descriptor information  
Split usbdev descriptor information, let the class device only handles descriptor information specific to the class, and shared descriptor information is passed through parameters and handled by the composite driver.
Impact
composite_initialize arguments have changed and board specific composite initialization needs to be updated.
before:
FAR void *composite_initialize(uint8_t ndevices, FAR struct composite_devdesc_s *pdevices);
after:
FAR void *composite_initialize(FAR const struct usbdev_devdescs_s *devdescs, FAR struct composite_devdesc_s *pdevices, uint8_t ndevices);
* [#10453](https://github.com/apache/nuttx/pull/10453) usbdev: Use BOARD_USBDEV_SERIALSTR config directly  
A usbdev has only one serial string, so use a unique macro to control it.
Delete the configurations for COMPOSITE_BOARD_SERIALSTR, PL2303_BOARD_SERIALSTR, CDCACM_BOARD_SERIALSTR, USBADB_BOARD_SERIALSTR, USBMSC_BOARD_SERIALSTR, and RNDIS_BOARD_SERIALSTR, and use BOARD_USBDEV_SERIALSTR for unification.
Impact
For boards that enable board serial string using COMPOSITE_BOARD_SERIALSTR, PL2303_BOARD_SERIALSTR, CDCACM_BOARD_SERIALSTR, USBADB_BOARD_SERIALSTR, USBMSC_BOARD_SERIALSTR, and RNDIS_BOARD_SERIALSTR, they need to be replaced with BOARD_USBDEV_SERIALSTR.
* [#9932](https://github.com/apache/nuttx/pull/9932) video: driver support multiple instance 
The interface of video_uninitialize() has changed and is no longer compatible.

View file

@ -0,0 +1,46 @@
NuttX-4.14
----------
This is the 46th release of NuttX. The release extends the support
for the STMicro STM32 microcontroller. Minimal support for the
STM3210E-EVAL development board based around the STM32F103ZET6 MCU
was released in NuttX-0.4.12 and extended in NuttX-0.4.13 to include
initial USB support. This completes the STM32F103ZET6 and adds:
New Generic RTOS Features:
* Added generic support that can be included in any block driver
to provide read-ahead buffering and write buffering for improved
driver performance.
* Added a generic worker thread that can used to defer processing
from an interrupt to a task.
* Defined a generic SD/SDIO interface can can be bound to a MMC/SD
or SDIO driver to provide SDIO support.
* Implemented a an SDIO-based MMC/SD driver using this new SDIO
interface.
New STM32 Features:
* Add support to configure an STM32 input GPIO to generate an
EXTI interrupt.
* Added support for buttons on the STM3210E-EVAL board.
* Implemented an STM32 version of the common the SDIO interface.
* Added a configuration to exercise the STM32 with the USB mass
storage device class example.
This release also corrects some important bugs in the early STM32 release:
* Correct error handling in the mount() logic.
* Fixed several STM32 DMA-related issues. Integrated and debugged
STM32 DMA functionality that was added in 0.4.12.
* Fixed several bugs in the STM32 USB device-side driver.
NOTE: This version, 4.14, is equivalent to what would have been
called 0.4.14 to follow 0.4.13. The zero has been eliminated from
the front of the version number to avoid confusion about the state
of development: Some have interpreted the leading zero to mean
that the code is in some way unstable. That was not the intent.
Beginning in January 2010, I will switch to the 2010.nn versioning
as many others have done to avoid such confusion.
This tarball contains a complete CVS snapshot from December 2, 2009

View file

@ -0,0 +1,57 @@
NuttX-5.0
---------
This is 47th release of NuttX and the successor to nuttx-4.14. This
major revision number has been incremented to indicate that an
incompatibility with previous nuttx releases has been introduced.
This version adopts standard fixed width integer names as specified
by the ANSI C99 standard. The core logic of NuttX is older than
that standard and did not conform to it.
If you have applications running on NuttX-4.14, those applications
should continue to build and execute without problem on NuttX-5.0.
However, if you have device drivers or other OS-internal logic, you
will probably have to make some minor changes to your code to use
this version. Below is a summary of those changes:
* If you include sys/types.h to get the non-standard, fixed width
integer types (uint32, uint16, ubyte, etc.), that is no longer
necessary.
* Instead, you will need to include stdint.h where the new fixed
width integer types are defined (uint32_t, uint16_t, uint8_t, etc).
* You will have to change all occurrences of the following types:
uint32 -> uint32_t
uint16 -> uint16_t
ubyte -> uint8_t
uint8 -> uint8_t
sint32 -> int32_t
sint16 -> int16_t
sint8 -> int8_t
* In addition, the non-standard type 'boolean' must replaced with
the standard type 'bool'. The type definition for 'bool' is in
stdbool.h
This change in typing caused small changes to many, many files. It
was verified that all configurations in the release still build
correctly (other than the SDCC-based configurations). Regression
testing was performed on a few configurations, but it is possible
that minor build issues still exist. (If you encounter any, please
let me know and I will help you to fix them.)
In the course of the regression testing, several important bugs
unrelated to the type changes were found and corrected.
* Fixed an important error in the RX FIFO handling logic of the
LM3S6918 Ethernet driver.
* Corrected the handling of TCP sequence numbers in the TCP stack.
* And other less important bugs as detailed in the ChangeLog.
The primary focus of this release was standards compatibility, but
a few new features were added including a (1) Flash Translation
Layer (FTL) that will support filesystems on a FLASH device and (2)
partial ports for the STM32F107VC and HCS12 C9S12NE64 MCUs. Those
ports are very incomplete as of this writing.
This tarball contains a complete CVS snapshot from December 21, 2009

View file

@ -0,0 +1,39 @@
NuttX-5.1
---------
This is the 48th release of NuttX. This release adds support for
two new MCU architectures in various states of development:
* AT91SAM3U (http://www.atmel.com/products/at91/sam3landing.asp?family_id=605)
This release adds support for the SAM3U-EK development board with
the AT91SAM3U4E MCU
(http://www.atmel.com/dyn/products/product_card_mcu.asp?part_id=4562).
As with most NuttX architecture releases, the release will be
rolled out in two parts: A basic port and an extended port.
NuttX-5.1 includes the basic port for the SAM3U-EK board. This
release passes the NuttX OS test and is proven to have a valid
OS implementation. It supports the basic boot-up, serial console
and timer interrupts. A configuration to support the NuttShell
is also included.
The extended port will also include support for SDIO-based SD
cards and USB device (and possible LCD support). These extensions
may or may not happen by the NuttX 5.2 release as my plate is
kind of full now.
* LPC3131 (http://ics.nxp.com/products/lpc3000/lpc313x.lpc314x.lpc315x/)
This release also adds the complete implementation of the basic
port for the NXP LPC3131 MCU on the Embedded Artists EA3131 board
(http://www.embeddedartists.com/products/kits/lpc3131_kit.php).
That port, unfortunately has stalled due to tools issues. Those
tool issues have been resolved and I am confident that the verified
basic port will be available in NuttX-5.2.
The extended release will follow and should include SDIO-based
SD card support and device USB.
A few additional features and bugfixes of a minor nature were also
incorporated as detailed in the ChangeLog.

View file

@ -0,0 +1,52 @@
NuttX-5.10
----------
This is the 57th release of NuttX. This release includes a combination
of some new features as well as several bugfixes. New features
include:
* TI/Luminary Stellaris LM3S9B96:
Header file changes contributed by Tiago Maluta.
* TI/Luminary Stellaris LM3S8962:
Header file changes and support for the Stellaris LM3S8962
Ethernet+CAN Evaluation Board contributed by Larry Arnold.
* On-Demand Paging Support:
The basic logic for the On-Demand Paging feature is complete,
implemented for the NXP LPC3131, and partially tested. See
https://nuttx.apache.org/docs/latest/components/paging.html.
Some additional test infrastructure will be needed in order to complete
the verification. See configs/ea3131/README.txt for details.
* Two Pass Build Support:
The make system now supports a two pass build where a relocatable,
partially linked object is created on the first pass and that
object is linked with the NuttX libraries to produce the final
executable on the second pass. This two pass build is currently
only used to support the On-Demand paging feature: The first
pass link forces critical logic into the locked text region;
the second pass builds the NuttX executable more-or-less as
normal.
* CONFIG_APP_DIR:
Generalized the way in which applications are built and linked
with NuttX. The new configuration CONFIG_APP_DIR replaces
CONFIG_EXAMPLE. CONFIG_EXAMPLE used to identify the sub-directory
within the NuttX examples/ directory that held the example
application to be built. That made it awkward to configure to
build an application that resides outside of the NuttX examples/
directory. CONFIG_APP_DIR is more general; it can be used to
refer to any directory containing the application to be built.
For people who have their own configurations and/or Makefiles,
you will need to make a couple of changes:
- Replace all occurrences of CONFIG_EXAMPLE=foobar with
CONFIG_APP_DIR=examples/foobar in all of the configuration
files.
- Replace any occurrences of examples/$(CONFIG_EXAMPLE) with
$(CONFIG_APP_DIR)
- Replace any occurrences of lib$(CONFIG_EXAMPLE)$(LIBEXT)
with libapp$(LIBEXT) in your Makefiles.
- Check any other occurrences of CONFIG_EXAMPLE.
* Several bugfixes are included as well as code changes to eliminate
some warnings. See the ChangeLog for details.

View file

@ -0,0 +1,18 @@
NuttX-5.11
----------
This is the 58th release of NuttX. This is a bugfix release.
* One very important bug fixes a race condition that can occur
using semaphores that can be awakened by signals. Under this
particular race condition, a task could hang waiting for a
semaphore.
* Corrections to lm3s8962 port contributed by Larry Arnold. That
port is purported to work correctly with these changes in place.
Plus less critical bugfixes as detailed in the ChangeLog. New features
include:
* A new configuration to support the mbed.org LPC1768 board.
(Contributed by Dave Marples.)
* A driver for the Atmel AT45DB161D 4Mbit SPI FLASH part

View file

@ -0,0 +1,25 @@
NuttX-5.12
----------
This is the 59th release of NuttX. This is a critical bugfix release.
* Fixed an important error in the signal trampoline logic.
Essentially, interrupts are re-enabled while the signal handler
executes, but the logic to re-disable the interrupts before
returning from the signal handler trampoline was missing. Under
certain circumstances, this can cause stack corruption. This
was discovered by David Hewson on an ARM9 platform, but since
the code has been leveraged, the bug has been propagated from
ARM to Cortex-M3, AVR32, M16C, SH1, ZNEO, eZ80, Z8, and Z80 --
almost every architecture. The correction has been incorporated
for all architectures but only verified on a few.
Other notable changes in NuttX-5.12:
* A complete port for the AVR32 (AT32UC3B0256) is incorporated
in the source tree. Testing of this port is underway now. This
release was made before verifying this port in order to get the
important bugfix in place.
* Other miscellaneous bugfix and enhancements as noted in the
ChangeLog.

View file

@ -0,0 +1,40 @@
NuttX-5.13
----------
This is the 60th release of NuttX. Headlines for this release
include:
* AVR32, www.mcuzone.com AVR32DEV1
The port for the www.mcuzone.com AVRDEV1 board based on the
Atmel AT32UC3B0256 MCU was (almost) fully integrated. The port
now successfully passes the NuttX OS test (examples/ostest).
A NuttShell (NSH) configuration is in place (see the NSH User
Guide at https://nuttx.apache.org/docs/latest/components/nsh/index.html).
Testing of that NSH configuration, however, has been postponed
(because it got bumped by the Olimex LPC1766-STK port -- see below)
Current Status: I think I have a hardware problem with my serial
port setup. There is a good chance that the NSH port is complete
and functional, but I am not yet able to demonstrate that. At
present, I get nothing coming in the serial RXD line (probably
because the pins are configured wrong or I have the MAX232
connected wrong).
A complete port will include drivers for additional AVR32 UC3
devices -- like SPI and USB --- and will be available in a
later release, time permitting.
* LPC1766, Olimex LPC1766-STK
Support for the Olimex-LPC1766 is newly added to NuttX and is
still undergoing development, test, and integration. Verified
configurations for the NuttX OS test and for the NuttShell (NSH,
see the NSH User Guide at
https://nuttx.apache.org/docs/latest/components/nsh/index.html .
Additional USB configurations are in the release as well, but
they have not yet been verified. Goals for NuttX-5.14 include:
(1) An Ethernet driver, (2) Verified USB support, and (3) SD
card support.
* Additional changes and bugfixes as detailed in the ChangeLog.

View file

@ -0,0 +1,45 @@
NuttX-5.14
----------
The 61st release of NuttX, NuttX-5.14, was made on November 27,
2010. This release includes multiple, important bugfixes as well
as a new driver for the NXP LPC1766.
This release corresponds with SVN release number: r3137
Important bugfixes include:
* Cortex-M3 Hard Fault. Fixed a hard fault problem that can occur
if certain types of interrupts are pending at the time another
interrupt returns. This problem has only been observed on the
LPC1766 (returning from a SYSTICK interrupt with a pending
Ethernet interrupt). However, it is assumed that all Cortex-M3
ports could have this as a latent bug.
* TCP/IP Sequence Number Bug. Corrected errors some important
logic in the way that sequence numbers are managed when send()
sends out packets before a previous packet has been acknowledged.
Some of that send() logic was incompatible with logic in the
uIP layer. Errors seen include: (1) The final final packet in
a sequence of packets might be too large! In the THTTPD example,
this might leave some garbage at the bottom of the display. Or
(2) send() might hang with outstanding, unacknowledged data
(and with no re-transmission requests). This was due to
differences in sequence number handling in send() and in
uip_tcpinput.c; uip_tcpinput.c thought (incorrectly) that all
of the bytes were acknowledged; send.c knew that they were not.
* One-Shot POSIX Timer Bug. Fixed an error in set-up of a one-shot
POSIX timer. It was using the repetitive timer value (which
is zero in the one-shot case), always resulting in a 10Ms timer!
Found and fixed by Wilton Tong.
Additional support has been included for the Olimex-LPC1766. Support
for that board was added to NuttX 5.13. This release extends that
support with an Ethernet driver. Verified configurations are now
available for the NuttX OS test, for the NuttShell (NSH, see
https://nuttx.apache.org/docs/latest/components/nsh/index.html),
for the NuttX network test, and for the THTTPD webserver.
(Additional USB configurations are in the release as well, but those
have not yet been verified. Goals for NuttX-5.15 (and beyond) include:
(1) Verified USB support, (2) SD card support, and (3) LCD support.

View file

@ -0,0 +1,43 @@
NuttX-5.15
----------
The 62nd release of NuttX, NuttX-5.15, was made on December 12,
2010. This release includes several bugfixes as well as feature
enhancements, primarily for the Olimex LPC1766-STK board.
Important bugfixes included:
* Additional fixes needed with the TCP sequence number problem
"fixed" in NuttX-5.14.
* In the send() logic, now checks if the destination IP address
is in the ARP table before sending the packet; an ARP request
will go out instead. This improves behavior, for example, on
the first on the first GET request from a browser
* All USB class drivers need to call DEV_CONNECT() when they are
ready to be enumerated. That is, (1) initially when bound to
the USB driver, and (2) after a USB reset.
* The SPI_SETBITS macro was calling the SPI setmode method.
* And several other bug fixes of lower importance (see the
ChangeLog for details).
And feature enhancements:
* The LPC176x Ethernet driver was using all of AHB SRAM Bank0 for
Ethernet packet buffers (16K). An option was added to limit
the amount of SRAM used for packet buffering and to re-use any
extra Bank0 memory for heap.
* Enabled networking and SD/MMC card support in the Olimex
LPC1766-STK NuttShell (NSH) configuration.
* The LPC176x USB driver is now fully fully functional.
* Added an optional cmddata() method to the SPI interface. Some
devices require an additional out-of-band bit to specify if the
next word sent to the device is a command or data. The cmddata
method provides selection of command or data.
* A driver for the Nokia 6100 LCD (with either the Phillips PCF8833
LCD controller and for the Epson S1D15G10 LCD controller) and
an NX graphics configuration for the Olimex LPC1766-STK have
been added. However, neither the LCD driver nor the NX
configuration have been verified as of the this release.

View file

@ -0,0 +1,86 @@
NuttX-5.16
----------
The 63rd release of NuttX, Version 5.16, was made on January 10,
2010 and is available for download from the SourceForge website.
This release includes initial support for USB host in NuttX. The
USB host infrastructure is new to NuttX. This initial USB host release
is probably only beta quality; it is expected the some bugs remain
in the logic and that the functionality requires extension.
Below is a summary of the NuttX USB host implementation as extracted
from the NuttX Porting Guide:
6.3.9 USB Host-Side Drivers
* include/nuttx/usb/usbhost.h. All structures and APIs needed to
work with USB host-side drivers are provided in this header
file.
* struct usbhost_driver_s. Each USB host controller driver must
implement an instance of struct usbhost_driver_s. This structure
is defined in include/nuttx/usb/usbhost.h. Examples:
arch/arm/src/lpc17xx/lpc17_usbhost.c.
* struct usbhost_class_s. Each USB host class driver must implement
an instance of struct usbhost_class_s. This structure is also
defined in include/nuttx/usb/usbhost.h. Examples:
drivers/usbhost/usbhost_storage.c
* USB Host Class Driver Registry. The NuttX USB host infrastructure
includes a registry. During its initialization, each USB host
class driver must call the interface, usbhost_registerclass()
in order add its interface to the registry. Later, when a USB
device is connected, the USB host controller will look up the
USB host class driver that is needed to support the connected
device in this registry. Examples: drivers/usbhost/usbhost_registry.c,
drivers/usbhost/usbhost_registerclass.c, and
drivers/usbhost/usbhost_findclass.c,
* Detection and Enumeration of Connected Devices. Each USB host
device controller supports two methods that are used to detect
and enumeration newly connected devices (and also detect
disconnected devices):
+ int (*wait)(FAR struct usbhost_driver_s *drvr, bool connected);
Wait for a device to be connected or disconnected.
+ int (*enumerate)(FAR struct usbhost_driver_s *drvr);
Enumerate the connected device. As part of this enumeration
process, the driver will (1) get the device's configuration
descriptor, (2) extract the class ID info from the configuration
descriptor, (3) call usbhost_findclass() to find the class
that supports this device, (4) call the create() method on
the struct usbhost_registry_s interface to get a class instance,
and finally (5) call the connect() method of the struct
usbhost_class_s interface. After that, the class is in charge
of the sequence of operations.
* Binding USB Host-Side Drivers. USB host-side controller drivers
are not normally directly accessed by user code, but are usually
bound to another, higher level USB host class driver. The class
driver exports the standard NuttX device interface so that the
connected USB device can be accessed just as with other, similar,
on-board devices. For example, the USB host mass storage class
driver (drivers/usbhost/usbhost_storage.c) will register a
standard, NuttX block driver interface (like /dev/sda) that can
be used to mount a file system just as with any other other
block driver instance. In general, the binding sequence is:
1. Each USB host class driver includes an initialization entry
point that is called from the application at initialization
time. This driver calls usbhost_registerclass() during this
initialization in order to makes itself available in the
event that the device that it supports is connected. Examples:
The function usbhost_storageinit() in the file
drivers/usbhost/usbhost_storage.c
2. Each application must include a waiter thread thread that
(1) calls the USB host controller driver's wait() to detect
the connection of a device, and then (2) call the USB host
controller driver's enumerate method to bind the registered
USB host class driver to the USB host controller driver.
Examples: The function nsh_waiter() in the file
configs/nucleus2g/src/up_nsh.c and the function nsh_waiter()
in the file configs/olimex-lpc1766stk/src/up_nsh.c.
3. As part of its operation during the binding operation, the
USB host class driver will register an instances of a standard
NuttX driver under the /dev directory. To repeat the above
example, the USB host mass storage class driver
(drivers/usbhost/usbhost_storage.c) will register a standard,
NuttX block driver interface (like /dev/sda) that can be
used to mount a file system just as with any other other
block driver instance. Examples: See the call to
register_blockdriver() in the function usbhost_initvolume()
in the file drivers/usbhost/usbhost_storage.c.

View file

@ -0,0 +1,18 @@
NuttX-5.17
----------
The 64th release of NuttX, Version 5.17, was made on January 19,
2011 and is available for download from the SourceForge website.
This release follows close on the heels of the 5.16 release and
extends the USB host capabilities first introduced in that version.
* The LPC17xx USB host controller driver was extended to (1) add
support for low-speed devices, (2) handle multiple concurrent
transfers on different endpoints (still only one TD per endpoint),
and (3) handle periodic interrupt endpoint types.
* Add a USB host HID keyboard class driver. Now you can connect
a standard USB keyboard to NuttX and receive keyboard input for
an application.
And other changes as detailed in the ChangeLog.

View file

@ -0,0 +1,22 @@
NuttX-5.18
----------
The 65th release of NuttX, Version 5.18, was made on February 27,
2011 and is available for download from the SourceForge website.
This is first release from the new NuttX SVN repository. This
release is made primarily to keep the release tarball in synchronization
with SVN. Many smaller changes have been made as identified in the
ChangeLog. Headlines include:
* Incorporate several important uIP patches -- including the well
known patch to handle missing SYNACK.
* The Freescale mc8s12ne64 port is code complete but testing has
not yet begun due to toolchain issues. Added support for the
Future Electronics Group NE64 Badge board.
* Added support for a new STM32 board, the ISOTEL NetClamps VSN
V1.2 ready2go sensor network platform. This board is based on
a STM32F103RET6 and includes some interesting power saving/clock
control extensions.
* USB host support expanded to handle vendor specific USB devices.
* Incorporated the LUFA HID parser.
* Various bugfix as detailed in the ChangeLog

View file

@ -0,0 +1,41 @@
NuttX-5.19
----------
The 66th release of NuttX, Version 5.19, was made on March 12, 2011
and is available for download from the SourceForge website. This
release includes several new features in various states of integration
and maturity:
* 486SX QEMU port. This port supports the Intel 486SX architecture
using the QEMU simulator. Initial functionality is in place a
partially tested. There are still some outstanding issues with
timer interrupts.
* Platform specific application support. A new apps/ directory
appears in this port. This apps/ directory provides a mechanism
for applications using NuttX to have a highly customized
initialization process. It supports a set of end-user applications
than can be executed (1) standalone so you can have a fully
customized application startup, or (2) on top of NSH. Think
of it this way: In a buckled-up embedded application, your
end-user programs will probably have their own dedicated start-up
logic. But, during development, you might want to have you
applications available and executable from the NSH command line.
This apps/ add-on (and NSH hooks) was contributed by Uros to
accomplish just that.
* NSH was also extended to support application specific ROMFS
/etc/init.d/rcS start-up scripts. This feature, as well, as
all of the above-mentioned apps/ directory support was contributed
by Uros Platise
* Additional NSH improvements and bug fixes. See the Changelog
for details.
* This release also provides a new SLIP network driver. This
driver should support point-to-point network communications to
a host using TCP/IP or UDP. This driver is code complete, but
not tested in this release.
* New RAMTRON FRAM driver (contributed by Uros Platise)
* New generic 16550 UART driver.
* Cortex-M3 Power improvements: Waits for Interrupt (WFI) in idle
loop for reduced power consumption (LPC17xx and STM32 only -
contributed by Uros Platise))
* New waitpid() system interface.
* Additional bugfixes: pipes, stdint.h, STM32 SDIO and SPI drivers

View file

@ -0,0 +1,13 @@
NuttX-5.2
---------
This is the 49th release of NuttX. This release completes the
verification of the basic port for the NXP LPC3131 MCU on the
Embedded Artists EA3131 board
(http://www.embeddedartists.com/products/kits/lpc3131_kit.php).
This basic port includes basic boot-up, serial console, and timer
interrupts. This port has been verified on the using the NuttX OS
test and includes a working implementation of the NuttShell (NSH).
An extended release will follow and should include SDIO-based SD
card support and device USB.

View file

@ -0,0 +1,24 @@
NuttX-5.3
---------
This is the 50th release of NuttX. This release support for one new
architecture:
* A basic port for the NXP LPC2378 MCU on the Olimex-LPC2378
development board was contributed by Rommel Marcelo.
And extensions to two existing architectures:
* David Hewson contributed a dual-speed (full/high) USB device-side
driver for the NXP LPC3131 on the Embedded Artists EA3131
development board.
* A DMA driver and a high speed MCI driver for the Atmel AT91SAM3U
are included (but not fully tested in this release).
Two important bugfix was also included:
* An important fix to the USB mass storage driver was contributed
by David Hewson.
* A serious error in the AT91SAM3U PIO handling was fixed.

View file

@ -0,0 +1,21 @@
NuttX-5.4
---------
This is the 51st release of NuttX. This release includes one new,
important extension to th NX graphics system (See
https://nuttx.apache.org/docs/latest/components/nxgraphics/index.html).
NX was develop a couple years back on hardware that supported only
framebuffer devices, that is, video hardware with video memory
directly converts the memory content to video. However, most MCUs
that NuttX focuses on do not support such video memory; rather,
that typically only support LCDs via parallel or serial interfaces.
This release of NuttX extends NX so that now renders directly to
the LCD device via its serial or parallel interface. No in-memory
copy of the screen memory need be maintained so this solution should
also work in MCUs with very limited SRAM.
This initial release of this feature includes the verified NX
extensions plus a driver for the HX8347, 16-bit parallel LCD. This
LCD supports 16-bit RGB (5:6:5).

View file

@ -0,0 +1,37 @@
NuttX-5.5
---------
This is the 52nd release of NuttX. This release includes one new
port, some new drivers and some important bugfixes:
* NuttX was ported to the Luminary/TI LM3S6965 Ethernet Evaluation
Kit. At present, that port includes an OS test configuration
and a NuttShell (NSH) configuration with Telnet support.
MMC/SD and Networking support are provided but not thoroughly
verified in this release: Current development efforts are focused
on porting the NuttX window system (NX) to work with the
Evaluation Kits OLED display.
* A NuttX Ethernet driver for the Microchip ENC28J60 SPI Ethernet
chip is available in the source tree (but has not yet been fully
verified because I haven't properly connected it to hardware
yet).
* The Olimex STR-P711 NuttX port was extended to support the
ENC28J60 and some new networking configurations were added.
The ENC28J60 has not been tested on the STR-P711, however,
because of hardware issues (I don't think the USB powered board
provides enough power for the ENC28J60 and I don't have the
right wall wart yet).
Along the way, external interrupt support (XTI) was added to
the STMicro STR-P711 port and some important bugs were fixed
in the STR-P711 SPI driver.
* Added (optional) floating point support for printf().
(Contributed by Yolande Cates.)
* Corrected an important UDP reference counting error. It was
not a serious error, but it trigger an assertion was IS a serious
error.

View file

@ -0,0 +1,25 @@
NuttX-5.6
---------
This is the 53rd release of NuttX. This release includes one several
new drivers for existing NuttX ports:
* This port adds support for the RiT displays P14201 4-bpp,
greyscale OLED. 4-bpp greyscale support was integrated into
the NX graphics sub-system and verified using the TI/Luminary
LP3S6965 Ethernet Evaluation Kit.
* The M25Px driver was extended for the M24P1 FLASH part (see NOTE).
* An I2C driver and (basic) SPI driver were added for the NXP
LPC313x port. The I2C interface definition was extended to
efficiently handle multiple I2C transfers.
(Contributed by David Hewson.)
As well as a few, important USB-related bugfixes (See the ChangeLog
for details).
This release also includes the beginnings of a port for the NXP
LPC1768 MCU. However, it is too early for that port to be useful
(stay tuned for a future announce of the availability of the LPC1768
port).

View file

@ -0,0 +1,24 @@
NuttX-5.7
---------
This is the 54th release of NuttX. This release adds basic support
for one new ARM Cortex-M3 architecture:
* Added support for NXP LPC1768 MCU as provided on the Nucleus
2G board from 2G Engineering (http://www.2g-eng.com).
* Some initial files for the LPC17xx family were released in NuttX
5.6, but the first functional release for the NXP LPC1768/Nucleus2G
occurred with NuttX 5.7.
* That initial basic release included timer interrupts and a
serial console and was verified using the NuttX OS test.
* That release includes a verified NuttShell (NSH) configuration
(see the https://nuttx.apache.org/docs/latest/components/nsh/index.html).
* Also included are unverified SPI and USB device drivers.
Further efforts include:
(1) development of a DMA support library
(2) SPI-based MMC/SD support
(3) verification of the USB driver
Watch for announcement of the completed LPC1768 port expected in
NuttX-5.8.

View file

@ -0,0 +1,36 @@
NuttX-5.8
---------
This is the 55th release of NuttX. This includes several important
bugfixes:
* Corrects some interrupt vectoring for the TI/Stellarix LM3S
port
* Correct initialization logic for NXP LPC17xxx NuttX ports:
Power was not being provided to the GPIO module!
* Corrected (but did not verify) implementation of the optional
interrupt stack feature (all Cortex M3 architectures).
* Correct a HardFault in the LPC17xx SSP driver.
Additional minor fixes are also included as detailed in the ChangeLog.
Several new features have been fully developed and included in this
release, but full verification of most of these new features has
been blocked for a variety of issues:
* Added microSD support for the NuttShell (NSH) configuration in
the Nucleus2G LPC1768 port. For reasons that have not yet been
determined, I have not successfully accessed the microSD card
as of this writing.
* Two USB configurations were also added for the Nucleus2G board:
One to support the USB serial device and one for the USB mass
storage device. Some testing of the USB driver was performed,
but full verification is stalled for an OTG style USB cable.
* LEDs now work correctly on the Nucleus2G LPC1768 board.
* The NuttX/uIP networking subsystem now supports IGMPv2 client.
IGMP (Internet Group Multicast Protocol) network "appliances"
to join into multicast groups. Outbound traffic to enter and
leave multicast groups has been verified, but full verification
will require a switch capable of multicast. Issues associated
with the receipt of multicast packets are likely.

View file

@ -0,0 +1,41 @@
NuttX-5.9
---------
This is the 56th release of NuttX. This release is difficult to
categorize; NuttX-5.9 was really released because there were too
many changes accumulating in CVS -- a few important, some unfinished
implementations, and a couple of important bugfixes.
* By far biggest change in this release is the complete implementation
of on-demand paging support. This feature will allow you to
execute large programs on a mass storage device (such as SPI
FLASH) in a small RAM. All of the core on-demand paging logic
was completed
(see https://nuttx.apache.org/docs/latest/components/paging.html)
and support was implemented for the ARM-9 family. A test
configuration is in place for the NXP LPC3131. It has been
verified that this new logic does not interfere with normal
fixed-page ARM9 operation, but otherwise this new on-demand
paging feature is untested.
* Add support for the CodeSourcery toolchain to the Olimex-lpc2378
port and for the Neuros OSD port.
* The Neuros OSD port has been updated to work with the production
v1.0 OSD (previously it only worked with the development board).
* And some miscellaneous feature enhancements as detailed in the
ChangeLog.
This includes several important bugfixes:
* NXP LPC17xx - Fixed a critical bug in the GPIO configuration
logic: When attempting to set no pull-up or pull-down (floating),
it would, instead, select pull-down.
* TI/Luminary LM3Sxxxx - Fixed:
(1) A logic error in an address table lookup.
(2) GPIO port encoding the limited support to only 8 GPIO ports.
* Corrected the lease time in the DHCPC implementation: It was
not in host byte order.
* And several other less important bugs as documented in the
ChangeLog: Warnings, cornercase compilation problems, etc.

View file

@ -0,0 +1,46 @@
NuttX-6.0
---------
The 67th release of NuttX, Version 6.0, was made on March 21, 2011
and is available for download from the SourceForge website. The
version number of this release was bumped from 5.19 to 6.0. A
change in the major revision number is used to reflect an incompatibility
with previous versions. In this release, the NuttX core OS
functionality has been separated from NuttX application-related
functionality. These are provided as separate tarballs:
* nuttx-6.0.tar.gz, and
* apps-6.0.tar.gz
The purpose of this separation is both to better organize and
modularize the NuttX source tree, but also to provide better support
for incorporation of end-user applications with NuttX.
The incompatibility results from the changes to the board configuration
logic needed to supported the separable application. The major
changes to the configuration include:
* CONFIG_APPS_DIR - This should not be set. The default is
../apps. This should only be set if you have a custom,
product-specific application directory in some different location.
* appconfig - Each board configuration now requires a new file
called 'appconfig.' As its name suggests, this file provides
new configuration information needed by the logic in ../apps.
In addition to this major reorganization in the directory structure,
this release also includes some important extensions to existing
features and some important bugfixes. These include:
* The SLIP driver was been well debugged and significantly
re-designed. Now you can have an Ethernet connection to you
board even if you have no Ethernet hardware. How cool is that?
* The QEMU i486 port is now functional. It has also been reported
to work on the Bifferboard (see http://bifferos.bizhat.com/).
* And extensions to the uIP driver interface, and
* Bug fixes to fopen() and STM32 GPIO configuration
Please see the ChangeLog for details.

View file

@ -0,0 +1,50 @@
NuttX-6.1
---------
The 68th release of NuttX, Version 6.1, was made on April 10, 2011
and is available for download from the SourceForge website. The
6.0 release introduced a detach-able application environment to
build applications outside of the NuttX source tree. The primary
purpose of this release is to correct numerous build problems
introduced by that architectural change:
* In many newer environments, NuttX produced strange Makefile
errors but built correctly in older environments. A fix provided
by Rafael Noronha was incorporated and is reported to fix those
build problems.
* The apps/ directory build system would not handle Windows-native
toolchains due to obscure path formatting issues.
* And other problems as detailed in the Changelog.
Many additional changes were made in the 6.1 release for another
major architectural change: NuttX will now build as a separately
linked microkernel. In this build option the RTOS builds as a
kernel, applications build separately and interface with kernel via
system calls. Applications run in user mode and kernel logic users
in kernel-mode. This provides a secure environment for NuttX. This
feature is fully coded in NuttX-6.1, but has not been tested due
to higher priority tasks that have arisen.
Related to this change, support for the Cortex-M3 memory protection
unit (MPU) has been integrated with the NuttX kernel build to provide
an even higher level of security.
NOTE: This kernel build is an option; the default build configuration
is still the standard, flat, unsecured RTOS as in previous releases.
Additional new features in this release:
* Support for LPC17xx GPIO interrupts (with much support from
Decio Renno).
* Basic timer support for STM32 (Contributed by Uros Platise)
* A binfs file system. This is a tiny pseudo file system that
lets named applications to be viewed and accessed in NSH under
the /bin directory.
* An I2C-based driver for the LIS331DL MEMS motion sensor.
(Contributed by Uros Platise.)
* A configuration for the Embedded Artists LPCXpresso LPC1768 board.
* The user_initialize() interface has been removed.
And several bugfix associated with SD drivers, opendir(), signed
8-bit types (int8_t), and USB serial device. See the ChangeLog for
details.

View file

@ -0,0 +1,65 @@
NuttX-6.10
----------
The 77th release of NuttX, Version 6.10, was made on October 6, 2011
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.10.tar.gz and
apps-6.10.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4028
This release includes a few new features and several important bug fixes.
The new features (some still incomplete) include:
* CDC ACM serial class device-side driver
* RTC: Now supports hi-res and lo-res hardware RTC. The lo-res RTC
runs at 1Hz.
* STM32 I2C driver. Now supports faster, polled mode of operation.
Added an I2C trace capability.
* ADS7843E touchscreen driver. As used on the SAM3U-EK development
board.
* AT91SAM3U SPI driver. To support the ADS7843E toucscreen
* X11 Support on simulation target. Build errors in the X11 windows
for the simulated target have been correct. Added support for a
simulated touchscreen on the X11 window (based on mouse inputs).
* System Timer. Added support for a 64-bit system timer.
* TIFF Support. Added a TIFF library (currently used for storing
LCD screen shots).
* LCD Support. Added a test to verify that we read and write correct
to LCD GRAM memory.
* I2C tool. Extended to support to include a verify command and
repetitions and auto-address increment for most commands.
* USB terminal example. Line oriented serial bridge connects a host
USB serial terminal to a host UART serial terminal.
* Build System. apps/ Makefile will now include external directories
in the application build.
Bugfixes, order roughly on decreasing criticality include:
* Message Queues. Correct errors in mq_timedsend() and
mq_timedreceive().
* FAT. Writes that cross sector boundaries, stray write into the FAT,
and a FAT long file name issue
* NXFFS. Added a missed error check. Files cannot be opened for
writing if they are already opened for reading.
* Library: fopen() for append modse was not appending.
* STM32 I2C driver. Correct another conflict between concurrent FSMC
and I2C1 accesses. Fixed some bad error detection logic.
* STM32 SDHC driver. Interrupts were being left disabled.

View file

@ -0,0 +1,37 @@
NuttX-6.11
----------
The 78th release of NuttX, Version 6.11, was made on November 12, 2011
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.11.tar.gz and
apps-6.11.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4090
This release is a maintenance release that includes a few new features
and some important bugfixes. New features include:
* NX Graphics: New interfaces to read from graphics memory
* Drivers: AT24 FLASH driver will now supports clustering of blocks
to achieve a larger, more usable block size for NXFFS.
* STM32: LCD color corrections
* PIC32: Board configuration for the Microchip PIC32 Ethernet Starter kit
(not yet verified), new GPIO support library, button and LED support
for the Sure Electronics PIC32MX board. A lot of progress has been
made on the PIC32 NuttX port, but it is still not ready for prime time.
* NXP LPC3152: Board configuration for the Embedded Artists EA3152.
Bugfixes, order roughly on decreasing criticality include:
* NXFFS: Corrected critical bugs in initialization, some full FLASH handling,
and errors in certain cases where the FLASH is repacked.
* ARM EABI: Fix stack alignment required for passing floating point values.
* Build system: Fix build issues when g++ is used as the compiler.
* NX Graphics: Bitmap error handling, correct RGB color conversion macros,
Error when the background window is released.
* STM32: RTC build fixes, LCD color corrections
* Simulation target: build fixes
* C Library: fclose() return value.
See the change log for more detailed information.

View file

@ -0,0 +1,28 @@
NuttX-6.12
----------
The 79th release of NuttX, Version 6.12, was made on December 6, 2011
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.12.tar.gz and
apps-6.12.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4141
New features in this release include:
* STM32. Basic support added for the STM32 F4 family. Board support
verified for the STMicro STM3250G-EVAL board.
* FAT. Enhanced partition handling.
* SDIO-Based SD Card support. Add support for large (>4Gb) devices
* Graphics. Added four new small sans serif fonts.
* Drivers. Fix a banding problem with the R61580 LCD.
Bugfixes, order roughly on decreasing criticality include:
* FAT. Fix errors in how the first entries in the root directory are
added. Fix errors in FAT date/time handling.
* Signals. Fix bug in certain sig_timedwait() error handling.
* Drivers. Fix cloned errors in poll() handling in several drivers.
* Message Queues. errno was not being set correctly by mq_notify().
* C Library. wchar_t is a built-in type for C++

View file

@ -0,0 +1,37 @@
NuttX-6.13
----------
The 80th release of NuttX, Version 6.13, was made on December 26, 2011
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.13.tar.gz and
apps-6.13.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4231
New features in this release include:
* Drivers. New standard interface for PWM drivers and common
"upper half" PWM driver. Updated the MP25x driver to support
the Macronix MX25 chips (submitted by Mohammad Elwakeel).
* STM32 F1/F4. Added an Ethernet driver, ADC drivers, DAC driver,
PWM driver, CAN driver, F4 RTC driver, F4 DMA support,
logic for saving/restoring F4 FPU registers in context switches.
* STM32 Boards. Added STM3240G-EVAL DHPCD and nettest configuration.
Support for a new STM32 board, the HY-Mini STM32v board, was
contributed by Laurent Latil
* PIC32. The port to the Microchip PIC32MX is finally functional and
reliable. The NuttX PIC32 port has verified configurations for
the OS test and the NuttShell (NSH) both exist.
* Tests: New re-usable tests (in apps/examples) for PWM, ADC, and
CAN loopback. Several existing tests can now be built as NSH built-in
applications (dhcpd, nettest, and all of the new tests).
Bugfixes, order roughly on decreasing criticality include:
* STM32: Correct handling of data overrun conditions. Existing logic
would hang with infinite interrupts when a data overrun occurred.
* DHCPD. Fix several problems using host order address where network
addresses expected (and vice versa).
And several others. See the ChangeLog for more details.

View file

@ -0,0 +1,63 @@
NuttX-6.14
----------
The 81st release of NuttX, Version 6.14, was made on January 15, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.14.tar.gz and
apps-6.14.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4301
New features in this release include:
* Drivers. The upper-half PWM driver will now support a pulse count (as
would be needed to control a stepper motor).
* STM32. The CAN driver has been verified in loopback mode. ADC driver
support for the STM32 F4. Add support for UART4-5 and USART6
(Contributed by Mike Smith). The PWM driver now supports a pulse
count for TIM1 and TIM8. Timer driver now supports the F4's 32-bit
timers (Contributed by Mikhail Bychek)
* STM32F4Discovery. Support for the STM32F4-Discovery board contributed
by Mike Smith.
* STM3240G-EVAL. Add support for user control of LEDs.
* LPC17xx. Add support for loopback mode to CAN driver. CAN TX done
perations are now interrupt driver. Now supports configurable CAN bit
rate.
* LPC1766-STK. Add support for on-board buttons. Add support for user
control of LEDs.
* LM3S. Add support for the LM3S6432S2E on the TI RDK-S2E (Contributed
by Mike Smith)
* PIC32MX. USB device-side driver (needs further testing). A partial
Ethernet driver is also in place.
* Library. Support added for fixed floating point fieldwidths in output
formatting (Contributed by Mikhail Bychek)
* Build. New targets apps_clean and apps_distclean to simplify working
with application directories.
Bugfixes include:
* Drivers. Fixed a buffer-full test in the upper-half CAN driver.
* STM32. GPIO initialize logic (submitted by Mike Smith). Fix the
debug logic that dumps the GPIO configuration.
* LPC17xxx. Correct an integer overflow in GPIO interrupt setup
(prevented pins > 15 from being used as interrupt sources). Correct
a value used in GPIO interrupt number range test.
* FAT. Now returns the correct error value when it is unable to
recognize the file system.
* Build. macOS build fixes (submitted by Mike Smith)
And several others. See the ChangeLog for more details.

View file

@ -0,0 +1,75 @@
NuttX-6.15
----------
The 82nd release of NuttX, Version 6.15, was made on February 12, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.15.tar.gz and
apps-6.15.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4387
New features and extended functionality:
* General Drivers: Add support for (29-bit) extended CAN IDs. Add an
infrastructure to support battery drivers. Add a driver for MAX17040x
battery "fuel gauge". Add support for Composite USB drivers (in
particular for a CDC/ACM with MSC USB composite driver).
Added a new RAM logging driver. This will allow debug output into
a RAM buffer associated with a character driver at /dev/ramlog.
Added the new command 'dmesg' to NSH that can be used to dump the
current contents of the log. This is useful for systems that do not
have the usual serial console (for example, if you only have a
Telnet console with NSH).
* Networking: Add a lower level, primitive socket interface. Telnet
driver:
A New Telnet daemon was created. It wraps a Telnet session within a
character driver that can serve as a "controlling terminal." The
Telnet session will then be inherited by tasks created from the
Telnet session and the stdin/stdout from the created task will
still go through the same Telnet connection.
* STM32 Drivers. PWM driver pulse count was limited to 128; now is
(essentially) unlimited. Add support for (29-bit) extended CAN IDs.
Add support for I2C3. The SDIO driver is (mostly) verified on the
STM32 F4 platforms.
* LPC17xx Drivers. Extended the CAN driver so that the TSEG1 and TSEG2
bit times can be set via the NuttX configuration. Add support for
(29-bit) extended CAN IDs.
* PIC32 Drivers. The PIC32 Ethernet driver is code complete (but still
untested).
* FTPD. Add a new FTP server daemon. This is based loosely on
the hwport_ftpd library provided by Jaehyuk Cho.
* Library: Add support for on_exit(). Implemented tcsetattr() and
tcgetattr(). Moved the old, too-smart fgets() to a new application
library function called readline(). Dumbed down the original fgets().
Add strcasestr(), avsprintf(), inet_ntop(), and inet_pton().
Add support to enable or disable debug output.
* Build system: Support for building a 32-bit simulation executable on
a 64-bit Linux machine. Correct a dependency issue in the arch/*/src/board
directory.
Bugfixes:
* System: Correct PTHREAD_MUTEX_INITIALIZER
* FAT: Fix an error in the FAT statfs() reported by David Sidrane.
* STM32: Fix clock frequencies for APB2 timers. Correct AFIO register
offset.
* PIC32. Correct GPIOs used for LEDs on the Sure PIC32MX board.
* NSH. Wait for a USB connection if a USB serial class is used to
interface with the host.
Additional bugfixes, name changes, and other differences as detailed in the
ChangeLog.

View file

@ -0,0 +1,67 @@
NuttX-6.16
----------
The 83rd release of NuttX, Version 6.16, was made on March 10, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.16.tar.gz and
apps-6.16.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4475
New features and extended functionality:
* ARMv7M Support: Includes new, streamlined Cortex-M exception
handling provided by Mike Smith. Context switching support for the
Cortex-M4 FPU registers is now provided (in both "lazy" and "non-lazy"
modes)
* General Drivers: Added a generic "upper half" Quadrature Encoder driver.
The USB CDC/ACM serial driver can now be dynamically connected or
disconnected from the host (programmatically or using NSH commands).
* STM32 Drivers: Added a "lower half" Quadrature Encoder driver.
Verified the STM32 F4 DMA driver; Added F4 DMA support to the existing
STM32 SDIO driver.
* STM32 Board Support. Added support for the STM32 F2 family and
for the STM3220G-EVAL board (contributed by Gary Teravskis).
Support is now included for C++ static constructors (verified using
the Atollic toolchain). Added support for the SRAM available on the
STM3240G-EVAL board.
* PIC32 Drivers. PIC32MX USB (device) driver is now functional.
The PIC32MX Ethernet driver not yet fully verified (and an
unverified SPI driver is also available).
* Networking. Added a lower-level, thread-independent socket layer.
Parts of this layer were created in 6.15 to support the FTPD
controlling terminal; this support has been extended in order
to support an NFS file system (not yet released).
* NuttShell (NSH). NSH will now support a USB serial connection for
the console (such as CDC/ACM). This is useful in environments
where there is no physical serial port on the board.
* Build System. Reorgnaization of networking header files.
Critical Bugfixes. The following bug fixes are considered critical:
* Networking: Fixed a "leak" in the TCP/IP read-ahead buffering logic.
Corrected an error in TCP/IP sequence numbering/ACK logic which
occurred when read-ahead buffering memory is exhausted.
* STM32 Drivers: Fixed an buffer sizing error in the STM32 Ethernet
driver.
Additional Bugfixes: Other important bug fixes are listed below. See
the ChangeLog of a complete, detailed list of bug fixes.
* Networking: Corrected recv()/recvfrom() return value. Added logic to
monitor for loss of connection after a new connection has been
established via accept() (Contributed by Max Nekludov). Add
logic to select() to correctly handle POLLHUP (Contributed by Max
Nekludov)
Additional bugfixes, name changes, and other differences as detailed in the
ChangeLog.

View file

@ -0,0 +1,94 @@
NuttX-6.17
----------
The 84th release of NuttX, Version 6.17, was made on April 14, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.17.tar.gz and
apps-6.17.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4607
New features and extended functionality:
* Networking: Additional low-level, thread-independent socket
interfaces (for NFS client support).
* RTC: Added a new interface call clock_synchronize(). This function
will reload the system time from an RTC and is required when the
system re-awakens from certain deep-sleep modes.
* Graphics: Add NxConsole. This is a character device driver that
wraps an NX window and can be re-directed for stdout. This allows,
for example, a pop-up graphics window that contains a NuttShell (NSH)
session. A test of NxConsole is available at apps/examples/nxconsole.
* Watchdog Drivers: Added an interface definition an "upper half"
driver to support watchdog timers.
* Calypso: Support for TI Calypso-based cellphones (as supported by
the Osmocom-BB project) was contributed by members of the Osmocom-BB
team. This includes configurations for the Compal e88 and e99 phones.
* USB Device Interface: Needed to extend the USB device interface
because there was no mechanism for passing endpoint OUT data that
may need to accompany a setup request.
* STM32 drivers: Added some power management controls for entering
reduced power consumption states. An OTG FS driver was completed
and partially verified (this driver seems to be functional but since
it has been test so lightly, it might better be listed in the
next section "Work in progress").
* PIC32 drivers: The PIC32 Ethernet driver is now stable. The PIC32
USB device controller driver is now functional (but not yet stable).
* PIC32 boards: Added support for the Sure DB-DP11212 PIC32 General
Purpose Demo Board. There is now a PIC32 Starter Kit that
provides NSH only through a Telnet connection.
* Build System: Some header files were moved into include/nuttx.
The goal is to move any non-standard header files to include/nuttx
or include/arch. Moved include/math.h to include/nuttx/math.h;
this file is now only instantiated as the 'system' math.h if
CONFIG_ARCH_MATH_H=y is defined.
* Tools: Added tools/cmpconfig.c, a tool for comparing two
configuration files.
Work in progress. This release includes some partially completed
work that is still not ready for prime time.
* NFS Client: Work is progressing on support for an NFS client
file system. This is a port of the BSD NFS client file system
that is being done by Jose Pablo Rojas V.
* Automated Configuration: Automated configuration based on the
kconfig-frontends tool is being incorporated into the build
system. The configuration is still not complete enough for
general use in this release.
* STM32 Drivers: Added files that will (eventually) hold an STM32
OTG FS host driver. This is still a work in progress.
Bugfixes:
* Networking: Corrected a deadlock that only occurred when
executing the NSH 'ifconfig' command over Telnet.
* File system: Fix incorrect return errno value from read() when
the file is opened write-only.
* Graphics: Fix several compilation errors that have crept into the
multi-user NX server because of lack of use.
* STM32: In order to use CAN2, both CAN1 and CAN2 clocking must be
enabled. Fixed a troublesome bug in the STM32 F4 I2C driver that
resulting in timeouts.
* LPC17xx: Fixes for errors the crept in the LPC17xx DAC logic
Contributed by Lzyy).
* Build System: Reordered the link command line to account for new
versions of libgcc.a that require symbols from the application
(abort()).

View file

@ -0,0 +1,83 @@
NuttX-6.18
----------
The 85th release of NuttX, Version 6.18, was made on May 19, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.18.tar.gz and
apps-6.18.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
The majority of changes in this release are focused on supporting the
synchronized release of NxWM, the NuttX tiny window manager. That
window manager is released as part of the NxWidgets package, but depends
upon many of the changes in this NuttX release.
This release corresponds with SVN release number: r4751
New features and extended functionality:
* Drivers. Added a watchdog timer driver infrastructure. Add general
support for STMicro STMPE811 I/O Expander/touchscreen device.
* STM32. Add support for the STM32 IWDG and WWDG watchodog timers. DMA
now supports circular buffer mode; serial driver now uses circular
DMA to improve Rx performance (Contributed by Mike Smith).
* STM3240G-EVAL Board. Add support for the LCD and for the STMPE811
I/O Expander as a touchscreen controller.
* PIC32 Boards. Board support for the Mikroelektronika PIC32MX7
Multimedia Board (MMB) and for the Sparkfun UBW32 PIC32 board.
* NX. Framed windows are now draw in three colors instead of just two.
Numerous other extensions needed to support NxWM (see the ChangeLog
for details).
* Library. Add prctl() command that can be used to setting and getting
the names of threads. This (plus several other improvements and bug
fixes) are part of a larger effort to improve task monitoring
capabilities.
Work in progress. This release includes some partially completed
work that is still not ready for prime time.
* NFS Client. Work is progressing on support for an NFS client
file system. This is a port of the BSD NFS client file system
that is being done by Jose Pablo Rojas V.
* Automated Configuration. Automated configuration based on the
kconfig-frontends tool is being incorporated into the build
system. The configuration is still not complete enough for
general use in this release.
* STM32 Drivers. Added files that will (eventually) hold an STM32
OTG FS host driver. This is still a work in progress.
Bugfixes (see the change log for details) :
* sched_setscheduler() return value (Contributed by Richard Cochran).
* stdio. Ignore CONFIG_STDIO_LINEBUFFER if the file was opened in binary mode.
* fopen(). Correct an error in parsing open mode string.
* serial driver. Improved performance be reducing the amount of time
that Rx interrupts are disabled.
* recvfrom(). Fix a compilation problem.
* CDC/ACM device driver. Fix an infinite loop that occurs when the serial
device is unregistered.
* STM32 OTG FS device driver. Numerous fixes and the driver is partially
functional but there are still some issues that become apparent when
debug output is disabled.
* fcntl(). Always returned zero on success; however, some fcntl commands
need to return non-zero values on success.
* graphics: Many multi-use mode fixes added to support NxWM (see the
ChangeLog for details). Auto-raise is temporarily disabled in multi-
user mode because it causes some problems with NxWM.
* on_exit(): Fix compilation errors if CONFIG_SCHED_ONEXIT is enabled.

View file

@ -0,0 +1,81 @@
NuttX-6.19
----------
The 86th release of NuttX, Version 6.19, was made on June 15, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.19.tar.gz and
apps-6.19.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4847
This release features new support for a Network File System (NFS) client.
This feature allows a tiny, embedded MCU to mount a remote file system
exported by an NFS server and then to access the file system as it would
any local file system. Then the tiny MCU can effectively have terabytes
of storage!
This might be useful for data collection, for MCU configuration information,
for software updates, for providing modular, loadable code modes, controlling
a "farm" of MCUs, ... there are many possibilities and opportunities for
innovation!
The NuttShell (NSH) now supports the following command:
nfsmount <server-address> <mount-point> <remote-path>
That command will mount the remote NFS server directory <remote-path> at
<mount-point> on the target machine. <server-address> is the IP address of
the remote server.
The NFS development was the graduation project of Jose Pablo Rojas V. who
is a student at the Instituto Tecnológico de Costa Rica (ITCR, or TEC).
A lot of effort went into understanding what a tiny, embedded NFS client should
do and getting the target resource usage to a bare minimum. Only around a
kilobyte or so of memory is required to run the NFS client (and most of that
for I/O buffers). Jose Pablo has spent several months living with NFS and
should be congratulated.
Additional new features and extended functionality:
* Drivers: SSD1289 LCD driver, MIO283QT2 LCD driver
* LM3S: Additional register definition header files (contributed by Max
Neklyudov).
* STM32 Boards: The STM32F4Discovery will now support an SSD1289 LCD,
The STM3220G-EVAL board support is now equivalent to the STM3240G-EVAL
board support.
* PIC32 Boards: The Mikroelektronika PIC32MX7 MMB board port is now
functional, very complete, and stable.
* Graphics: The NxConsole will now take keyboard input from the NX graphics
subsystem. This means that if there are multiple NxConsole windows, only
the top instance that has focus will receive the keyboard input.
* apps/: Add the capability to use an arbitrary USB device as the console
(not necessarily /dev/console). Additional enhancements for USB consoles.
Added the 'mv' command.
Work in progress. This release includes some partially completed
work that is still not ready for prime time.
* Automated Configuration. Automated configuration based on the
kconfig-frontends tool is being incorporated into the build
system. The configuration is still not complete enough for
general use in this release.
* STM32 Drivers. Added files that will (eventually) hold an STM32
OTG FS host driver. This is still a work in progress.
Bugfixes (see the change log for details) :
* General: sleep() and usleep() return values, sig_timedwait() errno setting
on timeout.
* Drivers: STMPE811 touchscreen driver, USB PLC2303, USB CDC/ACM
* STM32: Several USB device controller driver fixes, F4 interrupt priorities
(contributed by Mike Smith).
* Graphics: Keyboard input, fill trapezoid bug
As well as other, less critical bugs (see the ChangeLog for details)

View file

@ -0,0 +1,27 @@
NuttX-6.2
---------
The 69th release of NuttX, Version 6.2, was made on May 6, 2011 and
is available for download from the SourceForge website. The 6.2
release includes several new features:
* NXFFS: The obvious new feature is NXFFS, the NuttX wear-leveling
FLASH file system. This new file system is intended to be
small for the MCU usage and has some limitations. No formal
documentation of NXFFS yet exists. See the fs/nxffs/README.txt
file for details (see
http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/fs/nxffs/README.txt?view=log)
* Support for NXP LPCXpresso LPC1768 board on the Embedded
Artists base board. The Code Red toolchain is supported under
either Linux or Windows. Verified configurations include
dhcpd, nsh, nx, ostest, thttpd, and usbstorage.
* Support for the Univision UG-9664HSWAG01 OLED with Solomon
Systech SD1305 LCD controller.
* A new RAM MTD driver with FLASH simulation capability.
* A version.h file is now automatically generated so that C code
can now be version aware.
In addition to these new feature, several important bugfixes are
included in this release correcting problems with dup2(), LPC17xx
GPIO interrupts, LPC17xx UART2/3, the FAT file system, build issues,
and strrch(). See the ChangeLog for more details.

View file

@ -0,0 +1,62 @@
NuttX-6.20
----------
The 87th release of NuttX, Version 6.20, was made on July 12, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.20.tar.gz and
apps-6.20.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4937
Additional new features and extended functionality:
* Power Management: An evolving power management example is being
created by Diego Sanchez. This effort currently involves on the
STM32 F1 but clearly demonstrates the NuttX power management
system which will automatically drive the system to lower power
usage states due to lack of use.
* Drivers: Added a driver for the SST 25 SPI-based FLASH parts.
* PIC32: Added support for the PIC32MX1 and PIC32MX2 families.
Added support for the microchipOpen and Pinguino toolchains.
* NXP LPC43XX: Added support for the entire LPC43xx family
* PIC32 boards: Added support for the DTX1-4000L "Mirtoo" module
from http://www.dimitech.com/ (PIC32MX2).
* NXP LPC43XX Boards: Added support for NGX LPC4330-Xplorer board.
* NXP LPC17XX Boards: Added support for Micromint Lincoln60 board
(LPC1769).
* LM3S Boards: Add a configuration to support the TI/Stellaris
EKK-LM3S3B96 development board. Contributed by Jose Pablo Rojas V.
* Library: NuttX now supports platform-specific stdarg.h header
files.
Work in progress. This release includes some partially completed
work that is still not ready for prime time.
* Automated Configuration. Automated configuration based on the
kconfig-frontends tool is being incorporated into the build
system. The configuration is still not complete enough for
general use in this release.
* STM32 Drivers. Added files that will (eventually) hold an STM32
OTG FS host driver. This is still a work in progress.
Bugfixes (see the change log for details) :
* PIC32: GPIO output configuration (critical bug)
* STM32: Typos in pin mapping files.
* LM3S: Fixed an optimization related but that caused slow start-up
times if optimization was disabled.
* Library: Fixed signed extension but in all limit.h files
(reported by Lorenz Meier). inet_ntoa compilation failure
on Z80.
As well as other, less critical bugs (see the ChangeLog for details)

View file

@ -0,0 +1,63 @@
NuttX-6.21
----------
The 88th release of NuttX, Version 6.21, was made on August 25, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.21.tar.gz and
apps-6.21.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r5052
Additional new features and extended functionality:
* Core: Add support for multiple registered atexit() functions. Syslog
extended: Now any character driver may be used for the debug logging
device. Mountpoint traversal logic.
* Drivers: Added support for the TI PGA112-7 amplifier/multiplexor.
* LPC43xx: Added clock ramp-up logic to run at 204 MHz
* LPC43xx Drivers: SPIFI block driver, RS-485 support, Minimal termios
support. Framework for USB0 device controller driver.
* LPC17xx Drivers: Minimal termios support
* STM32: Support for STM32 F1 "Value Line" (contributed by Mike Smith).
Add support for STM32 F107 "Connectivity Line" (contributed by Max
Holtzberg).
Clock restart logic needed for recovery from low power modes.
* STM32 Drivers: RTC alarm support. Usable for wakeup from sleep mode,
Minimal serial termios support. USB OTG FS host driver (alpha).
* STM32 Boards: Add power management hooks for the STM32F4Discovery,
Add support for the Olimex STM32-P107 (contributed by Max Holtzberg).
* PIC32: Add support for the Pinguino MIPS toolchain.
* PIC32 Drivers: GPIO driver now supports F1 analog regiaters (ANSEL).
* PIC32 Boards: Add support for the PGA117 on the Mirtoo module.
* Calypso: Add support for the SSD1783 LCD on the Compal E99.
* Library: cfsetispeed(), cfsetospeed(), tcflush(), memchr(), and
memccpy().
* Applications: Port of freemodbus-v1.5.0. Add support for testing
devices with multiple ADC, PWM, and QE devices.
NSH: NSH 'mount' command (with no arguments) will now show mounted
volumes. Add new NSH 'df' command. Extended 'help' support. NSH
now catches the return value from spawned applications (provided
by Mike Smith).
* Build System: mkconfig will not define CONFIG_DRAM_END. A lot of
progress has been made on the automated NuttX configuration logic
(Thanks go to Richard Cochran).
* Documentation: Document ways to customize the behavior of NSH.
Bugfixes (see the change log for details) :
* Serial drivers (all): Fix ioctl return value. Common "upper half"
serial driver will now return with EINTR if a serial wait is
interrupted by a signal.
* FAT: Fix statfs() file name length.
* LPC43xx: Clock configuration.
* STM32: Pinmap fixes, SPI driver re-initialization
* STM32 Boards: Correct and lower SDIO frequency for F2 and f4 boards.
* AVR: C++ build issues.
* PM: Fix a place where interrupts were not be re-enabled.
* Applications: NSH application start-up race conditions.
* Library: Fieldwidth and justification for %s format. Fixed several
issues with presenting floating point numbers. NULL definition
for C++
As well as other, less critical bugs (see the ChangeLog for details)

View file

@ -0,0 +1,103 @@
NuttX-6.22
----------
The 89th release of NuttX, Version 6.22, was made on September 29, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.22.tar.gz and
apps-6.22.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r5206
Note that all SVN information has been stripped from the tarballs. If you
need the SVN configuration, you should check out directly from SVN. Revision
r5206 should equivalent to release 6.22 of NuttX 6.22:
svn checkout -r5206 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
Or
svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
Additional new features and extended functionality:
* RTOS: Application entry point is no longer user_start, but can be
configured using CONFIG_INIT_ENTRYPOINT. NuttX now supports two work
queues: A lower priority work queue (for extended processing) and a
higher priority work queue (for quick, high priority operations).
* Memory Management: Added a new granule-based allocated that can be
used to manage, aligned and quantized DMA memory.
* File System: Add hooks to allocate I/O memory with and external
allocated (need if required by DMA).
* Networking: ENC28J60 driver is (finally) verified.
* Drivers: Add hooks USB device drivers to allocate I/O memory with and
external allocated (need if required by DMA). Driver for the Windbond
SPI FLASH family (W25x16, W25x32, W25x64, and others). ADS7843E driver
extended for TSC2046 and XPT2046 and verified.
* ARMv7-M: Added logic to reset the MCU using the NVIC.
* STM32: Add support for STM32F103VET6.
* STM32 Drivers: Add logic to re-initialize UARTs a second time to
enable DMA (Mike Smith). I2C driver error recovery (Mike Smith).
* STM32 boards: Support for USB host added add to several configurations
(or at least explained in README files). Support for the Shenzhou
STM32F107 board (see www.armjishu.com). Support for M3 Wildfire
STM32F103 board (v2 and v3).
* Build System: Kconfig string de-quoting logic. Remove comments from
defconfig files (Kate). Add tool to create NuttX-style symbol tables.
Numerous changes to configuration logic as needed for the new mconf-based
configuration (much of this from Richard Cochran). Refactor common
Make.defs logic into tools/Config.mk (Richard Cochran).
* Library: Configurable terse output from strerror(). Added perror() (Kate).
Add %n format to sscanf() (Kate).
* Applications: Numerous changes and extensions to the old uIP web server
(from Kate and Max Holtzberg, see the ChangeLog for specific extensions).
UDP network discovery utility (Max Holtzberg). Embeddable Lightweight
XML-RPC Server (http://www.drdobbs.com/web-development/an-embeddable-lightweight-xml-rpc-server/184405364, Max Holtzberg).
Bugfixes (see the change log for details). Some of these are very important
(marked *critical*):
* RTOS: Fixes to priority inheritance logic (*critical*). waitpid()
critical section. Assertion in work_cancel() (Mike Smith). mmap() (Kate).
* FAT File System: Improper Boolean expression caused un-necessary writes
and performance issues (*critical*, Ronen Vainish).
* Networking: Remove an un-necessary delay from recvfrom(). This greatly
improves network performance (*critical*, Max Holtzberg).
* Graphics: NX parameter checking errors.
* Drivers: Fix double release of memory in SDIO-based, MMC/SD driver
(Ronen Vainish).
* LPC17xx: Ethernet driver fixes needed for certain PHYs (Kate).
* AVR: Fix build error (Richard Cochran).
* STM32: USB OTG FS host driver NAKing an retries. Power management
compilation errors (Diego Sanchez). Missing SPI3 remap logic.
* STM32 Drivers: Fix for Ethernet errata for STM32F107 (*critical*).
Ethernet buffer alignment check. Add "kludge" to Ethernet driver to
handle DM9161 PHY which (at least on the Shenzhou board), sometimes
does not come up correctly.
* Applications: THTTPD (Kate). NSH ping when IP address is on a different
network (Darcy Gong).
* Library: fread(), fflush(), fdopen(): Fix error handling logic (Ronen
Vainish). Fix some field-width handling issues in sscanf()
As well as other, less critical bugs (see the ChangeLog for details)

View file

@ -0,0 +1,77 @@
NuttX-6.23
----------
The 90th release of NuttX, Version 6.23, was made on November 5, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.23.tar.gz and
apps-6.23.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r5313
Note that all SVN information has been stripped from the tarballs. If you
need the SVN configuration, you should check out directly from SVN. Revision
r5313 should equivalent to release 6.23 of NuttX 6.23:
svn checkout -r5313 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
Or
svn checkout -r5313 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
Additional new features and extended functionality:
* RTOS: If both atexit() and on_exit() are enabled, use on_exit() to
implement atexit(). Updates for RGMP 4.0.
* Binfmt: Add support for loading and executing ELF binary modules from
a file system.
* Drivers: Maxim MAX11802 touchscreen controller (Petteri Aimonen)
* STM32 Driver: Implementation of /dev/random using the STM32 Random Number
Generator (RNG).
* STM32 Boards: ADC support for the Shenzhou IV board. Relay support for
the Shenzhou IV board.
* C Library: Support is now included for the add-on uClibc++ C++
standard library support. This includes support for iostreams, strings,
STL, RTTI, exceptions -- the complete C++ environment. (uClibc++ is
provided as a separate add-on package due to licensing issues).
Optimized generic and ARM-specific memcpy() function. Optimized
memset() function.
Add support for ferror(), feof(), and clearerror(). Add support for
__cxa_atexit().
Math Library: Port of the math library from Rhombus OS by Nick Johnson
(Darcy Gong).
* Applications: New NSH commands: ifup, ifdown, urlencode, urldecode,
base64enc, bas64dec, md5 (Darcy Gong). Add support for NSH telnet login
(Darcy Gong). Enancements to NSH ping command to support pinging hosts
with very long round-trip times. Extensions to the ifconfig command
Darcy Gong),
Many extensions to the webclient/wget and DNS resolver logic from Darcy
Gong. JSON, Base64, URL encoding, and MD5 libraries contributed by Darcy
Gong.
New examples: ELF loader, JSON, wgetjson, cxxtest, relays.
Bugfixes (see the change log for details). Some of these are very important
(marked *critical*):
* Drivers: W25 SPI FLASH
* STM32 Drivers: ADC reset
* Graphics: Missing implementation of the blocked method (*critical*,
Petteri Aimonen).
* C Library: Floating point numbers in printf and related formatting functions
(Mike Smith), cf[get|set]speed() (Mike Smith)
As well as other, less critical bugs (see the ChangeLog for details)

View file

@ -0,0 +1,190 @@
NuttX-6.24
----------
The 91st release of NuttX, Version 6.24, was made on December 20, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.24.tar.gz and
apps-6.24.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r5447
Note that all SVN information has been stripped from the tarballs. If you
need the SVN configuration information, you should check out directly from
SVN. Revision r5447 should equivalent to release 6.24 of NuttX 6.24:
svn checkout -r5447 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
Or (HTTP):
svn checkout -r5447 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
Additional new features and extended functionality:
* RTOS:
- Implemented the POSIX pause() function (still has some compiance
issues).
- Tasking logic is extended to support the notion of address
environments. An address environment is the key notion underlying
"process" vs. tasks. If tasks are created with address environments
(by binfmt), the OS will propagate that environment to child threads
and will destroy the address environment when the "process" exists.
- If support for the PATH variable is enabled, the OS start up logic
will create an initial environment containing the default PATH
setting (CONFIG_PATH_INITIAL). This initial PATH will then be
inherited by all tasks.
* Binfmt
- The NuttX binary loaders have been updated to support the PATH
environment variable. Now, if the PATH is properly defined, programs
can be executed from mass storage using only the file name. This
feature is added to support more standard behavior (eventually, NSH
will support execution of programs in file systems by just entering
the file name, perhaps in 6.25?).
- The NXFLAT and ELF binary loaders have been extended to create
address environments for any new tasks executed from the file system.
This feature requires that the architecture support a memory management
unit (MMU) and the address environment interfaces declared in
include/nuttx/arch.h (currently, this is only supported by the z180).
* Drivers: LCD driver for the Univision UG-2864AMBAG01 OLED
* STM32: Support for STM32F100 high density chips contributed by Freddie
Chopin.
* STM32 Drivers: Added optional RS-485 direction bit control (from
Freddie Chopin).
* STM32 Boards:
- Support for generic STM32F100RC board contributed by Freddie Chopin.
- stm32f4discovery/nxlines: STM32F4Discovery support for the
UG-2864AMBAG01 OLED.
- stm32f4discovery/winbuild: A version of the NuttX OS test
configured to build natively on Windows.
- stm32f4discovery/elf: Now uses the PATH variable to find ELF
executables.
- configs/cloudctrl: Added for Darcy Gong's CloudController board
* PIC32 Boards: Update the Mirtool configuration for Release 2 of the
Mirtoo module.
* Calypso: Add Calypso keypad driver. From Denis Cariki.
* ZiLOG:
- Add support for the z180 chip family and, specifically, for
the P112 retro hardware (see http://p112.feedle.net/).
- All ZiLOG configurations updated to use the current ZDS-II
and/or SDCC toolchains.
* Graphics:
- Add a semaphore handshake so that operations on buffers from
the NXMU client will be blocked until the NX server operates on the
buffer data (from Petteri Aimonen).
- nxtk_subwindowmove() and nxtk_getwindow(): Improvements to clipping
logic from Petteri Aimonen.
* C Library: lib/ sub-directory renamed libc/ (there is a new lib/ sub-
directory that is used to hold all archives).
* C++: Exception stubs from Petteri Aimonen.
* Applications:
- Add NSH hexdump command to dump the contents of a file (or character
device) to the console (contributed by Petteri Aimonen).
- Extend the NSH ifconfig command plus various DHCPC improvements
(from Darcy Gong).
* apps/examples:
- ostest: Replace large tables with algorithmic prime number
generation. This allows the roundrobin test to run on platforms
with minimal SRAM (Freddie Chopin).
- keypadtest: A new keypad test example contributed by Denis Carikli.
- elf and nxflat: If CONFIG_BINFMT_EXEPATH is defined, these examples
will now use a relative path to the program and expect the binfmt/
logic to find the absolute path to the program using the PATH
variable.
* Build system:
- New top-level Makefiles: Makefile.unix and Makefile.win (along with
numerous changes to other make-related files). This adds basic
support for building NuttX natively under Windows from a CMD.exe
window (rather than in a POSIX-like environment). This build: (1)
Uses all Windows style paths, (2) Uses primarily Windows batch
commands from cmd.exe, with (3) a few extensions from GNUWin32.
This capability should still be considered a work in progress
because: (1) it has not been verfied on all targets and tools,
and (2) still lacks some of the creature-comforts of the more
mature environments (like a function configure.sh script and
'make menuconfig' support).
- Example Windows native builds for STM32F4Discovery, eZ80, z16f, z8,
Z80, and Z180.
- Several configurations have been converted to work the kconfig-
frontends mconf configuration tool: stm32f4discovery/nxlines, and
all eZ80, z16f, z8, Z80, and Z180 configurations.
- Architectures now include a common Toolchain.defs file that can be
used to manage toolchains in a more configurable way (most of this
contributed by Mike Smith).
* Build tools:
- Renamed tools/winlink.sh to tools/copydir.sh.
- Several new tools/scripts to support the Windows native build:
tools/mkdeps.bat, tools/mkdeps.c, tools/link.bat, unlink.bat, and
copydir.bat.
- tools/incdir.sh and incdir.bat now support an -s option to generate
system header file paths.
- tools/b16.c: Fixed precision math conversion utility.
Bugfixes (see the change log for details). Some of these are very important
(marked *critical*):
* RTOS: Fix some backward conditional compilation in the work queue
logic (Freddie Chopin).
* File System: Uninitialized variable caused assertions (from Lorenz
Meier).
* Drivers: Partial fix for STM32 OTGFS device drivers and fix for short,
unaligned writes in the flash translation layer (drivers/mtd/ftl.c),
both from Petteri Aimonen.
* STM32 Drivers:
- Qencoder driver and TIM3 driver fixes from Ryan Sundberg.
- Fix timeout delay calculation in the STM32 OTG FS host driver.
* LPC17xx Drivers: Resources not being properly released when I2C
driver is un-initialized.
* Graphics:
- Fix logic when the mouse drags outside of the window; fix
another "blocked message" handling case (both from Petteri Aimonen).
- nxtk_filltrapwindow(): Correct an offset problem (also from Peterri
Aimonen).
- nxglib_splitline(): Correct the "fat flat line" bug.
* C Library:
- nrand() changes to prevent coefficients from becoming zero which
would "lock up" the random number generate.
- Add rounding functions to the math library (contributed by Petteri
Aimonen).
* Build system: Changes to MIN definitions in all limit.h header files
to avoid integer overflows. For example from (-128) to (-127 - 1)
(from Petteri Aimonen).
* Applications: Modbus fixes from Freddie Chopin.
As well as other, less critical bugs (see the ChangeLog for details)

View file

@ -0,0 +1,319 @@
NuttX-6.25
----------
The 92nd release of NuttX, Version 6.25, was made on February 1, 2013,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.25.tar.gz and
apps-6.25.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r5595
Note that all SVN information has been stripped from the tarballs. If you
need the SVN configuration information, you should check out directly from
SVN. Revision r5595 should equivalent to release 6.25 of NuttX:
svn checkout -r5595 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
Or (HTTP):
svn checkout -r5595 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
Additional new features and extended functionality:
* OS Initialization
- Removed support for CONFIG_BUILTIN_APP_START. This is not really a
useful feature and creates a violation of the OS layered
architecture.
* Task Creation:
- Implement a simple vfork(). In NuttX-6.25, this interface is
available only for ARM7/9, ARMv7-M (Cortext-M3/4), and MIPS32
(PIC32MX) platforms.
- exec() now sets the priority of the new task to the same priority as
the parent task (instead of the arbitrary value of 50).
- New, partially compliant implementations of execv() and execl().
These are only partially compliant because they do not overlay any
existing "process space" but rather create the new task and exit().
- Add a complete implementation of posix_spawn(). This standard
interface is a better match for an MMU-less architecture than are
vfork() plus execv() or execl().
- Add a task start hook that will be called before the task main
is started. This can be used, for example, to schedule C++
static constructors to run automatically in the context of the
new task.
* Task Parentage
- Repartitioned tasking data structures. All shared resources are now
collected together in a "task group". A task group includes the
original task plus all of the pthreads created by the task.
- Added support for remember the parent "task group" when a new task is
started.
- Added optional support to record the membership of each thread in
the "task group".
- Implement support for retaining child task status in the "task group"
after the child task exists. This is behavior required by POSIX.
But in NuttX is only enabled with CONFIG_SCHED_HAVE_PARENT and
CONFIG_SCHED_CHILD_STATUS
- Add internal logic to "reparent" a task. This is useful,
for example, where the child task is created through a trampoline
task that redirects I/O. Reparenting allows the caller of posix_spawn()
to be reparented for the eventual child thread.
- Added support for SIGCHLD. Sent to all members of the parent task
group when the file member of the child task group exits.
- If SIGCHLD and retention of child task exist status are enabled, then
a more spec-compliant version of waitpid() is enabled.
- New interfaces waitid() and wait() are also enabled when SIGCHLD
is enabled.
* File System
- dup() and dup2() can new be used with opened files in a mounted file
system. This supports re-direction of output in NSH to files.
- The binfs file system was moved from apps/builtin to fs/binfs. The
binfs file system was extended to support execution of "builtin
applications" using exec(), execv(), execl(), or posix_spawn().
- Added logic based on SIGCHLD to automatically unload and clean-up
after running a task that was loaded into memory.
* Binary Formats
- Much of the logic for "builtin applications" was moved from
apps/builtin to nuttx/binfmt/libbuiltin. Includes some extensions
contributed by Mike Smith.
- A binary loader was added for builtin applications to support
execution of "builtin applications" using exec(), execv(),
execl(), or posix_spawn().
* Drivers:
- Added logic to marshal and serialized "out-of-band" keyboard
commands (such as cursor controls and key release events) intermixed
with normal ASCII keypress data. The encoding is partially integrated
in the HID keyboard driver and the decoding full integrated into the
apps/examples hidkbd and keypadtest (the latter contributed by Denis
Carlikli).
- Driver for the UG-2864HSWEG01 OLED contributed by Darcy Gong.
- Add support for removable serial devices (like USB serial). This
support is enabled by CONFIG_SERIAL_REMOVABLE.
* ARMv7-M:
- Added an option to use the BASEPRI register to disable interrupts
(instead of the PRIMASK). This eliminates some innocuous hardfaults
that interfere with some debug tools. You need to switch to the
BASEPRI method only if you have such tool interference.
* STM32 Drivers
- Bring STM32 F1 DMA capabilities up to par with the STM32 F2/F4
(contributed by Mike Smith).
- Add support for USART single wire mode (Contributed by the PX4
team).
- Updates to support for SPI DMA on the STM32 F1/F2/F4. From
Petteri Aimonen.
* STM32 Boards:
- New configuration to support the UG-2864HSWEG01 OLED on the
STM32F4Discovery board.
- Added a posix_spawn() test configuration for the STM32F4Discovery.
* LM3S/LM4F
- Files and directories repartitioned to support both LM3S and LM4F
using the STM32 organization as a model.
- Partial definitions for the LM4F contributed by Jose Pablo Carballo
(this is still a work in progress).
* LM3S Boards
- Added scripts and documentation to use OpenOCD with the LM3S (from
Jose Pablo Carballo).
* LPC176x/LPC178x
- Files and directories repartitioned to support both LPC175x/LPC176x
and the LPC177x/LPC178x families using the STM32 organization as a
model. The LPC1788 port is a work in progress by Rommel Marcelo.
* LPC176x/LPC178x Boards:
- Added a configuration to support the Wave Share Open1788 board.
This is still a work in progress by Rommel Marcelo.
* LPC2148 Boards:
- Add basic support for the The0.net ZP213x/4xPA board (with the LPC2148
and the UG_2864AMBAG01 OLED).
- Add an nxlines configuration for the ZP213x/4xPA (with the LPC2148
and the UG_2864AMBAG01).
* Simulator:
- Add an nxlines configuration for the simulator.
* Networking:
- Add logic to work around delayed ACKs by splitting packets
(contributed by Yan T.).
- Split net_poll() to create the internal interface psock_poll().
* LCDs:
- Added support for LCD1602 alphanumeric LCD (HD4468OU controller).
* Graphics:
- Added 5x8 monospace font. This tiny font is useful for graph
labels and for small bitmapped display. Contributed by Petteri
Aimonen.
* Build System:
- Add an options to better manage toolchain prefixes.
- Redesigned how the context target works in the apps/ directory.
The old design caused lots of problems when changing configurations
because there is no easy way to get the system to rebuild the
context. This change should solve most the problems and eliminate
questions like "Why don't I see my builtin application in NSH?"
* Kconfig Files:
- There are several new configurations that use the kconfig-frontends
tools and several older configurations that have been converted to
use these tools. There is still a long way to go before the conversion
is complete:
configs/sim/nxwm
configs/sim/nsh
configs/stm3220g-eval/nxwm
configs/stm32f4discovery/posix_spawn
configs/olimex-lpc1766stk/nsh
configs/olimex-lpc1766stk/hidkbd
configs/olimex-lpc1766stk/nettest
configs/open1788/ostest
configs/stm32f4discovery/nsh
configs/stm32f4discovery/usbnsh
configs/lm326965-ek (all configurations)
configs/mcu123-214x/nsh
configs/ubw32/ostest
* Tools:
- tools/kconfig.bat: Kludge to run kconfig-frontends from a DOS shell.
- tools/configure.c: configure.c can be used to build a work-alike
program as a replacement for configure.sh. This work-alike
program would be used in environments that do not support Bash
scripting (such as the Windows native environment).
- tools/configure.bat: configure.bat is a small Windows batch
file that can be used as a replacement for configure.sh in a
Windows native environment. configure.bat is actually just a
thin layer that executes configure.exe if it is available. If
configure.exe is not available, then configure.bat will attempt
to build it first.
* Applications:
- New and modified examples:
apps/examples/wlan: Remove non-functional example.
apps/examples/ostest: Added a test of vfork(). Extend signal
handler test to catch death-of-child signals (SIGCHLD). Add a
test for waitpid(), waitid(), and wait().
apps/exampes/posix_spawn: Added a test of posix_spawn().
- NSH:
NSH now supports re-direction of I/O to files (but still not from).
The block driver source argument to the mount command is now
optional for file systems that do not require a block driver.
NSH can now execute a program from a file system using posix_spawn().
Added support for a login script. The init.d/rcS script will be
executed once when NSH starts; the .nshrc script will be executed
for each session: Once for serial, once for each USB connection,
once for each Telnet session.
- Supports a new daemon that can be used to monitor USB trace outpout.
- Removed non-functional wlan example.
Bugfixes (see the ChangeLog for details). Some of these are very important:
* Tasking:
- Fixed a *critical* task exit bug. Here is the failure scenario:
(1) sched_lock() is called increments the lockcount on the current
TCB (i.e., the one at the head of the ready to run list), (2)
sched_mergepending is called which may change the task at the head
of the ready-to-run list, then (3) sched_unlock() is called which
decrements the lockcount on the wrong TCB. The failure case that
I saw was that pre-emption got disabled in the IDLE thread, locking
up the whole system.
* Signals:
- sigtimedwait() would return a bad signal number if the signal was
already pending when the function was called.
* Drivers:
- Some SD cards will appear busy until switched to SPI mode for
first time. Having a pull-up resistor on MISO may avoid this
problem, but this fix from Petteri Aimonen makes it work also
without pull-up.
* STM32 Drivers:
- STM32 FLASH driver counting error (from Freddie Chopin).
- STM32 F4 maximum SPI frequency was wrong (corrected by Petteri
Aimonen).
* STM32 Boards
- Due to cloning of untested code, the logic to control on-board
LEDs did not work on any STM32 boards.
- Serial devices number /dev/ttyS0-5 is there is a serial console,
but /dev/ttyS1-6 if there is no serial console.
* Binary Formats
- C++ static constructors execute now using a start taskhook
so that they execute in the context of the child task (instead
of in the context of the parent task).
* File Systems:
- Several FAT-related bugs fixed by Petteri Aimonen.
* Networking:
- Fix poll/select issure reported by Qiang: poll_interrupt() must call
net_lostconnection() when a loss of connection is reported. Otherwise,
the system will not remember that the connection has been lost and will
hang waiting on a unconnected socket later.
- Similar issues corrected for recvfrom() and send().
- Telnetd would hang in a loop if recv() ever returned a value <= 0.
* Libraries:
- fread() could hang on certain error conditions.
- Can't handle SYSLOG output to a character device from the IDLE task
(because the IDLE task can't block).
* Build System:
- Serial was driver was not being built if there is no console
device. Obviously, the serial driver may be needed even in
this case.
* Additional Bugfixes:
- sig_timedwait() and clock_time2ticks.c: Timing "rounding" logic
- ARM9 Compilation issue with low vectors.
- readline() return value
- Others as detailed in the ChangeLog: HID keyboard, LPC17xx bit
definitions, strndup(), PL2303, SYSLOG error handling, AT25,
apps/examples.

View file

@ -0,0 +1,239 @@
NuttX-6.26
----------
The 93rd release of NuttX, Version 6.26, was made on March 15, 2013,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.26.tar.gz and
apps-6.26.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r5745
Note that all SVN information has been stripped from the tarballs. If you
need the SVN configuration information, you should check out directly from
SVN. Revision r5745 should equivalent to release 6.26 of NuttX:
svn checkout -r5745 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
Or (HTTP):
svn checkout -r5745 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
Additional new features and extended functionality:
* OS Initialization:
- Add an additional call-out to support board-specific driver
initialization during the boot-up phase (available with
CONFIG_BOARD_INITIALIZE=y).
* Tasking:
- New interface task_spawn() that is like posix_spawn(), but uses
entry point addresses like task_create().
- Additional data restructuring as a continuation of the task group
changes of NuttX 6.25. These data structures were moved from the
TCB structure into the task group: pthread join data,
atexit/on_exit callbacks, waitpid data structures, and message
queues.
- TCBs for tasks and pthreads are now separate structures. This
saves a little memory since tasks do not have to carry the overhead
for threads and vice versa.
* Kernel Build:
- Extensive changes were made to support the kernel build mode. In
this mode, NuttX is built as a monolithic kernel. NuttX is built
as a separate kernel mode "blob" and the applications are built
as a separate user mode "blob". The kernel runs in kernel mode and
the applications run in user mode (with the MPU restricting user
mode accesses). Access to the kernel from the user blob is only
via system calls (SVCalls).
- Extensive changes were made to the syscall, SVCall, and trapping
logic. Many internal interfaces were renamed.
- The memory manager was extended to support both kernel- and user-
mode allocations. Logic within the kernel needs to use the
correct kernel- or user-space allocator, depending upon the user
of the allocated memory.
- The user-space blob now contains a header built in at the beginning
of the block that provides the same information that was previously
provided by a kludgy, auto-generated header file (user_map.h).
- Basic support implemented for the ARMv7-M family with fragments
also implemetned for the ARMv6-M and MIPS32 families.
- Kernel build supported added for the LPC17xx Open1788 and for
the Atmel SAM3U-EK board. All testing is being performed on the
Open1788 board.
* Signals:
- Delivery of signals to threads within a task group is now compatible
with the way that signals are delivered to threads within a process.
* Drivers:
- Add a driver for the SST29VF NOR FLASH parts.
- USB device trace/debug feature extended to decode device-specific
trace events to make the trace output more readable (from Petteri
Aimonen).
- USB MSC device driver can not support names of differing sizes
in the USB descriptor and the SCSI fields (from Petteri Aimonen).
- Locking added to MMC/SD SPI drivers so that MMC/SD can co-exist on
the same bus as other SPI devices. Frequency is reset each time
that the MMC/SD SPI has the bus locked. (from Petteri Aimonen).
* ARMv6-M (Cortex-M0):
- Added support for the ARM Cortex-M0 family.
* nuvoTon NUC120:
- Added support for the nuvoTon NUC120 MCU (Cortex-M0).
* nuvoTon NUC120 Boards:
- Added basic support for the nuvoTon NuTiny-SDK-NUC120 board (Cortex-M0).
* LPC17xx:
- Added support for the LPC177x and LPC178x families. Most of this is
the work of Rommel Marcelo.
* LPC17xx Boards:
- Added support for Zilogic System's ARM development Kit, ZKIT-ARM-1769.
From Rashid.
- The port for the WaveShare Open1788 board is now functional. Basic
OS test and NuttShell (NSH) configurations are functional. More
driver development and testing is needed (from Rommel Marcelo).
* LPC17xx Drivers:
- Added an SD card MSI driver for the LPC178x. The driver is marginally
functional but requires DMA capability to be reliable.
* STM32
- Support extended to handle the STM32 F3 family (Cortex-M4 with F1-like
peripherals).
* STM32 Boards
- Added support the STMicro STM32F3Discovery board (STM32 F3).
* Stellaris LM3S/LM4F
- Basic support for the LM4F120 family is in place, but untested (mostly
from Jose Pablo Carballo).
* Stellaris LM4F Boards
- Add support for the LM4F120 LaunchPad (untested).
* Networking:
- select() should now allocate a little less memory.
* Memory Management:
- Extended to support multiple heaps. This is used as part of
the kernel build in order to support separator user- and
kernel-mode heaps.
- The stand-alone memory manager test had to be removed. It
was too entangled and made extension of the memory manager
nearly impossible. This is a loss.
* Build System:
- Several configurations converted to use the kconfig-frontends
configuration tool. There are still many more that need to
be converted.
* C Library:
- Move the workqueue logic into the C library. There is now a
special user-space version of the work queue (which will only
be used with a NuttX kernel build).
- Implementation of itoa() contributed by Ryan Sundberg.
* Applications:
- The NSH builtin task logic now uses task_spawn() to start builtin
applications.
- The OS test now includes a test cased to verify task_restart().
Efforts In Progress. The following are features that are partially
implemented but present in this release. Most are expected to be fully
available in NuttX 6.27.
* LM4F120 LaunchPad port. Code is in place, but nothing has been tested.
* WaveShare Open1788 port. This port as actually complete and
functional. However, there is still ongoing development and
testing of drivers.
* Kernel Build. Much progress has been made, but there kernel build is
not yet fully functional due to several user resources that are not yet
properly disentangled from the kernel blob.
* Conversion of old configurations to use the kconfig-frontends
tool is an ongoing effort that will continue for some time.
Bugfixes (see the ChangeLog for details). Some of these are very important:
* Tasking:
- The wrong PID was being signalled with SIGCHLD. It should be
the PID of the task that create the task group, not the ID of
the last thread to leave the task group.
- Added logic so that some internal resources and states are recovered
when tasks are deleted or restarted. Handle cases where there are
outstanding timed events pending when tasks are deleted or restarted.
* ARMv7-M:
- Several fixes to the MPU control logic.
* Drivers:
- Removable serial drivers race conditions fixed.
- MAX11802 timing bug (from Petteri Aimonen).
* STM32 Drivers:
- Handle cases were SPI DMA logic fails if sem_wait is awakened
by a signal. Need to clear error flags to prevent corruption of
subsequent transfers. Also, bit count should not be changed while
the SPI peripheral is enabled (from Petteri Aimonen).
- Fixes to the OTG FS device driver from Petteri Aimonen.
- Fix typos in DMA register header file (from Yan T.)
* Graphics:
- Correction to the hyphen in the SANS 17x22 font (from Petteri
Aimonen).
* Networking:
- Corrected errors in the socket poll/select logic. Additional
state logic was needed to detect if the socket is still connected
before starting the poll wait. (bug reported by Qiang Yu).
* Memory Management:
- mallinfo() should hold the memory manager semaphore (from Petteri
Aimonen.
* Build System:
- Resolved several build errors reported by Mike Smith.
* Applications:
- Fixed an NSH memory leak: Needed to detach after creating each
pthread.
- readline() now returns EOF on any failure (instead of a negated
errno value). This is because the underlying read is based on
logic similar to getc. The value zero (meaning end-of-file)
was being confused with a NUL. So if a NUL was received, the
NSH session would terminate because it thought it was the end of
file.

View file

@ -0,0 +1,234 @@
NuttX-6.27
----------
The 94th release of NuttX, Version 6.27, was made on April 28, 2013,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.27.tar.gz and
apps-6.27.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
Additional new features and extended functionality:
* OS Initialization:
- Add missing registration of /dev/zero. Registration of /dev/null
should depend upon conditional compilation. From Ken Pettit.
* Tasking:
- Added a new interface to set aside memory on the task's stack. This
is used (at least in the kernel build) to hold task arguments.
- Remove up_assert_code(). One assertion routine is enough.
* Kernel Build:
- Extensive changes were made to support the kernel build mode. In
this mode, NuttX is built as a monolithic kernel. NuttX is built
as a separate kernel mode "blob" and the applications are built
as a separate user mode "blob". The kernel runs in kernel mode and
the applications run in user mode (with the MPU restricting user
mode accesses). Access to the kernel from the user blob is only
via system calls (SVCalls).
- Kernel build configurations for the Open1788 board and for the
STM32F4Discovery now execute correctly.
- Changes were made to task and thread start-up routines, signal
handling, data structures, ARMv7-M SVCalls, stack management
interfaces,
* Drivers:
- Driver for the ST7567 LCD Display Module from Univision Technology
Inc. Contributed by Manikandan.S
- SPI initialize functions renamed so that multiple SPI blocks can
be initialized.
- Extended to support the RAMTRON FM25V01 device. Contributed by
Lorenz Meier
- Serial drivers: TIOCSERGSTRUCT ioctls now conditioned on
CONFIG_SERIAL_TIOCSERGSTRUCT
* ARMv7-M (Cortex-M3/4):
- Added support for modifiable interrupt vectors in RAM
* nuvoTon NUC1xx:
- Added kernel build support
* Freescale Kinetis:
- Add kernel build support
- Add support for the Kinetis L family of Cortex-M0+ MCUs. Contributed
by Alan Carvalho de Assis.
* LPC17xx:
- Now holds off sleep mode in the IDLE loop is DMA is in progress
(because sleep mode will disable CPU SRAM).
* LPC17xx Boards:
- ZKIT-ARM-1769: Now supports the ST7567 LCD display module. Added
an nxhello configuration for testing (Manikandan.S).
- ZKIT-ARM-1769: Add support for both CAN1 and CAN2. Contributed by
M.Kannan
- Open1788: Basic support for the WaveShare Open1788 board is complete
with working OS test, NSH, and graphics configurations.
- Open1788: Integrated the LPC178x LCD driver with the WaveShare display.
Touchscreen support is included, however, there appears to be an
issue with the Open1788 touchscreen interrupt signal.
- Open1788: Now supports SDRAM (used to provide the LCD framebuffer).
- Open 1788: Reversed sense of the IDLE LCD. It is now off when the
LPC17 is sleeping and on when awake. That is much a better visual
indication of the dynamic CPU load
* LPC17xx Drivers:
- Added an LCD framebuffer driver for the LPC177x/8x family.
- Implemented LPC17xx GPDMA support.
- Integrated the LPC17xx GPDMA support into the SD card driver.
- SSP driver adapted to work with the LPC178x family.
- Separate LPC176x and LPC178x GPIO logic; this logic is too different
to maintain in one file with conditional compilation.
- Re-design of the GPIO logic for the LPC178x family by Rommel Marcelo.
* LPC43xx:
- Added kernel build support
* STM32:
- Added support for kernel mode build.
- Added architecture support for the STM32 F427/F437 chips. Contributed
by Mike Smith
* STM32 Boards:
- Added a configuration to support a kernel mode build of the OS test
on the STM32F4Discovery
* Stellaris LM3S/LM4F:
- Added kernel build support
- Added support for the 7 UARTs on the LM4F120
* Stellaris LM4F Boards:
- Added scripts and instructions to simplify use of OpenOCD with ICDI
(JP Carballo)
- The basic for the Stellaris LM4F120 Launchpad is complete. This
includes support for OS test and NSH configurations. Additional
driver development is needed.
* Build System:
- Directories where the same sources files are used to build different
objects in the first and second pass kernel builds need to keep those
objects in separate directories so that they are not constantly
rebuilt.
* Applications:
- apps/system/ramtest: Add a simple memory test that can be built
as an NSH command.
* Tools:
- kconfig2html is a new tool which will replace the hand-generated
documentation of the NuttX configuration variables with auto-
generated documentation.
Efforts In Progress. The following are features that are partially
implemented but present in this release. Most are expected to be fully
available in NuttX 6.28.
* A port to the Freescale Freedom KL25Z is complete but not yet stable
enough. The KL25Z is a low-cost Cortex-M0+ part with 128KB of FLASH
and 16KB of SRAM. This is is the effort of Alan Carvalho de Assis.
* Conversion of old configurations to use the kconfig-frontends
tool is an ongoing effort that will continue for some time.
At this time, only 32% of the configurations have been converted
to use the kconfig-frontends tools.
Bugfixes (see the ChangeLog for details). Some of these are very important:
* Tasking:
- Fixed a critical bug: When there is pending C buffered output
and the system is very busy, the a pthread may be blocked at
a critical point when trying to exit. Blocking at this critical
point would cause crashes. All entire task/thread exit logic
paths were reviewed and failsafe mechanisms were put in place
to assure that exitting tasks never block after task teardown
has been started.
* ARMv6-M:
- Fixed parameter passing for all system call inline functions with > 3
parameters
- Fixed a major problem: The Cortex-M0 has no BASEPRI register but the
logic of NuttX-6.26 was using it to manage interrupts. Switch to
using the PRIMASK instead. This means that hardfaults will (again)
occur when SVC instructions are executed
* ARMv7-M:
- Corrected Correct MPU sub-region settings for unaligned regions.
- In exception handling with CONFIG_NUTTX_KERNEL, need to explicitly
set and clear the privilege bit in the CONTROL
- Fixed parameter passing for all system call inline functions with > 3
parameters
* Drivers:
- Support for O_NONBLOCK was not supported in the "upper half"
serial driver.
- PL2303 compilation errors
* Stellaris LM3S/4F:
- Corrected typos in alternate function definitions.
* LPC17xx Drivers:
- Added a work-around for an ADC errata. From Chris Taglia
- Only one ADC pin was configured. Need to configure all that
are in the ADC0 set. From MKannan
* File Systems:
- The FAT logic was not making a distinction between directory
non-existence and file non-existence so when it you try to
create a file in a non-existent directory, it would create a
file with the name of the missing directory. Reported by Andrew
Tridgell
- Several fixes to the FAT file system from Ronen Vainish. These
fixes mostly involve the logic to extend directory clusters for
the case of long file names but also include a few important
general fixes (such as for storing 32 bit FAT values)
- mkfatfs was writing the boot code to the wrong location. From
Petteri Aimonen
* Networking:
- Fixed a compilation error when socket options are are disabled.
Reported by Daniel O'Connor
* C Library:
- Corrected an error in sscanf. If %n occurs in the format statement
after the input data stream has been fully parsed, the %n format
specifier will not be handled. Reported by Lorenz Meier
- strchr(str, '\0') should return a pointer to the end of the string,
not NULL. From Petteri Aimonen
* Build System:
- Fix naming of NuttX target if EXEEXT is defined.
* Applications:
- OS test: Fix timing error in non-cancelable thread test.
- NSH: Correct the test of the skip input parameter. Was limiting the
range to <= count. From Ken Petit.

View file

@ -0,0 +1,254 @@
NuttX-6.28
----------
The 95th release of NuttX, Version 6.28, was made on June 14, 2013,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.28.tar.gz and
apps-6.28.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
Additional new features and extended functionality:
* File Systems:
- SMART FLASH file system (contributed by Add Ken Pettit).
* MTD (FLASH) Drivers:
- Add support of MTD partitions via a new MTD driver that manages a
set of MTD devices, each managing a subset of the FLASH region
managed by the parent MTD driver.
- Extended the MTD interface to provide an (optional) method to
perform byte oriented writes if supported by the FLASH part.
- M25Px driver re-architected to use the byte write capability (when
possible) and to use 4KB sectors for the erase block size when the
part supports it (from Ken Pettit).
* LCD Drivers:
- New interface definitions to support audio devices (from Ken Pettit)
and alphanumeric, segment LCDs.
* Wireless Drivers:
- Added new driver for the wireless nRF24L01+ transceiver (from
Laurent Latil).
* Calypso:
- Added support for the Pirelli DP-L10 phone (from Craig Comstock via
Alan Alan Carvalho de Assis)
* STM32:
- Added an option to conditionally disable the "wfi" sleep mode. This
is needed with certain JTAG debuggers to prevent the debug session
from being disconnected (from Ken Pettit).
- Added support for the STM32L (STM32L15X/STM32L16x) family.
- Added STM32F103C4 and F103C8 chip support (from Laurent Latil).
- Added a new interface function, stm32_dmacapable() that can be used
to determine if DMA is possible from the specified memory address
(from Petteri Aimonen)
* STM32 Drivers:
- If CONFIG_STM32_DMACAPABLE is defined, the STM32 SPI driver now uses
stm32_dmacapable() to determine if it is possible to perform DMA
from the specified address. This change is important for the STM32
F4 which may have SPI data buffers allocated on the stack in CCM
memory which cannot support the DMA (from Petteri Aimonen).
* STM32 Boards:
- Support added for the MikroElektronika Mikromedia for STM32F4
development board (from Ken Pettit) with the MIO283QT2 LCD and
touchscreen. Several graphics configurations are included.
- The HY-mini STM32v board now uses the common SSD1289 driver
and supported the card detect interrupt. Several new
configurations also added and some removed (from Laurent Latil).
- Support added for the R65105-based LCD that comes with some
HY-Mini STM32v boards (from Christian Faure).
- Added basic support for the STM32L-Discovery board. Drivers
for the on-board segment LCD are included.
- Added support for the STM32 Tiny development board based on the
STM32 F103C8T6 MCU. This includes support for the nRF24L01+
wireless on the board (from Laurent Latil).
* Stellaris LM3S/LM4F:
- Support added for a TI/Stellaris internal FLASH MTD driver (from Max
Holtzberg).
* Stellaris LM4F Boards:
- The LM3S6965-EK now has configurations for the UDP discovery tool and
for the TCP echo server (both from Max Holtzberg)
* Atmel ATSAM3/4:
- Reorganized, renamed, and updated directory structure to better
support additional members of the SAM3/4 family.
- Added support for both the ATSAM4S and ATSAM4L families. The
ATSAM4S is similar to the ATSAM3U, but the ATSAM4L is quite a
different beast, really much more akin to the AVR32s SoCs but
with a Cortex-M4.
* Atmel ATSAM3/4 Boards:
- Added support for the Atmel SAM4L Xplained Pro development board.
This board features the ATSAM4LC4C MCU (Cortex-M4 with 256KB FLASH +
32KB SRAM).
- Added support for the Atmel SAM4S Xplained development board. This
board features the ATSAM4S16C MCU (Cortex-M4 with 1MB FLASH + 128KB
SRAM).
* PIC32MX Boards:
- Added support for the 1602 segment LCD on-board the Sure PIC32MX
board. This board will now also support a USB NuttX console and
the USB monitor test program.
* Build System:
- Clean-up of almost all .gitignore files: Made scope of ignore to be
only the current directory; Ignore .dSYM files in directories where
.exe's may be built. Also, in Makefiles, clean .dSYM files in
directories where an .exe may be built.
- Standardize and consolidated all build-as-an-NSH-application
configuration settings. Now only CONFIG_NSH_BUILTIN_APPS is
sufficient to build an application, test, or or example as an NSH
builtin application.
- Added support for a generic ARM, ARMv6-M and ARMv7-M Windows EABI
toolchains.
* Libraries:
- Added encoder/decoder logic to marshal and serialize special segment
LCD (SLCD) commands intermixed with normal ASCII data. This is the
similar to the encoding/decoding logic that is used to marshal
special commands from a keyboard.
- Add dprintf() and vdprintf() (the latter from Andrew Tridgell).
- Add an application that may be built as an NSH builtin command that
will erase FLASH using a flash_eraseall NSH command (from Ken Pettit).
* Applications:
- Added an MTD partition test/examples. Currently used with (1) the a
simulation configuration to test MTD partitions on a RAM emulation
of FLASH and (2) with the Mikroe STM32F4 configuration.
- Added a test/example to verify alphanumeric, segment LCDs.
- Added a simple single threaded, poll based TCP echo server based
on W. Richard Stevens UNIX Network Programming Book (from Max
Holtzberg).
- Added several tests of the SMART block driver and file system (from
Ken Pettit).
- Added a runtime configuration for the UDP discover utility (from
Max Holtzberg).
- Added an example application to demo the nRF24L01 driver (from
Laurent Latil).
- New and modified NSH commands:
Added a -h option to the df command to show the volume information
in human readable form (from Ken Petit).
Add a new mksmartfs command (from Ken Petit).
Efforts In Progress. The following are features that are partially
implemented but present in this release. Most are expected to be fully
available in NuttX 6.28.
* Audio System:
- A complete audio subsystem include CODECs, higher level management,
interface definitions, and audio drivers was contributed by Ken
Pettit. This work has not been completely verified as of this
release and so is categorized as a work-in-progress. At present,
progress is blocked due to issues interfacing with the VS1053
audio DAC on the Mikroe STM32F4 board.
* kconfig-fronted Configuration:
- Conversion of old configurations to use the kconfig-frontends
tool is an ongoing effort that will continue for some time.
At this time, only 43% of the configurations have been converted
to use the kconfig-frontends tools.
Bugfixes (see the ChangeLog for details). Some of these are very important:
* Tasking:
- Modify assertion in the priority inheritance logic that is reported
to cause false alarm assertions.
* Kernel Build:
- Typo in syscall proxying logic corrected by Ken Pettit.
* Networking:
- Poll setup/teardown logic should ignore invalid (i.e., negative)
file descriptors (from Max Holtzberg).
- When readahead data is available, the network poll() logic should
set POLLIN (or POLLRDNORM), not POLLOUT (from Max Holtzberg).
* LCD Drivers:
- Correct power controls in the MIO283QT2 LCD driver.
* USB Device Controller Drivers:
- Change the default IN request buffer size from 64 to 96. This will
avoid requests of exactly MAXPACKET size and, hence, avoid so many
NULL packets. Also, fix the OUT request buffers size to exactly the
max packet size. It really cannot be any other size.
* STM32 Drivers:
- Correct some bad STM32 F1 DMA definitions that crept into the system
a few months ago a broke STM32 F1 DMA (from Laurent Latil)
- Fixed an error in NULL packet handling in the STM32 F1 USB device
controller driver: If the NULL-packet needed flag ever got set,
then it was not being cleared and infinite NULL packets resulted.
This only affects the CDC/ACM class and was the cause of the
failures using the USB CDC/ACM device as a NuttX console. With this
change the USB works well as an alternative NuttX console device for
the STM32 F1 family.
- Correct some bad condition compilation in the RCC logic (CONFIG_
missing from setting names). This affects some STM32 FLASH pre-
fetch settings (from Lorenz Meier).
- Change for hardware flow control support for STM32. The change also
fixes incorrect operation of USART2 and UART5 in current master
(from Lorenz Meier and Mike Smith).
- Fixed a backward conditional in USB OTG FS host controller driver
that prevented detection of disconnection events (from Scott).
* LPC17xx Drivers:
- I2C interrupt control. Also correction for a single byte read
timeout error (from M. Kannan).
* Freescale Kinetis:
- Freedom KL25Z pin multiplexing and LED control corrections (from
Alan Carvalho de Assis)
* PIC32MX:
- Fix NULL packet handling in the PIC32 USB device driver. Without
this fix the CDC/ACM driver cannot be used reliably with the PIC32
USB. With this change the USB works well as an alternative NuttX
console device.
* Graphics:
- Default priorities for NxWidget and NxWM threads should be 100,
not 50, to be consistent with other default priorities.
* Applications:
- Remove the CONFIG_EXAMPLES_NXTEXT_NOGETRUN option from the NXTEXT
example. The test logic was bad for the case where this options is
not selected. Also, completed the empty Kconfig file.
- C++ name mangling was occurring when this example is built as an NSH
built-in application causing the entry to be undefined when called
from C code.
- Add some missing NSH library configuration values (from Lorenz
Meier).

View file

@ -0,0 +1,210 @@
NuttX-6.29
----------
The 96th release of NuttX, Version 6.29, was made on July 31, 2013,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.29.tar.gz and
apps-6.29.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
Additional new features and extended functionality:
* Drivers:
- Generalized the SSD1306 driver and added support UG-2832HSWEG04
which is very similar to the existing support for the
UG-2864HSWEG01.
- Added support for a generic bit-bang SPI driver. This includes
both a common "upper half" driver as well as a platformp-specific
"lower half" dirvers based on a common "template."
* ARMv7-A, Cortex-A5
- Added support for the ARMv7-A architecture and the Cortex-A5 in particular.
* ARMv7-M, Cortex-M3/4
- Modified how some registers are copied during a context switch (with
lazy FPU register saving). This should save some context switching
time when the context switch is due to interrupt level processing.
* STM32:
- Added support for a separate CCM heap. This may be useful for
segregating allocations for CCM (which cannot be used for DMA)
from other allocations (that may be used used for DMA).
* STM32 Drivers:
- DAC: Added support for DAC DMA (contributed by John Wharington).
- I2C: An I2C driver for the STM32 F3 family (from John Wharington).
* Atmel AT91 SAM/4:
- Add support for SAM3X and SAM3A chips
* Atmel AT91 SAM/4 Drivers:
- Re-architect the SAM3/4 SPI driver so that is it compatible with the
SPI drivers of other MCUs.
- Added register definition file for the SAM4L LCD peripheral.
- Added SAM4L PDCA register definition file
* Atmel AT91 SAM/4 Boards:
- SAM4L-Xplained: Added support for the SPI-based SD card on the I/O1
module.
- SAM4L-Xplained: Added a driver for the LED1 segment LCD module.
- SAM4L-Xplained: Added support for the UG-2832HSWEG04 OLED on the
SAM4L Xplained Pro's OLED1 module
- SAM4S-Xplained: Added support for on-board 1MB SRAM
- Arduino Due: Basic support for the Arduino Due (SAM3X) is now
included.
- SAM3U-EK: The touchscreen is now functional.
* Atmel AT91 SAMA5D3
- Added support for the Atmel AT91SAMA5D3 Cortex-A5 chip family.
* Atmel AT91 SAMA5D3 Boards
- Added support for the Atmel SAMA5D3x-EK boards which use the AT9
SAMA5D3x chips (x=1,3,4,5).
* Freescale KL25Z Drivers
- Freescale KL25Z TSI register definitions and example TSI driver for
the Freedom KL25Z board from Alan Carvalho de Assis.
- Added SPI driver and register definitions for the Freescale KL25Z.
- Added a framework for controlling SPI-related discrete inputs and
outputs. Taken from work by Alan Carvalho de Assis
* Build System:
- New sub-directories to hold SPI-related files: includes/nuttx/spi.h
moved to include/nuttx/spi/.; SPI-related Kconfig info moved from
drivers/Kconfig to drivers/spi/kconfig.
- Finally... I changed the naming of configuration variables like
CONFIG_DRAM_ to CONFIG_RAM_. This has bothered me for a long time
since most boards don't have DRAM. The more generic RAM naming
should not produce so much cognitive dissonance
* Libraries:
- Added CRC16 support.
* Applications:
- Added Zmodem file transfer support. This may be used as an embedded
library or may be built as 'sz' and 'rz' commands that can be
executed from NSH.
- C++ initializers should be set once and, preferably, in the context
of the task that uses any C++ statically initialized classes. This
only becomes an issue if cxxtest or helloxx are built as NSH builtin
applications. Then you want the initialization done in cxxtext or
helloxx and not in NSH (and certainly not twice). Added
configuration options to control who does the C++ initialization.
NSH now does not do C++ initialization be default and must be
configured to do otherwise. Conversely, cxxtest and helloxx
will always do C++ initialization unless configured do otherwise.
- examples/cxxtext: Add ostream test as provided by Michael.
- NSH: Added a 'cmp' command that can be used to compare two files
for equivalence. Returns an indication if the files differ.
Contributed by Andrew Tridgell (via Lorenz Meier).
Efforts In Progress. The following are features that are partially
implemented but present in this release. They are not likely to be
completed soon.
* Audio System:
- A complete audio subsystem include CODECs, higher level management,
interface definitions, and audio drivers was contributed by Ken
Pettit. This work has not been completely verified as of this
release and so is categorized as a work-in-progress. At present,
progress is blocked due to issues interfacing with the VS1053
audio DAC on the Mikroe STM32F4 board.
* kconfig-fronted Configuration:
- Conversion of old configurations to use the kconfig-frontends
tool is an ongoing effort that will continue for some time.
At this time, only 45% of the configurations have been converted
to use the kconfig-frontends tools.
Bugfixes (see the ChangeLog for details). Some of these are very important:
* File Systems:
- Fixed compilation error if no file systems are enabled: Change
error to ERROR.
- Read-Ahead/Write buffering: Correct typos that can cause failures
in some configurations (From Chia Cheng Tsao).
* Drivers
- Remove the wait for the touchscreen busy bit in the ADS7843E driver.
From my reading of the ADS7843 spec, it would not be appropriate to
wait for the BUSY bit to de-asserted anyway (since it is only de-
asserted when we read the data). Most boards do not even bother to
provide the BUSY bit.
- MMC/SD SPI based driver: Driver needs to make sure that the SPI
mode and data width are correct.
- ENC28J60: Change buffer ordering to work around Errata. From Dave
(ziggurat29).
* USB Device Controller Drivers:
- Fixed a typo in the composite device driver unitialization logic.
DEV1 should be DEV2 in one case.
- usbdev.h: Fix some typos that cause compiler errors when
CONFIG_USBDEV_DMA and CONFIG_USBDEV_DMAMEMORY are selected (From
Chia Cheng Tsao).
* ARM9:
- Fix a bug (uninitialized register error) that crept in the ARM9
boot-up code several years ago. Obviously no one has used the
ARM9 NuttX port for years!
* STM32 Drivers:
- Fix STM32 OTF FS endpoint allocation logic. Apparently the same
endpoint can be allocated as both an IN or an OUT endpoint. The
existing implementation only supported one allocation, either IN or
OUT. This resulted in failures to allocate endpoints when used with
the CDC/ACM + MSC composite driver (From Chia Cheng Tsao).
- SDIO: Add support for the data block end (DBCKEND) interrupt to
terminate transfers (From Chia Cheng Tsao).
- DAC: Fixed numerous DAC driver errors and added support for DAC
DMA (contributed by John Wharington).
* SAM3/4:
- SAM4S: Correct configuration of PIO pins for SAM4S B and C peripherals.
- Need to disable write protection before configuring PIO pins.
- GPIO configuration logic must protect against re-entrancy.
- Clocking must be applied to the SMC module for the 3X and 3A family in
order for the NFC SRAM to be functional.
- Fixed some errors for interrupts on ports D-F.
* SAM3/4 Drivers:
- Common SPI driver: Fix SPI mode setting. In the SAM3/4 family, the
clock phase control (CPHA) is inverted (NPHA). Also fixed an
incorrect pointer test. Was checking if the wrong pointer was NULL.
* SAM3/4 Boards:
- SAM3U-EK: Fix polarity of the /PENIRQ signal (it is active low).
The SAM3U-EK board now runs at 96MHz.
* Applications:
- apps/examples/nxhello: Minor fix for compilation error when the
display resolution is low (< 8bpp) due to a typo that has been there
for a long time. Also Correct default colors when in Y1 code mode.
- apps/system/ramtest: The RAM test was not correctly built
into the configuration and build system.
- apps/examples/composite: Change to prevent some false alarm debug
assertions (From Chia Cheng Tao).

Some files were not shown because too many files have changed in this diff Show more