Commit graph

858 commits

Author SHA1 Message Date
Huang Qi
8b3862d19b style: Fix case statement formatting in power management callbacks.
Remove unnecessary parentheses around case labels in switch statements
for power management callback functions. This fixes checkpatch style
violations for case statement formatting.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-01-10 12:59:14 -03:00
raiden00pl
d14a5c8b30 boards/leds: remove dependency on leds example for some boards
Userled register path shouldn't depend on LED example.
This dependency is broken, kernel code should not depend on apps code.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-12-21 14:13:39 -05:00
raiden00pl
cb7fb72fae boards/nucleo-f446re: disable OSTEST in some configs
Disable OSTEST in configurations whose purpose is to test peripherals.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-12-19 08:39:41 -03:00
raiden00pl
96af0ceedf boards/nucleo-g431rb/qenco: reduce FLASH
disable ostest from qenco configuration to reduce FLASH.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-12-18 17:25:23 +01:00
Antoine Juckler
d5633f75a8 mtd/at25ee: Use eeprom/spi_xx25xx internally
In order to reduce code duplication, use the eeprom/spi_xx25xx
driver within mtd/at25ee.

The eeprom/xxx.h includes have been merged into eeprom/eeprom.h, to
provide a common include file like mtd/mtd.h.

Signed-off-by: Antoine Juckler <6445757+ajuckler@users.noreply.github.com>
2025-12-17 19:03:54 +01:00
wangchengdong
e2703c3f4a arm/stm32: Disable NSH help to fix build issue
Disable NSH help in nucleo-f302r8/ihm07m1_b16 to resolve a build
failure caused by insufficient memory.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-12-11 20:07:00 +08:00
yangsong8
3949a87d36 boards/defconfig: enable CONFIG_SCHED_CHILD_STATUS
ADBD_SHELL_SERVICE depends on SCHED_CHILD_STATUS

Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2025-12-10 23:42:07 +08:00
Alan Carvalho de Assis
658c5a938e boards/stm32f429i-disco: Add NX boot logo splash screen
This commit add a framebuffer example and initializes the board with
NuttX boot logo splash screen.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-11-27 15:17:30 -03:00
v-tangmeng
34a2f0cc40 boards/arm: refresh the defconfig
This commit refreshed the defconfig.

Signed-off-by: v-tangmeng <v-tangmeng@xiaomi.com>
2025-11-24 19:43:07 +08:00
chao an
87f134cfaa sched/sleep: replace all Signal-based sleep implement to Scheduled sleep
Nuttx currently has 2 types of sleep interfaces:

1. Signal-scheduled sleep: nxsig_sleep() / nxsig_usleep() / nxsig_nanosleep()
Weaknesses:
a. Signal-dependent: The signal-scheduled sleep method is bound to the signal framework, while some driver sleep operations do not depend on signals.
b. Timespec conversion: Signal-scheduled sleep involves timespec conversion, which has a significant impact on performance.

2. Busy sleep: up_mdelay() / up_udelay()
Weaknesses:
a. Does not actively trigger scheduling, occupy the CPU loading.

3. New interfaces: Scheduled sleep: nxsched_sleep() / nxsched_usleep() / nxsched_msleep() / nxsched_ticksleep()
Strengths:
a. Does not depend on the signal framework.
b. Tick-based, without additional computational overhead.

Currently, the Nuttx driver framework extensively uses nxsig_* interfaces. However, the driver does not need to rely on signals or timespec conversion.
Therefore, a new set of APIs is added to reduce dependencies on other modules.

(This PR also aims to make signals optional, further reducing the code size of Nuttx.)

Signed-off-by: chao an <anchao.archer@bytedance.com>
2025-10-17 14:05:02 +08:00
Alan Carvalho de Assis
82e4a715e6 boards/stm32/clicker2-stm32: Fix compilation after stm32_serial
This config doesn't have any STM32_USART enabled, but because it
have CDC_ACM if we disable CONFIG_SERIAL we are getting others
dependence error. So the solution here was enable the serial port
CONFIG_STM32_USART3.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-10-14 08:36:44 -04:00
Alan Carvalho de Assis
cf8b8355b8 boards/stm32/nucleo-f303re: Remove syslog for can example
This can board profile doesn't use serial, but the syslog still
using up_putc() that doesn't exist now that stm32_serial.c is not
compiled.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-10-14 08:36:44 -04:00
Alan Carvalho de Assis
676f4cb111 boards/arm/stm32: Fix board configs which use LWL_CONSOLE
After fixing stm32 to not compile stm32_serial.c when STM32_USART
is not enabled, we need fix the lwl_console driver to include the
up_putc().

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-10-14 08:36:44 -04:00
raiden00pl
f809985e5b boards: remove reference to non-existent readme
Most references to the readmes have been removed.

The removed references didn't make much sense and were inconsistent with other
sections of the code. Some sections linked to the readme, others didn't.
More importantly, most boards don't have any readme references.

Let's not treat developers as fools who need to be reminded at every step
to check the readme (which doesn't exit anymore anyway).

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-10-11 17:07:51 -04: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
Rodrigo Sim
a8ac255386 boards/arm/stm32f401rc-rs485: Add support to MAX31855 and MAX6675
This commit adds support for MAX31855 and MAX6675 thermocouple
sensors on the STM32F401RC-RS485 board via SPI1. It also updates
the board documentation accordingly.

Signed-off-by: Rodrigo Sim <rcsim10@gmail.com>
2025-07-27 10:04:03 -03:00
Rodrigo Sim
80e1f70832 boards/arm/stm32f4discovery: Add support to HX711 ADC
This commit adds support for the HX711 ADC in the STM32F4-Discovery
board and updates the board documentation accordingly.

Signed-off-by: Rodrigo Sim <rcsim10@gmail.com>
2025-07-27 17:43:19 +08:00
jingfei
db54331479 drivers/fs:Always use register_mtddriver() to register the MTD device (patch2)
This is a supplement to the patch:1936126210a56b6d1b033d6d940669413dd6e1b0

Due to the automatic wrapping of MTD devices during the
open() process, the legacy registration methods
ftl_initialize() and bchdev_register() are no longer
required for MTD device registration for user code.

So we have adjusted the registration method for MTD devices
in nuttx/boards, replacing the previous approach using
ftl_initialize()  with register_mtddriver().
2025-07-21 15:15:30 -03:00
Alan Carvalho de Assis
54b2381c42 drivers/input: Create Single Button Multi Actions
This commit creates a sbutton device that uses a single button to
create a keyboard driver that returns TAB or ENTER depending how
long the user keeps the button pressed.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-07-15 18:39:59 -03:00
Rodrigo Sim
95c9525c0d boards/arm/stm32f401rc-rs485: Add support to HX711 ADC
This commit adds support for the HX711 ADC in the STM32F401RC-RS485
board and updates the board documentation accordingly.

Signed-off-by: Rodrigo Sim <rcsim10@gmail.com>
2025-07-12 12:26:07 +08:00
wangjianyu3
5079105e17 boards: net tcp backlog is enabled by default
The configuration NET_TCPBACKLOG is enabled by default.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-06-26 09:32:54 -03:00
raiden00pl
b37e8ecf3c boards/nucleo-f446re: fix adc example
fix adc example for nucleo-f446re:

- the second ADC channel should be different from first channel
- enable ADC SCAN mode so we get convertion on CH0 and CH1
- disable software trigger from application, we use hardware triggering
from timer

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-06-14 10:44:37 -03:00
dongjiuzhu1
3bc3092e6a fs/fs: remove unnecessary FS_REFCOUNT config
Previously, this config was added to ensure that the size of the struct
file remained unchanged, thereby preventing the Flash memory of
resource-constrained MCUs from being unnecessarily increased.

However, we have now refactored the relationship between struct fd and struct file,
reducing their memory footprint in both Flash and RAM.
Consequently, this config can be removed.

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2025-06-12 18:12:42 +08:00
raiden00pl
0b3245f701 boards: unify Private Types banners
unify Private Types banners according to NuttX coding standard

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-05-28 10:17:15 +08:00
Lars Kruse
3dc53adb28 arch | boards | drivers: fix whitespace issues for switch case statements 2025-05-23 10:48:41 +08:00
Lars Kruse
3ce85ca54e style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
William Yang
6633f9d907 boards/arm/nucleo-f429zi: Add example trace
Add example trace for board nucleo-f429zi

Signed-off-by: yangwei-x <yangwei3@lixiang.com>
2025-05-15 11:18:45 +08:00
Jukka Laitinen
c325ab98c4 boards/nucleo-f302r8/qenco: Disable CONFIG_LIBC_FLOATINGPOINT to free up flash space
The board has got only 64KB of flash, and is on the limit. Removing printf floating point
support frees up ~3kB of flash.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-05-08 16:00:05 +08:00
Rodrigo Sim
fb29f568d1 boards/arm/stm32f401rc-rs485: Add support to ST7735 LCD
This commit adds support for the LCD based on ST7735 controller on
the STM32F401RC-RS485 board and updates the board documentation accordingly.

Signed-off-by: Rodrigo Sim <rcsim10@gmail.com>
2025-04-27 13:07:30 +08:00
dongjiuzhu1
c2abe4e994 boards/defconfig: remove unused config about dd
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2025-04-20 00:41:26 +08:00
chao an
52482219c8 libc/elf: rename modlib to libelf
Renaming "modlib" to "libelf" is more in line with the implementation content,
which makes it easier for individual developers to understand the capabilities of this module.

CONFIG_LIBC_MODLIB -> CONFIG_LIBC_ELF

Signed-off-by: chao an <anchao.archer@bytedance.com>
2025-04-11 09:43:22 +08:00
anjiahao
422c43949a binfmt:use crt0 inside of starthook
test:
1.use mps3-an547 build helloxx as module and run it
2.use qemu-armv7a:knsh test kernel build helloxx and run it

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2025-04-09 23:07:29 +08:00
Rodrigo Sim
b28bb29bf9 boards/arm/stm32f401rc-rs485: Add support to BMP180 Sensor
This commit adds support for the BMP180 sensor on the
STM32F401RC-RS485 board and updates the board documentation
accordingly. It also enables the BMP180 UORB driver in the
STM32 common logic.

Signed-off-by: Rodrigo Sim <rcsim10@gmail.com>
2025-04-07 10:45:05 +08:00
yangsong8
c4001b2433 Revert "boards/defconfig: remove fixed CDCACM BUFFER SIZE"
Use configuration CDCACM_DISABLE_TXBUF or CDCACM_DISABLE_RXBUF to choose
whether to use usb req buffer as the serial buffer. Since the default
value is n (not using req buf), the original configuration of buf is valid.

This reverts commit 21c8ed80bd.
2025-03-28 08:52:42 +08:00
Jukka Laitinen
b83493d8a0 Normalize defconfigs, remove CONFIG_PTHREAD_MUTEX_DEFAULT_PRIO_INHERIT=y
This is now default when CONFIG_PRIORITY_INHERITANCE=y

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-03-26 22:36:48 +08:00
raiden00pl
d9ee02bc2e boards/nucleo-f302r8: add rs485 support
add rs485 support for nucleo-f302r8 based on RS485 CAN Waveshare shield.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-03-24 20:25:29 +08:00
raiden00pl
6443b33a39 boards/nucleo-f302r8: add ADC support
Add ADC support for nucleo-f302r8.
CN8 pins 35, 36, 37 and 38 are used.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-03-24 20:24:57 +08:00
Yangwei
b03c367501 arm/nucleo-f429zi: Add board flash size config for STM32F429ZI
Add board flash size config to avoid build warning

Signed-off-by: Yang Wei yangwei3@lixiang.com
2025-03-15 13:37:46 +01:00
Rodrigo Sim
2e57ed24a7 boards/arm/stm32f401rc-rs485: Add support to GPIO
This commit adds support to GPIO Subsystem for STM32F401RC RS485 board.

Signed-off-by: Rodrigo Sim <rcsim10@gmail.com>
2025-03-11 18:39:15 -03:00
yangsong8
21c8ed80bd boards/defconfig: remove fixed CDCACM BUFFER SIZE
Use usb req buf to replaced cdcacm rxbuffer and txbuffer,
so this macro is no longer needed.

Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2025-03-05 12:52:00 -03:00
raiden00pl
38c348bf9a boards/b-g431b-esc1/cansock: enable SocketCAN utils
boards/b-g431b-esc1/cansock: enable SocketCAN utils, so user can easly use CAN tools

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-02-17 14:13:29 +08:00
raiden00pl
3a0870df1c boards/nucleo-f446re/cansock: enable SocketCAN utils
boards/nucleo-f446re/cansock: enable SocketCAN utils, so user can easly use CAN tools

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-02-17 14:13:29 +08:00
raiden00pl
425b2683cd boards/nucleo-f302r8/cansock: enable SocketCAN utils
boards/nucleo-f302r8/cansock: enable SocketCAN utils, so user can easly use CAN tools.

This board has only 64KB of FLASH which requires some additional optimization to fit CAN tools on it.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-02-17 14:13:29 +08:00
raiden00pl
27dd63d147 boards/nucleo-g431rb/cansock: enable SocketCAN utils
boards/nucleo-g431rb/cansock: enable SocketCAN utils, so user can easly use CAN tools

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-02-17 14:13:29 +08:00
raiden00pl
107b37561b boards/nucleo-f303re: fix CAN bit timings
boards/nucleo-f303re: fix CAN bit timings, calculated with http://www.bittiming.can-wiki.info/

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-02-14 10:36:23 +01:00
raiden00pl
a62078bb43 boards/b-g431b-esc1: fix CAN bit timings
boards/b-g431b-esc1: fix CAN bit timings, calculated with https://phryniszak.github.io/stm32g-fdcan/

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-02-14 10:36:23 +01:00
raiden00pl
292906472e boards/nucleo-f446re: fix CAN bit timings
boards/nucleo-f446re: fix CAN bit timings, calculated with http://www.bittiming.can-wiki.info/

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-02-14 10:36:23 +01:00
raiden00pl
fa062daeec boards/nucleo-f302r8: fix CAN bit timings
boards/nucleo-f302r8: fix CAN bit timings, calculated with http://www.bittiming.can-wiki.info/

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-02-14 10:36:23 +01:00
raiden00pl
cbba667112 boards/nucleo-g431rb: fix CAN bit timings and unify bitrate
boards/nucleo-g431rb: fix CAN bit timings, calculated with https://phryniszak.github.io/stm32g-fdcan/

also update bit rate to 250000 so it's the same as for other stm32 boards

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-02-14 10:36:23 +01:00
raiden00pl
5b9d535ce6 boards/b-g431b-esc1: configure CAN_TERM pin also for SocketCAN interface
boards/b-g431b-esc1: configure CAN_TERM pin also for SocketCAN interface

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-02-13 18:45:55 -03:00