Commit Graph

114 Commits

Author SHA1 Message Date
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
Aligagago 250b3cbc16 使用 AStyle.exe 统一代码格式 2022-07-27 11:45:29 +08:00
Man, Jianting (Meco) d5afcd7f0d
fix the error return (#6097) 2022-06-22 11:51:49 +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
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) 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
Man, Jianting (Meco) 5ec00a5a1d
[dmodule] 补充头文件 (#5602)
* add references

* [dmodule] add <fcntl.h>
2022-02-17 12:34:48 +08:00
Man, Jianting (Meco) c89735a357
[libdl] move libdl to posix folder (#5523) 2022-01-20 20:55:31 +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 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
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 7b1f65a690 [libc][keil] fix the bug of _sys_read and _sys_write 2021-12-01 02:19:15 -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
Meco Man 4fe93881b0 [dlib][armlibc] 内存函数在HEAP没有开启时增加错误警告 2021-11-15 09:55:47 -05:00
Meco Man 3a3b7ee632 完善IAR KEIL的read write桩函数 2021-11-12 16:47:32 -05:00
Meco Man f8388c572e add RT_USING_POSIX_STDIO 2021-11-07 23:41:16 -05: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 a9910a780e [posix][libc] 优化libc中posix结构 2021-10-26 23:09:54 -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
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 c80688126a [libc] 优化system 支持gcc 2021-09-27 22:20:21 -04:00
Meco Man 0a799653df [libc][syscalls]将在libc初始化之前调用printf的行为下调为警告级别 2021-09-27 07:49:25 -04:00
Meco Man 86bb54fde6 [libc][syscalls] 在标准输入输出前加校验,反正在libc初始化之前调用printf出问题 2021-09-27 06:51:40 -04:00
Meco Man c8c632512a [libc][syscall]移除libc_stdio_read/write函数,优化syscall 2021-09-21 12:51:26 -04:00
Meco Man b5c31a9878 [libc] 修复keil编译不过的问题 2021-09-11 08:45:06 -04:00
马志远 221da7f464 Remove C Style Command Shell 2021-08-23 17:30:05 +08:00
Meco Man 926cd86589 remove dlib and armlibc sys folder 2021-04-18 01:36:35 +08:00
Meco Man 9d401ea8b0 重新整理libc重复共用文件,创建common_for_all 和 common_for_keiliar 2021-04-18 00:51:07 +08:00
Meco Man 9d17aa7ce5 [libc][ioctl] 将sys/ioctl.h移至common文件夹 2021-03-17 02:37:42 +08:00
Bernard Xiong b12615f344
Merge pull request #4427 from mysterywolf/components
[components] auto & manual formatted
2021-03-16 13:53:54 +08:00
Meco Man 9952042b0c remove inherent mutex protect 2021-03-09 11:33:22 +08:00
Meco Man 3c05a4e719 [compoenets] auto & manual formatted 2021-03-08 18:19:04 +08:00
Bernard Xiong 2bf53d315d
Merge pull request #4369 from mysterywolf/removeminilibc
[libc]移除minilibc 并将其职能并入newlibc中
2021-02-27 09:12:45 +08:00
Meco Man 1ce2065660 [libc][armlibc] add multithreaded protection 2021-02-25 09:14:19 +08:00
Meco Man b2d3317c6a remove minilibc 2021-02-23 03:21:16 +08:00
Meco Man 19ef112016 improve and beautify syscalls 2021-02-21 18:20:45 +08:00
Meco Man c13c00e45c update 2021-02-21 18:01:29 +08:00
Meco Man d06420e1d7 implement getuid and getpid 2021-02-21 17:25:36 +08:00
Bernard Xiong 4094b0e398
Merge pull request #4358 from mysterywolf/master
[libc] 优化abort函数
2021-02-20 12:15:49 +08:00
Bernard Xiong b204651517
Merge pull request #4333 from mysterywolf/pthread
[pthread][libc][time] 修改pthread与libc的时间函数若干问题
2021-02-20 12:12:56 +08:00
Meco Man eaa3454bbe 优化abort函数 2021-02-20 11:31:58 +08:00
Meco Man 263d856fa4 update 2021-02-17 23:50:12 +08:00