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
Man, Jianting (Meco)
03823b5016
[kconfig] add 64bit default value for stack size. set tick HZ as 1000 by default ( #5778 )
...
* [kconfig] add 64bit default value for stack size. set tick HZ as 1000 by default
* 用RT_KSERVICE_USING_STDLIB_MEMXXX代替RT_KSERVICE_USING_STDLIB_MEMCP/MEMSET
将RT_KSERVICE_USING_STDLIB设置为默认开启
* 优化rt_kprintf支持longlong的能力,默认在64位CPU为开启状态
RT_PRINTF_LONGLONG命名不规范,更改为RT_KPRINTF_USING_LONGLONG
* fix commit error
* fix error
* 优化 system 函数
* RT_KSERVICE_USING_STDLIB_MEMXXX->RT_KSERVICE_USING_STDLIB_MEMORY
2022-04-09 00:40:36 +08:00
Tangyuxin
da3d61e043
[device]Detailed classification of devices types ( #5769 )
2022-04-06 21:12:39 +08:00
Tangyuxin
78ac851c31
[rtdef] Add BGR888 pixel format ( #5765 )
2022-04-03 14:40:59 +08:00
guo
b2e2ab28e5
[update] Fix some spelling mistakes. ( #5738 )
2022-03-29 21:29:08 +08:00
GUI
f587a55bc2
[libcpu/aarch64] add gicv3 support and bsp/rockchip/rk3568 ( #5722 )
...
* [libcpu/aarch64] add smp support
* [libcpu/aarch64] rt_hw_trap_irq get irq instead of iar when using gicv2
* [libcpu/aarch64] disable irq/fiq when switch thread
* [libcpu/aarch64] add gtimer frq set and stack align
* [libcpu/aarch64] add gicv3 support and bsp/rockchip/rk3568
2022-03-29 11:08:25 +08:00
Meco Man
6cf3256d4c
[device.c] fix the comment, add RT_DEBUG_LOG
2022-03-27 23:19:25 -04:00
Wayne
a65e6d1613
Nuvoton drivers updating and more LVGL supporting. ( #5647 )
2022-03-12 07:00:53 +08:00
张世争
7746d288d7
优化bsp/simulator自动初始化 ( #5634 )
2022-03-08 12:03:41 +08:00
tyustli
5178e7ec0b
[add] src/clock.c add hook for rt_tick_increase ( #5569 )
...
* [add] src/clock.c add hook for rt_tick_increase
* [fix] clock.c rt_tick_incerase hook function
* Update clock.c
Co-authored-by: guo <guozhanxin@rt-thread.com>
2022-02-13 14:50:51 +08:00
guo
580194f5f0
Merge pull request #4740 from Guozhanxin/scheduler_check
2022-01-28 16:38:32 +08:00
Meco Man
e9fac0c012
remove outdated comment
2022-01-28 01:48:41 -05:00
Henson
500d26c257
optimize code
2022-01-26 21:39:06 +08:00
guozhanxin
9b44535740
add RT_DEBUG_SCHEDULER_AVAILABLE check
2022-01-26 16:03:31 +08:00