Commit graph

3172 commits

Author SHA1 Message Date
Alin Jerpelea
e2fd695710 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 20:52:20 +08:00
trns1997
d7b2df6d85 ci/cxx: Add out-of-tree build CI test.
Introduce a new CI test to validate out-of-tree builds
and prevent regressions in the `make export` workflow.
Specifically, this change adds `test-oot-build.sh` that:
* Builds NuttX using a selected configuration.
* Runs `make export` to generate the export package.
* Copies the `nuttx-export` to the OOT build project.
* Verifies that compilation and linking succeed.

Signed-off-by: trns1997 <trns1997@gmail.com>
2025-09-27 21:36:22 +08:00
guoshengyuan1
a3e63c44dd Document: add information for stack overflow check on context switching
Updated documentation to explain how to enable detection during context switching.

Co-authored-by: Chengdong Wang <wangchengdong@lixiang.com>
Signed-off-by: guoshengyuan1 <guoshengyuan1@xiaomi.com>
2025-09-27 12:56:11 +08:00
kywwilson11
09290b9254 arch/arm/stm32h5: ADC Driver Improvements
Added ioctls and functions for watchdogs 2 & 3. Modifed wdog1 functions. Needs testing.

Fixed issues with started variable.

Change to add only 3 ioctls, a config for each watchdog. Created cfg structures for watchdog1 and watchdog23. Added code to set difsel register. stop conversions before changing watchdog configs. Other logic changes.

Define AN_STM32H5_FIRST and AN_STM32H5_NCMDS in nuttx/analog/ioctl.h

Remove hardcoded AN_STM32H5_FIRST.

Style fixes.

Fix thershold for watchdog1

Got working watchdog driver with queue and signal. Needs polish.

Refined isr for watchdogs. Added value back to event. value is more accurate, but not guaranteed. It accomdates dma.

Used stm32_adc_sigcfg_s structure inside stm32_adc_sig_s structure. Used common naming for ioctls.

Added stopifstarted and startifstopped for setting watchdogs and other bits. Added adc_reset_dma, which must be run after stopping conversions in circular mode, because buffer and conversions become misaligned. Other refinements.

Added guard around adc_reset_dma, added comment blocks to new functions

NuttX style fixes.

Add return value to wdog configure functions.

Correct number of stm32h5 adc ioctls.

Minor style fix.

Reduce watchdog commit to fit NuttX standards. Remove Queue and Signal aspects. Added Kconfig to initialize watchdog.

Signed-off-by: kywwilson11 <kwilson@2g-eng.com>

Added guard around code referencing priv->circular. Added adc_watchdog config for testing watchdog1 with adc1. Added documentation about adc_watchdog config.

Adjusted documentation for adc_watchdog config. Added detailed test procedure.

Longer underline under adc_watchdog title.

Add code for differential adc calibration. Need to calibrate both single-ended and differential if a given adc has both single-ended and differential channels.

Fixed typo.

Initialize watchdog1 parameters at compile time when configured. Added comments to new elements in stm32_dev_s. Confirmed style is good.

Add proper guards around ADC WDG1 variables and functions.

Implemented feedback per raiden00. 1. Changed to use old chanlist type uint8_t. 2. Added smpr1, smpr2, and difsel variables to stm32_dev_s structure. 2. smpr1 and smpr2 are initialized to board defined values if BOARD_ADCx_SMPRx is defined, otherwise initialized to default. 3. difsel initialized to BOARD_ADCx_DIFSEL if defined, otherwise use default (0) for all single-ended.
2025-09-26 17:35:08 +08:00
95efa6f7cf net/mdio: add mdio bus
Currently the mdio communication is part of the monolithic 'full netdevs'.
This commit serves as an way to add modularity for the netdevs drivers.
A new upperhalf/lowerhalf mdio device comes with this commit that manages the data transfer ofer mdio interface.

Signed-off-by: Luchian Mihai <luchiann.mihai@gmail.com>
2025-09-25 16:24:18 +08:00
Tiago Medicci Serrano
2080617a8e 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-24 14:18:46 +08:00
Sergey Rzhevsky
0992d2466a docs/boards: add weact-stm32h750 board documentation
Add documentation for the WeAct STM32H750 board, including
board features, LED configuration, UART setup, SDMMC interface, available
configurations (nsh, usbnsh, sdcard, st7735), and flashing instructions
via DFU and SWD.

Signed-off-by: Sergey Rzhevsky <rzsa@yandex.ru>
2025-09-21 16:11:39 -03:00
michal matias
1d61e74f77 Documentation/platforms/arm/samv7/boards/samv71-xult: Add oa_tc6 defconfig info
Add documentation for new oa_tc6 defconfig into samv71-xult board docs.

Signed-off-by: michal matias <mich4l.matias@gmail.com>
2025-09-20 21:32:27 +08:00
michal matias
693c7d6d31 Documentation/platforms: Refactor samv71-xult README.txt to index.rst
Refactor deprecated README.txt to index.rst for SAMV71-Xplained Ultra board.

Signed-off-by: michal matias <mich4l.matias@gmail.com>
2025-09-20 21:32:27 +08:00
Filipe Cavalcanti
dda00d30bf documentation: add docs for romfs defconfig on Espressif devices
Update the documentation for ESP32-S2|S3|C3|C6|H2, supporting romfs defconfig.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-19 07:18:54 -03:00
michal matias
bd28635b68 Documentation/platforms/risc-v/esp32c6: Add oa_tc6 defconfig info
Add documentation for new oa_tc6 defconfig into esp32c6-devkitc and esp32c6-devkitm boards docs.

Signed-off-by: michal matias <mich4l.matias@gmail.com>
2025-09-18 08:17:35 -03:00
Philippe Leduc
1daa2d54e3 Documentation/guides: Update CMake C++ guide
Use the exported CMake toolchain file instead of a  custom and broken one.
Slightly modify the C++ example code to introduce modern tools like auto keyword and shared_ptr

Signed-off-by: Philippe Leduc <philippe.leduc@mailfence.com>
2025-09-15 15:30:15 -03:00
Matteo Golin
903b6b168e bcm2711/i2c: Implement I2C support for all user-accessible interfaces
Initial I2C implementation such that I2C sending and receiving now
works well enough to use the BMP280 driver for a BMP280 device connected
to any of I2C0-I2C6 on the default pins. I2CTOOL also works for these
interfaces.

Functionality for "no stop" and "no start" options is not present.
Implementing that is not clear from the peripheral datasheet and will be
a challenge.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-14 10:40:36 +08:00
Matteo Golin
ba5dd64b64 docs/rx65n-rsk2mb: Migrate README.txt to rst format
Migrated the legacy README.txt format to rst format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-12 07:20:04 +02:00
Matteo Golin
4312e1a4f4 docs/rx65n-grrose: Migrate legacy README.txt to rst
Migrated the legacy README.txt file to rst format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-12 07:20:04 +02:00
Matteo Golin
387b0e4115 docs/skp16c26: Migrated legacy README.txt to rst format
Migrated the legacy README.txt file to rst.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-12 07:20:04 +02:00
Matteo Golin
1638c1bc98 docs/us7032evb1: Migrate README.txt to RST format.
Migrated the legacy README.txt to RST format. I removed some information
which no longer applies since 2008 when this documentation was written.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-12 07:20:04 +02:00
Eren Terzioglu
eaaeed2236 Docs/risc-v/esp32c6: Add lpcore docs
Add lpcore board docs for esp32c6

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2025-09-11 10:57:18 +02:00
Matteo Golin
71c05b3a2b docs/calib_udelay: Added documentation for the calib_udelay example.
This commit adds documentation to the almost empty `calib_udelay` page
as part of #11081. It provides reasoning for the example, an explanation
of what it does and why `CONFIG_BOARD_LOOPSPERMSEC` is necessary, and
also shows some example console output of the program.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-10 17:52:38 -04:00
Matteo Golin
aba41c9d23 docs/applications/bmp280: Documentation for the BMP280 application.
This commit provides documentation for using the `bmp280` application to
read pressure and temperature from the device. It provides a brief
explanation of how the program works and the console output it
generates. Part of #11081.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-10 12:48:00 -03:00
wangchengdong
fc09640b28 sched/event: add nxevent_getmask api
In certain cases, when the event-wait thread is awakened,
  it needs to know the specific mask bit that triggered it,
  so that it can branch to different paths accordingly.
  This patch introduces the nxevent_getmask function to address this requirement.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-09 11:07:49 -03:00
wangchengdong
cac1cc896a sched/event: add nxevent_clear api
Add nxevent_clear to clear event mask to an event object.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-08 19:48:35 +08:00
Matteo Golin
897c79084f docs/codeowners: Provide some relevant information about CODEOWNERS.
Some brief information in the contributing workflow to tell new
contributors about the CODEOWNERS file and what it achieves.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-06 10:12:16 +08:00
Filipe Cavalcanti
bd1f46878c documentation: add documentation for NTP Client
Add missing documentation for the NTP client implementation.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-05 23:47:44 +02:00
Filipe Cavalcanti
484a8d1534 documentation: add documentation for NTP Daemon
Add documentation explaining usage of NTP Daemon system tool.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-05 23:47:44 +02:00
wangchengdong
7d0fb9d34f sched/semaphore: add support to customize semaphore max allowed value
Curernt implementation default semaphore max allowed value to SEM_VALUE_MAX.
  In some cases, user may want to change this, so provide a function to do this: sem_setmaxvalue

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-04 09:48:34 +08:00
wangchengdong
5676bf8227 sched/event: add a new event function nxevent_tickwait_wait
There are cases that users do not want the event wait object to be allocated automatically
  in the stack as a temporary varialbe in nxevent_tickwait, since multiple threads will
  access the varialbe, they want to allocate the object as a global variable for safety
  control or easy debug. To solve this problem, this patch add a new function nxevent_tickwait_wait
  implementation to give user the chance to  pass the global wait object to it.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-04 09:47:50 +08:00
Filipe Cavalcanti
b5f6620a4c documentation: update MCUBoot documentation on ESP32-C3|C6
Adds documentation for flash allocation when MCUBoot is enabled on ESP32C3 and C6.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-03 09:01:44 -03:00
Michal Lenc
17482c6924 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-03 00:53:42 +08:00
Alan Carvalho de Assis
a503fc6adb doc: Add info about usbdisk to arcx-socket-grid
Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-09-01 22:58:01 +08:00
Côme VINCENT
c36d067603 tools/nix: move nix flakes to tools/
This commit moves the flake.lock and flake.nix files from root and
Documentation/ to the tools/ directory, according to @anchao's
suggestion in PR #16763.
Updates documentation to reflect this change.

Signed-off-by: Côme VINCENT <44554692+comejv@users.noreply.github.com>
2025-08-28 10:04:01 +08:00
wangchengdong
28206007e0 board/tricore: rename tc397 chip board name
"tc397" is a chip name which is not appropriate to act as a board name.
 the board supported here is actually "a2g-tc397-5v-tft".
 The correct definition is : tricore is arch name, tc3xx is arch family
 name, tc397 is chip name and the borad name is a2g-tc397-5v-tft
2025-08-26 16:09:34 +08:00
Thiago Finelon
e87c43b798 arch/xtensa/esp32s3: Add EXT1 wakeup support in power management
Introduce EXT1 wakeup functionality to the ESP32-S3 power management
subsystem. With this feature, the ESP32-S3 can wake up from PM_STANDBY
or PM_SLEEP when one or more RTC GPIOs trigger the EXT1 condition.

Changes include:
- Added EXT1 wakeup configuration and preparation logic in rtc code.
- Integrated EXT1 handling in pmstandby() and pmsleep().
- New board-level Kconfig options under ESP32-S3 DevKit menu:
  - CONFIG_PM_EXT1_WAKEUP: enable EXT1 wakeup support
  - CONFIG_PM_EXT1_WAKEUP_RTC_GPIO<n>: select RTC GPIOs as wake sources
  - CONFIG_PM_EXT1_WAKEUP_TRIGGER_MODE: choose wakeup on HIGH or LOW level
- Fixing Kconfig style
- Fixing comments standard
- Adding PM documentation for esp32s3-devkit

Impact:
- No build impact unless CONFIG_PM_EXT1_WAKEUP is enabled.
- When enabled, ESP32-S3 can wake from low-power states via RTC GPIOs.
- No new public API introduced; controlled via board Kconfig.

Tested on ESP32-S3 DevKit:
- Configured GPIO4 and GPIO5 as EXT1 wake sources.
- Verified wakeup from light sleep and deep sleep on external signals.
- Wakeup reason correctly reported as EXT1.

Signed-off-by: Thiago Finelon <thiago.sfinelon@gmail.com>
2025-08-24 11:32:10 -03:00
p-szafonimateusz
92186c1942 Documentation/posix.rst: fix typos
fix typos in Documentation/standards/posix.rst

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2025-08-22 20:50:13 +08:00
p-szafonimateusz
9fd1478a99 pthread: add pthread_{get|set}concurrency support
Add support for pthread_{get|set}concurrency support.

NuttX uses 1:1 threading model (every pthread is a kernel-managed thread),
so this function has no real effect on the scheduling behavior.

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2025-08-22 20:50:13 +08:00
p-szafonimateusz
b1e03bca0c libc: add support for sigsetjmp() and siglongjmp()
Add support for sigsetjmp() and siglongjmp().

This implementation is build on top of setjmp() and longjmp().
sigsetjmp() in that case must be implemented as a macro otherwise
we lose setjmp context.
siglongjmp() is kept as inline function to satisfy the PSE52 VSX
tests requirement.

An alternative implementation requires writing these function in
assembly code for each architecture.

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2025-08-22 20:50:13 +08:00
p-szafonimateusz
396f5b40ce unistd: add support for confstr()
add support for POSIX defined confstr()

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2025-08-22 20:50:13 +08:00
p-szafonimateusz
8108aad1a4 pthread: add pthread_attr_{get|set}guardsize support
This commit adds simple implementation of guardsize for pthreads.
At this moment this option simply increases the size of allocated pthread stack.

At default pthread guard size is set to 0.

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2025-08-22 20:50:13 +08:00
Niccolò Maggioni
3e70a7edc7 boards/arm/rp2040: Add ADS7046 example config
Add a new defconfig that includes support for an ADS7046 sensor
and extend the existing documentation to include its description.

Signed-off-by: Niccolò Maggioni <nicco.maggioni+nuttx@gmail.com>
2025-08-22 00:29:55 +08:00
Jorge Guzman
46d415698d Documentation/xedge_demo: Fix RST formatting issues
Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2025-08-21 17:43:09 +08:00
Thiago Finelon
2713c5e9df boards/esp32s3: Add SPI slave device support
- Added esp32s3_board_spislavedev.c with board-level SPI slave logic
- Added esp32s3_board_spislavedev.h public header in common/include
- Updated Make.defs to include the new source when CONFIG_SPI_SLAVE_DRIVER=y
- Adding spislv board config to esp32s3-devkit
- Adding documentation of esp32s3 devkit spi slv
- Fixing path include in esp32s3_board_spislavedev.c
- Fixing relative path in the header of esp32s3_board_spislavedev.h
- Removing neasted check in Make.defs, consistency reasons

This provides initial support for SPI slave device initialization
on ESP32-S3 boards, making the feature available under conditional
build configuration.

Signed-off-by: Thiago Finelon <thiago.sfinelon@gmail.com>
2025-08-20 14:50:30 -03:00
Niccolò Maggioni
06cc058b61 Documentation/platforms/rp2350: Update the docs for pico-sdk 2.2.0
Bump the version referenced in the commmands and add some tips.

Signed-off-by: Niccolò Maggioni <nicco.maggioni+nuttx@gmail.com>
2025-08-20 12:24:35 -03:00
Niccolò Maggioni
a6b8210580 Documentation/platforms/rp2040: Update the docs for pico-sdk 2.2.0
Bump the version referenced in the commmands and add some tips.

Signed-off-by: Niccolò Maggioni <nicco.maggioni+nuttx@gmail.com>
2025-08-20 12:24:35 -03:00
Niccolò Maggioni
3ba6047e29 drivers/sensors/tmp112: Add support for TMP112 temperature sensor
Add support for the Texas Instruments TMP112 I2C/SMBus digital
temperature sensor. Also add a new defconfig that includes
support for a TMP112 sensor and extend the existing documentation
to include its description.

Signed-off-by: Niccolò Maggioni <nicco.maggioni+nuttx@gmail.com>
2025-08-19 19:45:32 -03:00
Jorge Guzman
44b65cbafd boards/qemu-armv8a: Add xedge example program and documentation
- Add documentation for xedge example program
- Add defconfig to run xedge with qemu-armv8a board

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2025-08-16 10:59:57 -03:00
Côme VINCENT
bebcfa0f46 docs(h743zi/capture): add capture driver docs
Add documentation for changes made in #16809.
Add an example defconfig for a nsh build with the capture example.
Replace the STM32H7_CAP option with just CAPTURE as the guard for the
lower half driver.

Signed-off-by: Côme VINCENT <44554692+comejv@users.noreply.github.com>
2025-08-14 20:46:37 +08:00
Andrew Scheller
3c313a316b Documentation/platforms: RP2350 doesn't contain an RTC.
Signed-off-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
2025-08-13 01:47:49 +08:00
Andrew Scheller
c46282bb6c Documentation/platforms: RP2040, RP2350 and Pico products are made by Raspberry Pi, not Raspberry Pi Foundation.
Signed-off-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
2025-08-13 01:47:49 +08:00
Côme VINCENT
bd90132cd6 tools/nix: split flake into root and Documentation
Root flake now only contains dependencies needed for building the NuttX
firmware. The Documentation flake contains the dependencies needed for
running `make html`.

Updated the documentation accordingly.

Signed-off-by: Côme VINCENT <44554692+comejv@users.noreply.github.com>
2025-08-12 20:17:23 +08:00
Serg Podtynnyi
2e7f75f6e0 arch/risc-v/rp23xx-riscv: Add rp23xx RISC-V cores support (Hazard3)
Chip name   : rp23xx-rv
Board name  : raspberrypi-pico-2-rv
Arch        : risc-v

Changes from ARM rp23xx impl

- Linker script update
- ASM head start
- Update chip start
- New Hazard3 registers
- Remove rp23xx chip hw spinlocks/testset
- New irq handling (external IRQ interrupt Hazard3)
- New timerisr based on RISC-V std MTIME and alarm arch
- No SMP yet
- Tickless option
- Double size for idle, irq and main stacks
- Board reset via watchdog trigger

Signed-off-by: Serg Podtynnyi <serg@podtynnyi.com>
2025-08-11 08:56:27 +08:00