Commit graph

59168 commits

Author SHA1 Message Date
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
chao an
3c4b099189 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-11 11:21:30 -03:00
nuttxs
a5b810bdb1 Kconfig: Add configurable Stack Canaries protection levels.
Introduce a configurable stack-protection level for the existing
CONFIG_STACK_CANARIES, instead of hard-coding -fstack-protector-all.
Add Kconfig choice STACK_CANARIES_LEVEL four selectable levels:

 -fstack-protector
 -fstack-protector-strong
 -fstack-protector-all (default)
 -fstack-protector-explicit

Signed-off-by: nuttxs <zhaoqing.zhang@sony.com>
2025-09-11 19:56:42 +08:00
Eren Terzioglu
092d7eac73 boards/risc-v/esp32c6: Add RTC GPIO board support for esp32c6
Add RTC GPIO board support for esp32c6

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2025-09-11 10:57:18 +02:00
Eren Terzioglu
e148048ac2 arch/risc-v/esp32c6: Add RTC GPIO support for esp32c6
Add RTC GPIO support for esp32c6

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2025-09-11 10:57:18 +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
Eren Terzioglu
4c03284a7d boards/risc-v/esp32c6: Add lpcore support
Add lpcore board support for esp32c6

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2025-09-11 10:57:18 +02:00
Eren Terzioglu
70dc59a5e6 arch/risc-v/esp32c6: Add lpcore support
Add lpcore support 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
nuttxs
d09b6a9f51 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.

---
undefined reference to _esp_system_init_fn_array_start
undefined reference to _esp_system_init_fn_array_end
undefined reference to __init_array_start
undefined reference to __init_array_end
---

Signed-off-by: nuttxs <zhaoqing.zhang@sony.com>
2025-09-10 10:56:16 -03:00
wangjianyu3
23e5e1b86e mtd/nvs: Save events if not waited
This patch will report events in the following scenarios:

1. Events that have changed but not been waited for before being added to
   the interest list.
2. Events that occur after `epoll_wait()` returns and before it is called
   again.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-09-10 10:54:39 -03:00
wangchengdong
abf7a74e6a 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-10 12:18:53 +08:00
Lars Kruse
4db757c9a6 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-10 09:46:04 +08:00
Jukka Laitinen
c9776bf8a6 libc/fclose: Validate the user provided stream pointer
Check that the provided stream pointer is really opened for the group before
closing & freeing it.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-09-09 23:51:35 +08:00
wangchengdong
e272181007 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-09 23:49:17 +08: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
c0d7269840 sched/event: fix event bug after csection was removed
Change:
    Replace list_delete_init() with list_delete() in nxevent_post.
  Reason:
    PR 16933 removed list_delete() in nxevent_wait() and  allow other task
    to preempt event-wait thread after list_add_tail() option,  the even-post thread
    can preempt it at this time and do  list_delete_init().

    The problem is that list_delete_init() will make  list_in_list() return true, so
    DEBUGASSERT(!list_in_list(&(wait->node))); will fail in nxevent_wait() after the event-wait thread
    returns.

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-09 15:45:48 +08:00
wangchengdong
e7ecf19a68 boards/a2g-tc397-5v-tft: Enable events by default
Enable event module by default in the a2g-tc397-5v-tft defconfig

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-09 15:45:42 +08:00
dependabot[bot]
149a4ed99e build(deps): bump actions/setup-python from 5 to 6
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 21:48:08 +08:00
dependabot[bot]
e8a74c927d build(deps): bump actions/github-script from 7 to 8
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 21:48:03 +08:00
raiden00pl
40690a9951 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-08 21:47:48 +08:00
simbit18
77f427ae5e boards/arm/imxrt: CMake added teensy-4.x board
Added CMake build for teensy-4.x board

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-09-08 21:47:08 +08:00
raiden00pl
67eb2bfd29 arch/sim/can: add loopback support for CAN character dev
add loopback support for sim CAN character dev

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-09-08 21:41:18 +08: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
wangchengdong
df9b525174 arch/tricore: remove duplicated local variable in tricore_doirq()
remove duplicated tcb loval variable in tricore_doirq()

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-08 19:36:16 +08:00
Matteo Golin
b5ab71d775 docs/pr-template: Update the testing section of the PR template
This commit updates the pull request template that is auto-populated
when GitHub PRs are made. The testing section now includes more detail
on what is considered an acceptable level of testing information and a
warning that PRs with insufficient testing information will not be
accepted.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-08 08:09:57 -03:00
wangchengdong
627729635b arch/tricore: remove redundant and misleading pointer usage in tricore_doirq()
'struct tcb_s **running_task = &g_running_tasks[this_cpu()];'
  was updated to
 'struct tcb_s *running_task = g_running_tasks[this_cpu()];'

  'if (*running_task != NULL)
    {
     ( *running_task)->xcp.regs = regs;
    }'

    was updated to

  'if (running_task != NULL)
    {
      running_task->xcp.regs = regs;
    }'

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-07 13:17:57 -04:00
Filipe Cavalcanti
ed751889de 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-06 14:46:32 -03:00
Filipe Cavalcanti
65d5f9bc8f 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-06 14:46:32 -03:00
Filipe Cavalcanti
23faaa29f7 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-06 14:46:32 -03:00
Filipe Cavalcanti
d5f674d967 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-06 14:46:32 -03:00
Filipe Cavalcanti
1d51cfbda7 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-06 14:46:32 -03: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
Matteo Golin
f8e5d07477 docs/codeowners: Add preliminary code owner file
This code owner file is auto-generated by the Python script in tools/
based off the git logs. It will allow new contributors to get better
auto-suggestions for which reviewers to request on their PRs. It also
creates an easy way to track down authors of certain NuttX subsystems
when refactors/changes are to be made.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-05 19:53:06 -04: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
hujun5
4cea148088 sched: remove csection in event
We hope to replace the large lock with a small lock to improve concurrency performance.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2025-09-05 14:20:04 +08:00
wangchengdong
3629a3b5a1 tools/configure.sh: align tools/configure.sh with CmakeLists.txt
Add include patch to configure.sh when processing deconfig file to keep alignment with
 CmakeLists.txt

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-05 09:50:11 +08:00
wangjianyu3
7e5c970cf2 mtd/nvs: Trigger POLLPRI on config change
Report the POLLPRI event if any configuration is updated.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2025-09-05 09:33:37 +08:00
wangchengdong
c36c9f87d8 arch/tricore: add one_shot .tick_start implementation
.tick_start is better in terms of performance than .start for one shot,
  so provide this .tick_start implementation

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
2025-09-04 08:35:14 -03: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
Filipe Cavalcanti
42254ffcbe arch/risc-v: improve E-Fuse support for ESP32-C3|C6|H2
This commit fixes E-Fuse driver to get proper block and bit offset.
Also adds support for virtual and flash E-Fuses.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-03 09:01:44 -03:00
Mateusz Szafoni
ba3a79505e Revert "codespellrc: add ans to ignore words"
This reverts commit 5592dc75dc.

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-09-03 09:56:01 +02:00
raiden00pl
4b1b3c58a0 tools/checkpatch.sh: fix check for HEAD commit
fix checkpath.sh usage for HEAD commit:

  ./tools/checkpatch.sh -c -u -m -g HEAD

regression after 93911d52a8

Signed-off-by: raiden00pl <raiden00@railab.me>
2025-09-03 09:34:36 +08:00