Commit Graph

1008 Commits

Author SHA1 Message Date
xqyjlj 84706ba7b4
🐞 fix(cpu): cpus_lock should lock scheduler (#8368) 2023-12-30 15:47:42 +08:00
xqyjlj e045d30bac
🎈 perf(kservice): perf rt_hw_interrupt_disable/enable,fix memheap lock (#8362) 2023-12-30 15:46:54 +08:00
xqyjlj 48c78ba4e0
🐞 fix: fix rt_thread_delay, assert, deadlock (#8366) 2023-12-27 20:36:39 +08:00
xqyjlj d0dec5cbf2
🐞 fix(thread): fix thread_exit/detach/delete (#8365) 2023-12-24 20:04:41 +08:00
xqyjlj 6be74e227e
🐞 fix(mempool): fix assert (#8364) 2023-12-24 20:03:28 +08:00
xqyjlj b8d1d671a9
feat(idle): add _hook_spinlock, rm _idle_inited (#8361) 2023-12-24 20:01:57 +08:00
geniusgogo 20a4d0939a
Fix softtimer resume (#8393) 2023-12-24 19:55:04 +08:00
xqyjlj e31fa93423
feat: spinlock should lock sched (#8360) 2023-12-22 11:15:18 +08:00
geniusgogo a01b66d57b
fix smp rt_timer deadlock. (#8389) 2023-12-22 10:18:33 +08:00
geniusgogo 3dfafcd1d9
add semaphore max value control. (#8390) 2023-12-21 10:31:27 +08:00
Meco Man 5b26a580a2 [nano] add rt-thread nano title when startup 2023-12-10 14:07:43 +08:00
Yuqiang Wang 8997db911f
[kernel] release mutex when thread delete (#8345) 2023-12-07 22:32:53 +08:00
skychen123 4ffc3a4a45 release mutex when thread delete 2023-12-06 14:10:33 +08:00
Meco Man 9fec43f0ea correct and format Kconfig 2023-12-03 21:25:00 +08:00
Meco Man 6cd24d437c [nano][kernel] correct nano Kconfig dependency 2023-12-01 14:43:05 +08:00
Meco Man 005828eba7 [nano] rt-thread susport nano option 2023-11-30 11:39:34 +08:00
guozhanxin 7e22b0297c [src] Fix mdk compilation warning 2023-11-22 16:51:16 +08:00
xqyjlj 3aa19af301
🐞 fix(src/idle.c): fix thread exit (#8239) 2023-11-13 22:46:48 +08:00
Meco Man 589641258e [debug] rename RT_DEBUGING_INIT as RT_DEBUGING_AUTO_INIT 2023-11-10 05:24:33 -05:00
geniusgogo df0d8b4230
fix aarch64 backtrace print 2023-11-08 06:11:10 -05:00
heyuanjie87 0acac2dde9
[kservice] 修正backtrace命令转换无符号数不正常的问题 2023-11-06 23:25:13 -05:00
Shicheng Chu e78cfdf64b
[kernel][scheduler]Modify the timing of clearing RT_THREAD_STAT_YIELD… (#8142) 2023-10-30 23:11:40 +08:00
tangzz98 acc66c5479
实现MPU抽象层 (#8080)
- 为RT-Thread设计MPU抽象层,支持ARMV7-M,ARMV8-M架构,让用户使用MPU检测栈溢出等内存问题,实现线程内存隔离
- 在components/mp目录下提供通用的API,libcpu目录下提供各处理器架构的具体实现
- 在STM32U575 NUCLEO, STM32H75 NUCLEO开发板测试通过
2023-10-30 08:24:55 -04:00
kk ad9cbf3e51
[src] Fix the issue of starting address misalignment (#8190) 2023-10-26 20:16:43 +08:00
xqyjlj 3283f54c7a
🎈 perf: perf rt_hw_interrupt_disable/enable (#8042)
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: Shell <smokewood@qq.com>
2023-10-25 20:31:25 +08:00
Meco Man 1e2bb8ea7a [kservice] use C89 format to avoid warning 2023-10-23 08:27:42 -04:00
RiceChen c4d649bdf5 fix:only the main core detection rt_timer_check(), in SMP mode 2023-10-23 14:03:29 +08:00
Shell 70a8d1d465
[kservice] improve backtrace service in kernel (#8144)
Signed-off-by: Shell <smokewood@qq.com>
2023-10-21 20:14:45 +08:00
zms123456 d01dd05a0c
[kernel][dm]适配新的设备驱动模型 (#8075) 2023-10-18 20:50:30 +08:00
geniusgogo ecd29fda60
Sync dfs lwp (#8123) 2023-10-17 13:07:59 +08:00
Z8MAN8 220222a387 change version number to v5.1.0 2023-10-11 08:48:29 +08:00
guozhanxin b6a595ea62 [kernel] change RT_DEBUGING_INIT default to n 2023-10-08 11:21:00 +08:00
guozhanxin 227ea54d9d Update version number to 5.0.2 2023-10-08 11:21:00 +08:00
Meco Man f6083af2cb [rtdef] attach RT_ETRAP errno
this code will not be used in here, but will be used in other user apps

related:
8e6f9cf1be
ecf2d82159
2023-09-20 01:31:08 -04:00
guozhanxin 35e4baa786 [kservice]Improve rt_strerror function compatibility 2023-09-19 23:58:27 -04:00
Meco Man 35231eb116 [kernel] fix interruptible typo 2023-09-19 00:45:02 -04:00
Shell c25e9be6ad [src] remove useless codes in kernel
Signed-off-by: Shell <smokewood@qq.com>
2023-09-15 08:53:45 -04:00
zhkag 0b9a808cca
[posix]修复消息队列返回长度异常 (#8014) 2023-09-08 18:15:03 +08:00
Shell b1b21ddd2b
[src] bug fix in ipc.c (#7972)
Signed-off-by: Shell <smokewood@qq.com>
2023-08-23 12:20:14 +08:00
Meco Man c6a2f5b7bd rt_hw_cpu_shutdown: implement default weak function
and remvoe duplicated default functions in each cpu/bsp level
2023-08-08 22:34:25 -04:00
Meco Man cb810dfe75 rt_hw_cpu_reset: remove all other rt_weak 2023-08-08 22:34:25 -04:00
geniusgogo 4d20416b2f
update components & lwp. (#7888) 2023-08-07 12:22:14 -04:00
yby a2fae26d32 [kernel][mutex] 去除mutex中的递归 2023-08-03 18:08:08 -04:00
Man, Jianting (Meco) 244b903e5d
[debug] 整理debug宏并增加RT_DEBUGING_CONTEXT (#7805) 2023-07-22 10:36:42 +08:00
xqyjlj 5f0328ee41 feat(ktime): add RT_USING_KTIME to kconfig build 2023-07-20 09:25:18 -04:00
Shell 58e0ddf287
[component/lwp] support more feature of signal from IEEE Std 1003.1-2017 (#7828)
Signed-off-by: Shell <smokewood@qq.com>
2023-07-20 00:02:41 +08:00
Meco Man 237bbfd968 [debug] remove RT_DEBUG_xxx
remove RT_DEBUG_THREAD RT_DEBUG_SCHEDULER RT_DEBUG_IPC RT_DEBUG_TIMER RT_DEBUG_IRQ RT_DEBUG_MEM RT_DEBUG_SLAB RT_DEBUG_MEMHEAP
2023-07-09 00:19:29 -04:00
Rbb666 67b38d1aad [kernel]支持多个线程接收同一个事件 2023-07-07 09:41:04 +08:00
Shicheng Chu e2c031643c
[include][dbg]update: no longer use RT_DEBUG_LOG in rtdebug.h (#7750) 2023-06-29 11:24:25 -04:00
zhkag e65509a58e
[src][components][include]消息队列支持优先级 (#7382) 2023-06-26 00:06:06 -04:00
Meco Man d8a3b7c68d [kernel][Kconfig] 调整Kconfig缩进 2023-06-23 17:41:01 -04:00
Bernard Xiong e3f068f058
[DeviceDrivers] prepare for device driver v2.0 (#7697) 2023-06-22 14:16:03 +08:00
guo 8d2072de55
[kernel]add api rt_hw_interrupt_is_disabled (#7706) 2023-06-21 22:42:50 +08:00
zhkag 33f550cb65
[Kernel] message 可以返回消息的实际大小 (#7709) 2023-06-21 18:22:42 +08:00
wangqinglin 0c29bed30f 内核Kconfig增加AMP选项, api:rt_hw_cpu_id和 RT_USING_SMP宏解耦,增加rt_hw_ipi_send对RT_USING_AMP的依赖 2023-06-11 07:08:53 +08:00
zhkag 0f998f6b05
[simulator] 模拟器可以使用 utest 测试框架 (#7644)
Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-06-10 12:32:34 +08:00
Fan Yang 48557de148
[include][src] Add API to get object name and thread name (#7507)
Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-05-17 17:40:18 +08:00
半吊子内核开发 442330cc54
[kernel][src] improve code (#7367) 2023-05-17 07:36:24 +08:00
guo 12a4bb154a
[kernel] fix device_open oflag comparison error. (#7512) 2023-05-16 18:46:42 +08:00
guo 8a1260c56a
[device] Avoid repeated calls device_open interface. (#7476) 2023-05-15 14:58:56 +08:00
huanghe 50a4e8c662
[bsp][phytium]适配rt-thread5.0.0 版本 (#7441)
Co-authored-by: 朱耿宇 <zhugengyu@phytium.com.cn>
2023-05-11 10:25:21 +08:00
Bernard Xiong 8ad70ca231
[tty] change driver of tty to device and code cleanup. (#7444) 2023-05-05 08:19:09 +08:00
dejavudwh e12c2f9306
[Better style] Unify the function declaration and definition paramete… (#7432) 2023-05-01 07:35:03 +08:00
Pikachu 1dac7db9cd
[HUST CSE][kernel][thread] 变量 rt_err 没有初始化 (#7401) 2023-04-28 19:33:37 -04:00
flyingcys 5a1321b20b
add rt-smart mode Kconcfig select (#7369)
Co-authored-by: chenyisong <chenyisong@tuya.com>
2023-04-25 13:36:40 +08:00
Nephr1te 7212e6bc1c
[HUST_CSE] add doxygen missing `@brief` (#7368) 2023-04-25 00:36:39 -04:00
Shell 470454d201
[components/mm] support for scalable memory management (#7277)
* [mm/page] multi-list page manager
[mm/page] page debugger
[libcpu/aarch64] hugepage support

* [quality] remove void-arith

* [format] remove kasan codes
2023-04-22 23:59:11 +08:00
Xu Biang 2c98ce4605
[HUST CSE][document] Fix some comments, invalid grouping commands and warnings in Doxygen.
将Doxygen输入文件(由Doxyfile中的INPUT定义)中的失效Doxygen分组指令(如/*@*/和/*@}*/)更改为有效的分组指令(如/**@*/和/**@}*/);(此处只对INPUT中的文件做了修改,bsp目录下和libcpu目录下存在近万个失效的Doxygen分组指令,但由于不作为文档的输入文件且这些文件过于庞大老旧,没有对这些文件中的无效指令做修改)
将图片文件统一放入了images目录下;
修改了Doxyfile和部分Doxygen注释,使得Doxyfile能够定位到新的代码路径且不受重复实现的影响;
解决了一些注释中的参数名不匹配、参数多余/缺失等问题。
2023-04-14 12:33:43 -04:00
n0vic3 dfe0c6b090
[HUST CSE][src][timer.c]修复 iar 中的类型转换报错 2023-04-13 19:56:33 -04:00
hiro_655 ced40f33c5
[HUST CSE][doxygen][src]Fix the comment in rt_thread_defunct_enqueue (#7228)
根据这个issues #6857 在idle.c文件中找到一个函数缺失参数
2023-04-13 19:25:59 -04:00
Shicheng Chu 93f3cb30e4
[kernel] 将rt_thread结构体改为显式继承rt_object (#7131) 2023-04-04 09:06:27 -04:00
褚仕成 d7ef1d1b4e change version number to v5.0.1 2023-04-02 02:30:24 -04:00
褚仕成 696bd91f42 change version number to v5.1.0 2023-04-01 02:15:50 -04:00
xqyjlj 157dc0959c feat(components): add uname support 2023-03-31 10:56:37 +08:00
Shell eec78d9f5d
[rt-smart] testcase & improvements for memory management (#7099)
* [utest/mm] add testcase for create/init
format codes of create/init in components/mm

* [libcpu/aarch64] fix user stack check routine

* [kservice] export API for utest

* [utest/mm] testcase for aspace_map
format & modify the files under components/mm related with aspace_map

* [lwp/user_mm] add user_map_varea for mmap feature

* [mm] rename rt_mm_fault_try_fix to rt_aspace_fault_try_fix

* [utest/mm] testcase for synchronization

* [mm] modify unmap api to improve throughput

* [utest/mm] testcases for cache and varea map

* [format] remove extra space

* [utest/mm] fix testcase problem in header

* [lwp] extend map_user_varea with a flag

* [utest/mm] testcase for lwp_map_user_varea

* [libcpu/arm/cortex-a] fix kernel space layout

* [utest/mm] adjust for armv7 arch
2023-03-30 08:25:15 +08:00
螺丝松掉的人 9f38248f11
[src][scheduler] Split scheduler.c (#7103) 2023-03-29 19:04:26 +08:00
Yaochenger de4f237482
[atomic]添加arm与risc-v下的常用原子操作函数 (#7053)
* Update Kconfig
* Update trap_gcc.S
* Update bsp/hifive1/drivers/SConscript

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
* Update SConscript
* [atomic]提交一份arm与risc-v架构下的常用原子操作函数
* 修改变量类型
* 更新rtatomic.h与atomic_port.c
* 更新rt-thread\libcpu\arm\common\atomic_port.c
* 更新include/rtatomic.h与libcpu/arm/common/SConscript
* 更新include/rtatomic.h
* 修正格式与Kconfig
* 修正格式与文件结构

* 规范文件格式与文件重命名
* 添加测试用例与CI
* 添加函数声明
* 修改virt64/SConscript 添加atomic_riscv.c
  * 1.规范代码风格
  * 2.添加RISC-V64原子指令支持 解决在RV64下编译器将32-bit运算结果扩展为64-bit 导致判断错误
* 添加C11标准库原子操作测试

---------

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-03-23 20:06:50 +08:00
Meco Man 0f461e870c [errno code][-RT_ERROR] fix that use RT_ERROR without - 2023-03-20 00:06:16 -04:00
Shell 64cd64baf9
[mutex] mutex may suspend a thread already suspended & fix ceilingprio (#7046)
* [fix] reinsert should not suspend twice

* [mutex] fix prioceiling

* [mutex] fix prioceiling
2023-03-13 19:21:41 +08:00
Man, Jianting (Meco) 423f0c6134 Revert "[kernel][timer] 修复在IAR下数据类型报错 (#6804)"
This reverts commit 93a7cff44c.
2023-03-01 02:11:59 -05:00
bernard 75c3261181 [Kernel] Fix the alignment issue for memheap. 2023-02-28 17:32:36 -05:00
zhkag 111a5b88cb smart select POSIX timer clock 2023-03-01 00:37:20 +08:00
zhkag feed84b258 fix rt_kprint 64bit error 2023-02-21 15:49:30 +08:00
wangxiaoyao 26891e9117 [fix] pipeline 2023-02-21 08:48:49 +08:00
wangxiaoyao ed58f6676d [src] add assertion for debugging 2023-02-21 08:48:49 +08:00
Meco Man f58d3c5200 rt_device_write/read return data type as rt_ssize_t
rt_ssize_t can give negative error code, which follows the unix style correctly
2023-02-07 21:43:57 -05:00
tuduweb 9fbf63441e
[doxygen] Fix some warnings in doxygen (#6899) 2023-02-02 21:00:58 -05:00
Bernard Xiong 8945e8d9ed
[Kernel] Add Smart ID in logo show (#6898) 2023-02-02 16:36:55 +08:00
supperthomas d5a5a32273 [doxygen][src] Fix the comment in rt_custom_object_create
Signed-off-by: supperthomas <78900636@qq.com>
2023-01-19 09:14:54 -05:00
Meco Man ddccef3a64 modify RT_ALIGN_SIZE as 8 by default 2023-01-12 22:47:23 -05:00
Shell 7450ef6c4d
[rt-smart] kernel virtual memory management layer (#6809)
synchronize virtual memory system works.
adding kernel virtual memory management layer for page-based MMU enabled architecture
porting libcpu MMU codes
porting lwp memory related codes
2023-01-08 21:08:55 -05:00
Man, Jianting (Meco) 93a7cff44c
[kernel][timer] 修复在IAR下数据类型报错 (#6804) 2023-01-02 12:42:55 +08:00
Meco Man a2676b0544 [kernel] RT_NAME_MAX set the range from 1
RT_NAME_MAX为0是nano中使用,完整版中不支持const name
2022-12-26 01:35:14 -05:00
Man, Jianting (Meco) 061af7b092
[kenel] add static name for rt_object (#6422)
增加静态object 名字,用户可以根据内存实际使用情况决定使用动态还是静态。适用于资源极度受限的情况下使用。该功能在RT-Thread完整版本中不常用,主要用于RT-Thread Nano,以缩减对内存的占用。由于没有动态拼接支持,在静态名字下,空闲线程的名字在多核时将命名成相同的名字。
2022-12-20 22:36:32 -05:00
Shell e8504c7cf1
[smart/aarch64] code sync (#6750)
* [smart/aarch64] sync aarch64
2022-12-20 17:49:37 +08:00
guo 68ca9f07a6
[rt-smart] 弱化 RT_USING_LWP,使用 RT_USING_SMART 作为宏配置 (#6740)
* [dfs] sync cromfs

* [rt-smart]Weaken RT_USING_LWP, use RT_USING_SMART as macro configuration

* [format] fix some format issue.
2022-12-16 18:38:28 +08:00
Man, Jianting (Meco) 99bdf978d7
[rtdef] use lower-case to define attributes (#6728)
* [rtdef] rename RT_WEAK attribute as rt_weak

* [rtdef] rename RT_USED attribute as rt_used

* [rtdef] rename RT_SECTION attribute as rt_section

* [rtdef] rename ALIGN attribute as rt_align

* [legacy] add RT_USED ALIGN RT_SECTION RT_WEAK as legacy support
2022-12-11 13:12:03 -05:00
guo ecf2d82159
sync branch rt-smart. (#6641)
* Synchronize the code of the rt mart branch to the master branch.
  * TTY device
  * Add lwP code from rt-smart
  * Add vnode in DFS, but DFS will be re-write for rt-smart
  * There are three libcpu for rt-smart:
    * arm/cortex-a, arm/aarch64
    * riscv64

Co-authored-by: Rbb666 <zhangbingru@rt-thread.com>
Co-authored-by: zhkag <zhkag@foxmail.com>
2022-12-03 12:07:44 +08:00
Man, Jianting (Meco) 10451fb95b Revert "[kernel] 修正复制name字段时潜在的内存踩踏问题"
This reverts commit 2d17fe736f.
2022-11-21 21:32:13 -05:00
Meco Man d1c353f6b6 [kernel] 优化Sconscript脚本 2022-11-14 22:20:23 -05:00