Commit Graph
18185 Commits
Author SHA1 Message Date
CYFS c137973985 [docs] Add v5.3.0 changelog 2026-09-10 17:44:05 +08:00
CYFS3 5b8e188af2 style: format code with clang-format [skip ci] 2026-09-10 16:23:49 +08:00
CYFS 8f8eb45014 [bsp/renesas][drivers] Fix SCI SPI runtime configuration and transfer errors
修复 SCI SPI 分频参数和运行时配置生命周期,保持位宽单位一致,应用模式及片选配置,并在收发超时或错误后停止传输、清理状态。
2026-09-10 16:23:49 +08:00
CYFS fe966755e9 [libcpu] Fix RZ/N2L interrupt dispatch 2026-09-10 10:09:17 +08:00
CYFS 5899db2a52 [rust][build] Avoid toml dependency during clean 2026-09-09 13:31:44 +08:00
CYFS d7ea2bce99 [bsp/renesas][drivers] Read PWM settings from GPT registers 2026-09-09 10:33:04 +08:00
CYFS 6664825546 [tools][keil] Preserve include path order 2026-09-08 17:03:21 +08:00
yandld a9ce0ccbb2 [bsp][nxp] Add FRDM-MCXC162 BSP support 2026-09-08 16:15:20 +08:00
zhangyuyang 7fa651bd29 [components][sal] Fix SIOCGIFCONF buffer overflow 2026-09-07 14:53:09 +08:00
CYFS 280bcfeec3 [device][mmcsd] Fix Arm Compiler 5 build compatibility #11690 2026-09-07 11:18:41 +08:00
wdfk-prog 163d178e29 [tools][eclipse] Sync assembler include paths 2026-09-07 10:36:47 +08:00
hanzhijian 2c98902543 [mprotect][kconfig] Add safe defaults for MPU region count options
NUM_MEM_REGIONS / NUM_CONFIGURABLE_REGIONS / NUM_EXCLUSIVE_REGIONS had no
Kconfig defaults. Enabling RT_USING_HW_STACK_GUARD without explicitly
setting them generated empty macros in rtconfig.h (e.g.
'#define NUM_CONFIGURABLE_REGIONS'), which expanded into invalid C
expressions like '(2 + )' and 'for (i = 0U; i < ; i++)', breaking
compilation for cortex-m4/m7/m33 MPU code.

Add safe defaults: NUM_MEM_REGIONS=8, NUM_CONFIGURABLE_REGIONS=0,
NUM_EXCLUSIVE_REGIONS=0. Also document the MemManage_Handler strong-symbol
conflict with CubeMX-generated stm32f4xx_it.c and how to resolve it.

Reported-by: wdfk-prog
2026-09-07 10:31:49 +08:00
kaidegit 3d3648ce2c [bsp][hpmicro] wire CXX/CXXFLAGS from rtconfig into scons Environment
Without CXX = rtconfig.CXX the scons Environment falls back to the
default host 'g++', and CXXFLAGS stays an empty CLVar, so the C++
group flags appended by DefineGroup end up as a single unquoted
argument and the build fails as soon as RT_USING_CPLUSPLUS is on:

  g++: error:  -fno-exceptions -fno-rtti ... -Wl,--gc-sections:
  linker input file not found: No such file or directory

Found by the CI C++ ctor (.init_array) check.
2026-09-07 10:19:22 +08:00
TTLLDD 54e5164064 [components][lwp] Remove terminal/ from global CPPPATH
The terminal subsystem's own headers (terminal.h, tty_config.h, ...) are
resolved by the compiler's quoted-include directory lookup for sources
inside components/lwp/terminal; nothing else depends on the path.
Stop polluting the global CPPPATH with this internal directory,
following the convention discussed in #10980.
2026-09-03 09:20:30 +08:00
CYFS b1e8365a6a [utest][rtc] Add RTC time and alarm tests 2026-09-01 13:36:58 +08:00
wdfk-prog ef413759d4 fix[arm][cortex-m4]: clarify MPU permission expressions 2026-09-01 09:39:10 +08:00
CYFS 5a9d4d77e3 [utest][pwm] Fix matrix test cleanup and timeout 2026-09-01 09:33:32 +08:00
CYFS f62b0ad85d [utest][pwm] Add configurable PWM matrix test 2026-09-01 09:33:32 +08:00
CYFS 7a2af55ffb [bsp/renesas][drivers] Support configurable CAN FD operation 2026-09-01 09:16:54 +08:00
wyf-777 f4da5cf14c style: format code with clang-format [skip ci] 2026-09-01 09:05:36 +08:00
wyf-777 cfba23f4d1 [net][sal] Free DFS v2 vnode when socket creation fails
When sal_socket() rejects a request, DFS v2 descriptor cleanup destroys the dfs_file but leaves its separately allocated vnode behind.

Destroy the vnode before releasing the failed descriptor and add a regression test that verifies repeated failures do not consume heap.

Fixes #11710

Assisted-by: OpenAI Codex:GPT-5
2026-09-01 09:05:36 +08:00
bernard 21e6f363a4 [components][serial] Format termios staging declaration 2026-08-30 20:55:20 +08:00
bernard 272292f3bc [components][serial] Address review findings for ioctl hardening 2026-08-30 20:55:20 +08:00
bernard c5ead8254e [components][serial] Harden RT-Smart serial ioctl arguments
在 v1/v2 串口文件边界复制已知用户参数,补齐 v2 unread count 和 termios 缓冲区保护。

在 imx6ull UART 编程前校验波特率,并在硬件配置成功后提交串口状态。
2026-08-30 20:55:20 +08:00
bernard 9019e5b594 [style] Align clang-format for procfs and tmpfs
Fix clang-format 22 alignment in loadavg macros, tmpfs setattr
mask wrap, and record-lock utest defines so the format CI passes.
2026-08-30 20:49:24 +08:00
bernard 3ac2b39d25 [dfs][utest] Add POSIX record-lock coverage
Cover positive/negative l_len, overlapping GETLK conflicts,
interrupted F_SETLKW, split/merge, and close/dup2 lock release on
tmpfs.
2026-08-30 20:49:24 +08:00
bernard 5dcbc0dec9 [dfs][procfs] Fix Linux-compatible procfs fields
Grow maps without a 256 VMA cap, skip RSS walks for maps, report
matching status text, real RSS/statm, MemAvailable after page-pool
free pages, load averages plus last PID, cumulative processes, RV32
cpuinfo, and per-character mount escaping.
2026-08-30 20:49:24 +08:00
bernard 04b19b35e3 [libc][posix] Wake epoll waiters on OOM
If waiter allocation fails, mark the fd with POLLERR and wake
epoll_wait() instead of silently dropping the watch.
2026-08-30 20:49:24 +08:00
bernard 06e45356f8 [dfs][posix] Fix EFAULT, tmpfs setattr, and chmod bits
NULL read/write buffers now return -EFAULT. tmpfs setattr uses the
vnode-backed object after unlink, keeps S_ISUID/S_ISGID/S_ISVTX, and
the tmpfs utest checks ENAMETOOLONG plus post-unlink fchmod.
2026-08-30 20:49:24 +08:00
bernard ebe4be9a50 [drivers][virtio] Depend VirtIO net on LWIP
将 VirtIO Net 的依赖从 RT_USING_ETHERNET 调整为 RT_USING_LWIP。
避免 SMART QEMU 在未启用以太网抽象时无法选择网卡。
2026-08-30 20:49:24 +08:00
bernard 3152ab617b [libc][posix] Fix epoll waiters and LWP syscall copies
修复 epoll waiter 生命周期,避免等待队列节点在回调后失效。
整理 LWP POSIX syscall 的用户空间拷贝和错误返回路径。
2026-08-30 20:49:24 +08:00
bernard 25cbe4abae [dfs][procfs] Add Linux-compatible process and system files
补齐 procfs 中 cpuinfo、stat、uptime、loadavg、meminfo、mounts 和进程目录文件。
按架构和 SMP 配置隔离仅在对应平台有效的字段,避免非 AArch64/非 SMP 构建告警。
2026-08-30 20:49:24 +08:00
bernard f02a869318 [dfs][posix] Add record locks, fchmod, and tmpfs metadata
为 DFS v2 增加 POSIX 记录锁、fchmod,以及 tmpfs 的权限和时间元数据。
进程退出时通过 dfs_fdtable_drop_fd 释放文件描述符和记录锁。
2026-08-30 20:49:24 +08:00
BadmintonMaster bf38ee2130 feat[bsp][xuantie]: c908 support rt-smart #11719 2026-08-28 12:25:32 +08:00
Hui Su 0ae80cc79c [bsp/qemu-vexpress-a9] support function names in backtraces
Pass -mpoke-function-name to the compiler and assembler when
RT_BACKTRACE_FUNCTION_NAME is enabled for the Cortex-A9 QEMU BSP.
Keep the BSP configuration opt-in so users can enable symbolized
backtraces through menuconfig without changing the default build.

The flag is appended through CCFLAGS and ASPPCOM after the build
environment is created instead of concatenating it into
CFLAGS/CXXFLAGS/ASFLAGS: when the toolchain is selected with
--exec-path, PrepareBuilding() reloads rtconfig and
_apply_exec_path_override() overwrites those variables, which would
silently drop the option. The build still succeeds but function names
are missing from the text section, leaving backtraces without usable
frames.

Example backtrace in QEMU (vexpress-a9, RT_BACKTRACE_FUNCTION_NAME=y,
fault triggered from msh through cmd_fault -> fault_level1 ->
fault_level2 -> fault_level3):

    backtrace:
    0x600475a8 @ fault_level3
    0x600475dc @ fault_level2
    0x60047608 @ fault_level1
    0x60047630 @ cmd_fault
    0x6006ca80 @ _msh_exec_cmd
    0x6006cb3c @ msh_exec
    0x600717b4 @ finsh_thread_entry

Signed-off-by: Hui Su <3164683437@qq.com>
2026-08-28 11:29:05 +08:00
CYFS 5abbbec420 [BSP][Renesas] Trigger SDHI card detection on R7FA8M85 2026-08-27 11:48:49 +08:00
zhangyuyang 14ef29af91 fix(netdev): 修复无网卡时 ping 命令空指针崩溃
netdev_cmd_ping 中 netdev 回退到 netdev_default 后未判空,
QEMU 无网卡环境下执行 ping 直接解引用 NULL 崩溃(data abort)。
回退后增加空指针检查,提示无可用网卡并返回错误。
2026-08-27 09:04:47 +08:00
CYFS 69c26789fd [bsp/renesas][drivers] Fix SPI runtime configuration 2026-08-27 09:01:32 +08:00
CYFS fcc4d6c01a [bsp/renesas][drivers] Skip invalid chip select writes in SCI SPI 2026-08-27 09:01:32 +08:00
Bernard Xiong 0305faf806 [finsh] Remove deprecated FINSH_FUNCTION_EXPORT_ALIAS#11734 2026-08-26 10:53:23 +08:00
CYFS 64f1fa4a0d [utest] Enforce minimum console buffer size 2026-08-26 10:42:35 +08:00
hanzhijian e2e6245aac [arm][cortex-m4] Add hardware stack guard support
Enable RT_USING_HW_STACK_GUARD on Cortex-M4, which was previously only
available on Cortex-M7 and Cortex-M33.

Core porting (libcpu/arm/cortex-m4/):
- Add mpu.c/mpu.h/mputype.h aligned with the Cortex-M7 MPU layer. The only
  difference is the default memory type attribute: Cortex-M4 has no L1 cache,
  so the cacheability bits are reduced to three cases.
- Add rt_hw_stack_guard_init() to cpuport.c.
- Add missing #include <rtconfig.h> to context_gcc.S and invoke
  rt_hw_mpu_table_switch() in the PendSV context switch path.
- Update SConscript to exclude mpu.c when memory protection is disabled.

BSP reference (bsp/stm32/stm32f407-fk407m2-zgt6/):
- board.h: include rtthread.h and define NUM_STATIC_REGIONS.
- board.c: define static_regions[] marking the Flash region read-only,
  guarded by RT_USING_MEM_PROTECTION so it is not enabled by default.
2026-08-26 10:37:02 +08:00
rcitach 45679c79de Improve BLE OTA image generation to avoid executing OPEN every time a flash erase and write operation occurs. 2026-08-25 22:04:44 +08:00
CYFS 5d19f81580 [renesas][ra8d1] Fix Keil flash download configuration 2026-08-24 17:10:54 +08:00
nxp-ran 6ea682795b [BSP][NXP] Add new features of I2C DMA, CAN, SPI, DWT and SDIO for RT1180 (#11715)
* updated template files, conifg files and script files to support hypperram, multicore kickoff, rpmsg-lite, netc, cherryusb and ethercat.

* updated different link files of GCC, IAR and KEIL, for supporting multicore kick-off and different loading methods

* Updated .ini files to support debugging in keil. And updeated .mac files to support deugging in iar.

* Updated template files, conifg files and script files of CM7 to support hypperram, multicore kickoff, rpmsg-lite, netc, cherryusb and ethercat.

* Updated different link files of GCC, IAR and KEIL of CM7 project, for supporting multicore kick-off and different loading methods.

* Modify LittleFS to use the last 1 MB of flash and update CM7 support for LittleFS on QSPI flash.

* Updated different link files of loading to hyperram.

* Updated .ini files of CM7 to support debugging in keil. And updeated .mac files of CM7 to support deugging in iar.

* Remove Keil projects and keep templates only.

* Remove RAMFUNC due to IAR compilation issues, and use linker configuration to place all flash operation code in RAM.

* Add related code to support kick-offing CM7 and rpmsg-lite.

* Add codes to support cherryUSB for CM33 and CM7.

* Add mnt.c to support littleFS for CM7.

* Add codes to support etherCAT for CM7.

* Add codes to support USART12 for RT1180.

* Modify the drv_uart_v2.c to fix some bug to make it can work in CM33, but still cannot work in CM7. Will continue to update in next version.

* Updated README with both Chinese and English versions.

* Move the EtherCAT code into the packages\nxp-imxrt-sdk-latest.

* Remove EtherCAT-related sources, keep only SConscript.

* updated ci.attachconfig.yml for cm33 and cm7 projects.

* Fixed BSP_ROOT path error in rtconfig.py.

* Added drv_netc.c and updated SConscript for netc.

* Updated cherryusb_port.c to avoid worning.

* Updated sconscript to locate multicore directory in packages for header inclusion.

* Updated cm33/board/board.c to avoid worning when enable cm33_kickoff_cm7.

* Deleted peripheral.ethercat, because the related protocol stack has not been uploaded. And added CONFIG_BSP_USING_GPIO=y for Peripheral.netc.:

* Removed the SConscript of multicore and ethercat to packages.

* Added CONFIG_BSP_USING_GPIO=y to Peripheral.hyperflash_dma.

* Added CONFIG_BSP_USING_GPIO=y for Peripheral.hyperflash.

* Reformat code according to coding standards.

* Reformat code according to coding standards.

* Added features of RTC, CAN, I2C DMA, SPI and SDIO for CM33.

* Updated flexspi_port.h to support using flexspi api only.

* Added ci.attachconfig of UART, RTC, CAN, I2C DMA, SPI, DWT and SDIO for CM33.

* Added features of RTC, CAN, I2C DMA, SPI and SDIO for CM7.

* Added ci.attachconfig of UART, RTC, CAN, I2C DMA, SPI, DWT and SDIO for CM7.

* Added driver of DWT.

* Added driver of flexCAN for RT1180.

* Added driver of i2c dma for RT1180.

* Added driver of lpspi and dma for RT1180.

* Added driver of sdio for RT1180.

* Added driver of RTC for RT1180.

* Updated driver of drv_uart.c and fixed some bugs in drv_uart_v2.c.

* Updated README of imxrt1180-nxp-evk.

* Reformat codes according to tools/ci/clang_format_check.py

* fix: use unsigned shift to avoid UB in drv_can.c

* Removed unnecessary build artifacts and test files.

* bsp/nxp/imxrt: fix CI build errors for non-RT1180 BSPs

* bsp/nxp/imxrt: clang-format drv_lpadc.c to fix CI format check

* Fixed standalone driver compilation errors and code formatting issues.

* Fixed CI attach failures by updating the default linker script for CM7-only ITCM builds with large .text sections.

* [bsp][imxrt] fix BBNSM GPR epoch truncation by storing epoch in two 32-bit GPRs

* [bsp][imxrt] define DBG_TAG/DBG_LVL before rtdbg.h in cm7 mnt.c

* [bsp][imxrt1180] fix(sdcard): add timeout to sd0 wait loop in mnt.c
2026-08-21 17:45:38 +08:00
ari.liu ba79f69477 [kernel][ipc] Fix timeout wakeup ownership race
Keep thread timer ownership when timer stop races with an in-flight timeout callback, and consume IPC resources only after a waiter is resumed successfully.

Complete ownership cleanup in the generic and RT-Smart channel timeout callbacks. Add deterministic scheduler and LWP regressions for Event, Semaphore, Mailbox, Message Queue, sender, and receiver paths.
2026-08-21 16:52:01 +08:00
rcitach 5ae08713c8 Ensure that c906 uses only the Xuantie MMU properties 2026-08-21 16:51:33 +08:00
rcitach 46d7444773 fix ra6w1 device bug 2026-08-21 13:10:01 +08:00
hanzhijian 642040c405 [bsp][nuvoton] Clamp CAN receive DLC 2026-08-21 11:22:02 +08:00
yan hu 30af7388a4 [rust][tools] Fix Rust build example configuration handling
Improve the Rust build integration across core, applications, components, and module examples. Fix build failure propagation, target and feature handling, linker flags, example configuration semantics, and add STM32 CI attach coverage.
2026-08-21 11:17:57 +08:00