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
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
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
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
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
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
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
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
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)
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
Man, Jianting (Meco)
ee10516544
[libc] fix a typo ( #5689 )
2022-03-21 08:57:36 +08:00
Man, Jianting (Meco)
5ec00a5a1d
[dmodule] 补充头文件 ( #5602 )
...
* add references
* [dmodule] add <fcntl.h>
2022-02-17 12:34:48 +08:00
liuxianliang
11d83225d6
[remove] useless variable.
2022-01-24 14:42:22 +08:00
Man, Jianting (Meco)
31c3214faf
[posix][io]整理posix/io文件夹 ( #5539 )
...
* [posix][io]整理posix/io文件夹
- 将select.c移入到poll文件夹
- 将libc.c移入到tty文件夹,isatty函数归并到libc.c中, termios并入tty文件夹中
- 整理Sconscript
Signed-off-by: Meco Man <920369182@qq.com>
* [libc][newlib]调整文件夹结构
2022-01-24 09:16:57 +08:00
Man, Jianting (Meco)
c89735a357
[libdl] move libdl to posix folder ( #5523 )
2022-01-20 20:55: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
add72f1d7c
[dfs][posix] add creat()
2022-01-20 20:50:24 +08:00
Man, Jianting (Meco)
c3162f373f
[libc][lwip] 修复ioctl与lwip socket定义冲突的问题 ( #5504 )
...
* [lwip] 修复ioctl与lwip socket定义冲突的问题
* format sys/ioctl.h
2022-01-17 11:21:39 +08:00
Meco Man
76cab376ad
[libc] 调整文件结构
2022-01-17 11:18:09 +08:00
Meco Man
8213bbd92e
update
2022-01-14 23:09:32 +08:00
liukangcc
3d2e23ec1c
[update] move dfs_posix.h to legacy/dfs/dfs_posix.h
2022-01-14 23:09:32 +08:00
Man, Jianting (Meco)
bb1084556f
[console] 解决在没有定义RT_USING_DEVICE的情况下使用device报错的问题
...
* [console] 解决在没有定义RT_USING_DEVICE的情况下使用device报错的问题
* format codes
* [libc] 整理格式
* refresh projects
2022-01-09 00:20:32 +08:00
Meco Man
29c19f7ffd
[libc] 优化nanosleep函数
2022-01-08 15:46:52 +08:00
Meco Man
8565fe2448
[simulator] 消除vs下的警告
2022-01-08 15:46:52 +08:00
Meco Man
e6fd3ffcd9
[libc]修理一些细节问题
2022-01-05 23:12:41 +08:00
Meco Man
918ee6147c
add RT_USING_POSIX_STDIO
2022-01-05 23:11:58 +08:00
guo
126f80e2e6
Merge pull request #5469 from mysterywolf/simulator
2022-01-04 18:53:26 +08:00
Meco Man
ee93914d78
[libc] 处理在win32平台下的编译问题
2022-01-03 13:33:03 -05:00
Meco Man
5187d75af5
[armclang] 使用__clang__代替__CLANG_ARM
2021-12-29 14:15:38 -05:00
Meco Man
85276f4535
[libc] 删除compiler_private.c文件
2021-12-30 01:27:25 +08:00
Meco Man
c8dcf7cc68
[libc]rename group name
2021-12-30 01:27:25 +08:00
Meco Man
ed09f38012
[libc] remove RT_USING_LIBC
2021-12-30 01:27:25 +08:00
Meco Man
29b73ecb6f
[newlib] 处理newlib版本不一致导致的问题
2021-12-29 12:10:02 +08:00
Man, Jianting (Meco)
ed1f8b3f64
Revert "add clang-arm support."
...
This reverts commit a5f6fdc780
.
2021-12-22 18:57:16 -05:00
guozhanxin
acc62c1e3d
【修复】armclang cpp11 内存泄漏及编译警告问题
2021-12-22 13:04:35 +08:00
guozhanxin
a5f6fdc780
add clang-arm support.
2021-12-22 13:03:05 +08:00
Man, Jianting (Meco)
6369e89502
[posix] POSIX standard implementation for PSE51 ( #5384 )
...
* [posix] POSIX standard implementation for PSE51
- add some posix's interfaces that we haven't before.
- these PR have passed the interface definition test across gcc platfrom;
- have tested base on qemu-a9 and stm32h750-art-pi.
* [newlib] only enable POSIX.1-1990
* update projects
2021-12-17 15:34:17 +08:00
Meco Man
15435b6850
[posix][mmap] create the mman folder
2021-12-14 06:12:04 +08:00
Meco Man
67e14adc4f
[posix] 按照高级unix环境编程整理IO类别
2021-12-05 23:07:41 -05:00
Meco Man
7b1f65a690
[libc][keil] fix the bug of _sys_read and _sys_write
2021-12-01 02:19:15 -05:00
Meco Man
7973ede5a8
增加RT_USING_POSIX_FS
2021-11-29 00:53:46 -05:00
Meco Man
7c789d4b11
revise some RT_USING_POSIX to RT_USING_POSIX_DEVIO
2021-11-24 09:47:55 -05:00
Meco Man
a3284876ff
revise RT_USING_POSIX_STDIO to RT_USING_POSIX_DEVIO
2021-11-24 08:41:10 -05:00
Meco Man
973f25901c
[dfs] move dfs back
2021-11-16 00:57:56 -05:00
Bernard Xiong
0bcab2892a
Merge pull request #5268 from mysterywolf/SYSCALL
...
[libc]重新梳理read write桩函数实现
2021-11-15 23:27:27 +08:00
Meco Man
4fe93881b0
[dlib][armlibc] 内存函数在HEAP没有开启时增加错误警告
2021-11-15 09:55:47 -05:00
Meco Man
9254d1a3af
[iar][syscalls] 补充注释
2021-11-13 10:16:31 -05:00
Meco Man
215d1d4c6e
[libc][kconfig] update Kconfig
2021-11-13 00:17:16 -05:00
Meco Man
3a3b7ee632
完善IAR KEIL的read write桩函数
2021-11-12 16:47:32 -05:00
Meco Man
cb8d5c5d9d
[libc][gcc] 重新梳理fread fwrite桩函数实现
2021-11-10 18:33:43 -05:00
Meco Man
09666e6b99
[libc] 修复在fcntl.h中两种不同的宏编码方式导致的bug
2021-11-10 17:16:33 -05:00
Jianting (Meco) Man
1a9729f45e
[libc][posix] add readme
2021-11-08 14:15:56 -05:00
Meco Man
f8388c572e
add RT_USING_POSIX_STDIO
2021-11-07 23:41:16 -05:00
Meco Man
3c232125db
[bsp][simulator] update project
2021-10-29 09:59:45 -04:00
Meco Man
7b43cf9793
[libc][posix] move libc.c/.h to posix folder
2021-10-28 02:54:45 -04:00
Meco Man
4b9fb8f39c
[libc] 消除代码中依赖于RT_LIBC_USING_FILEIO的判断
2021-10-27 21:50:17 -04:00
Meco Man
25bd908fb7
[libc][posix] 解决RT_LIBC_USING_FILEIO范围过大的问题
2021-10-27 03:04:05 -04:00
Meco Man
a9910a780e
[posix][libc] 优化libc中posix结构
2021-10-26 23:09:54 -04:00
guo
50bb6e33d1
Merge pull request #5212 from mysterywolf/posix
...
[posix][dfs] move dfs_posix dfs_poll dfs_select.c to posix folder
2021-10-26 09:37:43 +08:00
Meco Man
7f619606a1
[stm32l475] improve the structrue of sconscript
2021-10-24 16:21:21 -04:00
Meco Man
f7548b934e
[posix][dfs] move dfs_posix dfs_poll dfs_select.c to posix folder
2021-10-21 19:05:53 -04:00
Jianting (Meco) Man
8c01acc667
Revert "[libc]&[dfs] remove unnecessary RT_USING_POSIX and RT_USING_DFS_DEVFS"
2021-10-14 20:11:01 -04:00
guo
1f28bd89f8
Merge pull request #5174 from mysterywolf/timewarning
...
[libc][time] Ensure the data types are consistent
2021-10-14 13:35:50 +08:00
guo
78db48ba78
Merge pull request #5169 from mysterywolf/libc
...
[libc]&[dfs] remove unnecessary RT_USING_POSIX and RT_USING_DFS_DEVFS
2021-10-14 12:00:15 +08:00
Meco Man
396b7da6fd
[libc][time] Ensure the data types are consistent
2021-10-13 23:24:17 -04:00
Meco Man
8f6260146c
[libc][win32] improve win32 support
2021-10-13 15:29:01 -04:00
Meco Man
a354f846e8
[libc]&[dfs] remove unnecessary RT_USING_POSIX and RT_USING_DFS_DEVFS
2021-10-13 15:21:41 -04:00
Meco Man
b6c2368bef
[libc][keil] remove libc_stdio_read() in __MICROLIB
2021-10-12 23:06:19 -04:00
Meco Man
11d193ea9b
[libc][newlib]在不开启libc的情况下,依然定义RT_USING_NEWLIB和数学库
2021-10-05 10:35:27 -04:00
armink
75e0ec124f
[components][time] Revert the old code.
2021-09-29 18:19:13 +08:00
armink
ff0b6d241b
[DeviceDriver][RTC] Remove RT_DEVICE_CTRL_RTC_GET_TIME_US and RT_DEVICE_CTRL_RTC_SET_TIME_US. Add RT_DEVICE_CTRL_RTC_GET_TIMEVAL and RT_DEVICE_CTRL_RTC_SET_TIMEVAL. The RT_DEVICE_CTRL_RTC_GET_TIMEVAL cmd can get second time and microsecond time.
2021-09-29 17:12:27 +08:00