summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-08-28[kernel] rt_scheduler_lock_nest使用原子操作ryancw
2025-08-26utest: integrate config option for utest of klibcChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-08-12doxygen: fix build errorChen Wang
fixed: b084503b6d "[kernel] add UP scheduler critical switch flag." After this commit, doxygen build with warning: include/rtthread.h:658: warning: argument 'lock' from the argument list of rt_spin_unlock has multiple @param documentation sections include/rtthread.h:660: warning: argument 'lock' from the argument list of rt_spin_unlock_irqrestore has multiple @param documentation sections include/rtthread.h:660: warning: argument 'level' from the argument list of rt_spin_unlock_irqrestore has multiple @param documentation sections Rootcasue analysis: src/cpu_up.c and src/cpu_mp.c define two identical functions. Because the INPUT parameter in the documentation/Doxyfile currently compiles all source files under ./src, i.e both of them, Doxygen automatically merges the Doxygen comments for identically named functions if it finds the content of doxygen comments different, resulting in multiple @param. Previously, the API comments in both files were identical, so there was no problem. However, the b084503b6d change only modified the comments in src/cpu_up.c but not in src/cpu_mp.c, causing problems. Another drawback of the b084503b6d change is that Doxygen recommends a single line for the @brief; multiple lines are not recommended. Solution: Given the requirement for a single line for the @brief, this issue is relatively simple to resolve: simply list the extra content as @note. Regarding the warning: A perfect solution has not yet been found. One possible approach is to write a single Doxygen comment for a kernel API with two implementations. This approach involves writing Doxygen comments in only one file, such as src/cpu_up.c , while omitting them in src/cpu_mp.c . Another solution is to add API comments to include/rtthread.h , but the RT-Thread include/rtthread.h file is already quite large, and adding comments there would be even more cumbersome. A temporary solution currently in use is to ensure that the Doxygen comments for the same API are identical in both src/cpu_up.c and src/cpu_mp.c . This ensures that Doxygen compilation does not generate warnings, and the files are automatically merged into a single file in the HTML document. Signed-off-by: Chen Wang <[email protected]>
2025-08-06[kernel] add UP scheduler critical switch flag.Pillar
2025-07-30fix(kernel)/improve(utest):fix the legacy issue related to the length of the ↵Yuqiang Wang
object name version #10537
2025-07-22doxygen: promote object management to a separate pageChen Wang
For "RT-Thread User Guide": Take the "RT-Thread Kernel Object Model" sub-section out of the "Kernel Basics" section and rename it to "Object Management". Correspondingly, rename the "Kernel Object Management" section in the "RT-Thread API Guide" to "Object Management". Signed-off-by: Chen Wang <[email protected]>
2025-07-18kernel/testcase: fixed buffer overflow vulnerability in objectkurisaw
2025-07-08[signal]: fix spinlock leak in rt_thread_handle_sig()Yulong Wang
2025-06-27Remove extra semicolon in src/memheap.cYulong Wang
2025-06-25doxygen: group name all in lowcaseChen Wang
This patch only updated the groups defined in documentation/0.doxygen. Other groups will be moved into documentation/0.doxygen and updated at that time. Signed-off-by: Chen Wang <[email protected]>
2025-06-08[kernel]add doxygen comments for scheduler. (#10366)Guorui Li
* [kernel]add doxygen comments for scheduler. * [kernel]fix spell error in comments.
2025-05-23[clock]添加 rt_tick_get_delta 函数 htl5241
2025-04-18doxygen: re-org module groups (#10197)Chen Wang
Match the organization of modules (groups) with that of user guide. Preliminary arrangement. This patch is just a framework arrangement. Details need to be continued. P.S., in this patch, adding numerical prefixes to the files in documentation/0.doxygen is to meet the need of displaying sorting in HTML pages. Signed-off-by: Chen Wang <[email protected]>
2025-04-13add RT_THREAD_CTRL_SET_PRIORITYwycwyhwyq
2025-04-13add RT_THREAD_CTRL_SET_PRIORITYwycwyhwyq
2025-04-13[src] fix mutex bugwycwyhwyq
2025-03-28Update include/rtdef.h version to 5.2.1kk
2025-03-17解决__RT_KERNEL_SOURCE__宏没有定义latercomer
Signed-off-by: latercomer <[email protected]>
2025-03-17解决bps/simulator无法在vs2019环境下编译latercomer
Signed-off-by: latercomer <[email protected]>
2025-03-12修复 MMCSD 宏拼写错误+内核开启LOG_D编译问题yixinghua121
2025-03-12doxygen: update doc for kenrel object modelChen Wang
Move the introduction of function parameters in markdown to source code comments, because this part of the content is completely repeated. We only need to keep and maintain the comments in the code. The detailed explanation of the API in markdown can directly refer to the comments in the code. Try not to directly copy the definition of the structure in the markdown document, because this part of the content may change with the upgrade of the code. Therefore, when the structure definition is involved in markdown, try to indicate that it is just a code snippet. The specific definition is still directly quoted from the source code and the source code comments. It is very convenient to quote structures and functions in markdown. Just use "`" to enclose the structure name or function name, and the generated html is a link to its definition. According to this principle, this patch only modifies the documents and code comments of the kernel object model. Other modules will be modified one by one in separate patches later. Signed-off-by: Chen Wang <[email protected]>
2025-03-10feat: ci script associated with auto_utest. (#9933)Yuqiang Wang
* feat: ci script associated with auto_utest.
2025-02-25feat: improve Kconfig structure on MMShell
Signed-off-by: Shell <[email protected]>
2025-02-25feat: mm: page poison debugging and assertion enhancementsShell
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 <[email protected]>
2025-02-16[src/ktime] fix the bug when use keil AC6 and open RT_USING_HOOKLIST … (#9993)Supper Thomas
* [src/ktime] fix the bug when use keil AC6 and open RT_USING_HOOKLIST and RT_USING_KTIME
2025-02-15doxygen: add prefix for groups (#9991)Chen Wang
* 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 <[email protected]> * 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 <[email protected]> --------- Signed-off-by: Chen Wang <[email protected]>
2025-01-09[utest] make RT_USING_CI_ACTION to be clearMeco Man
RT_USING_CI_ACTION will select RT_UTEST_USING_AUTO_RUN and RT_UTEST_USING_ALL_CASES
2025-01-08fix: add \n for addr2line hintMeco Man
2025-01-07[utest] add float operatorsMeco Man
uassert_float_equal and uassert_float_not_equal
2025-01-04[kservice] optimize console_deviceMeco Man
2025-01-04[rt_vsscanf] upgrade version and add test caseMeco Man
from: https://github.com/phoenix-rtos/libphoenix/blob/master/stdio/scanf.c BSD-3-Clause license
2025-01-03[utest] add rt_memset test caseMeco Man
2024-12-24[utest] implement rt_memcmp test casesMeco Man
2024-12-24[utest] implement more test case for rt_memcpyMeco Man
2024-12-24[utest] remove rt_kprintf from TC_rt_sprintf.cMeco Man
2024-12-22[utest][klibc] add rt_sprintf family functions test casesMeco Man
2024-12-21[utest] add rt_memcpy utest caseMeco Man
2024-12-18[kernel] change size_t to rt_size_tguozhanxin
2024-12-07fix:[klib]Kconfig显示文案错误wdfk-prog
2024-12-03[klibc] format KconfigMeco Man
2024-11-26kernel: Optimize display format for auto init when debuggingChen Wang
When RT_DEBUGING_AUTO_INIT is enabled, kenrel will add more print message for auto init. However, the original format easily causes the kernel printing and the init function printing to be connected together, resulting in a confusing display format. For exmaple: ``` initialize lwip_system_initlwIP-2.0.3 initialized! :0 done ``` Or ``` initialize sal_init[I/sal.skt] Socket Abstraction Layer initialize success. :0 done ``` Solution: Add a carriage return to separate the kernel printing and the init function printing. After changing, the output will be: ``` initialize lwip_system_init lwIP-2.0.3 initialized! :0 done ``` Or ``` initialize sal_init [I/sal.skt] Socket Abstraction Layer initialize success. :0 done ``` Signed-off-by: Chen Wang <[email protected]>
2024-11-25[klibc] separate klibc KconfigMeco Man
2024-11-25[klibc] add rt_sscanfMeco Man
cherry-pick from: https://github.com/PetteriAimonen/Baselibc/blob/master/src/vsscanf.c BSD license
2024-11-24[kernel] format KconfigMeco Man
2024-11-24[klibc] add rt_vsnprintf_std.c and rename RT_KLIBC_USING_VSNPRINTF_LONGLONGMeco Man
2024-11-19Update src/KconfigMeco Man
2024-11-19[ci] add RT_USING_CI_ACTIONMeco Man
2024-11-18[utest][Kconfig] adjust RT_CONSOLEBUF_SIZE when utest is enabledMeco Man
2024-11-03feat: Added rt_interrupt_context* family for nested interrupt handlingShell
These changes introduce the rt_interrupt_context family, providing a mechanism for managing nested interrupts. The context management ensures proper storage and retrieval of interrupt states, improving reliability in nested interrupt scenarios by enabling context tracking across different interrupt levels. This enhancement is essential for platforms where nested interrupt handling is crucial, such as in real- time or multi-threaded applications. Changes: - Defined rt_interrupt_context structure with context and node fields in `rtdef.h` to support nested interrupts. - Added rt_slist_pop function in `rtservice.h` for simplified node removal in singly linked lists. - Declared rt_interrupt_context_push, rt_interrupt_context_pop, and rt_interrupt_context_get functions in `rtthread.h` to manage the interrupt/exception stack. - Modified AArch64 CPU support in `cpuport.h` to include rt_hw_show_register for debugging registers. - Refactored `_rt_hw_trap_irq` in `trap.c` for context-aware IRQ handling, with stack push/pop logic to handle nested contexts. - Implemented interrupt context push, pop, and retrieval logic in `irq.c` to manage context at the CPU level. Signed-off-by: Shell <[email protected]>
2024-10-29[src][clock] RT_TICK_PER_SECOND为1000时tick不用进行转换ryancw