Commit Graph

38 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) 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
马志远 221da7f464 Remove C Style Command Shell 2021-08-23 17:30:05 +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
Meco Man 1ce2065660 [libc][armlibc] add multithreaded protection 2021-02-25 09:14:19 +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
Meco Man 9f5878b2fb update 2021-02-17 00:18:49 +08:00
Meco Man e927a53b41 精简exit abort system函数 2021-02-17 00:02:28 +08:00
Meco Man c4d11f52dd update 2021-02-14 18:47:48 +08:00
Meco Man bb35f07bf2 implement _sys_tmpnam() 2021-02-14 18:46:55 +08:00