Commit graph

61162 commits

Author SHA1 Message Date
wangchengdong
bbf311348b cmake: bump minimum required CMake version to 3.20
Raise the minimum required CMake version to 3.20,
as the build system now uses the `cmake_path()` command,
which is available starting from CMake 3.20.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2026-02-26 10:24:36 +01:00
wangchengdong
c7b2313cdd Documentation: document nxsched_abstick_sleep()
Document nxsched_abstick_sleep().

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2026-02-26 17:04:47 +08:00
wangchengdong
23d48da4bd sched/sched: add nxsched_abstick_sleep()
Add nxsched_abstick_sleep() and make nxsched_ticksleep()
a wrapper around it.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2026-02-26 17:04:47 +08:00
aviralgarg05
2820444284 include/cxx/cmath: Use toolchain <cmath> with toolchain libm.
When CONFIG_LIBM_TOOLCHAIN is enabled, include_next the toolchain\n<c\+\+>/cmath wrapper instead of importing symbols from the NuttX\ncmath shim. This avoids include-order recursion and lets libstdc\+\+\nresolve std::abs/std::acos/... against the matching toolchain C\nmath.h declarations.\n\nKeep the existing NuttX cmath namespace path unchanged for non-\ntoolchain libm configurations.

Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
2026-02-26 12:48:55 +08:00
simbit18
37152f7a34 boards/arm/stm32wl5: CMake added nucleo-wl55jc board
CMake added nucleo-wl55jc board

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-26 06:20:41 +08:00
simbit18
49b2e7d6a6 arch/arm/src/stm32wl5: CMake build implemented for STM32 STM32WL5
- added STMicroelectronics STM32WL5

Signed-off-by: simbit18 <simbit18@gmail.com>

Update CMakeLists.txt

Update CMakeLists.txt
2026-02-26 06:20:41 +08:00
Matteo Golin
e699889ebc codeowners: Shorten file by using wildcards
To prevent reaching the 3MB limit on the CODEOWNERS file, this commit
replaces some multi-file entries with wildcard entries.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-25 17:31:29 -03:00
Matteo Golin
6d092be2b1 boards/tms570ls31x-usb-kit: Set LOOPSPERMSEC=0 to avoid build errors
This board does not have a calibrated LOOPSPERMSEC value despite needing
one in order for correct operation. This commits sets the value to 0 so
that CI builds may pass, but users who build this board will see a
warning indicate the steps for calibrating a new value.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-25 15:00:03 -03:00
Matteo Golin
cd81223ac4 boards/launchxl-tms57004: Set LOOPSPERMSEC=0 to avoid build errors
This board does not have a calibrated LOOPSPERMSEC value despite needing
one in order for correct operation. This commits sets the value to 0 so
that CI builds may pass, but users who build this board will see a
warning indicate the steps for calibrating a new value.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-25 15:00:03 -03:00
Matteo Golin
6e8016e6c6 boards/nucleo-wl55jc: Set LOOPSPERMSEC=0 to avoid build errors
This board does not have a calibrated LOOPSPERMSEC value despite needing
one in order for correct operation. This commits sets the value to 0 so
that CI builds may pass, but users who build this board will see a
warning indicate the steps for calibrating a new value.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-25 15:00:03 -03:00
Matteo Golin
97b8cb4a5f boards/nucleo-g474re: Set LOOPSPERMSEC=0 to avoid build errors
This board does not have a calibrated LOOPSPERMSEC value despite needing
one in order for correct operation. This commits sets the value to 0 so
that CI builds may pass, but users who build this board will see a
warning indicate the steps for calibrating a new value.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-25 15:00:03 -03:00
Matteo Golin
40e5379c88 boards/phy6222: Set LOOPSPERMSEC=0 to avoid build errors
This board does not have a calibrated LOOPSPERMSEC value despite needing
one in order for correct operation. This commits sets the value to 0 so
that CI builds may pass, but users who build this board will see a
warning indicate the steps for calibrating a new value.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-25 15:00:03 -03:00
Matteo Golin
ca3c7c6c73 boards/qemu-armv7a: Correct LOOPSPERMSEC value
Use calibrated CONFIG_BOARD_LOOPSPERMSEC value for board configurations.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-25 15:00:03 -03:00
Matteo Golin
3eb45695da boards/avaota-a1: Correct LOOPSPERMSEC value
Use calibrated CONFIG_BOARD_LOOPSPERMSEC value for board configurations.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-25 15:00:03 -03:00
Matteo Golin
9de4557d2c boards/stm32/b-g474e-dpow1: Correct LOOPSPERMSEC value
Propagated correct CONFIG_BOARDS_LOOPSPERMSEC value to remaining
configurations for this board.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-25 15:00:03 -03:00
Matteo Golin
2d768c294e arch/delays: Invalid default value for BOARD_LOOPSPERMSEC
Changes the default value for CONFIG_BOARD_LOOPSPERMSEC to -1, which is
invalid. All boards that forget to configure this value will encounter a
static assertion at compile time, enforcing that configurations
upstreamed to NuttX have calibrated values for correct delay timings.

Boards which implement ALARM_ARCH or TIMER_ARCH do not rely on the
busy-loop delay implementation and thus only have a run-time check to
ensure proper delay-timings (in the case where delays are used before
the alarm/timer driver is registered).

Some boards already in the NuttX upstream do not have calibrated values,
but there are no users who currently own the board to submit a
calibrated value for the configurations to use. In this scenario, the
value is temporarily set to 0 and a warning is displayed so that users
of these boards are informed of the calibration process.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-02-25 15:00:03 -03:00
wangchengdong
629a9d4ace sched/sched: fix typos and remove unused declarations in sched.h
This patch removes unnecessary and unimplemented function declarations in sched.h, fixing typos and cleaning up the header file.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2026-02-25 12:38:13 -05:00
Alin Jerpelea
c47b9dc26c AUTHORS: add Donny Jiuzhu
Donny Jiuzhu has submitted the ICLA and should be added to
the AUTHORS file

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2026-02-25 10:17:40 +01:00
Alin Jerpelea
caf5457ac7 AUTHORS: add Nishant Kumar
Nishant Kumar has submitted the ICLA and should be added to
the AUTHORS file

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2026-02-25 10:17:40 +01:00
Alin Jerpelea
22d6e2d05e AUTHORS: add Chengdong Wang
Chengdong Wang has submitted the ICLA and should be added to
the AUTHORS file

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2026-02-25 10:17:40 +01:00
wangchengdong
ae1731210d sched/clock: fix CLOCK_BOOTTIME and CLOCK_MONOTONIC handling
The current implementation retrieves time from the same source for both
CLOCK_BOOTTIME and CLOCK_MONOTONIC, which is incorrect. CLOCK_BOOTTIME
includes time spent in system suspend, whereas CLOCK_MONOTONIC does not.

This patch fixes the incorrect clock source handling and ensures the
two clocks are distinguished properly.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2026-02-25 16:15:23 +08:00
simbit18
303760b937 boards/arm/a1x: CMake added QuickFeather board
CMake added QuickFeather board

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-25 06:47:58 +08:00
simbit18
6f92e14e81 arch/arm/src/a1x: CMake build implemented for Quicklogic EOS S3
- added Quicklogic EOS S3

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-25 06:47:58 +08:00
simbit18
9b80988fd1 boards/arm/a1x: CMake added pcDuino board
CMake added pcDuino board

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-24 21:40:48 +08:00
simbit18
c6c9876227 arch/arm/src/a1x: CMake build implemented for Allwinner A1X family
- added Allwinner A1X family

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-24 21:40:48 +08:00
anjiahao
3770c0871c mm:use mm_malloc inside of mm_memalign
Test build breadxavr:nsh:

➜ size nuttx_with_mm_memalgin
   text    data     bss     dec     hex filename
  53018      91     556   53665    d1a1 nuttx_with_mm_memalgin
~/work/nuttxwork/nuttx
➜ size nuttx
   text    data     bss     dec     hex filename
  51580      91     556   52227    cc03 nuttx

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2026-02-24 19:58:17 +08:00
Eren Terzioglu
90147a72c2 arch/xtensa/espressif: Fix SHA errors
Fix SHA errors for esp32[-s2|-s3]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-02-24 12:57:46 +01:00
Eren Terzioglu
19b6e15dbd arch/risc-v/espressif: Fix SHA errors
Fix SHA errors for esp32[-c3|-c6|-h2]

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-02-24 12:57:46 +01:00
Vlad Pruteanu
4775f5ba21 xtensa/esp32: Fix HMAC-SHA when a long key is used
When using a key that is longer than the block size of the hashing
algorithm used, the key must be hashed before it is used.

Signed-off-by: Vlad Pruteanu <pruteanuvlad1611@yahoo.com>
2026-02-24 08:32:19 -03:00
simbit18
802de91155 boards/arm/stm32l5: CMake added boards
CMake added boards:

 - nucleo-l552ze

 - stm32l562e-dk

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-23 22:12:48 +08:00
simbit18
6b621999d9 arch/arm/src/stm32l5: CMake build implemented for STM32 STM32L5 Series
- added STM32 STM32L5 Series

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-23 22:12:48 +08:00
Maarten Zanders
65207ae1c5 serial/uart_rpmsg: add _raw version of driver
Mainline Linux doesn't use data encapsuation or flow control in its
tty_rpmsg driver. Create a NuttX counterpart which matches this
implementation.
This driver uses the static "rpmsg-tty" name to connect with the
remote service.

Signed-off-by: Maarten Zanders <maarten@zanders.be>
2026-02-23 09:19:57 -03:00
Maarten Zanders
be66d39552 serial/uart_rpmsg: use config option for console registration
Parameter isconsole in uart_rpmsg_init() has two effects: set uart
terminal flags for typical console use and register the device as
/dev/console. These are separate things. The latter might not be
wanted in all cases.

Use the already existing config option CONFIG_RPMSG_UART_CONSOLE to
conditionally register the uart as console device.

Signed-off-by: Maarten Zanders <maarten@zanders.be>
2026-02-23 09:19:57 -03:00
Lup Yuen Lee
9e063b1784 github/workflow: Fix the PR Labeling for Build System
Our New PR Labeler incorrectly labels the Changed Files for Build System. Here is a Sample PR that contains changes for Arm32 CMake and Makefile: https://github.com/lupyuen6/nuttx/pull/59

```
arch/arm/CMakeLists.txt
arch/arm/Makefile
```

But our PR Labeler incorrectly labels the above as `Area: Build system, Arch: Arm`, which triggers a Complete CI Build across All Architectures (according to arch.yml). The correct label should be `Arch: Arm`, which will trigger only the Arm32 Build: https://github.com/lupyuen8/nuttx/pull/1

This PR fixes the PR Labeling. The New PR Labeler is explained here:
- https://lupyuen.org/articles/prtarget
- https://github.com/apache/nuttx/issues/18359

`.github/workflows/labeler.yml`: Changed the Regex Pattern. Now we match the Start Of Line and End Of Line.

Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
2026-02-22 08:33:10 +08:00
Peter Barada
c4d6b728a0 boards/stm32h7: Add button support to nucleo-h743zi2
This patch adds support for the user button on nuclo-h743zi2 board
(and nucleo-h753zi2 which is also a MB1364 board design) and enables
button support and example in nucleo-h743zi2:jumbo configuration selector.

Signed-off-by: Peter Barada <peter.barada@gmail.com>
2026-02-21 08:50:54 +01:00
Ari Kimari
966be68259 arch/imx9/enet: Add MII clock calculation
Add MII clock calculation from root clock
Remove MII clock divider define

Signed-off-by: Ari Kimari <ari.kimari@tii.ae>
2026-02-21 07:51:44 +08:00
simbit18
c036d23051 boards/arm/stm32wb: CMake added boards
CMake added boards:

 - flipperzero

 - nucleo-wb55rg

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-21 07:25:40 +08:00
simbit18
12d4f385bd arch/arm/src/stm32wb: CMake build implemented for STM32 STM32WB Series
- added STM32 STM32WB Series

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-21 07:25:40 +08:00
Maarten Zanders
643f33934e arch/arm: remove all "select ARMV8M_HAVE_STACKCHECK".
Stack checking is not optional on armv8m. This config
option does not exist.

Signed-off-by: Maarten Zanders <maarten@zanders.be>
2026-02-20 13:17:22 -05:00
Filipe Cavalcanti
76e1c97642 documentation: document esp32s2-saola-1:efuse defconfig
Adds description for the efuse defconfig on esp32s2-saola-1 board.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 15:54:40 +01:00
Filipe Cavalcanti
2916e091ff boards/xtensa/esp32s2: add efuse defconfig
Adds the efuse defconfig for the ESP32-S2.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 15:54:40 +01:00
Filipe Cavalcanti
29858d3488 documentation: update ESP32 docs for spi, gpio and i2c
Adds description for the GPIO, SPI and I2C defconfigs for the
esp32-devkitc board.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 14:56:54 +01:00
Filipe Cavalcanti
cb5ce48b56 board/xtensa/esp32: add SPI defconfig
Add SPI defconfig for ESP32-DevKit-C.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 14:56:54 +01:00
Filipe Cavalcanti
bcfa8ddf77 board/xtensa/esp32: add GPIO defconfig
Add a GPIO defconfig for ESP32-DevKit-C.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 14:56:54 +01:00
Filipe Cavalcanti
dda9e037c2 boards/xtensa/esp32: add I2C defconfig and update board source
Add I2C defconfig to esp32-devkitc board and update some board
ifdefs.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 14:56:54 +01:00
Filipe Cavalcanti
293d33f5dd arch/xtensa/esp32: select I2C_DRIVER on I2C
Automatically select I2C_DRIVER when ESP32_I2C is selected.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2026-02-20 14:56:54 +01:00
simbit18
34f52384d8 boards/arm/stm32f0l0g0: CMake fix build b-l072z-lrwan1:nxlines_oled
fix b-l072z-lrwan1:nxlines_oled
b-l072z-lrwan1/src/stm32_lcd_ssd1306.c:38:10: fatal error: stm32_ssd1306.h: No such file or directory
   38 | #include "stm32_ssd1306.h"
      |          ^~~~~~~~~~~~~~~~~

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-19 16:31:21 -03:00
simbit18
11cd472869 boards/arm/samd5e5: CMake added boards
CMake added boards:

 - metro-m4

 - same54-xplained-pro

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-19 15:08:42 -03:00
simbit18
53fd998502 arch/arm/src/samd5e5: CMake build implemented for Microchip's SAM D5x/E5x Family
- added Microchip's SAM D5x/E5x Family

Signed-off-by: simbit18 <simbit18@gmail.com>
2026-02-19 15:08:42 -03:00
Tomasz 'CeDeROM' CEDRO
8699c675e2 doc: Contributing Guide updates.
* As voted in https://www.mail-archive.com/dev@nuttx.apache.org/msg14264.html.
* Contributing Guide nomenclature align.
* Mention CG locations (git and doc).
* Reference NuttX Documentation, Contributing, and Security.
* Added Contributing Guide to NuttX Documentation (md include to stay in sync).
* Breaking Changes marking update:
  * `[BREAKING]` title tag replaced with `!` (exclamation mark).
  * `BREAKING CHANGES:` description brief with quick-fix instructions added.
* Breaking change git commit and pr template examples added.

Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
2026-02-19 12:11:14 -05:00