Rain Park
c4002dea9f
[doxygen][libc] Add some comments for posix pthread functions ( #7467 )
...
Signed-off-by: Rain Park <1162678210@qq.com>
2023-05-10 14:01:33 +08:00
zhkag
3419e591da
[libc] redirecting header sys/ioctl to bits/ioctl
2023-05-05 19:29:38 -04:00
zhkag
a6a9b0dfcb
[components][posix] 完善 posix 接口消息队列 ( #7395 )
2023-05-05 18:14:07 +08:00
Man, Jianting (Meco)
d580042145
[libc] support external third pary libc software package ( #7425 )
2023-04-30 12:19:57 +08:00
zouziyu2002
ce4674defa
[HUST CSE] add forced type conversion when using 'realloc','malloc','calloc' for better readability
2023-04-28 15:55:28 +01:00
xqyjlj
fd1413d29b
🎈 perf(components/libc/compilers/common/ctime.c): if define cputime, then CLOCK_REALTIME use cputime ( #7343 )
2023-04-22 09:09:40 +08:00
xqyjlj
970c7c6f7a
🐞 fix(components/drivers): fix cpu timer in multithreading ( #7222 )
...
* 🐞 fix(components/drivers): fix cpu timer in multithreading
* 🎈 perf(components): change double to uint64_t
* 🎈 perf(components): add UL suffix
2023-04-13 16:00:19 +08:00
Bernard Xiong
9600b75b55
[DFS] prepare for dfs_v2.0 ( #7200 )
...
* [DFS] prepare for dfs_v2. dfs_fd -> dfs_file; dfs_fnode -> dfs_vnode.
* [BSP] fix code analysis warning
* [smart] fix the pointer overflow.
* code format
* [smart] fix the lwp->lwp_obj checking.
2023-04-08 22:25:51 +08:00
Shicheng Chu
93f3cb30e4
[kernel] 将rt_thread结构体改为显式继承rt_object ( #7131 )
2023-04-04 09:06:27 -04:00
Lei Peng
517b5eb016
[libc][ctime] stime clear tv.tv_usec as zero
...
when using stime set rtc time, tv.tv_usec not 0,but always is 0xdeadbeef, make set time error
2023-03-30 23:57:19 -04:00
xqyjlj
cd1e0a7901
✨ feat(components): add statfs, statfs64, fstatfs, fstatfs64 support
2023-03-31 10:56:37 +08:00
xqyjlj
157dc0959c
✨ feat(components): add uname support
2023-03-31 10:56:37 +08:00
chinky
b9f5bf7d91
[libc]优化usleep函数
2023-03-30 00:41:13 -04:00
wangfuan
19f311b498
[libc][delay] fix wrong usleep function
2023-03-27 13:06:12 -04:00
geniusgogo
ab7ab19be5
fixed ctime timer_delete timerid parameter check. ( #6977 )
...
* fixed ctime timer_delete timerid parameter check.
2023-02-27 09:59:45 +08:00
wangxiaoyao
1c2daeafdc
[fix] typo
2023-02-21 08:48:49 +08:00
wangxiaoyao
f84d89b0ca
[libc] including musl signal.h with _POSIX_SOURCE
2023-02-21 08:48:49 +08:00
zhkag
0f85648cfb
Improve timer accuracy and realize ( #6926 )
...
* add cputimer frame
* add cputime sleep
* ctime use cputime
* Processing cputime has no timeout function
* Migration cputime Code
* formatting file
* 整理代码
* add document copyright information
* 改 cputime_timer 为 cputimer
* 简化 _cputimer_list 初始化
* rt_cputimer_create -> rt_cputimer_init
* Remove RT_USING_CPUTIME and code cleanup.
* Remove RT_USING_CPUTIME in cputimer.c
* Set set_next_timeout as static function.
---------
Co-authored-by: Bernard Xiong <bernard.xiong@gmail.com>
2023-02-15 20:46:22 +08:00
guozhanxin
03bcd0701c
[ci] fix build error.
2023-02-13 10:56:17 +08:00
zhkag
657cbfdac7
修复编译警告
2023-02-09 15:21:17 +08:00
zhkag
f4e9ec82bb
修复纳秒微妙混用转换错误
2023-02-07 15:48:47 +08:00
zhkag
bdd6811230
移除无用代码
2023-02-07 13:49:03 +08:00
zhkag
edd9c6721f
add timer lock
2023-02-07 13:49:03 +08:00
zhkag
7a1ad00aac
update timer
2023-02-07 13:49:03 +08:00
xieyangrun
21472e3ff0
fix cputime and ctime.
2023-01-10 10:03:35 +08:00
Meco Man
9bc68d26a4
format Kconfig and sconscript
2023-01-08 22:52:13 -05:00
zhkag
7f9ccd3c80
格式化代码
2023-01-09 09:32:07 +08:00
zhkag
e6ce21e4b5
更新 mq_setattr
2023-01-09 09:32:07 +08:00
zhkag
dcaa0c166d
【更新】 消息队列存在时,使用 O_CREAT 不应创建新的消息队列
2023-01-09 09:32:07 +08:00
zhkag
1730874cd8
简单赋值防止数据被优化
2023-01-09 09:32:07 +08:00
zhkag
a15a5b19a4
修复 mq_timedreceive 中 mq_timedreceive 为空时断言
2023-01-09 09:32:07 +08:00
zhkag
0c3a705482
修改 mq 句柄偏移
2023-01-09 09:32:07 +08:00
Man, Jianting (Meco)
5ca410bb4b
Update signal.h
2023-01-04 13:59:22 +08:00
wangxiaoyao
6a25a68be6
[libc] redirecting header sys/signal to signal
2023-01-04 13:59:22 +08:00
Meco Man
e97ba95f71
[libc][unistd.h] define F_OK
2023-01-02 15:01:20 -05:00
Meco Man
4ce39dd744
[libc][time] 修正POSIX 时间相关函数返回值错误
2022-12-29 20:23:33 -05:00
Bernard Xiong
8a71ae75ad
[BSP][smart] fix link script for smart in vexpress-a9 ( #6764 )
2022-12-29 15:18:36 +08:00
bernard
1f092da9e0
fix compiling warning.
2022-12-26 14:24:26 +08:00
Yaochenger
0df51b8aa9
[components][libc] 在rv32下编译时cstring.c中的strtok_r函数与libc.a中的strtok_r重定义,添加rt_weak
2022-12-18 23:38:41 -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
zhkag
2e488e0440
[rt-smart]同步 gitee nanosleep 修复 ( #6710 )
2022-12-08 10:02:40 -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
wdfk-prog
cef57d006d
[armlibc] 修复AC6更新至6.19后_sys_tmpnam()函数编译报错 ( #6647 )
...
* [armlibc] 修复AC6更新至6.19后_sys_tmpnam()函数编译报错
Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-11-24 00:12:48 -05:00
Meco Man
3e2beebe43
[libc][musl]解决signal.h报错的问题
2022-11-22 22:18:26 -05:00
Man, Jianting (Meco)
bdd663a33f
[libc][musl] support arm-linux-musleabi toolchain
...
目前基本功能已经可以在QEMU上跑起来,但是pthread和内核signal选中会报冲突。先合并一版本,后续解决这些问题。
2022-11-22 21:40:50 -05:00
Meco Man
721c08dc61
[libc][time] 解决部分编译平台CLOCKS_PER_SEC无法被重新定义的问题
2022-10-28 18:13:15 -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
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
Meco Man
981e721c3b
[kernel] add rt_ssize_t data structure
2022-09-16 17:26:07 +08:00
Meco Man
b04076d8aa
[armlibc] solve the compiling error
...
report in #6300
2022-08-17 23:48:05 -04:00
Meco Man
dd94198bd6
[gcc][armcc][armclang] rtconfig.CROSS_TOOL->rtconfig.PLATFORM
2022-08-16 09:39:00 +08:00
Meco Man
bd33d37bc4
该问题在Keil-MDK中没有一个太好的解决方案。本PR为权衡利弊之后得到的一套解决方案。Keil曾经提供了底层桩函数_sys_ensure,但是目前已经被废弃。因此唯一的解决方案就是每写完一句,就调用fsync去同步一次。
...
该问题在mbedos社区也进行过讨论,他们也面临和我们相同的两个问题:
1. Keil-MDK无有效的fflush解决方案,mbedos依然在使用淘汰的_sys_ensure桩函数。
2. Keil-MDK没有fileno函数,我方少部分软件包因此而无法使用Keil平台编译。
参考:https://github.com/ARMmbed/mbed-os/issues/1601
issue: https://github.com/RT-Thread/rt-thread/issues/4928
经过进一步测试发现,Keil-MDK中的fflush函数已经退化成服务于STDOUT的函数,Keil-MDK内部有一个buffer可以存放fputc(stdout) 发过来的数据,如果调用fflush,这些数据是可以flush出去的。但是如果是真正的文件数据,fflush函数并没有提供任何桩函数接口可以让文件flush数据出去。
2022-08-16 09:37:24 +08:00
Man, Jianting (Meco)
8da744a750
[exit] 修复_exit函数条件分支未覆盖所有情况的问题 ( #6239 )
...
attach #6229
2022-08-08 17:21:29 +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
Aligagago
250b3cbc16
使用 AStyle.exe 统一代码格式
2022-07-27 11:45:29 +08:00
Meco Man
a924da830e
[libc] 修复difftime函数在IAR下的编译错误
2022-07-20 10:07:03 +08:00
liuxianliang
a305edd4db
[fix] memory leak when the value of posix semaphore is zero.
2022-07-07 16:05:49 +08:00
Meco Man
9623706eff
Revert "解决将RT_NULL当做数字0使用的问题"
...
This reverts commit 6a05ddf63d
.
2022-07-01 15:51:28 +08:00
Meco Man
6a05ddf63d
解决将RT_NULL当做数字0使用的问题
2022-07-01 11:39:28 +08:00
xiangxistu
c2cdce970d
[fix] use atomic operation to protect pthread conditional variable. ( #6113 )
...
* [fix] use atomic operation to protect pthread conditional variable.
2022-07-01 09:36:18 +08:00
Man, Jianting (Meco)
e1e1596cbd
[iar] 修复编译错误 ( #6126 )
2022-07-01 09:15:29 +08:00
Man, Jianting (Meco)
8275e90203
[libc][newlib] format ( #6104 )
2022-06-23 14:38:26 +08:00
Man, Jianting (Meco)
d5afcd7f0d
fix the error return ( #6097 )
2022-06-22 11:51:49 +08:00
Man, Jianting (Meco)
8bee7a0c23
[libc] implement extension standard C functions ( #6044 )
...
* implement extension standard C functions
2022-06-19 21:56:24 +08:00
Meco Man
c9878aacd2
[scons][iar] 将IAR的PLATFORM字段由iar调整为iccarm
...
将路径更新为IAR最新版本的路径
2022-06-09 07:01:59 +08:00
Meco Man
83b3aadaa3
[Scons][iar][iccarm] IAR统一使用iccarm作为判断条件而不是是用IDE的名字来进行判断
...
因为不确定后续IAR是否会像Keil一样内含有不同的编译工具链
此外,将判断条件改为列表方式,这样更方便后续增加其他可能的IAR编译链
2022-06-09 07:01:59 +08:00
Meco Man
50f041f5c2
[Scons] 将GCC判断条件改为列表方式,方便后续增加新的编译工具链
2022-06-09 07:01:59 +08:00
chunyexixiaoyu
37d0be3290
[libc][time] solve the problem which the os tick can be calculated wrongly because the local variable was not initialized.
2022-06-08 14:34:04 +08:00
Tangyuxin
f5c88add37
Fix compiler warnings ( #6023 )
2022-06-08 01:21:50 +08:00
gbcwbz
ecde6d2dcf
[libc][time] Fix clock_gettime for CLOCK_CPUTIME_ID ( #6029 )
2022-06-05 22:51:22 +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
Meco Man
c8c24ae7ab
[libc] revert back difftime
2022-05-25 10:05:59 +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
liuxianliang
6dd6929b8e
[fix] return "EINVAL" if "count" is zero.
2022-05-18 08:44:30 +08:00
liuxianliang
9f5a9b6bc8
[modify] the recycle logic about resource of pthread.
2022-05-18 08:44:30 +08:00
Meco Man
b793b6427a
[sal] add draft for docking winsock
2022-05-16 10:02:22 +08:00
Meco Man
19abf927d2
[simulator] avoid conflicts between winsock.h and sys/time.h
2022-05-16 10:02:22 +08:00
陈迎春
f977f07ddf
[fix] fix dlmodule compile 'SEEK_END' undeclared eror ( #5909 )
2022-05-09 09:37:17 +08:00
Man, Jianting (Meco)
6295ec108e
[kernel] remove the register keyword ( #5888 )
2022-04-29 06:34:42 +08:00
Man, Jianting (Meco)
6ce4a87492
[fcntl] create new fcntl.h file for vs ( #5860 )
...
* [fcntl] create new fcntl.h file for vs
2022-04-24 10:52:57 +08:00
Meco Man
5e8871e1a2
[iar] add CLOCKS_PER_SEC
...
https://www.iar.com/knowledge/learn/programming/using-c-standard-library-time-and-clock-functions/
2022-04-22 22:32:27 +08:00
Meco Man
2774343d97
[libc][time] 修复IAR版本判断逻辑错误
2022-04-22 22:32:27 +08:00
Man, Jianting (Meco)
43484a201d
[libc] 优化armcc armclang处理 ( #5858 )
2022-04-22 13:39:44 +08:00
guozhanxin
7a717b094e
[fix] building error.
2022-04-21 14:35:11 +08:00
thewon86
f5b0bfd3f4
uniform code writing-disable interrupt
2022-04-20 14:22:43 +08:00
Man, Jianting (Meco)
a0f8d43744
[gcc][armcc][armclang] rtconfig.CROSS_TOOL->rtconfig.PLATFORM ( #5802 )
...
* [gcc][armcc][armclang] rtconfig.CROSS_TOOL->rtconfig.PLATFORM
2022-04-20 09:56:04 +08:00
Tangyuxin
20f5d934a9
[libc][time] Fix bug ( #5831 )
2022-04-19 22:47:14 +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
tyx
87046a1abf
[libc][io] Remove definitions that are not in use
2022-04-19 11:22:58 +08:00
Meco Man
bda32cdedb
[libc] fix that some function cannot be found in unistd.h
2022-04-15 15:40:20 +08:00
Man, Jianting (Meco)
de6d7eca5a
[libc] fix the sys/select.h problem ( #5790 )
2022-04-09 08:46:18 +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
Man, Jianting (Meco)
084bb1c956
[libc] improve sconscript ( #5789 )
2022-04-08 23:15:27 +08:00
Man, Jianting (Meco)
c318dfa964
improve libc time and MSVC simulator ( #5775 )
...
- [libc] 解决由于类unix操作系统发展历史原因fcntl.h定义的标志位在不同编译器中定义不同的问题
- [simulator] 部分宏定义转为全局宏定义以确保vs内置文件可以正确配置
- [simulator] 取消自欺欺人式的警告消除处理方式
- [libc][time] 优化time相关结构体在不同编译器下的包含
2022-04-07 14:24:11 +08:00
tyx
b80f581562
[compilers] Fix c/c++ compilation warnings and errors
2022-04-06 10:27:38 +08:00
Man, Jianting (Meco)
b8bb6a4a87
[poll][select] 修复select死循环的问题 ( #5740 )
2022-03-30 10:47:05 +08:00
Man, Jianting (Meco)
be892de35a
[posix] add RT_USING_POSIX_SOCKET ( #5731 )
2022-03-29 13:39:55 +08:00
Man, Jianting (Meco)
a514b3bd16
[components][kconfig] 整理Kconfig目录名称和结构 ( #5698 )
2022-03-25 23:07:18 +08:00
Man, Jianting (Meco)
8b58577230
[ulog][rtc][time][bug] solve the interference when enable the ulog timestamp ( #5687 )
...
* [ulog] 解决ulog开启时间戳后与libc time以及rtc驱动相关函数干涉的问题
* ulog:当发生递归输出时,后续递归想要输出的内容可能会因为防范递归的判断而无法输出
因此修改输出规则,在发生递归时,采用简单的,无格式的方式直接输出。这样既保证不会发生递归输出,也可以保证递归输出的部分可以正常输出。
* [ulog] size_t->rt_size_t NULL->RT_NULL
2022-03-21 14:06:17 +08:00