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