Commit Graph

4908 Commits

Author SHA1 Message Date
zhangyan 3ebad06ff3
[bsp/phytium]适配rtthread5.2版本 (#10178)
* rtthread 5.2适配
2025-04-14 19:14:54 +08:00
1078249029 9d1fb86020 [DM/FDT] Fix garble when booting
Fix garble caused by empty implementation of earlycon series
function in driver.If driver doesn't offer earlycon_id or rt_f
dt_earlycon_id.setup function but open option, the checking
of best_earlycon_id will failed.

Signed-off-by: 1078249029 <1078249029@qq.com>
2025-04-14 18:04:39 +08:00
wycwyhwyq 12de72a462 add RT_THREAD_CTRL_SET_PRIORITY 2025-04-13 15:25:42 +08:00
wycwyhwyq da1c5c7882 add RT_THREAD_CTRL_SET_PRIORITY 2025-04-13 15:25:42 +08:00
ricky 522f7aa0d3
[fal/sample] readme 添加 (#10175)
* 更改FLASH_PAGE_SIZE拼写错误
2025-04-11 17:34:36 +08:00
ricky 7475f5549d
fal: add new example for norflash 2025-03-27 20:08:16 -04:00
Yang Xijing cdb5ce8d04 解决 list_mutex 互斥量没有线程持有时打印错误 2025-03-21 20:52:18 -04:00
GUI fc86cb9427 [DM/Platform] Fixup the node will probe more than once
If a node request a new node or it's parent node. the  request's node will probe a double time.
So we check the device object of node in ofw probe entry and ofw probe child exit.
2025-03-19 09:46:48 +08:00
latercomer 76c2f2d77f 解决bps/simulator无法在vs2019环境下编译
Signed-off-by: latercomer <latercomer@qq.com>
2025-03-17 16:45:59 +08:00
GUI ccd79785ec [DM/DMA] DMA src and dst is wrong.
The first arg is src, then dst.
2025-03-17 11:57:17 +08:00
1078249029 9d3ee51107 [components][at] Add formatting message function for at client
It will be useful for quiting transmission mode of some chips like esp8266.

Signed-off-by: 1078249029 <1078249029@qq.com>
2025-03-12 20:48:07 -04:00
yixinghua121 983f02151a
修复 MMCSD 宏拼写错误+内核开启LOG_D编译问题 2025-03-12 16:02:43 +08:00
1078249029 79c93b6571 [doxygen][audio] Naming anonymous enumeration type audio_stream
Signed-off-by: 1078249029 <1078249029@qq.com>
2025-03-11 19:46:10 -04:00
wumingzi 2cc7320356
[doxygen][audio] Fix group names by adding group_ prefix (#10094)
Signed-off-by: 1078249029 <1078249029@qq.com>
2025-03-11 11:53:23 +08:00
lingfengPeng 29a06142c5
fix dangling pointer in component pthread and dfs_elm (#9976)
* [components/libc/posix][pthreads]fix the risk of dangling pointer

* [components][dfs][dfs_elm]:fix risk of dangling pointer, unmount the temp driver then free the temp FATFS in dfs_elm_mkfs.
2025-03-11 10:48:29 +08:00
heyuanjie87 c16d14e70b [mm]修复unmap内存时遗漏刷新地址转换表的问题,避免dcache(PIPT)出错 2025-03-10 22:32:32 +08:00
sakumisu f5c24a9bfc fix(cherryusb): fix USBD_IRQHandler argument
Signed-off-by: sakumisu <1203593632@qq.com>
2025-03-10 13:45:33 +08:00
sakumisu de30bd1105 update(cherryusb): update to v1.4.3
Signed-off-by: sakumisu <1203593632@qq.com>
2025-03-10 13:45:33 +08:00
Yuqiang Wang ad79383fa3
feat: ci script associated with auto_utest. (#9933)
* feat: ci script associated with auto_utest.
2025-03-10 11:08:21 +08:00
1078249029 ed8d0bc36b [doxygen][audio] Fix doxygen comments for audio component
Added comments for data structure and rt_audio_ops in dev_audio.h.
Enriched comments for macro group. Moved and renamed folder audio.

Signed-off-by: 1078249029 <1078249029@qq.com>
2025-03-06 11:45:07 +08:00
GUI e75c49a17b [DM/THERMAL] fixup coefficients's offset lost
coefficients is double u32 data list.
2025-03-05 20:16:27 +08:00
Runcheng Lu ba50b60817 [components][drivers][spi]: fix: set message.parent.next to NULL for rt_qspi_send_then_recv API and rt_qspi_send API
- Ensure correct QSPI message chaining by setting next pointer to NULL, preventing unintended data transmission issues.

Signed-off-by: Runcheng Lu <runcheng.lu@hpmicro.com>
2025-03-05 10:29:25 +08:00
Runcheng Lu faa8702510 [components][drivers][spi] dev_spi_flash_sfud: fix: set message.parent.next to NULL for qspi_read API
- Ensure correct QSPI message chaining by setting next pointer to NULL, preventing unintended data transmission issues

Signed-off-by: Runcheng Lu <runcheng.lu@hpmicro.com>
2025-03-05 10:29:15 +08:00
GUI 4d6b9a1330 [DM/OFW] check available in stub probe
device node should not probe in stub if device is not available.
2025-03-05 09:41:49 +08:00
wycwyhwyq 88195c8cab
[components][dfs_v2]: Fix cromfs bug (#10054) 2025-03-02 16:01:11 +08:00
wumingzi fb64052722
[RFC][doxygen]Doxygen comment standard processing (#10058)
Signed-off-by: 1078249029 <1078249029@qq.com>
2025-03-01 16:02:17 +08:00
CYFS 84b5b2f408 fix:pwm msh err 2025-03-01 15:39:02 +08:00
GUI fbb65196a7 Fixup device rename by chip_select
`chip_select` is array now, should use index of value.
2025-03-01 12:03:32 +08:00
hydevcode 6d8d8884de
[bsp][nxp] add cherryusb config for mcxa156 (#10041)
[bsp][nxp] add cherryusb config for mcxa156 and add ci.attachconfig
2025-02-26 20:23:49 +08:00
Shell d9b36c8d18 feat: improve Kconfig structure on MM
Signed-off-by: Shell <smokewood@qq.com>
2025-02-25 11:26:30 +08:00
Shell 60f7b3affc feat: mm: page poison debugging and assertion enhancements
This commit introduces a page poison debugging mechanism and additional
assertions for memory management, improving system maintainability and
debugging capabilities. The changes aim to detect illegal memory usage
early and provide better clarity in managing page allocations.

Changes:
- Added `RT_DEBUGGING_PAGE_POISON` option to enable memory usage tracing.
- Introduced a page poisoner for detecting illegal memory usage.
- Implemented region-based memory tracking using bitmaps.
- Enhanced spinlock protection for memory management operations.
- Fixed several assertion checks for memory safety.
- Renamed macros for consistency (`FLOOR` to `CEIL`).
- Refined memory allocation and deallocation logic to include poisoning.
- Updated Kconfig to add configurable `RT_PAGE_MAX_ORDER` and poison debugging.
- Improved debugging outputs for page regions and memory operations.

Signed-off-by: Shell <smokewood@qq.com>
2025-02-25 11:26:30 +08:00
Shell 269d28ac3b feat: mm: install page in a discrete method
This patch refactors the `rt_page_install` function by delegating specific
operations to new helper functions. Besides, the contiguous page regions
are now separated to segments of fixed size. The goal is to improve the
overall code readability, enhance modularity, and ensure better handling
of page installation logic through clearer separation of concerns.

Changes:
- Introduced `_get_mpr_ready_n_install` to encapsulate memory preparation
  and page installation logic.
- Added `_update_region_list` for updating the installed page registry.
- Defined `_PAGE_STRIPE` for optimized region processing.
- Modified `rt_page_install` to handle regions in smaller chunks using
  helper functions for better maintainability.
- Improved locking mechanisms with `rt_spin_lock` for thread safety.
- Reduced code duplication and clarified shadow region calculations.

Signed-off-by: Shell <smokewood@qq.com>
2025-02-25 11:26:30 +08:00
Shell 9386411d13 feat: mm: added affinity pages allocator
This patch introduces a tagged pages allocator to address the existing problems
of page aliasing on specific platforms and the requirement of page coloring.
It implements an affinity-id aware page manager by separating the runtime page
list into two types: a normal single linked-list and a multi-dimensional affinity-list.

Changes:
- Introduced tagged pages allocator and managing algorithm for affinity pages list
- Modified components to support affinity-id list management
- Updated page allocation and freeing functions to handle tagged pages
- Added configuration options for page affinity block size and debugging
- Modified mmap and elf loading to respect affinity settings
- Enhanced page list management to support multi-dimensional affinity-list

Signed-off-by: Shell <smokewood@qq.com>
2025-02-25 11:26:30 +08:00
heyuanjie87 5206b3ae2d
[lwp/riscv]修正用户态参数空间占用堆地址空间的问题 (#10014)
* [lwp/riscv]修正用户态参数空间占用堆空间的问题
2025-02-24 09:17:22 +08:00
kenneth.liu 4940bb1051 components: libc: fix pointer-to-integer cast warnings and address truncation
[Problem Description]
1. When enabling RT_USING_MODULE=y, compilation warnings occur:
   dlelf.c:386:27: warning: cast from pointer to integer of different size
   dlelf.c:398:25: warning: cast from pointer to integer of different size
   dlelf.c:408:24: warning: cast from pointer to integer of different size

2. On RV64 architectures (e.g. Sophgo SG2042 with RISC-V Sv39 and 40-bit physical addressing),
   dlsym may fail when accessing addresses beyond 32-bit range.

[Root Cause]
In dlmodule_load_relocated_object() and dlmodule_symbol_find(),
pointer is cast to rt_uint32_t which truncates:
| rt_ubase_t rodata_addr = (rt_uint32_t)ptr;
This causes:
- Warnings on 64-bit systems (pointer width > 32-bit)
- Actual address truncation on RV64 when physical address exceeds 32-bit

[Solution]
Replace rt_uint32_t with architecture-adaptive rt_ubase_t:
| rt_ubase_t rodata_addr = (rt_ubase_t)ptr;
The rt_ubase_t is defined in include/rttypes.h as:
| #ifdef ARCH_CPU_64BIT
|   typedef rt_uint64_t rt_ubase_t;
| #else
|   typedef rt_uint32_t rt_ubase_t;
| #endif
This ensures correct width casting for both 32/64-bit architectures.

Signed-off-by: Liu Gui <kenneth.liu@sophgo.com>
2025-02-22 14:16:00 -05:00
kenneth.liu a5b26bb588 components: libc: fix array overflow in rt_object name assignment
[Problem Description]
When assigning name to rt_object, strncpy() uses size equal to RT_NAME_MAX,
which causes missing null-terminator and overflows into adjacent 'type' field.
This corruption leads to unexpected system behavior.

[Problem Analysis]
The rt_object structure defines:
| char name[RT_NAME_MAX] | -> buffer
| rt_uint8_t type        | -> adjacent field

Original code calculates size as:
size = end - first + 1;
if (size > RT_NAME_MAX) size = RT_NAME_MAX;

When size equals RT_NAME_MAX, strncpy() will copy exactly RT_NAME_MAX bytes
without adding terminating '\0', causing two issues:
1. name buffer is not null-terminated
2. The implicit null-byte writes beyond name[] into type field

[Solution]
Change boundary check from:
if (size > RT_NAME_MAX) size = RT_NAME_MAX;
to:
if (size >= RT_NAME_MAX) size = RT_NAME_MAX - 1;

This ensures:
1. Always leaves space for null-terminator
2. Prevents overflow into type field
3. Maintains maximum valid name length (RT_NAME_MAX-1 + '\0')

Signed-off-by: Liu Gui <kenneth.liu@sophgo.com>
2025-02-20 22:38:06 -05:00
Chen Wang 14cfc72fb8
doxygen: finsh: Normalize macro definitions (#10006)
Regular macro definitions according to [1].

Note: for variadic macros such as MSH_CMD_EXPORT, we can
not use normal @param command, otherwise doxygen will
report "@param is not found in the argument list of ...".
So I just write the parameters by manual.

Link: https://rt-thread.github.io/rt-thread/page_howto_macro.html [1]

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2025-02-19 21:06:45 +08:00
Guorui Li 6a792c9df2
[lwp]add comments for lwp system calls. (#9934) 2025-02-18 19:51:10 +08:00
heyuanjie87 4b25b5ed9a
[lwp]检查killpg的signo参数的有效性 (#9981)
* [lwp]对检查killpg的signo参数的有效性
2025-02-18 14:33:56 +08:00
Rbb666 91beec4239 [ulog]Fix the problem of file_buf being released incorrectly 2025-02-18 14:31:03 +08:00
Supper Thomas 5b3320624d
[src/ktime] fix the bug when use keil AC6 and open RT_USING_HOOKLIST … (#9993)
* [src/ktime] fix the bug when use keil AC6 and open RT_USING_HOOKLIST and RT_USING_KTIME
2025-02-16 22:02:42 +08:00
Chen Wang c40b79037c
doxygen: add prefix for groups (#9991)
* doxygen: add prefix for groups

Add "group_" prefix to doxygen group names. This makes
it easier to grep with group name later.

This patch only modifies the groups defined in the pathes
of INPUT of documentation/Doxyfile:

INPUT = . \
        ../src \
        ../include \
        ../components/finsh \
        ../components/drivers/include/drivers \
        ../components/drivers/clk \
        ../components/dfs/dfs_v2/src \
        ../components/dfs/dfs_v2/include

Other groups are not touched.

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>

* ci: fixed error report when run file_check.py

Such as:
- "please delete extra space at the end of this line."
- "the RT-Thread error code should return negative value. e.g. return
  -RT_ERROR"

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>

---------

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2025-02-15 12:15:19 +08:00
GuEe-GUI 74f43edd6c [DM/THERMAL] Remove unused code in update poll
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2025-02-11 14:58:18 +08:00
GuEe-GUI aaf18e497c [DM/LED] Rename LED register/unregister
rt_hw_* is use for DM and not DM, but LED only use in DM.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2025-02-11 14:58:18 +08:00
GuEe-GUI f506076281 [DM] Replace spinlock static init by RT_DEFINE_SPINLOCK
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2025-02-11 14:58:18 +08:00
GuEe-GUI f20e8973be [DFS/ISO9660] Remove warning for ops
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2025-02-11 14:58:18 +08:00
GuEe-GUI 5a455cb615 [DM/PIN] Reset the value of PIN_NONE
PIN_NONE is '-1', is similar to '-RT_ERROR',
'-RT_EEMPTY' is better.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2025-02-11 14:58:18 +08:00
GuEe-GUI 578cfc0b2a [DM/CORE] Add IDA init in runtime
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2025-02-11 14:58:18 +08:00
GUI 1564735b5c
[DM/SPI] Make CS pin config fixed in system (#9977)
Make a max CS pin value (16) for SPI, that will not
alloc `*cs_pins` by malloc, because drivers call
`rt_device_unregister` may not free item.

Fixup the QSPI init configure member in DM mode.

Make SoC Kconfig import easy.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2025-02-11 14:54:59 +08:00
Rbb666 f820c1948a
[drivers/spi]修复spi configure会执行两次的问题 (#9972)
* [drivers/spi]修复spi configure会执行两次的问题
2025-02-11 13:04:31 +08:00