xqyjlj
6b6d39d716
✨ feat: delete thread ref ( #8456 )
2024-01-05 17:03:55 +08:00
Shell
e7880a9713
[kernel] support for hook list
...
Signed-off-by: Shell <smokewood@qq.com>
2024-01-02 19:42:46 +08:00
Shell
3a7903b799
[kernel] Add hook for malloc services
...
Including the patch for memory allocation, testsuites and fixups of
static analysis.
Signed-off-by: Shell <smokewood@qq.com>
2024-01-02 19:42:46 +08:00
Meco Man
20fb70ba15
[rtdef] remove legacy code
2023-12-25 10:50:43 +08:00
xqyjlj
e31fa93423
✨ feat: spinlock should lock sched ( #8360 )
2023-12-22 11:15:18 +08:00
geniusgogo
3dfafcd1d9
add semaphore max value control. ( #8390 )
2023-12-21 10:31:27 +08:00
xqyjlj
0541b39d61
✨ feat(rtdef.h): add rt_always_inline
2023-12-21 01:00:59 +08:00
Meco Man
005828eba7
[nano] rt-thread susport nano option
2023-11-30 11:39:34 +08:00
Meco Man
873fd76b2f
[libc] add RT_USING_INTERNAL_LIBC_ONLY macro
...
This option is for RT-Thread Nano version.
If select this option, it will not compile components/libc
folder and only use tool chain internal libc. Normally, the
tool chain internal is only cover ISO standard (e.g. armcc),
but some tool chains' internal libc will cover more than
ISO standard (e.g. newlib).
2023-11-21 23:22:55 -05:00
geniusgogo
9acebb07dc
fix rt_channel lock. ( #8244 )
2023-11-10 21:37:07 +08:00
Meco Man
589641258e
[debug] rename RT_DEBUGING_INIT as RT_DEBUGING_AUTO_INIT
2023-11-10 05:24:33 -05:00
yanghuang
b51a3420b0
[kernel] 解决rt_slist_for_each_entry宏不能正常遍历slist链表中元素的问题
...
因rt_slist_for_each_entry宏不能正常调用,在实际开发中去循环再调用rt_slist_entry很不简洁,所以修改了rt_slist_for_each_entry宏中关于链表next的判空处理。目前相关代码在GD32系统的MCU上均能正常工作,相关应用也在生产产品中经过验证。
2023-11-06 10:03:04 +08:00
Meco Man
bb8667e13b
[rtdef] add comment for RT_USING_LIBC_ISO_ONLY ( #8229 )
2023-11-06 09:53:02 +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
Supper Thomas
65623777d5
[action] Doxygen ci fix ( #8191 )
2023-10-29 13:12:29 -04:00
Shell
eafb04e011
[ctime] fixup of data racing ( #8187 )
...
Signed-off-by: Shell <smokewood@qq.com>
2023-10-26 13:56:27 +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
蒙蒙plus
6459495726
[rtdef] remove duplicated rt_device_t defination
2023-10-22 02:08:45 -04: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
geniusgogo
552b5406b5
restore smp macro define. ( #8151 )
2023-10-20 13:25:47 +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
Shell
4158c8e88e
[smart] Replace irq disable/enable codes in futex ( #7941 )
...
Signed-off-by: Shell <smokewood@qq.com>
2023-10-14 13:07:45 +08:00
Z8MAN8
220222a387
change version number to v5.1.0
2023-10-11 08:48:29 +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
Meco Man
8e6f9cf1be
[rtdef] support POSIX compatible errno
2023-09-19 23:02:43 -04:00
Meco Man
35231eb116
[kernel] fix interruptible typo
2023-09-19 00:45:02 -04:00
Meco Man
746f527fac
[rtdef] adjust RT_USING_SIGNALS defination
2023-09-18 22:41:28 -04:00
Meco Man
2935e386bb
[rtdef] add RT_USING_LIBC_ISO_ONLY macro
2023-09-18 09:01:15 -04:00
zhkag
0b9a808cca
[posix]修复消息队列返回长度异常 ( #8014 )
2023-09-08 18:15:03 +08:00
Meco Man
5f948690c9
[rtdef] rename RT_CTASSERT to RT_STATIC_ASSERT
2023-09-06 22:21:22 -04:00
geniusgogo
4d20416b2f
update components & lwp. ( #7888 )
2023-08-07 12:22:14 -04:00
Meco Man
c1cc1332e9
[debug] fix the error when disable RT_USING_DEBUG
2023-07-26 23:14:54 -04:00
Shell
acfa74f078
[libcpu/arm] fix race condition with ldrex,strex ( #7842 )
...
Signed-off-by: Shell <smokewood@qq.com>
2023-07-25 14:07:44 +08:00
Man, Jianting (Meco)
aee1bd532e
clean up rtthread.h ( #7843 )
2023-07-23 06:19:34 +08:00
Man, Jianting (Meco)
244b903e5d
[debug] 整理debug宏并增加RT_DEBUGING_CONTEXT ( #7805 )
2023-07-22 10:36:42 +08: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
ErikChanHub
2f5e4ac27e
【dd2.0】Support the Core API for dd2.0 ( #7791 )
2023-07-13 14:49:35 +08:00
wusongjie
3b7e46de7e
AArch64: support hardware atomic
...
Support aarch64 rt_hw_atomic_* api.
Add atomic implemente by rt_atomic api:
rt_atomic_dec_and_test
rt_atomic_fetch_add_unless
rt_atomic_add_unless
rt_atomic_inc_not_zero
Signed-off-by: GuEe-GUI <GuEe-GUI@github.com>
2023-07-05 13:38:29 +08:00
Shicheng Chu
2da019234e
[include][dbg]update: delete rtdebug.h ( #7759 )
2023-07-01 08:41:02 -04:00
zhkag
bce92ed724
[atomic]修复bsp/simulator vs2019编译下 atomic 两个volatile的问题 ( #7736 )
2023-06-30 00:05:22 +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
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
wdfk-prog
780806feb4
[rtdef] RT_IS_ALIGN marco add a null address exclusive
2023-06-11 11:41:50 -04: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
522ac86bd9
[atomic] 头文件循环引用导致未定义
2023-06-09 23:12:18 -04:00
Meco Man
9522ef8486
[rtdef] add RT_IS_ALIGN macro
2023-06-09 22:48:22 -04:00
Bernard Xiong
4b4c3c85f2
[atomic] add stdc atomic detection. ( #7536 )
2023-05-20 23:41:29 +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
dejavudwh
e12c2f9306
[Better style] Unify the function declaration and definition paramete… ( #7432 )
2023-05-01 07:35:03 +08:00
geniusgogo
5bbcb5dc79
fix tmpfs spinlock error. ( #7216 )
2023-04-12 13:12:27 +08: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
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
Shell
18a14cc935
[rt-smart] move sys_cacheflush to lwp_syscall.c ( #7048 )
...
* [syscall] move sys_cacheflush to lwp_syscall.c
* [syscall] improve assertion
* [format] rename to rt_ctassert
* [debug] modified ct assertion on mm_page.c
2023-03-17 15:11:38 +08:00
Shell
fcc01a617d
[rt-smart] Fix return value in syscall ( #7045 )
...
* [timer] fix sys return value to avoid outdated errno
* [rtdef] add wrap to stringify
* [syscall] return value in rt errno should be recycle immediately after call to posix layer
* [syscall] return type of syscall should be long
errno should be recycle immediately after call to rt posix layer to avoid
outdated value
* [format] move prototype to header file
* [fix] futex definition conflict
2023-03-13 19:09:34 +08:00
jonas
aaba21c938
[fix]避免字符设备特殊控制指令和通用控制指令冲突
2023-02-21 23:43:37 -05:00
wangxiaoyao
484a0d602e
[fixup] add cache maintenance ops;
...
fix bugs on cache maintenance when starting user app
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
bin
4d6ceffcab
[doxygen] Fix some comments in rtservice.h
2023-02-01 22:31:57 -05:00
螺丝松掉的人
3a5d1c17a1
Add the comment of number_mask ( #6873 )
2023-01-21 22:47:05 +08: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
bernard
79b93c2199
[dbg] add dlog macro
2023-01-05 21:36:24 +08: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
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
Shell
e991be9c51
[smart][risc-v/libcpu] port rv64 cpu code ( #6704 )
...
* [risc-v/libcpu] porting Smart & RTOS
* [fix] rv64 plic
* [risc-v/rv64] remove macro in rtdef
2022-12-10 22:16:42 +08: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)
bdd663a33f
[libc][musl] support arm-linux-musleabi toolchain
...
目前基本功能已经可以在QEMU上跑起来,但是pthread和内核signal选中会报冲突。先合并一版本,后续解决这些问题。
2022-11-22 21:40:50 -05:00
Bernard Xiong
79e298147b
Merge pull request #6523 from BernardXiong/nested_mutex
...
[Kernel] Add nested mutex feature
2022-11-06 08:59:12 +08:00
Man, Jianting (Meco)
c06c4075f2
Update rtdef.h
2022-10-25 23:45:25 -04:00
Man, Jianting (Meco)
055267f049
[compiler] 增加SConscript依赖标志 AddDepend ( #6534 )
...
* [compiler] 增加SConscript依赖标志 AddDepend
* RT_USING_NEWLIB->RT_USING_NEWLIBC RT_USING_ARM_LIBC->RT_USING_ARMLIBC
* 删除过时的板载测试例程
* [gd32] 移除无用的反汇编文件
* [bsp]移除老旧bsp中对RT_USING_NEWLIBC的手动宏定义
2022-10-25 00:01:37 -04:00
Yunjie Gu
8fa9fde43a
[bsp][c28x] add support to not disable global interrupt in context-switch to enable zero-latency isr for critical interrupts.
2022-10-19 23:41:13 -04:00
Bernard Xiong
6823a5110b
[Kernel] Add prioceiling feature in mutex
2022-10-16 17:58:51 +08:00
Bernard Xiong
34c77da153
[Kernel] Add nested mutex feature
2022-10-15 16:19:13 +08:00
Meco Man
981e721c3b
[kernel] add rt_ssize_t data structure
2022-09-16 17:26:07 +08:00
lpy
ba4ffc2094
A comment has been added ( #6398 )
2022-09-09 10:52:02 -04:00
Meco Man
ce16945cba
[kernel][version] 采用新的版本宏定义
...
版本控制规范:https://semver.org/
目前的版本子号不是很规范,其中RT_VERSION甚至和VS那边造成了冲突
```c
/* RT-Thread version information */
#define RT_VERSION 4L /**< major version number */
#define RT_SUBVERSION 1L /**< minor version number */
#define RT_REVISION 1L /**< revise version number */
```
参考ESP32:
```c
/** Major version number (X.x.x) */
#define ESP_ARDUINO_VERSION_MAJOR 2
/** Minor version number (x.X.x) */
#define ESP_ARDUINO_VERSION_MINOR 0
/** Patch version number (x.x.X) */
#define ESP_ARDUINO_VERSION_PATCH 3
```
建议改成:
```c
/* Major version number (X.x.x) */
#define RT_VERSION_MAJOR 4
/* Minor version number (x.X.x) */
#define RT_VERSION_MINOR 2
/* Patch version number (x.x.X) */
#define RT_VERSION_PATCH 0
```
2022-09-07 10:11:45 -04:00
YuQi
b11cb41ae7
tms320f28379d fix init ( #6343 )
...
解决 tms320f28379d bsp 启动的问题。主要改动如下。
修正context.s中汇编代码错误。在旧版的代码中,操作数为32位而汇编命令却使用了针对16位数据的命令MOV,导致程序在某些情况无法正常启动线程。
由于C28x的平台下,SP只支持16bit寻址,所以用于线程空间存放的heap以及ebss段都需要放在低16位的空间,针对这个问题修改了CMD文件。此外还增加基于CMD文件基于RAM的支持,方便调试。
新增rtdef.h中RT_SECTION,RT_USED,ALIGN和RT_WEAK的定义。旧版bsp中这些定义为空,导致INIT_EXPORT注册的函数失效。
修改程序启动代码,在程序入口直接调用原生启动代码
以上改动在LAUNCHXL-F28379D 通过了测试。
2022-08-29 15:35:23 -04:00
Man, Jianting (Meco)
7d58cf1644
change version number to v5.0.0 ( #6291 )
2022-08-28 23:28:30 +08:00
xiangxistu
e61d05ca1a
[fix] the risk for function exit() when open pthread support. ( #6229 )
...
* [fix] the risk for function exit() when open pthread support.
* [update] modify annotation from "user data" to "pthread_data".
2022-08-07 23:16:17 -04:00
thewon86
9359ab4fa8
add version check ( #5850 )
2022-07-04 09:43:08 +08:00
Meco Man
9623706eff
Revert "解决将RT_NULL当做数字0使用的问题"
...
This reverts commit 6a05ddf63d
.
2022-07-01 15:51:28 +08:00
Meco Man
a714c65cfe
[kernel] 统一kernel内置rt_xxx的libc和标准libc库,防止割裂越来越大
2022-07-01 11:39:28 +08:00
a1012112796
697bf139b2
[enhancement] Add string information for error ( #3186 )
...
* [enhancement]Add string information for error
* Update src/kservice.c
* Update src/kservice.c
Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
* remove %m
Signed-off-by: a1012112796 <1012112796@qq.com>
Co-authored-by: Meco Man <920369182@qq.com>
2022-06-29 14:21:21 +08:00
Judd
9429b0f02a
be friendly to macro expansion ( #6101 )
2022-06-25 00:27:11 +08:00
Meco Man
99a1c36f02
attach: remove strnlen #6026
2022-06-08 14:45:10 +08:00
Man, Jianting (Meco)
fb3f835089
[libc] remove strdup from rtthread.h ( #6026 )
...
add __STDC_LIMIT_MACROS macro in Keil
add RT_USING_LIBC in simulator
add _DLIB_ADD_EXTRA_SYMBOLS=0 in IAR
2022-06-04 17:02:35 +08:00
rewine
a638a879fb
[include] fix comment for rt_container_of
2022-05-25 10:04:55 +08:00
Man, Jianting (Meco)
c147ff417c
[rtdef][libc] solve the conflicts between libc data types and rtdef data types ( #5961 )
2022-05-19 10:35:32 +08:00
Man, Jianting (Meco)
62d2403ebe
[kernel] beautify code ( #5890 )
2022-04-29 08:59:53 +08:00
Man, Jianting (Meco)
41631fe712
modify version to v4.1.1 ( #5847 )
2022-04-20 15:31:51 +08:00
Meco Man
5e9f525c41
[kernel] enable RT_DEBUG_DEVICE by default and move weak rt_hw_dealy_us in kservice.c
2022-04-19 11:26:41 +08:00
Man, Jianting (Meco)
11344b89d9
attach #5815 ( #5818 )
2022-04-15 17:08:44 +08:00