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
Meco Man
2d17fe736f
[kernel] 修正复制name字段时潜在的内存踩踏问题
2022-11-14 19:20:06 -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
liangyingjian
6da7ee128b
[update]更正 RT_MEMHEAP_BSET_MODE -> RT_MEMHEAP_BEST_MODE 拼写错误。
2022-11-05 10:45:09 -04:00
Man, Jianting (Meco)
e9a2dc0e02
Update src/ipc.c
2022-10-25 23:39:03 -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
63b97db64a
[Kernel] Remove the debug definition for mutex
2022-10-17 08:01:48 +08:00
Bernard Xiong
e645c95eb8
[Kernel] Trim trailing spaces in ipc.c
2022-10-16 18:23:26 +08: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
Frank Buss
e80facfd06
remove unused code to improve speed
...
The RT_ASSERT(obj != object) line is only compiled for debug mode.
But the rt_enter/exit_critical causes the compiler not to optimize
at least these 2 calls, even if it could optimize out the whole loop,
because the rt_list_entry function has no side effect, and RT_ASSET
is a no-operation in release mode. So this patch fixes this:
- no warnings anymore
- better speed in release mode
2022-10-08 22:37:41 -04:00
Tangyuxin
ca30428cee
修复低概率终端无法输入问题 ( #6464 )
...
* [ulog] Fix the problem that the terminal cannot input
* [mem] Fix NULL pointer access
2022-09-27 11:11:29 +08:00
Tangyuxin
a4829b1c00
[fix] Fix simulator compilation warnings ( #6438 )
...
* [fix] Fix simulator compilation warnings
* Update bsp/simulator/rtconfig_project.h
Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-09-20 10:31:11 -04:00
tangyuxin
655beb3bda
[memheap] Fix the Oz optimization problem of AC6 compiler
2022-09-19 23:30:44 -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
winfenggao
cbbea1a0f5
[kservice] 增加printf格式2进制和8进制,RT_KPRINTF_USING_LONGLONG 和 RT_PRINTF_SPECIAL 做了相应处理 ( #6361 )
...
* 增加printf格式2进制和8进制,RT_KPRINTF_USING_LONGLONG 和 RT_PRINTF_SPECIAL 做了相应处理
2022-09-02 10:00:28 +08:00
Yunjie Gu
945486c29e
[kservice][ti c28x]rt_vsnprintf ( #6349 )
2022-08-31 15:30:59 -04:00
Ylne
bfa357958d
[kernel] 当tick为0时rt_thread_sleep不应该挂起线程
2022-08-31 13:57:43 +08:00
Ylne
069086ae28
[kernel] 为rt_thread_sleep添加上下文检查
2022-08-31 13:56:49 +08: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