Commit graph

3145 commits

Author SHA1 Message Date
Kerogit
d9269112ee arch/avr/avrdx: do not copy const variables into RAM
AVR uses Hardward architecture with separate address space for program
memory (flash) and data memory (RAM). Normal program flow can only
access data memory which means that all variables - including const
variables - have to be copied into RAM to be accessible. (This happens
automatically during startup.)

It is possible to work around this limitation in software but that
can have severe impact on performance and/or API complexity. It is hardly
feasible to change NuttX interfaces in a way that would allow to make use
of this workaround.

On newer AVR families, there is an alternative option enabled by this patch.
These chips map part of their program memory (a 32kB window) into data
memory address space. This patch leverages this feature and adds support
for placing const variables into the mapped window. No copy to RAM is done
for them.

Const variables are therefore loaded directly from flash (not consuming
RAM) while still being available to be used by any NuttX interface.

Linker script of breadxavr board is changed to make use of these changes.

Tested by verifying string addresses - parameters in printf call
in a custom application (and also by running the application and verifying
its output.)

Documentation tested by build.

Signed-off-by: Kerogit <kr.git@kerogit.eu>
2025-07-10 12:21:40 -03:00
Kerogit
14e446628e Documentation/platforms/avr: document options of keeping const vars in flash
This patch adds a document that describes why const variables need to be
copied into the RAM in AVR architecture for normal program flow in NuttX.
It then describes options of accessing them directly from the flash without
need to do any copying.

Patch was tested by building the documentation.

Signed-off-by: Kerogit <kr.git@kerogit.eu>
2025-07-10 12:21:40 -03:00
Matteo Golin
6ae3cc9082 drivers/sensors/l86xxx: Make some dependency patches and update documentation
This commit removes the termios dependency of the command to set fix
rate. It makes the MINMEA dependency present in the Kconfig options for
the driver, and it also adds a retry limit to the boot message
verification of 3 times. The documentation has been updated to reflect
the correct signature for the registration function and fix some
formatting.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-07-09 09:45:21 +02:00
Eren Terzioglu
27a2f88e86 Documentation/risc-v: Add LP_I2C docs for esp32[-c6]
Add LP_I2C docs for esp32c6

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2025-07-09 12:18:06 +08:00
Eren Terzioglu
cf1b087504 Docs/espressif: Add crypto defconfig docs for esp32[-s2|-s3]
Docs/espressif: Add crypto defconfig docs for Xtensa based Espressif devices

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2025-07-09 12:13:06 +08:00
Eren Terzioglu
d2eb3db5b6 Docs/espressif: Add crypto defconfig docs for esp32[-c3|-c6|-h2]
Docs/espressif: Add crypto defconfig docs for risc-v based Espressif chips

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2025-07-09 12:13:06 +08:00
Eren Terzioglu
d8f241b29d Documentation/risc-v/esp32[c6]: Add LP_UART support docs
Add LPUART support doc for esp32c6

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2025-07-08 19:35:54 +08:00
p-szafonimateusz
880c8e5d26 drivers/net: add IGB network card support
Add support for Intel IGB type of network cards.

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2025-07-08 10:02:15 +02:00
Elias Hawa
0ce9e82d73 drivers/sensors: add Quectel L86-XXX GNSS uORB sensor driver 2025-07-07 21:18:15 -03:00
Jorge Guzman
ec84502e80 board/weact-stm32h743 Add sdcard support
This commit adds SD card support to the WeAct STM32H743 board configuration.
The implementation enables the board to interface with SD cards through the
SDMMC peripheral, allowing file system operations and data storage capabilities.

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2025-07-07 23:43:32 +08:00
Joshua Lange
d5eda10cad drivers/leds: Add support for KTD2052
This commit adds support for the KTD2052 LED driver chip.

Signed-off-by: Tyler Bennett <tbennett@2g-eng.com>
2025-07-07 09:49:51 -03:00
Alan Carvalho de Assis
27e2f51d2e Doc/components: Updare refresh.sh to show usage examples
This commit makes it clear how to use the refresh.sh script to
update board configs showing differents usages cenarios.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-07-07 09:53:55 +08:00
Pressl, Stepan
55bef681e1 arch/arm/src/stm32/stm32_i2cslave_v2.c: add STM32 I2C Slave support for the v2 ip core
This commit adds the lowerhalf driver support for the I2C Slave.
While not currently ideal, it is compatible with the upperhalf i2c slave driver.
A workqueue can be used to delegate the isr work to the upperhalf driver.
But keep in mind wq introduces a lot of delay and in certain scenarios,
it is better to write your own better upperhalf driver.

Signed-off-by: Stepan Pressl <pressl.stepan@gmail.com>
2025-07-02 01:59:46 +08:00
Filipe Cavalcanti
fbe7d3a1f0 documentation: update Xtensa ESP32|S2|S3 toolchain version
Updates the instructions to install the ESP toolchain 14.2.0.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-06-27 20:41:43 +08:00
Alin Jerpelea
095a4ecd19 Documentation: add NuttX-12.10.0 release notes
Add release notes for 12.10.0 release

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2025-06-27 20:20:40 +08:00
Filipe Cavalcanti
2ddfab618b documentation: update docs on SDMMC for ESP32|S2|S3 2025-06-24 08:08:55 +08:00
halyssonJr
4193fe6e2b add support to a new board : esp32s3-8048s043. 2025-06-24 01:10:49 +08:00
Xiang Xiao
bc4041db60 libc: Move stdio/README to Documentation/components/libs/libc/stream.rst
follow up this change:
commit 84dc88730c
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date:   Mon Jun 9 14:39:03 2025 +0800

    libc: Move stream printf/scanf from libc/stdio to libc/stream

    to keep all related code in one place

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2025-06-22 17:07:41 -03:00
Tiago Medicci Serrano
b3712797fa Documentation/rv-virt: Add entries for nsbi[|64] defconfigs
This commit adds entries for the `rv-virt:nsbi[|64]` defconfigs in
the `rv-virt` board documentation page.
2025-06-22 14:57:11 +08:00
wangjianyu3
db1a14adac docs/esp32s3-devkit: update doc for fastboot
Update doc for fastboot USB and TCP network transport.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-21 04:21:29 +08:00
wangjianyu3
fee314f3d1 docs/szpi-esp32s3: update doc for fastboot
Update doc for fastboot USB and TCP network transport.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-21 04:21:29 +08:00
wangjianyu3
acc067e4f1 docs/qemu-armv8a: add doc for fastboot tcp
Add document for fastboot TCP network device.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-19 10:10:01 +08:00
Matteo Golin
3b6648c742 docs/syslogd: Update syslogd docs to reflect implementation
The documentation for `syslogd` is now updated to reflect its use of
`posix_spawn` to run the daemon in the background.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-06-18 01:34:22 +08:00
Matteo Golin
a5f43aa8e8 docs/syslog: Add documentation for RFC 5424 support
Introduces two documentation additions. First, the RFC 5424 support is
documented on the main syslog documentation page, with information about
how to use it effectively. Second is the application documentation for
the `syslogd` application addition, which enables easy use of the new
RFC 5424 support.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-06-13 20:26:57 +08:00
p-szafonimateusz
36aefeadfe Documentation: review supported POSIX interfaces in NuttX
Add a page in the documentation listing supported and unsupported POSIX options.
This is the first step to support POSIX Application Environment Profiles.

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2025-06-12 10:13:52 -03:00
dependabot[bot]
85f8304227 build(deps): bump tornado from 6.4.2 to 6.5.1 in /Documentation
Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.4.2 to 6.5.1.
- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)
- [Commits](https://github.com/tornadoweb/tornado/compare/v6.4.2...v6.5.1)

Updates by cederom:
* keep python 3.8 for tornado as used by gh ci, dependabot updated to 3.9.

---
updated-dependencies:
- dependency-name: tornado
  dependency-version: 6.5.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-12 19:09:47 +08:00
Niccolò Maggioni
2d2defb8a0 docs: Fix pipenv lockfile for older Python versions
CI uses Python 3.8

Signed-off-by: Niccolò Maggioni <nicco.maggioni+nuttx@gmail.com>
2025-06-11 23:11:08 +08:00
Niccolò Maggioni
2399702a28 docs: Update the ELF guides
Rewrite parts of the two ELF guides to use scripts included in the
export archive and modernize some deprecated tools and Bash idioms.

Also add the new sphinx_collapse extension to the docs build config.

Signed-off-by: Niccolò Maggioni <nicco.maggioni+nuttx@gmail.com>
2025-06-11 23:11:08 +08:00
Niccolò Maggioni
d651726b57 docs: Add missing CFLAGS to the ELF guides
As reported in apache/nuttx-apps#1828

Signed-off-by: Niccolò Maggioni <nicco.maggioni+nuttx@gmail.com>
2025-06-11 23:11:08 +08:00
raiden00pl
13fba11e9b boards/nucleo-c092rc: add FDCAN examples
add FDCAN examples for nucleo-c092rc based on
SocketCAN interface and CAN character driver interface.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-06-09 15:26:12 -03:00
simbit18
4b2d72cf5f Documentation\components\tools\index.rst: updated help checkpatch.sh tool
Add:

-u encoding check with cvt2utf (install with: pip install cvt2utf)

-m Change-Id check in commit message (coupled with -g)

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-06-03 20:16:05 +08:00
Matteo Golin
9897ef3cdb docs/arduino-mega2560: Migrate README.txt to RST
Migrated legacy README.txt documentation to RST format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-06-03 17:34:50 +08:00
Matteo Golin
170a86c4a5 docs/avr: Re-structure documentation
Re-structure the AVR documentation to have pages for the chip families,
and their own board listings.
2025-06-03 17:34:50 +08:00
Matteo Golin
8f130b78a9 docs/contributing: Add a commit message template
Introduces a commit message template with instructions in the
contributing documentation about how to set it up. This way users are
reminded of what makes a "good" NuttX commit as they write their commit,
and don't need to re-consult the documentation every time.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-06-03 17:33:24 +08:00
Matteo Golin
01f44f963c docs/conf.py: Fix missing nuttx_versions
Add `nuttx_versions` back into the `html_context` variable after it was
re-defined in #16440 to include more options. This fixes the failing
Pphinx autobuild.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-06-03 17:32:46 +08:00
Morten Fyhn Amundsen
143242776f Documentation: Fix a typo in scheduler docs
Removed a repeated word. Self-explanatory.

Signed-off-by: Morten Fyhn Amundsen <morten.f.amundsen@scoutdi.com>
2025-06-02 23:09:02 +08:00
Matteo Golin
ef04b4ccb6 boards/avr/atmega: Added Elegoo Mega2560r3 board support
Preliminary support for the Elegoo Mega2560r3 board by Elegoo with NSH
configuration.
2025-05-31 00:29:18 +08:00
T. L.
29e6d4f96e Documentation/drivers/analog/adc/ads1115: Add missing documentation for ioctl
This commit adds the missing documentation for the ioctl command ANIOC_ADS1115_READ_CHANNEL.

Signed-off-by: Tony Lin <99093620+justapotato213@users.noreply.github.com>
2025-05-29 22:03:43 -04:00
ouyangxiangzhen
947856efe0 sched/wdog: Add max delay tick limitation.
This commit changed the type of the delay ticks to the unsigned, which can reduce the useless branch conditions
Besides, this commit added max delay tick limitation to fix incorrect timing behavior if we delay SCLOCK_MAX in the SMP build.

Signed-off-by: ouyangxiangzhen <ouyangxiangzhen@xiaomi.com>
2025-05-27 12:10:39 +02:00
Matteo Golin
17476346d1 docs/arm64/imx8/boards/imx8qm-mek: Migrate README.txt to RST
Migrate what little was in the legacy README.txt documentation to RST
format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-27 16:30:21 +08:00
Matteo Golin
ba2d245975 docs/arm64/fvp-v8r/boards/fvp-armv8r: Migrate README.txt to RST
Migrate legacy README.txt documentation to RST format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-27 16:30:21 +08:00
Matteo Golin
9f3f5afd0c docs/arm64/qemu/boards/qemu-armv8a: Migrate README.txt to RST
Migrate legacy README.txt documentation to RST format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-27 16:30:21 +08:00
Matteo Golin
3dd1711f6e docs/arm64/imx9/boards/imx93-evk: Migrate README.txt to RST
Migrate legacy README.txt to RST format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-27 16:30:21 +08:00
Matteo Golin
d1439d2dee docs/gps: Add documentation for gps example program.
Add documentation for `gps` example program as part of #11081.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-26 10:51:51 -03:00
Matteo Golin
1107d4183c docs/getprime: Add documentation for getprime example.
Added documentation for `getprime` example as part of #11081.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-26 10:51:51 -03:00
Vlad Pruteanu
82effd4b2f xtensa/esp32: Add support for hardware accelerated SHA
This enables the use of the cryptographic accelerator within
the ESP32. The support algorithms are: SHA1, SHA256, SHA384
and SHA512.

Signed-off-by: Vlad Pruteanu <pruteanuvlad1611@yahoo.com>
2025-05-26 15:23:51 +08:00
Abhishek Choithani
de0c697db8 adding "edit on github" option in docs 2025-05-25 09:52:44 -03:00
Matteo Golin
6bcb8965cf docs/avr/at90usb: Migrate README.txt
Migrated teensy 2.0 README.txt to RST format. Moved common tool-chain
information to the chip page and provided back-link.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-25 18:47:41 +08:00
Matteo Golin
d0665bcda8 docs/avr/at90usb/micropendous3: Migrate README.txt
Migrated the README.txt files to RST format.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-25 18:47:41 +08:00
Matteo Golin
3feb9985a5 bcm2711/spi: Create interrupt-based SPI driver.
This implements an interrupt-based SPI driver for the BCM2711 SPI
interfaces (excluding auxiliary SPI interfaces). Only tested on SPI0
since proprietary firmware does not initialize any other SPI interfaces,
and doing so will require reverse engineering.
2025-05-24 12:47:43 -03:00