Commit Graph

480 Commits

Author SHA1 Message Date
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
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
Meco Man dd62b2b106 [kservice] 增加RT_KSERVICE_USING_STDLIB_MEMSET RT_KSERVICE_USING_STDLIB_MEMCPY 2022-01-09 00:23:18 +08: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