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
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
螺丝松掉的人
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
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
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
Judd
9429b0f02a
be friendly to macro expansion ( #6101 )
2022-06-25 00:27:11 +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
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
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
Meco Man
e9fac0c012
remove outdated comment
2022-01-28 01:48:41 -05:00
xiangxistu
075e04e344
the support for PSE51 ( #5534 )
...
* [add] the function realization of signal for posix.
* [update] the posix support for armclang.
* [add] the new macro "RT_USING_POSIX_TIMER".
* [modify] select "RT_USING_SOFT_TIMER" when use posix'timer.
* [bug] optimize the logic for the "time_xxx" functions.
* [modify] use "RT_USING_POSIX_TIMER" to protect the macro definition.
* [modify] error code when except happened.
* [delete] the "environ" is useless at this time.
2022-01-20 20:53:47 +08:00
Meco Man
211090203b
[kernel] remove RT_THREAD_BLOCK
2022-01-14 23:04:22 +08:00
Bernard Xiong
43e7186a99
Merge pull request #5443 from mysterywolf/removeinit
...
[kernel] remove .init_priority
2022-01-14 22:55:54 +08:00
guo
ac4b5e1216
Merge pull request #5503 from whj4674672/notes
...
update notes
2022-01-13 15:42:39 +08:00
Man, Jianting (Meco)
c6852aa306
Merge branch 'master' into removeinit
2022-01-10 14:25:46 -05:00
wanghaijing
2fa44bdef4
update notes
2022-01-10 18:03:00 +08:00
Gabriel Wang
844f2ef76f
Merge branch 'master' into master
2022-01-08 20:07:54 +00:00
tangyuxin
09f439bcc2
[memheap] Fix 64 bit potential risk
2022-01-08 15:50:14 +08:00
Gabriel Wang
d7b8cf81e6
move some __on_rt_xxxxx_hook from rtdef.h to dedicated c soure files
2022-01-07 23:35:44 +00:00
Gabriel Wang
b627414f67
Improving hooking methods
...
- Backward compatible with existing function-pointer based hooking method
- Using RT_USING_HOOK as an on/off switch
- Introducing a new low-overhead macro-based hooking method
2022-01-05 15:48:42 +08:00
Meco Man
5187d75af5
[armclang] 使用__clang__代替__CLANG_ARM
2021-12-29 14:15:38 -05:00
Wayne Lin
e8f4208bb2
Update LVGLv81 porting.
...
1. Add RTGRAPHIC_CTRL_PAN_DISPLAY and RTGRAPHIC_CTRL_WAIT_VSYNC control command.
2. Add calibration data of 480x272 ADC touching.
3. Add 480x272 LCD panel menu option and driver.
4. Update lv_conf.h.
2021-12-30 01:39:17 +08:00
Meco Man
1f2e93f1a3
[kernel] remove .init_priority
2021-12-27 20:34:35 -05:00
Meco Man
2c1077692b
[rtdef] 将defined(__CC_ARM) || defined(__CLANG_ARM)并为defined(__ARMCC_VERSION)
2021-12-27 00:51:22 +08:00
Meco Man
923fb0c146
[rtdef] re-implement RT_UNUSED
2021-12-27 00:51:22 +08:00
Tangyuxin
d724eed9fc
分离内存分配接口与内存分配算法 ( #5175 )
...
* [kernel][mem] Multiple instances of small memory allocation algorithm
* [kernel][mem] Change small memory management algorithm memory header flag
* [kernel][mem] Fix assertion problem
* [kernel][slab] Multiple instances of slab memory management algorithm
* [kernel][memheap] Remove rt_malloc/rt_free/rt_realloc and other related memory interfaces
* [kernel][mem] Clean up memory space of small memory management objects
* [kernel][kservice] Add memory application interface and thread protection interface
* [kernel][kservice] Fix function return value problem
* [kernel][memheap] Optimize memheaptrace print
* [kernel][memheap] Support best mode
* [kernel][memory] Remove semaphore lock
* [kernel][memheap] Add locked flag
* [kernel][memory] Support malloc memory in interrupt
* [kernel][memheap] Add 'memheapcheck' cmd
* [kernel][mem] Fix failure to request full memory
* [kernel][memheap] Fix compilation warning
* [kernel][mem] Fix mem realloc ASSERT
* [examples][testcases] Add small mem testcase
* [examples][mem_tc] Modify test memory size
* [examples][testcases] Add slab memory management algorithm test case
* [examples][testcases] fix small memory management algorithm test case
* [kernel][memory] Adjusting memory allocation algorithm object definition and interface
* [kernel][memory] Fix compilation warning
* [examples][utest] Fix mem test case
* [examples][utest] fix slab test case
* [utest][testcases] Shorten test time
* [kernel][memory] Formatting code
* [examples][utest] Adjust test run time
* [examples][utest] Formatting code
* [bsp] update all rtconfig.h
2021-12-16 16:23:58 +08:00
Meco Man
7c789d4b11
revise some RT_USING_POSIX to RT_USING_POSIX_DEVIO
2021-11-24 09:47:55 -05:00
Bernard Xiong
6a6b43fe3e
Merge pull request #5261 from mysterywolf/weak
...
[kernel] prepare to support full functional sprintf-family functions
2021-11-24 17:38:15 +08:00
Meco Man
cefc77ad11
modify rt_size_t's type
2021-11-22 19:16:11 -05:00
Meco Man
cc44316410
[master] modify version to v4.1.0
2021-11-19 17:27:43 -05:00
Meco Man
e82fe76a0f
fix rt_size_t as rt_uint32_t
2021-11-16 12:06:55 -05:00
armink
a4619732df
[DeviceDriver] Change the special device commands form 0x1X to 0x2X. It will avoid same of general device commands.
2021-09-29 17:15:40 +08:00
Bernard Xiong
8da9f78d72
[libc] remove rtlibc
2021-09-11 11:07:51 +08:00
马志远
221da7f464
Remove C Style Command Shell
2021-08-23 17:30:05 +08:00
Man, Jianting (Meco)
3e6578916f
Merge branch 'master' into security
2021-08-17 16:56:10 -05:00
lymzzyh
1e51b40d57
Add device type USBOTG to redef.h
2021-08-13 16:29:37 +08:00
Meco Man
fc094e9211
[rtlibc] remove libc_signal.h and libc_fdset.h
2021-07-21 19:42:38 +08:00
guozhanxin
40e7d5a23d
Merge remote-tracking branch 'remotes/gitee/master'
2021-07-12 10:14:20 +08:00
iysheng
a2a7f3c2d9
[components][rtc] Add RTC framework V2.0 to simplify RTC registration process
2021-07-08 22:41:06 +08:00
fenghuijie
0015af02e4
调整代码,以支持cpu usage
2021-07-05 18:33:22 +08:00
fenghuijie
e933c1f610
调整异常处理代码结构,以支持backtrace功能
2021-07-05 14:43:33 +08:00
armink
c61419b69b
Update the version number to 4.0.4
2021-05-10 09:10:54 +08:00
Meco Man
8e2a456d7a
implement set_timeval
2021-04-15 14:01:55 +08:00
armink
b027ad8b2e
[DeviceDriver] Add get/set microsecond time control command
2021-04-14 20:06:39 +08:00
tangyuxin
015418fa9b
[bsp][simulator] 支持自动初始化及用户 main 入口
2021-04-01 17:01:14 +08:00
crazt
7272da20c2
[toolchain] fix TASKING toolchain attributes .
2021-03-23 19:11:22 +08:00
crazt
2517907b48
[toolchain] TASKING toolchain attributes update.
2021-03-20 10:42:47 +08:00
Meco Man
37a9231e62
[kernel][devices] add security devices
2021-03-19 13:26:12 +08:00
Bernard Xiong
b9fca2fced
Merge pull request #4411 from yangfasheng/master
...
【更新】调整图形设备驱动相关定义
2021-03-12 08:32:46 +08:00
Meco Man
2fd265406e
[include] auto formatted
2021-03-08 17:22:21 +08:00
yangfasheng
2892faccc8
【更新】调整图形设备驱动相关定义
...
Signed-off-by: yangfasheng <yangfasheng@live.com>
2021-03-05 10:08:49 +08:00
cliff-cmc
eea0c3d74a
Add memtrace command for memheap.c
2021-02-26 11:45:19 +08:00
liruncong
f5ede64c83
[include]SECTION=>RT_SECTION(与catch2中SECTION冲突)
2021-02-09 23:25:16 +08:00
tangweikang
b1cdc3a2cb
[toolchain] Added support for the TASKING toolchain.
2021-02-07 12:06:02 +08:00
Bernard Xiong
065488e746
Merge pull request #3956 from xfwangqiang/gcc-fix
...
[Components]&&[BSP][imxrt]add ethernet configuration for imxrt1064-nxp-evk
2020-11-13 07:10:16 +08:00
mysterywolf
98f0cfbf6e
define maximum value of ipc type
2020-10-23 01:04:06 +08:00
WangQiang
502378cf93
1. 抽象了PHY的设备模型,在components中增加了PHY设备的相关代码以及KCONFIG配置和SConscript脚本
...
2. 在IMXRT的Libraries中增加了peripherals目录,用于具体型号的设备驱动相关的代码的实现,不应与MCU的平台相关,实现PHY的设备对象中的相关接口。
3. 修改了BSP中的Sconstruct文件,增加了peripherals目录的构建
4. 修改了KEIL环境的SCT文件,用于实现以太网功能
2020-10-12 19:17:00 +08:00
Meco
5e92521e0d
struct rt_device_ops 结构体增加宏定义
2020-08-10 04:35:08 +08:00
chenchaoqun
224c3224c7
[format] enumeration define two styles: define first or all.
2020-07-27 14:11:35 +08:00
Bernard Xiong
fe2e9e924e
[libc] fix 64bit issue for pthreads
2020-06-06 13:21:32 +08:00
SummerGift
e5c1183350
[optimize] stm32 uart driver
2020-03-23 15:44:54 +08:00
longtengmcu
720d8479a5
给软件定时器增加定时器工作状态查询的功能
2020-02-07 16:43:39 +08:00
Bernard Xiong
64945ba882
[Kernel] Update version number.
2019-12-20 08:24:45 +08:00
Bernard Xiong
992d3af3ae
[kernel] code and comments cleanup
2019-12-16 13:59:46 +08:00
Bernard Xiong
da7751c044
Merge pull request #3129 from jesven/fix_same_prio
...
修正相同优先级任务切换太频繁的问题
2019-11-12 22:47:18 +08:00
shaojinchun
e03ac83ad3
将yield状态置于tcb的stat位域中
2019-11-05 08:41:38 +08:00
Dryad
baeda71eaa
修复了g++编译器无法展开自动初始化宏的错误
2019-10-28 10:38:05 +08:00
shaojinchun
234af6aaa2
修正相同优先级任务切换太频繁的问题
2019-10-12 10:51:47 +08:00
shaojinchun
cb07e5fb24
开放spinlock相关函数
2019-09-27 14:38:33 +08:00
tangyuxin
e4671d2916
[kernel][ipc] add send wait support for message queue
2019-09-19 10:10:02 +08:00
Bernard Xiong
ae7a33c27c
Merge pull request #3077 from jesven/fix_mempool
...
修正rt_mp_free有可能唤醒一个错误任务指针的问题
2019-09-17 14:11:14 +08:00
shaojinchun
ae1fdc70f0
修正rt_mp_free有可能唤醒一个错误任务指针的问题
2019-09-16 16:55:40 +08:00