Compare commits

...

32 commits

Author SHA1 Message Date
c2f9368c7e walnux: moveout
Some checks failed
Build Documentation / build-html (push) Has been cancelled
2025-10-31 17:58:46 +02:00
Filipe Cavalcanti
a00ac581c5 arch/xtensa/espressif: fix Wi-Fi netpkt copy error
Fix an issue where netpkt copy would fail due to wrong
return checking condition.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-30 12:14:45 -03:00
Filipe Cavalcanti
b49bf589c3 boards/xtensa: update board and defconfigs for Wi-Fi on ESP32|S2|S3
Updates the defconfigs and board source to support driver refactor.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-30 12:14:45 -03:00
Filipe Cavalcanti
5f36eb5d23 arch/xtensa: refactor Wi-Fi driver for ESP32|S2|S3
Fixes low and inconsistent bandwidth issues.
Adds new configuration options for buffer management.
Moves code around to make the implementation cleaner and easier to debug.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-30 12:14:45 -03:00
Filipe Cavalcanti
ce99fbd904 arch/xtensa/esp32: Update E-Fuse driver
Updates E-Fuse driver for ESP32, now sharing a common implementation across Xtensa devices.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-30 12:14:45 -03:00
Filipe Cavalcanti
8d6dcd61ed arch/xtensa/esp32s2: Update E-Fuse driver
Updates E-Fuse driver for ESP32S2, sharing a common implementation for Xtensa devices.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-30 12:14:45 -03:00
Filipe Cavalcanti
13e24e0c78 arch/xtensa/esp32s3: Update E-Fuse driver
Updates E-Fuse driver for ESP32S3, now sharing a common implementation across
Xtensa devices.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-30 12:14:45 -03:00
Filipe Cavalcanti
384f788d18 arch/xtensa: add common driver for E-Fuse on Espressif devices
Adds a common E-Fuse driver to be used by Espressif Xtensa devices.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-30 12:14:45 -03:00
Filipe Cavalcanti
e0e00f2b29 arch/xtensa: add sys_startup_fn call
Adds SYS_STARTUP_FN which calls constructors and init functions on
common source code. Requires compatibility changes on linker script.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-30 12:14:45 -03:00
Alin Jerpelea
fccf2f6e06 Documentation: add NuttX-12.11.0 release notes
Add release notes for 12.11.0 release

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2025-09-28 21:01:42 +08:00
nuttxs
9bedf16be9 boards/xtensa: fix the issue of undefined symbol reference errors occurring during compilation and linking phase when the configuration (CONFIG_ESP32S3_APP_FORMAT_LEGACY=y) is enabled. 2025-09-28 15:04:14 +08:00
Michal Lenc
9d01d17188 Documentation/applications/boot/nxboot: fix incorrect fnc description
Fixes incorrect nxboot_get_confirm function description (it was a
copy paste from nxboot_confirm function).

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2025-09-27 21:42:55 +08:00
wangchengdong
dd51d9a3fc arch/tricore: fix tricore_doirq function local var "regs" not initialized issue
In tricore_doirq, local variable regs is firstly used without initiazlied, this is a bug

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-27 21:42:47 +08:00
Jukka Laitinen
9413b6f331 sched/signal/sig_dispatch.c: Simplify the nxsig_dispatch
The nxsig_dispatch should just deliver the signal to either a
thread by pid (tid) or to the process (group) by pid.

Simplify the code so that the intent is more obvious.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-09-27 21:42:03 +08:00
Jukka Laitinen
a4c42e54f7 sched/signal/sig_dispatch.c: Correct signal dispatch to specific thread
The signal dispatch is called from interrupt handlers as well, so
this_task() is wrong. The thread to which the signal is supposed to
be delivered is known (stcb), use that.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-09-27 21:42:03 +08:00
raiden00pl
628c05acf3 arch/sim/sim_canchar.c: fix CAN flags decoding for message
fix CAN flags decoding for SIM CAN

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-09-27 21:41:55 +08:00
wangchengdong
e83012b540 arm/armv8-r: remove redundant and misleading pointer in arm_syscall()
replace **running_task with *running_task, and updated several other places
 accordingly

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-27 21:41:47 +08:00
Lars Kruse
b3dd8b2796 arch/arm/rp2040: merge conflicting definitions of hw_* functions
The functions `hw_write_masked` and `hw_xor_bits` (as defined in
pico-sdk) were defined in NuttX twice.
Additionally these definitions were in conflict (one lacked the
`volatile` modifier).

Now these functions and their dependencies are defined in a new header
file.
Its name is based on the filename of the original definition in
pico-sdk:

  src/rp2_common/hardware_base/include/hardware/address_mapped.h

This change should fix the potential issue of GPIO operations failing
due to compiler optimizations caused by the absence of `volatile`.

Signed-off-by: Lars Kruse <devel@sumpfralle.de>
2025-09-27 21:41:41 +08:00
wangchengdong
ba0a5df95d arch/tricore: fix tasking compiler linking error
Add "add_link_options(--no-default-libraries)" ToolchainTasking.cmake
  Add "LDFLAGS += --no-default-libraries" in ToolchainTasking.defs

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-27 21:41:33 +08:00
chao an
cf616fd619 arch/arm/armv8-m: stack pointer should be 8-byte aligned in signal context
Since the alignment of the signal context is affected by XCPTCONTEXT_SIZE in
different Kconfig,  sometimes the stack pointer is not aligned to 8 bytes, this
is not what the software and compiler expect, for example,  if va_list() obtains
wide data of type long long, the offset will be wrong, So in this commit, we set
stack-aligned the base offset so that the correct offset will be set during context
restoration.

1. test code:
|            void signal_handler(int signo, siginfo_t *info, void *context) {
|                long long ttt = 1024000;
|                printf("%lld\n", ttt);
|            }
|
|            struct itimerspec its = {   .it_value.tv_sec  = 1,
|                .it_value.tv_nsec = 0,
|                .it_interval.tv_sec  = 1,
|                .it_interval.tv_nsec = 0
|            };
|
|            int main(int argc, FAR char *argv[])
|            {
|                struct sigevent evp;
|                timer_t timer_id;
|
|                memset(&evp, 0, sizeof(evp));
|                evp.sigev_notify          = SIGEV_SIGNAL | SIGEV_THREAD_ID;
|                evp.sigev_signo           = SIGALRM;
|                evp.sigev_notify_thread_id = gettid();
|
|                timer_create(CLOCK_REALTIME, &evp, &timer_id);
|
|
|                struct sigaction sa;
|                memset(&sa, 0, sizeof(sa));
|                sa.sa_sigaction = signal_handler;
|                sa.sa_flags = SA_SIGINFO;
|                sigemptyset(&sa.sa_mask);
|
|                sigaction(SIGALRM, &sa, NULL);
|
|                timer_settime(timer_id, 0, &its, NULL);
|
|                while (1)
|                    sleep(1);
|
|                return 0;
|            }

2. before this change:

|            NuttShell (NSH) NuttX-12.10.0
|            nsh> hello
|            4398046527890440
|            4398046527890472
|            4398046527890504
|            4398046527890536

3. after this change:

|            NuttShell (NSH) NuttX-12.10.0
|            nsh> hello
|            1024000
|            1024000
|            1024000
|            1024000

Signed-off-by: chao an <anchao.archer@bytedance.com>
2025-09-27 21:41:20 +08:00
wangchengdong
754eab4687 arch/tricore: allow user defined compiler path
prefix compiler with ${TOOLCHAIN_PREFIX}

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-27 21:41:13 +08:00
wangchengdong
a039fc7097 arch: fix stack alignment bug for arm and tricore arch
The stack alignment operation in tricore and arm porting
   only aligns the size of the stack, forget to align the start addr
   of the stack, this patch fixes it.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-27 21:41:05 +08:00
wangchengdong
21e1596dff arch: fix alignment bug for archs that need stack alignment
These archs only align the size of the stack, forgeting to do the
 stack start addr alignment, this patch fixes it.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-27 21:40:58 +08:00
Jukka Laitinen
382ed6550f imx9/imx9_usbdev.c: Fix interrupt handling in SMP mode
The interrupt handler accesses the device as well as the driver's private
data. Use critical_section for mutual exclusion with drivers/usbdev, which
also protects the same data with critical_section.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-09-27 21:40:50 +08:00
Tiago Medicci Serrano
70b5aa4df0 include/nuttx/spi/spi_bitbang: Fix incompatible pointer type issue
This commit fixes the incompatible pointer type issue due to
incompatible types of the `bitexchange_t` callback.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2025-09-27 21:40:43 +08:00
MASZ
94ad260843 arch/arm/stm32h7: Fix and enhance WWDG (Window Watchdog) support
This patch addresses several issues and adds enhancements to the WWDG
(Window Watchdog) implementation for the STM32H7 platform. The changes
include:

- Extend the definitions of WWDG_CFR_PCLK1 macros to support dividers
  up to 128, and update the stm32_settimeout() function to consider this
  extended range.
- Fix the "elapsed" calculations in the stm32_getstatus() function to
  ensure correct time remaining calculations.
- Clear the EWIF (Early Wakeup Interrupt Flag) bit in the stm32_start()
  function, as this bit might be set by hardware before the watchdog is
  actually started.
- Initialize the WWDG clock in the RCC_APB3ENR register and set the
  RCC_GCR_WW1RSC bit as per the STM32 reference manual to ensure proper
  behavior when enabling the WWDG1.

Signed-off-by: Szymon Magrian <szymon.magrian@hexagon.com>
2025-09-27 21:40:35 +08:00
Huang Qi
3af0ab64bb arch/risc-v: espressif: temperature: Fix incorrect pointer casting
Fix bug in temperature sensor driver where direct casting of lower half
structure pointer could lead to incorrect memory access.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2025-09-27 21:40:28 +08:00
Huang Qi
47e4576b1c arch/xtensa: espressif: temperature: Fix incorrect pointer casting
Fix bug in temperature sensor driver where direct casting of lower half
structure pointer could lead to incorrect memory access.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2025-09-27 21:40:28 +08:00
Huang Qi
106058cc1f boards: esp32s3-lckfb-szpi: Remove obsolete device function prototypes
Remove function prototypes for BMP180 pressure sensor and CS4344 audio DAC
devices that were never actually present on this board configuration. This
cleans up the header file by removing declarations for non-existent hardware.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2025-09-27 21:40:20 +08:00
wangchengdong
80f5a06c06 arch/tricore: Align Makefile with Cmake for tasking linker script preprocessing
Provide linker script preprocessing function porting for
    tasking compiler

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-27 21:40:12 +08:00
Tiago Medicci Serrano
5e9e237868 Documentation: Add entry for ESP32-[C3|C6|H2]'s buttons defconfig
This commit adds an entry on Documentation regarding ESP32-C3,
ESP32-C6 and ESP32-H2 boards that implement the `buttons` defconfig

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2025-09-27 21:40:02 +08:00
Tiago Medicci Serrano
6db437e2de boards/esp32[c3|c6|h2]: Fix GPIO function used by the button
This commit fixes the function to select the GPIO behavior for the
pins associated to the board's button.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2025-09-27 21:40:02 +08:00
5913 changed files with 14148 additions and 81900 deletions

View file

@ -0,0 +1,390 @@
NuttX-12.11.0
------------
What's New In This Release
Major Changes to Core OS
Sched
* [#16554](https://github.com/apache/nuttx/pull/16554) sched: assert: Print Stack pointer value when not within the stack
* [#16673](https://github.com/apache/nuttx/pull/16673) sched: Fix smp scheduling
* [#16919](https://github.com/apache/nuttx/pull/16919) sched/init/nx_bringup.c: Add support for CONFIG_INIT_NONE in a flat build
* [#16927](https://github.com/apache/nuttx/pull/16927) sched/signal: Old signal action need save sa_user
* [#16481](https://github.com/apache/nuttx/pull/16481) sched/wdog: Replace periodical timer with the wd_start_next.
* [#16545](https://github.com/apache/nuttx/pull/16545) sched/wqueue: Fix windows compilation errors.
* [#16593](https://github.com/apache/nuttx/pull/16593) sched/wqueue: Fix windows compilation errors.
MM
* [#16617](https://github.com/apache/nuttx/pull/16617) mm: add CONFIG_MM_NODE_GUARDSIZE option
* [#16653](https://github.com/apache/nuttx/pull/16653) mm/Kasan: Fixed some bugs
libc
* [#16568](https://github.com/apache/nuttx/pull/16568) libc: Change atomic_fetch_cxx to macro
* [#16768](https://github.com/apache/nuttx/pull/16768) libc: fix assert "Free memory from the wrong heap" with flat mode and…
* [#16713](https://github.com/apache/nuttx/pull/16713) libc/idr: Fix Use-After-Free during idr_destroy()
* [#16675](https://github.com/apache/nuttx/pull/16675) libc/mcount: add armv6m mcount implementation
* [#16811](https://github.com/apache/nuttx/pull/16811) libs/libc/netdb: Optimize the DNS timeout calculation logic
* [#16932](https://github.com/apache/nuttx/pull/16932) libs/libc/semaphore: allow nxsem_init to negative value
* [#16614](https://github.com/apache/nuttx/pull/16614) libbuiltin/gcov: Upgrade gcov function
* [#16786](https://github.com/apache/nuttx/pull/16786) Revert "libs/libc/stdlib/lib_exit.c: fix multiple definition of __dso…
Tools
* [#16563](https://github.com/apache/nuttx/pull/16563) tools: Modify refresh.sh to support update all configs from a board
* [#16650](https://github.com/apache/nuttx/pull/16650) tools/checkpatch.sh: add -x option to auto-format Python files.
* [#16912](https://github.com/apache/nuttx/pull/16912) tools/checkpatch.sh: check git commit format
* [#16724](https://github.com/apache/nuttx/pull/16724) tools/espressif: Add risc-v compiler info dump for Espressif devices
* [#16763](https://github.com/apache/nuttx/pull/16763) tools/nix: Add Nix flake for reproducible dev environment
* [#16924](https://github.com/apache/nuttx/pull/16924) tools/nix: move nix flakes to tools/
* [#16831](https://github.com/apache/nuttx/pull/16831) tools/nix: split flake into root and Documentation
* [#16759](https://github.com/apache/nuttx/pull/16759) tools/nxstyle.c: Updating white list to xedge example
* [#16855](https://github.com/apache/nuttx/pull/16855) tools/rp{2040,23xx}: Ensure that picotool is found or built
* [#16667](https://github.com/apache/nuttx/pull/16667) tools/process_config.sh: Fix sed errors
* [#16546](https://github.com/apache/nuttx/pull/16546) tools/testbuild.ps1: Windows fix the redirect error stream
* [#16711](https://github.com/apache/nuttx/pull/16711) toolchain/arm: Fix crash caused by clang compiling with -mfpu=fpv5-d16 and -march=armv8.1-m.main+mve.fp+fp.dp
* [#16709](https://github.com/apache/nuttx/pull/16709) toolchain/arm: Fix link parameter error
* [#16720](https://github.com/apache/nuttx/pull/16720) toolchain/armclang: Fix armclang config
Build System
Improvements
* [#16880](https://github.com/apache/nuttx/pull/16880) arch: Add Cmake build support for raspberrypi-4b board & bcm2711 chip
* [#16475](https://github.com/apache/nuttx/pull/16475) arch/arm/src/mcx-nxxx/CMakeLists.txt: Aligned Cmake with Make
* [#16579](https://github.com/apache/nuttx/pull/16579) arch/arm/src/mcx-nxxx/CMakeLists.txt: Aligned Cmake with Make
* [#16647](https://github.com/apache/nuttx/pull/16647) arch/arm64/fvp-v8r: support cmake compile
* [#16581](https://github.com/apache/nuttx/pull/16581) arch/risc-v/src/qemu-rv/CMakeLists.txt: removed repeated addition of …
* [#16477](https://github.com/apache/nuttx/pull/16477) arch/risc-v/src/qemu-rv/CMakeLists.txt: removed repeated addition of the file qemu_rv_userspace.c
* [#16794](https://github.com/apache/nuttx/pull/16794) arm: CMake build for the i.MX RT series implemented.
* [#16627](https://github.com/apache/nuttx/pull/16627) Arm32 v8m support cmake clang compile
* [#16922](https://github.com/apache/nuttx/pull/16922) boards/arm/imxrt: CMake added imxrt1020-evk imxrt1050-evk boards
* [#16918](https://github.com/apache/nuttx/pull/16918) boards/arm/imxrt: CMake added imxrt1060-evk imxrt1064-evk imxrt1170-evk boards
* [#16639](https://github.com/apache/nuttx/pull/16639) cmake/arm64:   support clang compile
* [#16547](https://github.com/apache/nuttx/pull/16547) cmake(bugfix):fix VERSION genarator strip error in CMake build
* [#16594](https://github.com/apache/nuttx/pull/16594) cmake(bugfix):fix VERSION genarator strip error in CMake build
* [#16751](https://github.com/apache/nuttx/pull/16751) cmake(bugfix):add default c++ search path
* [#16897](https://github.com/apache/nuttx/pull/16897) Cmake: add defconfig preprocess capability in Cmake build environment(recursively expand #include)
* [#16721](https://github.com/apache/nuttx/pull/16721) cmake: enhance the function of cmake nuttx_wildcard_sources
* [#16867](https://github.com/apache/nuttx/pull/16867) drivers/analog/CMakeLists.txt: Aligned Cmake with Make
* [#16870](https://github.com/apache/nuttx/pull/16870) drivers/audio/CMakeLists.txt: Aligned Cmake with Make
* [#16873](https://github.com/apache/nuttx/pull/16873) drivers/ioexpander/CMakeLists.txt: Aligned Cmake with Make
* [#16871](https://github.com/apache/nuttx/pull/16871) drivers/leds/CMakeLists.txt: Aligned Cmake with Make
* [#16913](https://github.com/apache/nuttx/pull/16913) drivers/net/CMakeLists.txt: Aligned Cmake with Make
* [#16620](https://github.com/apache/nuttx/pull/16620) drivers/segger/CMakeLists.txt: Aligned Cmake with Make
* [#16633](https://github.com/apache/nuttx/pull/16633) drivers/segger/CMakeLists.txt: Aligned Cmake with Make
* [#16616](https://github.com/apache/nuttx/pull/16616) drivers/sensors/CMakeLists.txt: Aligned Cmake with Make
* [#16634](https://github.com/apache/nuttx/pull/16634) drivers/sensors/CMakeLists.txt: Aligned Cmake with Make
* [#16737](https://github.com/apache/nuttx/pull/16737) toolchain/arm64/cmake: Corrected the writing of arm64 cmake search library
* [#16849](https://github.com/apache/nuttx/pull/16849) Make/Toolchain.defs: add the AR_EXTRACT command
Architectural Support
Improvements
ARM
* [#16806](https://github.com/apache/nuttx/pull/16806) arch/*/*_sigdeliver.c: Fix a race condition is signal delivery for SMP
* [#16657](https://github.com/apache/nuttx/pull/16657) arch/arm: Add gic lock for GICD_ICFGR RMW operations.
* [#16881](https://github.com/apache/nuttx/pull/16881) arch/arm: Add missing barriers.h
* [#16669](https://github.com/apache/nuttx/pull/16669) arch/arm/*/stm32_fdcan_sock.c: prevent interrupt flood on errors.
* [#16611](https://github.com/apache/nuttx/pull/16611) arch/arm/armv7-a: Support hardware debugpoint to  enhance gdbstub
* [#16752](https://github.com/apache/nuttx/pull/16752) arch/arm/cxd56xx: Fix bug that causes wake-up by unused gpio interrupt
* [#16797](https://github.com/apache/nuttx/pull/16797) arch/arm/imxrt: Initial modification to support two USB Controllers
* [#16478](https://github.com/apache/nuttx/pull/16478) arch/arm/imxrt: Serial add RXDMA support for singlewire mode
* [#16703](https://github.com/apache/nuttx/pull/16703) arch/arm/rp23xx: Fix gpio  for RP2350B
* [#16704](https://github.com/apache/nuttx/pull/16704) arch/arm/rp23xx: spi unset peripheral before  to modify Spi parameters
* [#16837](https://github.com/apache/nuttx/pull/16837) arch/arm/rp2040: Fix typos in ADC and GPIO macro names
* [#16840](https://github.com/apache/nuttx/pull/16840) arch/arm/rp2040: Implement GPIO output override functionality
* [#16886](https://github.com/apache/nuttx/pull/16886) arch/arm/rp2040: Silence "LOAD segment with RWX permissions" linker warnings
* [#16876](https://github.com/apache/nuttx/pull/16876) arch/arm/rp2040: Support pico-sdk 2.2.0
* [#16842](https://github.com/apache/nuttx/pull/16842) arch/arm/rp2040: Support non-sequential ADC channels and standardize internal function names
* [#16783](https://github.com/apache/nuttx/pull/16783) arch/arm/samv7: add support for pin to pin compatible pic32cz ca70 series and its evaluation kit
* [#16901](https://github.com/apache/nuttx/pull/16901) arch/arm/samv7: add support for progmem in PIC32CZ CA70 series
* [#16907](https://github.com/apache/nuttx/pull/16907) arch/arm/samv7: fix compile warning
* [#16522](https://github.com/apache/nuttx/pull/16522) arch/arm/samv7: init perf events if enabled
* [#16572](https://github.com/apache/nuttx/pull/16572) arch/arm/samv7: set correct SPI mode during init
* [#16465](https://github.com/apache/nuttx/pull/16465) arch/arm/samv7: set correct SPI mode during init
* [#16541](https://github.com/apache/nuttx/pull/16541) arch/arm/stm32: add STM32 I2C Slave support f…
* [#16532](https://github.com/apache/nuttx/pull/16532) arch/arm/stm32: add support for ADC trigger from TRGO event
* [#16534](https://github.com/apache/nuttx/pull/16534) arch/arm/stm32: add support for batch DMA transfer
* [#16680](https://github.com/apache/nuttx/pull/16680) arch/arm/stm32{h5|h7|l4}/adc: move ADC_MAX_SAMPLES to Kconfig
* [#16530](https://github.com/apache/nuttx/pull/16530) arch/arm/stm32f0l0g0: add TIMER trigger for ADC
* [#16514](https://github.com/apache/nuttx/pull/16514) arch/arm/stm32f0l0g0: fix compilation when TIM6/TIM7 is missing
* [#16589](https://github.com/apache/nuttx/pull/16589) arch/arm/stm32f0l0g0: fix compilation when TIM6/TIM7 is missing
* [#16810](https://github.com/apache/nuttx/pull/16810) arch/arm/stm32f0l0g0: Fix I2C IRQ numbers
* [#16543](https://github.com/apache/nuttx/pull/16543) arch/arm/stm32f0l0g0: Improve STM32G0 peripheral config granularity
* [#16670](https://github.com/apache/nuttx/pull/16670) arch/arm/stm32f0l0g0: move ADC_MAX_SAMPLES to Kconfig
* [#16513](https://github.com/apache/nuttx/pull/16513) arch/arm/stm32f0l0g0: remove references to CONFIG_STM32F0L0G0_FORCEPOWER
* [#16557](https://github.com/apache/nuttx/pull/16557) arch/arm/stm32f0l0g0: STM32G0 DMA and ADC Support
* [#16497](https://github.com/apache/nuttx/pull/16497) arch/arm/stm32f0l0g0: UID support for F0, L0 and C0
* [#16517](https://github.com/apache/nuttx/pull/16517) arch/arm/stm32f7: Add missing RCC include
* [#16909](https://github.com/apache/nuttx/pull/16909) arch/arm/stm32f7: Fix "unused variable" warning
* [#16860](https://github.com/apache/nuttx/pull/16860) arch/arm/stm32f7: Fix I2C4 SDA pin assignment
* [#16827](https://github.com/apache/nuttx/pull/16827) arch/arm/stm32h7: Fix timer capture upper half driver registration
* [#16809](https://github.com/apache/nuttx/pull/16809) arch/arm/stm32h7: Port timer capture driver from stm32
* [#16705](https://github.com/apache/nuttx/pull/16705) arch/arm/stm32h7: support for /dev/random device
* [#16706](https://github.com/apache/nuttx/pull/16706) arch/arm/STM32H5: Add DMA and ADC DMA support
* [#16776](https://github.com/apache/nuttx/pull/16776) arch/arm/stm32h5: Add DMA Support to STM32H5 Serial Driver
* [#16708](https://github.com/apache/nuttx/pull/16708) arch/arm/STM32H5: Add oversampling and resolution support for ADC
* [#16746](https://github.com/apache/nuttx/pull/16746) arch/arm/stm32h5: Initial Driver for STM32H5 Digital Temperature Sensor (DTS)
* [#16818](https://github.com/apache/nuttx/pull/16818) arch/arm/stm32h5: Fix STM32H5 FDCAN Driver and Add Test Files
* [#16803](https://github.com/apache/nuttx/pull/16803) arch/arm/stm32h5: Use double-buffer for ADC DMA in Circular Mode
* [#16923](https://github.com/apache/nuttx/pull/16923) arch/arm/xmc4 : fix serial buffer size for unused channel
ARM64
* [#16612](https://github.com/apache/nuttx/pull/16612) arch/arm64: enable arm64 hardware breakpoints
* [#16846](https://github.com/apache/nuttx/pull/16846) arch/arm64: Fix signal delivery in EL1 when MMU is enabled
* [#16826](https://github.com/apache/nuttx/pull/16826) arch/arm64: imx9 add pci dma space and pci outbound space
* [#16884](https://github.com/apache/nuttx/pull/16884) arch/arm64/gicv3: Improve initialization in warm reboot case
* [#16743](https://github.com/apache/nuttx/pull/16743) arch/arm64/imx9: add support for imx95
* [#16727](https://github.com/apache/nuttx/pull/16727) arch/arm64/imx9: eDMA5 Allow sharing with Linux
* [#16844](https://github.com/apache/nuttx/pull/16844) arch/arm64/imx9: Fix first trace
* [#16900](https://github.com/apache/nuttx/pull/16900) arch/arm64/imx9: Fix bus reset
* [#16719](https://github.com/apache/nuttx/pull/16719) arch/arm64/zynq-mpsoc: fix race condition in txint handler
AVR
* [#16687](https://github.com/apache/nuttx/pull/16687) arch/avr: do not copy const variables to RAM
* [#16498](https://github.com/apache/nuttx/pull/16498) arch/avr: fix atomic load functions from arch_atomic.c
* [#16586](https://github.com/apache/nuttx/pull/16586) arch/avr: fix atomic load functions from arch_atomic.c
RISC-V
* [#16692](https://github.com/apache/nuttx/pull/16692) arch/[risc-v/xtensa]: Add SHA accelerator support for esp32[-s2|-s3|-c3|-c6|-h2]
* [#16694](https://github.com/apache/nuttx/pull/16694) arch/risc-v: Add LP_I2C support for esp32[-c6]
* [#16683](https://github.com/apache/nuttx/pull/16683) arch/risc-v: Add LPUART support for esp32[-c6]
* [#16685](https://github.com/apache/nuttx/pull/16685) arch/risc-v: Change DMA functions with common layer for esp32[-c3|-c6|-h2]
* [#16565](https://github.com/apache/nuttx/pull/16565) arch/risc-v: Fix `rv-virt:nsbi[|64]` defconfigs
* [#16676](https://github.com/apache/nuttx/pull/16676) arch/risc-v: fix I2C timeout and board compilation requirements
* [#16921](https://github.com/apache/nuttx/pull/16921) arch/risc-v: Refactor Wi-Fi driver for ESP32-C3|C6
* [#16485](https://github.com/apache/nuttx/pull/16485) arch/risc-v/mpfs: Add optimized perf timer functions
* [#16850](https://github.com/apache/nuttx/pull/16850) arch/risc-v/mpfs: fixes for coremmc and emmcsd
* [#16851](https://github.com/apache/nuttx/pull/16851) arch/risc-v/mpfs: SMP interrupt handling fixes
* [#16903](https://github.com/apache/nuttx/pull/16903) arch/risc-v/mpfs/mpfs_clockconfig.c: Flag out code only used in b…
* [#16529](https://github.com/apache/nuttx/pull/16529) arch/risc-v/ricv_exception.c: Dump the process name at exception in user space
* [#16424](https://github.com/apache/nuttx/pull/16424) arch/risc-v/rp23xx-riscv: Add rp23xx(rp2350)  (Pico 2 board)  RISC-V support
SIM
* [#16742](https://github.com/apache/nuttx/pull/16742) arch/sim: avoid host-call being interrupted before getting errno
TRICORE
* [#16885](https://github.com/apache/nuttx/pull/16885) arch/tricore: add up_trigger_irq
* [#16910](https://github.com/apache/nuttx/pull/16910) arch/tricore: fix ld unrecognized option '-g3'
* [#16917](https://github.com/apache/nuttx/pull/16917) arch/tricore/tricore_irq.c: add up_affinity_irq
X86_64
* [#16787](https://github.com/apache/nuttx/pull/16787) arch/x86_64: Allow specifying alternative compilers via CROSSDEV environment variable
XTENSA
* [#16804](https://github.com/apache/nuttx/pull/16804) arch/xtensa: Fix a race condition in xtensa_sig_deliver for SMP
* [#16750](https://github.com/apache/nuttx/pull/16750) arch/xtensa: fix build break if compiler without ISA - XCHAL_HAVE_THREADPTR support
* [#16686](https://github.com/apache/nuttx/pull/16686) arch/xtensa: Fix dedicated GPIO build error for esp32[-s2|-s3]
* [#16672](https://github.com/apache/nuttx/pull/16672) arch/xtensa: support more than 32 cpu interrupts
* [#16744](https://github.com/apache/nuttx/pull/16744) arch/xtensa/esp32: fix esp32(s3)_async_op() asynchronous operation race issue
* [#16883](https://github.com/apache/nuttx/pull/16883) arch/xtensa/esp32: fix some compilation warnings
* [#16882](https://github.com/apache/nuttx/pull/16882) arch/xtensa/esp32: fix the issue of erasing a wide range of flash sectors
* [#16894](https://github.com/apache/nuttx/pull/16894) arch/xtensa/esp32,esp32s3: Start the "spiflash_op" thread with corret affinity
* [#16878](https://github.com/apache/nuttx/pull/16878) arch/xtensa/esp32s3: Add EXT1 wakeup support in power management
* [#16756](https://github.com/apache/nuttx/pull/16756) arch/xtensa/esp32s3: Fix bug related to the PSRAM-allocated task stack
* [#16566](https://github.com/apache/nuttx/pull/16566) arch/xtensa/esp32s3: Fix Esp32S3 LCD FB resolution.
* [#16603](https://github.com/apache/nuttx/pull/16603) arch/xtensa/esp32s3: Remove LCD Warnings.
* [#16607](https://github.com/apache/nuttx/pull/16607) arch/xtensa/esp32s3: Remove LCD Warnings.
* [#16856](https://github.com/apache/nuttx/pull/16856) arch/xtensa/esp32s2: Remove duplicated lines to fix warning
Driver Support
New Driver Support
* [#16836](https://github.com/apache/nuttx/pull/16836) drivers/analog/ads7046: Add support for ADS7046 ADC
* [#16714](https://github.com/apache/nuttx/pull/16714) drivers/input: Create Single Button Multi Actions
* [#16902](https://github.com/apache/nuttx/pull/16902) drivers/ioexpander: Add support for pcal6416
* [#16934](https://github.com/apache/nuttx/pull/16934) drivers/ioexpander/aw9523b: New driver for AW9523B i/o expander
* [#16217](https://github.com/apache/nuttx/pull/16217) drivers/leds: Add support for KTD2052
* [#16660](https://github.com/apache/nuttx/pull/16660) drivers/net: add IGB network card support
* [#16623](https://github.com/apache/nuttx/pull/16623) drivers/net: add support for the NCV7410 10BASE-T1S SPI MAC-PHY
* [#16605](https://github.com/apache/nuttx/pull/16605) drivers/sensors: add Quectel L86-XXX GNSS uORB sensor driver
* [#16838](https://github.com/apache/nuttx/pull/16838) drivers/sensors/tmp112: Add support for TMP112 temperature sensor
Improvements
* [#16715](https://github.com/apache/nuttx/pull/16715) drivers/analog/ads1115.h: Add ioctl for conversion trigger
* [#16875](https://github.com/apache/nuttx/pull/16875) drivers/can/kvaser_pci: configure number of passes in interrupt handler
* [#16738](https://github.com/apache/nuttx/pull/16738) drivers/fs:Always use register_mtddriver() to register the MTD device (patch2)
* [#16914](https://github.com/apache/nuttx/pull/16914) drivers/i2s/i2schar: Implement ioctl commands and blocking read/write operations
* [#16745](https://github.com/apache/nuttx/pull/16745) drivers/ioexpander/icjx.c: reconfigure icjx after undervoltage
* [#16729](https://github.com/apache/nuttx/pull/16729) drivers/misc/optee: Cache coherency when MMU is disabled
* [#16734](https://github.com/apache/nuttx/pull/16734) drivers/misc/optee: expand RPC suppport for IMX9
* [#16800](https://github.com/apache/nuttx/pull/16800) drivers/misc/optee_smc: Explicitly yield during NW interrupts
* [#16801](https://github.com/apache/nuttx/pull/16801) drivers/misc/optee_smc: Fix sched_yield() on flat builds
* [#16473](https://github.com/apache/nuttx/pull/16473) drivers/mtd: fix compile warning
* [#16577](https://github.com/apache/nuttx/pull/16577) drivers/mtd: fix compile warning
* [#16789](https://github.com/apache/nuttx/pull/16789) drivers/mtd: introduce nvblk
* [#16642](https://github.com/apache/nuttx/pull/16642) drivers/mtd/ftl/bch: Add direct writing method for FTL
* [#16906](https://github.com/apache/nuttx/pull/16906) drivers/net: ksz9477 fixes
* [#16899](https://github.com/apache/nuttx/pull/16899) drivers/net: Remove NCV7410 driver and corresponding board support
* [#16661](https://github.com/apache/nuttx/pull/16661) drivers/net: various fixes for e1000 and igc
* [#16649](https://github.com/apache/nuttx/pull/16649) drivers/net/Kconfig: Move NET_IGC_TXDESC and NET_IGC_RXDESC to NET_IG…
* [#16526](https://github.com/apache/nuttx/pull/16526) drivers/optee: fix compile break
* [#16767](https://github.com/apache/nuttx/pull/16767) drivers/pci: epc add dma heap
* [#16753](https://github.com/apache/nuttx/pull/16753) drivers/segger: Add a kconfig to override Segger SystemView target sources version
* [#16510](https://github.com/apache/nuttx/pull/16510) drivers/segger: Change SEGGER_RTT_LOCK into rspinlock
* [#16512](https://github.com/apache/nuttx/pull/16512) drivers/segger: define a macro using a configuration variable
* [#16805](https://github.com/apache/nuttx/pull/16805) drivers/sensor: Add flags for GNSS satellite
* [#16764](https://github.com/apache/nuttx/pull/16764) drivers/sensors/l86xxx: Fix driver registration crashes
* [#16701](https://github.com/apache/nuttx/pull/16701) drivers/sensors/l86xxx: Fix Kconfig options and dependencies
* [#16821](https://github.com/apache/nuttx/pull/16821) drivers/sensors/l86xxx: Mutex fixes & performance improvements
* [#16778](https://github.com/apache/nuttx/pull/16778) drivers/sensors/l86xxx: Use uORB GNSS lower-half
* [#16717](https://github.com/apache/nuttx/pull/16717) drivers/sensors/nau7802: Added frequency control
* [#16466](https://github.com/apache/nuttx/pull/16466) drivers/serial: fix race conditions
* [#16573](https://github.com/apache/nuttx/pull/16573) drivers/serial: fix race conditions
* [#16820](https://github.com/apache/nuttx/pull/16820) drivers/syslog/syslog_channel.c: fix incompatible-pointer-types compile errors
* [#16677](https://github.com/apache/nuttx/pull/16677) drivers/touchscreen: Add support for mirror/swap
* [#16788](https://github.com/apache/nuttx/pull/16788) drivers/video: add sched_note_mark at fb_remove_paninfo and fb_notify_vsync
Board Support
New Board Support
* [#16443](https://github.com/apache/nuttx/pull/16443) boards/avr/atmega: Added Elegoo Mega2560r3 board
* [#16781](https://github.com/apache/nuttx/pull/16781) boards/imxrt: Add support to ARCX Socket Grid board
* [#16558](https://github.com/apache/nuttx/pull/16558) boards/xtensa/esp32s3: add new esp32s3-8048S043 board
Improvements
* [#16792](https://github.com/apache/nuttx/pull/16792) boards/arm: Fix Kconfig style
* [#16663](https://github.com/apache/nuttx/pull/16663) boards/arm/lpc17xx_40xx/lincoln60: Correct defconfig for THTTPD_CGIINBUFFERSIZ spelling
* [#16833](https://github.com/apache/nuttx/pull/16833) boards/arm/qemu: Change config name of input tool
* [#16931](https://github.com/apache/nuttx/pull/16931) boards/arm/rp23xx/common: update board reset via BOOTROM functions
* [#16707](https://github.com/apache/nuttx/pull/16707) boards/arm/stm32f401rc-rs485: Add support to HX711 ADC
* [#16779](https://github.com/apache/nuttx/pull/16779) boards/arm/stm32f401rc-rs485: Add support to MAX31855 and MAX6675
* [#16780](https://github.com/apache/nuttx/pull/16780) boards/arm/stm32f4discovery: Add support to HX711 ADC
* [#16857](https://github.com/apache/nuttx/pull/16857) board/esp: Revert mtdblock registeration
* [#16866](https://github.com/apache/nuttx/pull/16866) boards/esp32s3: Add SPI slave device support
* [#16725](https://github.com/apache/nuttx/pull/16725) boards/espressif: add support for SDMMC over SPI for ESP32-C3|C6|H2
* [#16812](https://github.com/apache/nuttx/pull/16812) boards/imxrt: Fix issues and add USBHOST support to arcx-socket-grid
* [#16824](https://github.com/apache/nuttx/pull/16824) boards/imxrt/arcx-socket-grid: Remove debug symbols
* [#16535](https://github.com/apache/nuttx/pull/16535) boards/nucleo-f446re: fix adc example
* [#16592](https://github.com/apache/nuttx/pull/16592) boards/nucleo-f446re: fix adc example
* [#16665](https://github.com/apache/nuttx/pull/16665) boards/qemu-armv8a: Add `xedge` example program and documentation
* [#16659](https://github.com/apache/nuttx/pull/16659) boards/qemu-intel64/qemu.ld: add .lbss, .ldata and .lrodata
* [#16848](https://github.com/apache/nuttx/pull/16848) boards/risc-v/rp23xx-rv/common: update board reset via BOOTROM functions
* [#16646](https://github.com/apache/nuttx/pull/16646) boards/riscv-v/esp32c6: Add the NCV7410 10BASE-T1S SPI MAC-PHY support
* [#16898](https://github.com/apache/nuttx/pull/16898) boards/tricore: rename tc397 chip board name
* [#16505](https://github.com/apache/nuttx/pull/16505) boards/xtensa/esp32: Add BLE config to esp32-sparrow
* [#16602](https://github.com/apache/nuttx/pull/16602) boards/xtensa: support SDMMC over SPI on ESP32|S2|S3
* [#16638](https://github.com/apache/nuttx/pull/16638) boards/xtensa/esp32s3/esp32s3-box: Fix ILI9342C color inversion
* [#16681](https://github.com/apache/nuttx/pull/16681) boards/weact-stm32h743 Add sdcard support
* [#16785](https://github.com/apache/nuttx/pull/16785) boards/weact-stm32h743: Add support to ST7735 display
File System
 Improvements
* [#16722](https://github.com/apache/nuttx/pull/16722) fs/block_proxy: fix the issue of the refs count for filep being zeroed out by utilizing dup2
* [#16938](https://github.com/apache/nuttx/pull/16938) fs/fat: Fix wrong alloc used in fat_zero_cluster()
* [#16536](https://github.com/apache/nuttx/pull/16536) fs/fcntl: using ioctl to implement FIOGCLEX/FIOCLEX/FIONCLEX
* [#16832](https://github.com/apache/nuttx/pull/16832) fs/lock: Allow driver lock
* [#16598](https://github.com/apache/nuttx/pull/16598) fs/procfs: fix output format of fd info
* [#16518](https://github.com/apache/nuttx/pull/16518) fs/smartfs: Fix a fatal bug about sector writing after seek
* [#16590](https://github.com/apache/nuttx/pull/16590) fs/smartfs: Fix a fatal bug about sector writing after seek
* [#16490](https://github.com/apache/nuttx/pull/16490) fs/vfs: check if all `iov_base` are accessible
* [#16584](https://github.com/apache/nuttx/pull/16584) fs/vfs: check if all iov_base are accessible
* [#16609](https://github.com/apache/nuttx/pull/16609) fs/vfs: clear filep when call file_open/file_mq_open to avoid random value[bug fix]
* [#16538](https://github.com/apache/nuttx/pull/16538) fs/vfs/fs_close.c: avoid double free if CONFIG_FS_NOTIFY is set
* [#16455](https://github.com/apache/nuttx/pull/16455) fs/vfs/fs_rename: fix directory move operation.
Networking
Improvements
* [#16926](https://github.com/apache/nuttx/pull/16926) include/net/if.h: Add mechanism for MMD access with SIOCxMIIREG ioctls
* [#16628](https://github.com/apache/nuttx/pull/16628) net: Enable TCP/IP backlog by default
* [#16684](https://github.com/apache/nuttx/pull/16684) net/arp: avoid unnecessary ARP requests
* [#16905](https://github.com/apache/nuttx/pull/16905) net/can: fixes and cleanups
* [#16682](https://github.com/apache/nuttx/pull/16682) net/local: correct shutdown state when use UDP mode (To fix issue: https://github.com/apache/nuttx/issues/16555)
* [#16494](https://github.com/apache/nuttx/pull/16494) net/utils: avoid unalign access g_tcp_connections_buffer
* [#16585](https://github.com/apache/nuttx/pull/16585) net/utils: avoid unalign access g_tcp_connections_buffer
* [#16599](https://github.com/apache/nuttx/pull/16599) netdb/lib_dnsquery.c: prevent file descriptor leakage
* [#16606](https://github.com/apache/nuttx/pull/16606) netdb/lib_dnsquery.c: In the IPv6 or IPv4 dns_query_callback() block,…
Unsorted contributions
* [#16644](https://github.com/apache/nuttx/pull/16644) espressif: update lower-half drivers
* [#16467](https://github.com/apache/nuttx/pull/16467) audio/comp: fix build warning caused by invalid return value
* [#16469](https://github.com/apache/nuttx/pull/16469) mcx-nxxx: Add LPI2C driver for mcx-nxxx architecture
* [#16474](https://github.com/apache/nuttx/pull/16474) syslog/rpmsg: disable force put char to lower putc
* [#16479](https://github.com/apache/nuttx/pull/16479) sensors/nau7802: Fix format warning
* [#16482](https://github.com/apache/nuttx/pull/16482) Fix i.MX93 ENET1 (EMAC) TXC muxing and RGMII-ID setting
* [#16483](https://github.com/apache/nuttx/pull/16483) Segger sysview improvements
* [#16486](https://github.com/apache/nuttx/pull/16486) add spin_lock_irqsave_nopreempt rspin_lock_irqsave_noprempt implement.
* [#16487](https://github.com/apache/nuttx/pull/16487) Fix arch perf events ifdef in alarm
* [#16489](https://github.com/apache/nuttx/pull/16489) Added support obtaining the unique id for the stm32f0l0g0 family
* [#16491](https://github.com/apache/nuttx/pull/16491) espressif[risc-v|xtensa]: Check events when reading PCNT counter value
* [#16492](https://github.com/apache/nuttx/pull/16492) add FDCAN support for STM32C0
* [#16493](https://github.com/apache/nuttx/pull/16493) RFC 5424 implementation for SYSLOG
* [#16495](https://github.com/apache/nuttx/pull/16495) minor stream improvement
* [#16496](https://github.com/apache/nuttx/pull/16496) improve libc/stream subsystem
* [#16500](https://github.com/apache/nuttx/pull/16500) Add ADC support for STM32G0 (along with oversampling)
* [#16508](https://github.com/apache/nuttx/pull/16508) riscv qemu-rv: fix kernel mapping by enabling CONFIG_MM_KMAP in knsh
* [#16509](https://github.com/apache/nuttx/pull/16509) Update the ELF guides
* [#16511](https://github.com/apache/nuttx/pull/16511) nuttx/spinlock: Define empty macro for spin_unlock
* [#16519](https://github.com/apache/nuttx/pull/16519) imx9/smp: Add SMP support for imx93
* [#16527](https://github.com/apache/nuttx/pull/16527) nxgdb/fs: fix exception when failed to parse symbol
* [#16533](https://github.com/apache/nuttx/pull/16533) Update MCUBoot build process for Espressif devices
* [#16540](https://github.com/apache/nuttx/pull/16540) qemu/armv8a: fastboot tcp defconfig + documentation.
* [#16549](https://github.com/apache/nuttx/pull/16549) Minor improve to stream
* [#16550](https://github.com/apache/nuttx/pull/16550) gitignore: add more vim swap files
* [#16552](https://github.com/apache/nuttx/pull/16552) spinlock: Better recursive spinlock implementation.
* [#16556](https://github.com/apache/nuttx/pull/16556) risc-v/mmu: Fix map_region() for incorrect page table setup when vadd…
* [#16562](https://github.com/apache/nuttx/pull/16562) esp32s3: update config and doc for fastboot
* [#16567](https://github.com/apache/nuttx/pull/16567) Move assemble soure files out off gnu folder
* [#16569](https://github.com/apache/nuttx/pull/16569) Refine vfs source file layout
* [#16571](https://github.com/apache/nuttx/pull/16571) remove warnings
* [#16574](https://github.com/apache/nuttx/pull/16574) audio/comp: fix build warning caused by invalid return value
* [#16578](https://github.com/apache/nuttx/pull/16578) syslog/rpmsg: disable force put char to lower putc
* [#16580](https://github.com/apache/nuttx/pull/16580) mcx-nxxx: Add LPI2C driver for mcx-nxxx architecture
* [#16582](https://github.com/apache/nuttx/pull/16582) sensors/nau7802: Fix format warning
* [#16583](https://github.com/apache/nuttx/pull/16583) Fix i.MX93 ENET1 (EMAC) TXC muxing and RGMII-ID setting
* [#16588](https://github.com/apache/nuttx/pull/16588) riscv qemu-rv: fix kernel mapping by enabling CONFIG_MM_KMAP in knsh …
* [#16591](https://github.com/apache/nuttx/pull/16591) Update MCUBoot build process for Espressif devices
* [#16595](https://github.com/apache/nuttx/pull/16595) risc-v/mmu: Fix map_region() for incorrect page table setup when vadd…
* [#16596](https://github.com/apache/nuttx/pull/16596) Fix arch perf events ifdef in alarm 
* [#16597](https://github.com/apache/nuttx/pull/16597) fix framebuffer config resolution.
* [#16604](https://github.com/apache/nuttx/pull/16604) [ESP32S3] Add LCD defconfig
* [#16615](https://github.com/apache/nuttx/pull/16615) debug/0 address: Add 0 address access panic configuration
* [#16618](https://github.com/apache/nuttx/pull/16618) Enhanced Kasan
* [#16619](https://github.com/apache/nuttx/pull/16619) arm64/v8r: support clang compilation
* [#16629](https://github.com/apache/nuttx/pull/16629) bugfix: share kernel thread group should not dup files from caller group
* [#16635](https://github.com/apache/nuttx/pull/16635) Add a header file as a dependency
* [#16651](https://github.com/apache/nuttx/pull/16651) Refactored the btuart_rxwork function to improve data reception stability.
* [#16654](https://github.com/apache/nuttx/pull/16654) imx9/lpuart: Fix race condition / regression in imx9_txint
* [#16671](https://github.com/apache/nuttx/pull/16671) sem/trywait/atomic: Fix the try wait abort by interrupted caused false failure report.
* [#16674](https://github.com/apache/nuttx/pull/16674) xtensa/espressif: Change LEDC implementation to common one
* [#16690](https://github.com/apache/nuttx/pull/16690) coredump: Fix missing loglevel to logmask conversion
* [#16700](https://github.com/apache/nuttx/pull/16700) sensors/bmi160,270: Fix a bug sensor_time is truncated
* [#16718](https://github.com/apache/nuttx/pull/16718) arm64/qemu: decouple qemu board from chip
* [#16735](https://github.com/apache/nuttx/pull/16735) espressif: fix MCUBoot OTA on Espressif devices.
* [#16754](https://github.com/apache/nuttx/pull/16754) espressif: PCNT: add high and low limit Kconfig options
* [#16765](https://github.com/apache/nuttx/pull/16765) nucleo-h743zi: Add ADC2 support and expand ADC channel list
* [#16769](https://github.com/apache/nuttx/pull/16769) esp32s3_extraheaps.c: add a missing include for xtensa_imm_initialize
* [#16771](https://github.com/apache/nuttx/pull/16771) crypto/cryptosoft: fix aadlen used uninitialized warning
* [#16773](https://github.com/apache/nuttx/pull/16773) add esp32s3-devkit:mbedtls kconfig
* [#16798](https://github.com/apache/nuttx/pull/16798) arm64: porting mu drv and scmi from arm imx9
* [#16807](https://github.com/apache/nuttx/pull/16807) bugix/risc-v/esp32c6: Fix build error of LP_I2C
* [#16813](https://github.com/apache/nuttx/pull/16813) Fix compilation errors with c++
* [#16819](https://github.com/apache/nuttx/pull/16819) Increase buffer sizes for uORB devices
* [#16830](https://github.com/apache/nuttx/pull/16830) h743zi/capture: add doc, defconfig & update make pipeline
* [#16839](https://github.com/apache/nuttx/pull/16839) crypto/hmac: Fix typo in function implementation names
* [#16843](https://github.com/apache/nuttx/pull/16843) pci: epf test default a function
* [#16845](https://github.com/apache/nuttx/pull/16845) sys/socket.h: wrap the outer layer of struct sockaddr_storage with aligned(SS_ALIGNSIZE)
* [#16852](https://github.com/apache/nuttx/pull/16852) risc-v/mpfs: usb: don't try nonexistent ep int flags
* [#16853](https://github.com/apache/nuttx/pull/16853) Mpfs map mtime in userspace
* [#16874](https://github.com/apache/nuttx/pull/16874) Add missing PSE52 interfaces
* [#16879](https://github.com/apache/nuttx/pull/16879) include/nuttx/compiler.h:
Compatibility Concerns
* [#16499](https://github.com/apache/nuttx/pull/16499) [BREAKING] fs/vfs: Separate file descriptors from file descriptions
This PR is a rework of the NuttX file descriptor implementation. The goal is two-fold:
Improve POSIX compliance. The old implementation tied file description
to inode only, not the file struct. POSIX however dictates otherwise.
Fix a bug with descriptor duplication (dup2() and dup3()). There is
an existing race condition with this POSIX API that currently results
in a kernel side crash.
The crash occurs when a partially open / closed file descriptor is
duplicated. The reason for the crash is that even if the descriptor is
closed, the file might still be in use by the kernel (due to e.g. ongoing
write to file). The open file data is changed by file_dup3() and this
causes a crash in the device / drivers themselves as they lose access to
the inode and private data.
The fix is done by separating struct file into file and file descriptor
structs. The file struct can live on even if the descriptor is closed,
fixing the crash. This also fixes the POSIX issue, as two descriptors
can now point to the same file.
The implementation of this PR is based on the modifications made in #16361.
Thank you @pussuw
DEPENDS ON: apache/nuttx-apps#3091
IMPACT
Remove the FS_REFCOUNT config because reference counting is a very necessary feature
that is required in many scenarios to ensure stability.
Rename the functions fs_getfilep, fs_putfilep, and fs_reffilep to file_get, file_put,
and file_ref respectively, to unify the naming convention to file_xxx, such as file_open,
file_ioctl, etc.
Introduce a new fd (file descriptor) structure. If multiple file descriptors (fds) are in
a dup relationship, they can share the same file entity to implement the dup functionality.
Modify the functions nx_close_from_tcb, nx_open_from_tcb, nx_dup2_from_tcb,
and nx_dup3_from_tcb to fdlist_open, fdlist_close, fdlist_dup2, and fdlist_dup3 respectively,
to uniformly operate on file descriptors using fdlist.

View file

@ -277,8 +277,8 @@ Enabling ``CONFIG_BOOT_NXBOOT`` option provides following NXboot API.
.. c:function:: int nxboot_get_confirm(void)
Confirms the image currently located in primary partition and marks
its copy in update partition as a recovery.
Obtains the information if currently running image is confirmed (and
thus stable) or not.
:return: 1 means confirmed, 0 not confirmed, -1 and sets errno on failure.

View file

@ -153,6 +153,21 @@ You can check that the sensor is working by using the ``bmp180`` application::
Pressure value = 91526
Pressure value = 91525
buttons
-------
This configuration shows the use of the buttons subsystem. It can be used by executing
the ``buttons`` application and pressing the ``BOOT`` button on the board::
nsh> buttons
buttons_main: Starting the button_daemon
buttons_main: button_daemon started
button_daemon: Running
button_daemon: Opening /dev/buttons
button_daemon: Supported BUTTONs 0x01
nsh> Sample = 1
Sample = 0
coremark
--------

View file

@ -120,6 +120,21 @@ You can check that the sensor is working by using the ``bmp180`` application::
Pressure value = 91526
Pressure value = 91525
buttons
-------
This configuration shows the use of the buttons subsystem. It can be used by executing
the ``buttons`` application and pressing the ``BOOT`` button on the board::
nsh> buttons
buttons_main: Starting the button_daemon
buttons_main: button_daemon started
button_daemon: Running
button_daemon: Opening /dev/buttons
button_daemon: Supported BUTTONs 0x01
nsh> Sample = 1
Sample = 0
capture
--------

View file

@ -99,6 +99,21 @@ You can check that the sensor is working by using the ``bmp180`` application::
Pressure value = 91526
Pressure value = 91525
buttons
-------
This configuration shows the use of the buttons subsystem. It can be used by executing
the ``buttons`` application and pressing the ``BOOT`` button on the board::
nsh> buttons
buttons_main: Starting the button_daemon
buttons_main: button_daemon started
button_daemon: Running
button_daemon: Opening /dev/buttons
button_daemon: Supported BUTTONs 0x01
nsh> Sample = 1
Sample = 0
coremark
--------

View file

@ -119,6 +119,21 @@ You can check that the sensor is working by using the ``bmp180`` application::
Pressure value = 91526
Pressure value = 91525
buttons
-------
This configuration shows the use of the buttons subsystem. It can be used by executing
the ``buttons`` application and pressing the ``BOOT`` button on the board::
nsh> buttons
buttons_main: Starting the button_daemon
buttons_main: button_daemon started
button_daemon: Running
button_daemon: Opening /dev/buttons
button_daemon: Supported BUTTONs 0x01
nsh> Sample = 1
Sample = 0
coremark
--------

2733
Kconfig

File diff suppressed because it is too large Load diff

1917
Kconfig.debug Normal file

File diff suppressed because it is too large Load diff

72
Kconfig.license Normal file
View file

@ -0,0 +1,72 @@
config ALLOW_BSD_COMPONENTS
bool "Use components that have BSD licenses"
default n
---help---
When this option is enabled the project will allow the use
of components that have BSD licenses.
NOTE: Please check that the license for each enabled
component matches your project license.
NOTE: If this option is not set the following components
are not included in the setup menu:
Crypto
AES cypher support
FS
NFS client file system
SPIFFS File System
Wireless
Bluetooth LE support
config ALLOW_GPL_COMPONENTS
bool "Use components that have GPL/LGPL licenses"
default n
---help---
When this option is enabled the project will allow the use
of components that have GPL/LGPL licenses.
NOTE: Please check that the license for each enabled
component matches your project license.
config ALLOW_MIT_COMPONENTS
bool "Use components that have MIT licenses"
default n
---help---
When this option is enabled the project will allow the use
of components that have MIT licenses.
NOTE: Please check that the license for each enabled
component matches your project license.
config ALLOW_BSDNORDIC_COMPONENTS
bool "Use components that have 5-Clause Nordic licenses"
depends on ARCH_CHIP_NRF52 || ARCH_CHIP_NRF53 || ARCH_CHIP_NRF91
default n
---help---
When this option is enabled the project will allow the use
of components that have 5-Clause Nordic licenses.
NOTE: Please check that the license for each enabled
component matches your project license.
config ALLOW_ECLIPSE_COMPONENTS
bool "Use components that have Eclipse Public Licenses"
default n
---help---
When this option is enabled the project will allow the use
of components that have EPL licenses.
NOTE: Please check that the license for each enabled
component matches your project license.
config ALLOW_ICS_COMPONENTS
bool "Use components that have ICS license"
default n
---help---
When this option is enabled the project will allow the use
of components that have ICS licenses.
NOTE: Please check that the license for each enabled
component matches your project license.

506
Kconfig.setup Normal file
View file

@ -0,0 +1,506 @@
menu "Build Setup"
config EXPERIMENTAL
bool "Show experimental options"
---help---
Some features and drivers are considered "experimental" or
development/work-in-progress status. By default, these options are
hidden in the Kconfig menus. Enabling "Show experimental options"
makes these options visible and makes it possible to enable them.
config DEFAULT_SMALL
bool "Default to smallest size"
default n
---help---
When options are present, the default value for certain options will
be the one the results in the smallest size (at a loss of features).
The default is a fuller feature set at a larger size.
NOTE: This option does not prevent you from overriding the default
to select another alternative. Nor does it affect the settings that
have already been selected in your configuration file. This applies
only to new settings that require a default value.
choice
prompt "Build Host Platform"
default HOST_LINUX
config HOST_LINUX
bool "Linux"
config HOST_MACOS
bool "macOS"
endchoice # Build Host Platform
choice
prompt "Windows Build Environment"
default WINDOWS_MSYS
depends on HOST_WINDOWS
config WINDOWS_MSYS
bool "MSYS or MSYS2"
select TOOLCHAIN_WINDOWS
---help---
Build natively in a Cygwin environment with POSIX style paths (like
/cygdrive/c/cygwin/home)
endchoice # Windows Build Environment
menu "Build Configuration"
config BASE_DEFCONFIG
string "Base Configuration"
default ""
---help---
This will be automatically be updated by the configuration
script. This is the base configuration file that was used to create the
current configuration. It is useful for getting the current configuration
on runtime.
config MODULES
bool
option modules
---help---
Automatically selected if KERNEL build is selected.
This selection marks the implementation of Kconfig
to enable the module build function, and is used to
enable 'm' in the triate state. Its semantics are
consistent with Kernel. This selection also effects
the behavior of the 'make export' target and currently
has no effect unless you wish to build loadable applications
in a FLAT build.
choice
prompt "Memory organization"
default BUILD_FLAT
config BUILD_FLAT
bool "Flat address space"
---help---
Build NuttX as one large, executable "blob". All of the code
within the blob can interrupt with all of the other code within
the blob. There are no special privileges, protections, or
restraints.
config BUILD_PROTECTED
bool "NuttX protected build"
depends on ARCH_USE_MPU
select LIB_SYSCALL
select BUILD_2PASS
---help---
Builds NuttX and selected applications as two "blobs": A protected,
privileged kernel blob and a separate unprivileged, user blob. This
requires use of the two pass build with each blob being build on
each pass.
NOTE: This build configuration requires that the platform support
a memory protection unit (MPU). Support, however, may not be
implemented on all platforms.
config BUILD_KERNEL
bool "NuttX kernel build"
depends on ARCH_USE_MMU && ARCH_ADDRENV
select LIB_SYSCALL
select MODULES
---help---
Builds NuttX as a separately compiled kernel. No applications are
built. All user applications must reside in a file system where
they can be loaded into memory for execution.
NOTE: This build configuration requires that the platform support
a memory management unit (MMU) and address environments. Support,
however, may not be implemented on all platforms.
endchoice # Build configuration
config BUILD_PIC
bool "NuttX PIC build"
default n
---help---
Builds NuttX with position-independent code (PIC). This will allow
load NuttX into memory at any address and run it.
endmenu # Build Setup
menu "Customize Header Files"
config ARCH_HAVE_STDINT_H
bool
default n
---help---
Selected by architecture specific logic if the architecture provides
a stdint.h header file.
config ARCH_STDINT_H
bool "stdint.h"
default n
depends on ARCH_HAVE_STDINT_H
---help---
The stdint.h header file can be found at nuttx/include/stdint.h.
However, that header includes logic to redirect the inclusion of an
architecture specific header file like:
#ifdef CONFIG_ARCH_STDINT_H
# include <arch/stdint.h>
#else
...
#endif
Recall that that include path, include/arch, is a symbolic link and
will refer to a version of stdint.h at nuttx/arch/<architecture>/include/stdint.h.
config ARCH_HAVE_STDBOOL_H
bool
default n
---help---
Selected by architecture specific logic if the architecture provides
a stdbool.h header file.
config ARCH_STDBOOL_H
bool "stdbool.h"
default n
depends on ARCH_HAVE_STDBOOL_H
---help---
The stdbool.h header file can be found at nuttx/include/stdbool.h.
However, that header includes logic to redirect the inclusion of an
architecture specific header file like:
#ifdef CONFIG_ARCH_STDBOOL_H
# include <arch/stdbool.h>
#else
...
#endif
Recall that that include path, include/arch, is a symbolic link and
will refer to a version of stdbool.h at nuttx/arch/<architecture>/include/stdbool.h.
config ARCH_HAVE_MATH_H
bool
default n
---help---
Selected by architecture specific logic if the architecture provides
a math.h header file.
config ARCH_MATH_H
bool "math.h"
depends on ARCH_HAVE_MATH_H
default n
---help---
There is also a re-directing version of math.h in the source tree.
However, it resides out-of-the-way at include/nuttx/lib/math.h because it
conflicts too often with the system math.h. If ARCH_MATH_H=y is
defined, however, the top-level makefile will copy the redirecting
math.h header file from include/nuttx/lib/math.h to include/math.h. math.h
will then include the architecture-specific version of math.h that you
must provide at nuttx/arch/>architecture</include/math.h.
#ifdef CONFIG_ARCH_MATH_H
# include <arch/math.h>
#endif
So for the architectures that define ARCH_MATH_H=y, include/math.h
will be the redirecting math.h header file; for the architectures
that don't select ARCH_MATH_H, the redirecting math.h header file
will stay out-of-the-way in include/nuttx/.
config ARCH_FLOAT_H
bool "float.h"
default n
---help---
The float.h header file defines the properties of your floating
point implementation. It would always be best to use your
toolchain's float.h header file but if none is available, a default
float.h header file will provided if this option is selected. However
there is no assurance that the settings in this float.h are actually
correct for your platform!
config DISABLE_FLOAT
bool "Disable floating point"
default n
---help---
Disable floating point support in the compiler. This will reduce
code size and increase performance. This option is only available
on some architectures.
config ARCH_HAVE_STDARG_H
bool
default n
---help---
Selected by architecture specific logic if the architecture provides
a math.h header file.
config ARCH_STDARG_H
bool "stdarg.h"
depends on ARCH_HAVE_STDARG_H
default n
---help---
There is a redirecting version of stdarg.h in the source tree. It
resides out-of-the-way at include/nuttx/lib/stdarg.h. This is
because you should normally use your toolchain's stdarg.h file. But
sometimes, your toolchain's stdarg.h file may have other header
file dependencies and so may not be usable in the NuttX build
environment. In those cases, you may have to create a architecture-
specific stdarg.h header file at nuttx/arch/<architecture>/include/stdarg.h
If ARCH_STDARG_H=y is defined, the top-level makefile will copy the
re-directing stdarg.h header file from include/nuttx/lib/stdarg.h to
include/stdarg.h. So for the architectures that cannot use their
toolchain's stdarg.h file, they can use this alternative by defining
ARCH_STDARG_H=y and providing. If ARCH_STDARG_H, is not defined, then
the stdarg.h header file will stay out-of-the-way in include/nuttx/.
config ARCH_HAVE_SETJMP
bool
default n
config ARCH_SETJMP_H
bool "setjmp.h"
default n
depends on ARCH_HAVE_SETJMP
---help---
There is a redirecting version of setjmp.h in the source tree. It
resides out-of-the-way at include/nuttx/lib/setjmp.h. This is
because you should normally use your toolchain's setjmp.h file. But
sometimes, your toolchain's setjmp.h file may have other header
file dependencies and so may not be usable in the NuttX build
environment. In those cases, you may have to create a architecture-
specific setjmp.h header file at nuttx/arch/<architecture>/include/setjmp.h
If ARCH_SETJMP_H=y is defined, the top-level makefile will copy the
re-directing setjmp.h header file from include/nuttx/lib/setjmp.h to
include/setjmp.h. So for the architectures that cannot use their
toolchain's setjmp.h file, they can use this alternative by defining
ARCH_SETJMP_H=y and providing. If ARCH_SETJMP_H, is not defined, then
the setjmp.h header file will stay out-of-the-way in include/nuttx/.
choice
prompt "debug.h selection"
default ARCH_NONE_DEBUG_H
config ARCH_NONE_DEBUG_H
bool "None"
---help---
No debug.h under include/arch/ and include/arch/chip.
config ARCH_DEBUG_H
bool "debug.h"
---help---
The debug.h under include/arch contains architecture dependent debugging primitives
config ARCH_CHIP_DEBUG_H
bool "chip debug.h"
---help---
The debug.h under include/arch/chip contains architecture dependent debugging primitives
config ARCH_BOARD_DEBUG_H
bool "board debug.h"
---help---
The debug.h under include/arch/board contains board dependent debugging primitives
endchoice # debug.h selection
endmenu # Customize Header Files
source "Kconfig.debug"
menuconfig TRACE
bool "Enable tracepoints"
default n
depends on SCHED_INSTRUMENTATION_DUMP
---help---
If this option is enabled, tracepoints at critical code in
the kernel will be enabled.
if TRACE
config TRACE_APP
bool "Enable tracepoints in app"
default n
config TRACE_ARCH
bool "Enable tracepoints in arch"
default n
config TRACE_AUDIO
bool "Enable tracepoints in audio"
default n
config TRACE_BOARDS
bool "Enable tracepoints in boards"
default n
config TRACE_CRYPTO
bool "Enable tracepoints in crypto"
default n
config TRACE_DRIVERS
bool "Enable tracepoints in drivers"
default n
config TRACE_FS
bool "Enable tracepoints in fs"
default n
if TRACE_FS
menu "Trace Fs Support"
config TRACE_LITTLEFS_FS
bool "Enable tracepoints in littlefs"
default n
config TRACE_ROMFS_FS
bool "Enable tracepoints in romfs"
default n
config TRACE_RPMSGFS_FS
bool "Enable tracepoints in rpmsgfs"
default n
endmenu # Trace Fs Support
endif
config TRACE_GRAPHICS
bool "Enable tracepoints in graphics"
default n
config TRACE_INPUT
bool "Enable tracepoints in input"
default n
config TRACE_LIBS
bool "Enable tracepoints in libs"
default n
config TRACE_MM
bool "Enable tracepoints in mm"
default n
config TRACE_NET
bool "Enable tracepoints in net"
default n
config TRACE_SCHED
bool "Enable tracepoints in sched"
default n
config TRACE_VIDEO
bool "Enable tracepoints in video"
default n
config TRACE_WIRELESS
bool "Enable tracepoints in wireless"
default n
endif #TRACE
choice
prompt "Optimization Level"
default DEBUG_NOOPT if DEBUG_SYMBOLS
default DEBUG_FULLOPT if !DEBUG_SYMBOLS
config DEBUG_NOOPT
bool "Suppress Optimization"
---help---
Build without optimization. This is often helpful when debugging code.
config DEBUG_CUSTOMOPT
bool "Custom Optimization"
depends on ARCH_HAVE_CUSTOMOPT
---help---
Select a custom debug level. This is often helpful if you suspect an
optimization level error and want to lower the level of optimization.
config DEBUG_FULLOPT
bool "Normal, Full optimization"
---help---
Build full optimization. This is the normal case for production
firmware.
endchoice # Optimization Level
config DEBUG_OPTLEVEL
string "Custom Optimization Level"
default "/O2" if HOST_WINDOWS
default "-O2"
depends on DEBUG_CUSTOMOPT
---help---
This string represents the custom optimization level that will be
used if DEBUG_CUSTOMOPT.
choice
prompt "Link Time Optimization (LTO)"
default LTO_NONE
---help---
This option enables Link Time Optimization (LTO), which allows the
compiler to optimize binaries globally.
If unsure, select LTO_NONE. Note that LTO is very resource-intensive
so it's disabled by default.
config LTO_NONE
bool "None"
---help---
Build the kernel normally, without Link Time Optimization (LTO).
config LTO_FULL
bool "GNU Full LTO (EXPERIMENTAL)"
depends on ARCH_TOOLCHAIN_GNU
---help---
Link time optimization is implemented as a GCC front end for a bytecode
bytecode representation of GIMPLE that is emitted in special sections
of .o files. Currently, LTO support is enabled in most ELF-based systems,
as well as darwin, cygwin and mingw systems.
config LTO_THIN
bool "Clang ThinLTO (EXPERIMENTAL)"
depends on ARCH_TOOLCHAIN_CLANG
---help---
This option enables Clang's ThinLTO, which allows for parallel
optimization and faster incremental compiles compared to the
CONFIG_LTO_FULL option. More information can be found
from Clang's documentation:
https://clang.llvm.org/docs/ThinLTO.html
If unsure, say Y.
endchoice
config DEBUG_OPT_UNUSED_SECTIONS
bool "Optimization to eliminate the unused input sections"
default y
depends on ARCH_TOOLCHAIN_GNU
---help---
Use these options on systems where the linker can perform optimizations
to improve locality of reference in the instruction space. Most systems
using the ELF object format have linkers with such optimizations.
Enable this option to optimization the unused input sections with the
linker by compiling with " -ffunction-sections -fdata-sections ", and
linking with " --gc-sections ".
config DEBUG_LINK_WHOLE_ARCHIVE
bool "Force every object to be included in the resulting shared library."
default n
depends on DEBUG_OPT_UNUSED_SECTIONS
---help---
Selecting this option will pass "--whole-archive" to ld
when linking NuttX ELF.
config DEBUG_LINK_MAP
bool "Generate link map file"
default y
---help---
Selecting this option will pass "-Map=$(TOPDIR)$(DELIM)nuttx.map" to ld
when linking NuttX ELF. That file can be useful for verifying
and debugging magic section games, and for seeing which
pieces of code get eliminated with DEBUG_OPT_UNUSED_SECTIONS.
config CCACHE
bool "Use ccache"
default n
---help---
If enabled, ccache will be used during the build.
Build artifacts will be cached to a local storage, considerably
reducing build times.
endmenu # Build Setup

View file

@ -20,23 +20,90 @@
#
############################################################################
# Check if the system has been configured
# Handle the verbosity level first thing in the build process
ifeq ($(wildcard .config),)
.DEFAULT default:
@echo "NuttX has not been configured!"
@echo "To configure the project:"
@echo " tools/configure.sh <config>"
@echo "For a list of available configurations:"
@echo " tools/configure.sh -L"
else
include .config
# Control build verbosity
#
# V=0: Exit silent mode
# V=1,2: Enable echo of commands
# V=2: Enable bug/verbose options in tools and scripts
# Include the correct Makefile for the selected architecture.
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
include tools/Win.mk
else
include tools/Unix.mk
ifeq ($(V),)
MAKE := $(MAKE) -s --no-print-directory
endif
ifeq ($(V),1)
export Q :=
else ifeq ($(V),2)
export Q :=
else
export Q := @
endif
# New Environment variable NXSPACE is checked first. If set, it will point
# to NuttX workspace root.
NXSPACE ?= $(realpath $(CURDIR)/..)
export NXSPACE
NXBASE := $(realpath $(NXSPACE)/nuttx)
# New BDIR variable defines the board directory.
# There are two ways to run NuttX build system:
# 1) From the board directory (preferred)
# 2) From the NuttX top directory
# In the latter case, BDIR can be ommited as the
# build entry-point will always be the NuttX top directory.
BDIR ?= ${NXBASE}
# New OUT variable will be used as the output directory.
# All the defined target should refer to this variable for their output.
# Preferably, this out variable should be externally provided, for
# portability reasons. Rather than keep the output local to the NuttX
# source tree, this mechanism allows to specify any out-of-tree dir.
# $(NXSPACE)/build is the default output directory, and it's reserved by the
# NuttX build system.
OUT ?= $(realpath $(NXSPACE)/build)
export OUT
# Force the BCFG to always be passed to build process.
# This new Environment variable defines the board:config to be used.
ifndef BCFG
$(info ERROR: Board configuration is not set)
$(info )
$(info Usage:)
$(info make BCFG=<config>)
$(info )
$(info Examples:)
$(info make BCFG=nsh)
$(error Build stopped, BCFG required.)
endif
# External code support
# EXTLIB variable to can be passed to the build system.
# EXTLIB should be the end library that is passed to the nuttx build system
ifdef EXTLIB
TARGETS += ${EXTLIB}
endif
# Support for ROMFS image creation
ifeq (${CONFIG_FS_ROMFS},y)
ifdef ROMFSIMG
TARGETS += ${ROMFSIMG}
else
$(error ROMFSIMG is not defined by the board Makefile)
endif
endif
menuconfig:
menuconfig

4
VERSION Normal file
View file

@ -0,0 +1,4 @@
VERSION_MAJOR = 12
VERSION_MINOR = 10
PATCH = 0
EXTRAVERSION =

View file

@ -1,41 +0,0 @@
# ##############################################################################
# arch/CMakeLists.txt
#
# SPDX-License-Identifier: Apache-2.0
#
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with this work for
# additional information regarding copyright ownership. The ASF licenses this
# file to you under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
#
# ##############################################################################
# Declare arch library. In contrast to other user/kernel pairs built in KERNEL
# mode, on arch/ the "user" portion uses a different set of sources than the
# kernel portion. To keep things simple the naming k<lib> is not used. Instead,
# the "user" portion is named "arch_interface".
nuttx_add_kernel_library(arch)
target_include_directories(arch PRIVATE ${CMAKE_SOURCE_DIR}/sched)
if(CONFIG_BUILD_PROTECTED)
nuttx_add_system_library(arch_interface)
file(TOUCH "${CMAKE_CURRENT_BINARY_DIR}/empty.c")
target_sources(arch_interface PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/empty.c")
target_include_directories(arch_interface PRIVATE ${CMAKE_SOURCE_DIR}/sched)
endif()
# TODO: move this higher up ifeq ($(CONFIG_SCHED_INSTRUMENTATION_SYSCALL),y)
# EXTRALINKCMDS += @$(TOPDIR)/syscall/syscall_wraps.ldcmd endif
# include corresponding arch subdirectory
add_subdirectory(${CONFIG_ARCH})

View file

@ -165,19 +165,7 @@ config ARCH_XTENSA
select ARCH_HAVE_SYSCALL_HOOKS
select ARCH_HAVE_PERF_EVENTS
---help---
Cadence® Tensilica® Xtensa® actictures.
config ARCH_Z16
bool "ZNEO"
select ARCH_HAVE_HEAP2
---help---
ZiLOG ZNEO 16-bit architectures (z16f).
config ARCH_Z80
bool "z80"
select ARCH_HAVE_HEAP2
---help---
ZiLOG 8-bit architectures (z80, ez80, z8).
Cadence® Tensilica® Xtensa® architectures.
config ARCH_OR1K
bool "OpenRISC"
@ -217,8 +205,6 @@ config ARCH
default "x86" if ARCH_X86
default "x86_64" if ARCH_X86_64
default "xtensa" if ARCH_XTENSA
default "z16" if ARCH_Z16
default "z80" if ARCH_Z80
default "or1k" if ARCH_OR1K
default "sparc" if ARCH_SPARC
default "tricore" if ARCH_TRICORE
@ -235,50 +221,17 @@ source "arch/sim/Kconfig"
source "arch/x86/Kconfig"
source "arch/x86_64/Kconfig"
source "arch/xtensa/Kconfig"
<<<<<<< HEAD
source "arch/z16/Kconfig"
source "arch/z80/Kconfig"
=======
endif
if ARCH_OR1K
>>>>>>> 753c7b2dd6 (walnux: moveout)
source "arch/or1k/Kconfig"
source "arch/sparc/Kconfig"
source "arch/tricore/Kconfig"
config ARCH_CHIP_CUSTOM
bool "Custom Chip Support"
default n
if ARCH_CHIP_CUSTOM
menu "Custom Chip Configuration"
config ARCH_CHIP_CUSTOM_NAME
string "Custom chip name"
default ""
---help---
This is a name for the chip. It is not used except to return the
information via the NSH uname command.
config ARCH_CHIP_CUSTOM_DIR
string "Custom chip directory"
default ""
---help---
If the custom chip configuration is selected, then it is necessary
to also tell the build system where it can find the chip directory
for the custom chip.
In this case, the chip directory is assumed to lie outside the
NuttX directory. The provided path must then be a full, absolute
path to some location outside of the NuttX source tree (like
"~/projects/mychip").
config ARCH_CHIP_CUSTOM_DIR_RELPATH
bool "Relative custom chip directory"
default y
---help---
Specifies that the chip directory is relative to the NuttX directory.
endmenu # Custom Chip Configuration
endif #ARCH_CHIP_CUSTOM
source "$BINDIR/arch/dummy/Kconfig"
config ARCH_TOOLCHAIN_GNU
bool
default n

View file

@ -1,23 +0,0 @@
# ##############################################################################
# arch/arm/CMakeLists.txt
#
# SPDX-License-Identifier: Apache-2.0
#
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with this work for
# additional information regarding copyright ownership. The ASF licenses this
# file to you under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
#
# ##############################################################################
nuttx_add_subdirectory()

File diff suppressed because it is too large Load diff

345
arch/arm/Kconfig.arch Normal file
View file

@ -0,0 +1,345 @@
config ARCH_ARM7TDMI
bool
default n
select ARCH_DCACHE
select ARCH_ICACHE
---help---
The Arm7TDMI-S is an excellent workhorse processor capable of a wide
array of applications. Traditionally used in mobile handsets, the
processor is now broadly in many non-mobile applications.
config ARCH_ARM920T
bool
default n
select ARCH_DCACHE
select ARCH_ICACHE
select ARCH_HAVE_MMU
select ARCH_USE_MMU
---help---
The ARM9 processor family is built around the ARM9TDMI processor and
incorporates the 16-bit Thumb instruction set. The ARM9 Thumb family
includes the ARM920T and ARM922T cached processor macrocells:
- Dual 16k caches for applications running Symbian OS, Palm OS,
Linux and Windows CE,
- Dual 8k caches for applications running Symbian OS, Palm OS, Linux
and Windows CE Applications
config ARCH_ARM926EJS
bool
default n
select ARCH_DCACHE
select ARCH_ICACHE
select ARCH_HAVE_MMU
select ARCH_USE_MMU
---help---
Arm926EJ-S is the entry point processor capable of supporting full
Operating Systems including Linux, WindowsCE, and Symbian.
The ARM9E processor family enables single processor solutions for
microcontroller, DSP and Java applications. The ARM9E family of
products are DSP-enhanced 32-bit RISC processors, for applications
requiring a mix of DSP and microcontroller performance. The family
includes the ARM926EJ-S, ARM946E-S, ARM966E-S, and ARM968E-S
processor macrocells. They include signal processing extensions to
enhance 16-bit fixed point performance using a single-cycle 32 x 16
multiply-accumulate (MAC) unit, and implement the 16-bit Thumb
instruction set. The ARM926EJ-S processor also includes ARM Jazelle
technology which enables the direct execution of Java bytecodes in
hardware.
config ARCH_ARM1136J
bool
default n
select ARCH_DCACHE
select ARCH_ICACHE
select ARCH_HAVE_MMU
select ARCH_USE_MMU
---help---
Arm1136J(F)-S is very similar to Arm926EJ-S, but includes an
extended pipeline, basic SIMD (Single Instruction Multiple Data)
instructions, and improved frequency and performance.
config ARCH_ARM1156T2
bool
default n
select ARCH_DCACHE
select ARCH_ICACHE
select ARCH_HAVE_MMU
select ARCH_USE_MMU
---help---
Arm1156T2(F)-S is the highest-performance processor in the real-time
Classic Arm family.
config ARCH_ARM1176JZ
bool
default n
select ARCH_DCACHE
select ARCH_ICACHE
select ARCH_HAVE_MMU
select ARCH_USE_MMU
---help---
Arm1176JZ(F)-S is the highest-performance single-core processor in
the Classic Arm family. It also introduced TrustZone technology to
enable secure execution outside of the reach of malicious code.
config ARCH_ARMV6M
bool
default n
select ARCH_HAVE_CPUINFO
config ARCH_CORTEXM0
bool
default n
select ARM_THUMB
select ARCH_ARMV6M
select ARCH_HAVE_IRQPRIO
select ARCH_HAVE_IRQTRIGGER
select ARCH_HAVE_RAMVECTORS
select ARCH_HAVE_RESET
select ARCH_HAVE_HARDFAULT_DEBUG
config ARCH_ARMV7M
bool
default n
select ARCH_HAVE_CPUINFO
select ARCH_HAVE_DEBUG
select ARCH_HAVE_PERF_EVENTS
config ARCH_CORTEXM3
bool
default n
select ARM_THUMB
select ARCH_ARMV7M
select ARCH_HAVE_IRQPRIO
select ARCH_HAVE_IRQTRIGGER
select ARCH_HAVE_RAMVECTORS
select ARCH_HAVE_HIPRI_INTERRUPT
select ARCH_HAVE_RESET
select ARCH_HAVE_TESTSET
select ARCH_HAVE_HARDFAULT_DEBUG
select ARCH_HAVE_MEMFAULT_DEBUG
select ARCH_HAVE_BUSFAULT_DEBUG
select ARCH_HAVE_USAGEFAULT_DEBUG
config ARCH_CORTEXM4
bool
default n
select ARM_THUMB
select ARCH_ARMV7M
select ARCH_HAVE_IRQPRIO
select ARCH_HAVE_IRQTRIGGER
select ARCH_HAVE_RAMVECTORS
select ARCH_HAVE_HIPRI_INTERRUPT
select ARCH_HAVE_RESET
select ARCH_HAVE_TESTSET
select ARCH_HAVE_HARDFAULT_DEBUG
select ARCH_HAVE_MEMFAULT_DEBUG
select ARCH_HAVE_BUSFAULT_DEBUG
select ARCH_HAVE_USAGEFAULT_DEBUG
config ARCH_CORTEXM7
bool
default n
select ARM_THUMB
select ARCH_ARMV7M
select ARCH_HAVE_FPU
select ARCH_HAVE_IRQPRIO
select ARCH_HAVE_IRQTRIGGER
select ARCH_HAVE_RAMVECTORS
select ARCH_HAVE_HIPRI_INTERRUPT
select ARCH_HAVE_RESET
select ARCH_HAVE_TESTSET
select ARCH_HAVE_HARDFAULT_DEBUG
select ARCH_HAVE_MEMFAULT_DEBUG
select ARCH_HAVE_BUSFAULT_DEBUG
select ARCH_HAVE_USAGEFAULT_DEBUG
config ARCH_ARMV7A
bool
default n
select ARCH_HAVE_CPUINFO
select ARCH_HAVE_DEBUG
select ARCH_HAVE_PERF_EVENTS
select ARM_HAVE_WFE_SEV
config ARCH_CORTEXA5
bool
default n
select ARCH_ARMV7A
select ARCH_DCACHE
select ARCH_ICACHE
select ARCH_HAVE_MMU
select ARCH_USE_MMU
select ARCH_HAVE_TESTSET
select ARM_HAVE_MPCORE
config ARCH_CORTEXA7
bool
default n
select ARCH_ARMV7A
select ARCH_DCACHE
select ARCH_ICACHE
select ARCH_HAVE_MMU
select ARCH_USE_MMU
select ARCH_HAVE_TESTSET
select ARCH_HAVE_FPU
select ARM_HAVE_MPCORE
config ARCH_CORTEXA8
bool
default n
select ARCH_ARMV7A
select ARCH_DCACHE
select ARCH_ICACHE
select ARCH_HAVE_MMU
select ARCH_USE_MMU
select ARCH_HAVE_TESTSET
config ARCH_CORTEXA9
bool
default n
select ARCH_ARMV7A
select ARCH_DCACHE
select ARCH_ICACHE
select ARCH_HAVE_MMU
select ARCH_USE_MMU
select ARCH_HAVE_TESTSET
select ARM_HAVE_MPCORE
config ARCH_ARMV7R
bool
default n
select ARCH_HAVE_CPUINFO
select ARCH_HAVE_PERF_EVENTS
config ARCH_CORTEXR4
bool
default n
select ARCH_ARMV7R
select ARCH_DCACHE
select ARCH_ICACHE
select ARCH_HAVE_MPU
select ARCH_HAVE_TESTSET
config ARCH_CORTEXR5
bool
default n
select ARCH_ARMV7R
select ARCH_DCACHE
select ARCH_ICACHE
select ARCH_HAVE_MPU
select ARCH_HAVE_TESTSET
config ARCH_CORTEXR7
bool
default n
select ARCH_ARMV7R
select ARCH_DCACHE
select ARCH_ICACHE
select ARCH_HAVE_MPU
select ARCH_HAVE_TESTSET
config ARCH_CORTEXR52
bool
default n
select ARCH_ARMV8R
select ARCH_HAVE_MPU
select ARCH_HAVE_TESTSET
config ARCH_ARMV8M
bool
default n
select ARCH_HAVE_CPUINFO
select ARCH_HAVE_DEBUG
select ARCH_HAVE_PERF_EVENTS
config ARCH_CORTEXM23
bool
default n
select ARM_THUMB
select ARCH_ARMV8M
select ARCH_HAVE_IRQPRIO
select ARCH_HAVE_IRQTRIGGER
select ARCH_HAVE_RAMVECTORS
select ARCH_HAVE_HIPRI_INTERRUPT
select ARCH_HAVE_RESET
select ARCH_HAVE_TESTSET
select ARCH_HAVE_HARDFAULT_DEBUG
config ARCH_CORTEXM33
bool
default n
select ARM_THUMB
select ARCH_ARMV8M
select ARCH_HAVE_IRQPRIO
select ARCH_HAVE_IRQTRIGGER
select ARCH_HAVE_RAMVECTORS
select ARCH_HAVE_HIPRI_INTERRUPT
select ARCH_HAVE_RESET
select ARCH_HAVE_TESTSET
select ARCH_HAVE_HARDFAULT_DEBUG
select ARCH_HAVE_MEMFAULT_DEBUG
select ARCH_HAVE_BUSFAULT_DEBUG
select ARCH_HAVE_USAGEFAULT_DEBUG
select ARCH_HAVE_SECUREFAULT_DEBUG if ARCH_TRUSTZONE_SECURE
config ARCH_CORTEXM35P
bool
default n
select ARM_THUMB
select ARCH_ARMV8M
select ARCH_HAVE_IRQPRIO
select ARCH_HAVE_IRQTRIGGER
select ARCH_HAVE_RAMVECTORS
select ARCH_HAVE_HIPRI_INTERRUPT
select ARCH_HAVE_RESET
select ARCH_HAVE_TESTSET
select ARCH_HAVE_HARDFAULT_DEBUG
select ARCH_HAVE_MEMFAULT_DEBUG
select ARCH_HAVE_BUSFAULT_DEBUG
select ARCH_HAVE_USAGEFAULT_DEBUG
select ARCH_HAVE_SECUREFAULT_DEBUG if ARCH_TRUSTZONE_SECURE
config ARCH_CORTEXM55
bool
default n
select ARM_THUMB
select ARCH_ARMV8M
select ARCH_HAVE_IRQPRIO
select ARCH_HAVE_IRQTRIGGER
select ARCH_HAVE_RAMVECTORS
select ARCH_HAVE_HIPRI_INTERRUPT
select ARCH_HAVE_RESET
select ARCH_HAVE_TESTSET
select ARCH_HAVE_HARDFAULT_DEBUG
select ARCH_HAVE_MEMFAULT_DEBUG
select ARCH_HAVE_BUSFAULT_DEBUG
select ARCH_HAVE_USAGEFAULT_DEBUG
select ARCH_HAVE_SECUREFAULT_DEBUG if ARCH_TRUSTZONE_SECURE
config ARCH_CORTEXM85
bool
default n
select ARM_THUMB
select ARCH_ARMV8M
select ARCH_HAVE_IRQPRIO
select ARCH_HAVE_IRQTRIGGER
select ARCH_HAVE_RAMVECTORS
select ARCH_HAVE_HIPRI_INTERRUPT
select ARCH_HAVE_RESET
select ARCH_HAVE_TESTSET
select ARCH_HAVE_HARDFAULT_DEBUG
select ARCH_HAVE_MEMFAULT_DEBUG
select ARCH_HAVE_BUSFAULT_DEBUG
select ARCH_HAVE_USAGEFAULT_DEBUG
select ARCH_HAVE_SECUREFAULT_DEBUG if ARCH_TRUSTZONE_SECURE
config ARCH_ARMV8R
bool
default n
select ARCH_HAVE_CPUINFO
select ARCH_HAVE_PERF_EVENTS
select ONESHOT
select ALARM_ARCH

91
arch/arm/Makefile Normal file
View file

@ -0,0 +1,91 @@
############################################################################
# arch/arm/src/Makefile
#
# SPDX-License-Identifier: Apache-2.0
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
############################################################################
# NXBASE is mandatory
# It should provided to each of the NuttX's subsys
# either by environment variable or
# by command-line variable assignment.
ifeq ($(realpath ${NXBASE}),)
$(error "NXBASE is not defined or invalid path")
endif
CONFIGMK := $(realpath ${NXBASE}/tools/Config.mk)
ifeq (${CONFIGMK},)
$(error "Invalid Config.mk path: ${NXBASE}/tools/Config.mk")
else
include ${CONFIGMK}
endif
# NXOUT is mandatory
# It should provided to each of the NuttX's subsys
# either by environment variable or
# by command-line variable assignment.
ifeq ($(realpath ${NXOUT}),)
$(error "NXOUT is not defined or invalid path")
endif
CFG := $(realpath ${NXOUT}/.config)
ifeq (${CFG},)
$(error "Invalid .config path: ${CFG}")
else
include ${CFG}
endif
CFGH := $(realpath ${NXOUT}/nuttx/config.h)
ifeq (${CFGH},)
$(error "Invalid config.h path: ${CFGH}")
endif
ARCH_SUBDIR := $(patsubst "%",%,${CONFIG_ARCH_FAMILY})
ARCH_SRCDIR := ${CURDIR}
INCLUDES += -I${ARCH_SRCDIR}/include
INCLUDES += -I${NXOUT}
INCLUDES += -I${NXBASE}/include
INCLUDES += -I${NXBASE}/soc/arm/include
VPATH += ${ARCH_SRCDIR}/common
include ${ARCH_SRCDIR}/common/Make.defs
VPATH += ${ARCH_SRCDIR}/${ARCH_SUBDIR}
include ${ARCH_SRCDIR}/${ARCH_SUBDIR}/Make.defs
CFLAGS += ${INCLUDES}
AFLAGS += ${INCLUDES}
BIN = libarch.a
all: $(BIN)
STARTUP_OBJS = $(STARTUP_CSRC:.c=.o)
HEAD_OBJ = $(HEAD_ASRC:.S=.o)
COBJS = $(CSRCS:.c=.o)
AOBJS = $(ASRCS:.S=.o)
SRCS = ${ASRCS} ${CSRCS} ${STARTUP_CSRC} ${HEAD_ASRC}
OBJS = ${AOBJS} ${COBJS} ${STARTUP_OBJS} ${HEAD_OBJ}
${STARTUP_OBJS}: %.o: %.c
$(call COMPILE, $<, $@)

View file

@ -1,5 +1,5 @@
############################################################################
# arch/z80/src/z8/Make.defs
# arch/arm/src/arm/Make.defs
#
# SPDX-License-Identifier: Apache-2.0
#
@ -20,19 +20,24 @@
#
############################################################################
HEAD_SSRC = z8_head.S
HEAD_ASRC = arm_head.S
<<<<<<< HEAD:arch/z80/src/z8/Make.defs
CMN_CSRCS = z80_allocateheap.c z80_createstack.c z80_doirq.c
CMN_CSRCS += z80_exit.c z80_idle.c z80_interruptcontext.c
CMN_CSRCS += z80_initialize.c z80_mdelay.c z80_nputs.c
CMN_CSRCS += z80_releasestack.c z80_switchcontext.c
CMN_CSRCS += z80_stackframe.c z80_udelay.c z80_usestack.c
=======
CSRCS += arm_dataabort.c arm_doirq.c arm_initialstate.c
CSRCS += arm_prefetchabort.c arm_schedulesigaction.c
CSRCS += arm_sigdeliver.c arm_syscall.c arm_tcbinfo.c
CSRCS += arm_undefinedinsn.c
>>>>>>> 753c7b2dd6 (walnux: moveout):arch/arm/arm/Make.defs
CHIP_SSRCS = z8_vector.S z8_saveusercontext.S z8_restorecontext.S
CHIP_CSRCS = z8_initialstate.c z8_irq.c z8_saveirqcontext.c
CHIP_CSRCS += z8_schedulesigaction.c z8_sigdeliver.c
CHIP_CSRCS += z8_serial.c z8_i2c.c z8_registerdump.c
ASRCS += arm_cache.S arm_vectors.S arm_vectortab.S
ASRCS += arm_saveusercontext.S
ifneq ($(CONFIG_SCHED_TICKLESS),y)
CHIP_CSRCS += z8_timerisr.c
ifeq ($(CONFIG_LEGACY_PAGING),y)
CSRCS += arm_pginitialize.c arm_checkmapping.c arm_allocpage.c arm_va2pte.c
endif

View file

@ -27,7 +27,7 @@
#include <nuttx/config.h>
#include <nuttx/sched.h>
#include <arch/irq.h>
#include <irq.h>
#include <sys/param.h>
/****************************************************************************

View file

@ -20,10 +20,6 @@
#
############################################################################
# Common ARM files
include common/Make.defs
CMN_ASRCS += arm_exception.S arm_saveusercontext.S
CMN_CSRCS += arm_cpuinfo.c arm_doirq.c arm_hardfault.c arm_initialstate.c
@ -35,9 +31,17 @@ ifneq ($(CONFIG_ARCH_HAVE_CUSTOM_VECTORS),y)
CMN_CSRCS += arm_vectors.c
endif
<<<<<<< HEAD:arch/z80/src/z80/Make.defs
CMN_CSRCS = z80_allocateheap.c z80_createstack.c z80_doirq.c
CMN_CSRCS += z80_exit.c z80_initialize.c z80_interruptcontext.c
CMN_CSRCS += z80_idle.c z80_mdelay.c z80_releasestack.c
CMN_CSRCS += z80_switchcontext.c z80_stackframe.c
CMN_CSRCS += z80_udelay.c z80_usestack.c
=======
ifneq ($(filter y,$(CONFIG_DEBUG_FEATURES)$(CONFIG_ARM_COREDUMP_REGION)),)
CMN_CSRCS += arm_dumpnvic.c
endif
>>>>>>> 753c7b2dd6 (walnux: moveout):arch/arm/armv6-m/Make.defs
ifeq ($(CONFIG_ARCH_RAMVECTORS),y)
CMN_CSRCS += arm_ramvec_initialize.c arm_ramvec_attach.c

View file

@ -41,7 +41,7 @@
#include <nuttx/config.h>
#include <arch/irq.h>
#include <irq.h>
#ifdef CONFIG_SMP
# include "chip.h"

View file

@ -31,7 +31,7 @@
#include <assert.h>
#include <debug.h>
#include <arch/irq.h>
#include <irq.h>
#include "nvic.h"
#include "arm_internal.h"

View file

@ -33,7 +33,7 @@
#include <debug.h>
#include <syscall.h>
#include <arch/irq.h>
#include <irq.h>
#include <nuttx/macro.h>
#include <nuttx/sched.h>

View file

@ -27,7 +27,7 @@
#include <nuttx/config.h>
#include <nuttx/sched.h>
#include <arch/irq.h>
#include <irq.h>
#include <sys/param.h>
/****************************************************************************

View file

@ -30,7 +30,7 @@
#include <assert.h>
#include <nuttx/arch.h>
#include <arch/irq.h>
#include <irq.h>
#include "arm_internal.h"
#include "nvic.h"

View file

@ -28,7 +28,7 @@
****************************************************************************/
#include <nuttx/config.h>
#include <arch/irq.h>
#include <irq.h>
#include "arm_internal.h"
#include "chip.h"

View file

@ -20,10 +20,6 @@
#
############################################################################
# Common ARM files
include common/Make.defs
# The vector table is the "head" object, i.e., the one that must forced into
# the link in order to draw in all of the other components

View file

@ -87,7 +87,7 @@
#include <nuttx/sched.h>
#include <nuttx/addrenv.h>
#include <arch/irq.h>
#include <irq.h>
#include "mmu.h"
#include "addrenv.h"

View file

@ -28,7 +28,7 @@
#include <debug.h>
#include <assert.h>
#include <nuttx/arch.h>
#include <arch/irq.h>
#include <irq.h>
#include <arch/chip/chip.h>
#include <nuttx/spinlock.h>

View file

@ -27,7 +27,7 @@
* Included Files
****************************************************************************/
#include <nuttx/config.h>
#include <arch/irq.h>
#include <irq.h>
#include <arch/chip/chip.h>
#include <arch/syscall.h>

View file

@ -26,7 +26,7 @@
#include <nuttx/config.h>
#include <arch/irq.h>
#include <irq.h>
#include "arm.h"
#include "sctlr.h"

View file

@ -28,7 +28,7 @@
#include <nuttx/config.h>
#include <nuttx/fs/procfs.h>
#include <arch/irq.h>
#include <irq.h>
#include "arm_internal.h"
#include "hwcap.h"

View file

@ -26,7 +26,7 @@
#include <nuttx/config.h>
#include <arch/irq.h>
#include <irq.h>
#ifdef CONFIG_ARCH_FPU

View file

@ -34,7 +34,7 @@
#include <nuttx/arch.h>
#include <nuttx/pci/pci.h>
#include <nuttx/spinlock.h>
#include <arch/irq.h>
#include <irq.h>
#include "arm_internal.h"
#include "gic.h"

View file

@ -26,7 +26,7 @@
#include <nuttx/config.h>
#include <arch/irq.h>
#include <irq.h>
#include "arm.h"
#include "sctlr.h"

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