Commit Graph

673 Commits

Author SHA1 Message Date
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
Man, Jianting (Meco) ee10516544
[libc] fix a typo (#5689) 2022-03-21 08:57:36 +08:00
xiangxistu ffae7a2612
[fix] add the header file to avoid compiler error. (#5643) 2022-03-08 11:35:11 +08:00
Man, Jianting (Meco) 5ec00a5a1d
[dmodule] 补充头文件 (#5602)
* add references

* [dmodule] add <fcntl.h>
2022-02-17 12:34:48 +08:00
Meco Man 3e59cfd70e update posix-info.txt 2022-01-25 13:40:10 +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
guo 05c30fde05
Merge pull request #5451 from mysterywolf/armcc 2022-01-04 18:46:03 +08:00
Meco Man ee93914d78 [libc] 处理在win32平台下的编译问题 2022-01-03 13:33:03 -05:00
Meco Man 09c089d511 [posix] remove getline 2021-12-31 17:06:04 +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 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 153ab5c238 update poll sconscript 2021-12-14 06:12:04 +08:00
Meco Man 15435b6850 [posix][mmap] create the mman folder 2021-12-14 06:12:04 +08:00
Meco Man ce8085befa [posix][ipc] add ipc header files 2021-12-14 06:12:04 +08:00
Meco Man 7ff976dab3 [posix] [pipe] add IPC for POSIX and add pipe for it 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 b61cc91d14 [posix] 将posix单独划分为一个Kconfig目录 2021-11-30 14:50:10 -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
Bernard Xiong 64023c38f7
Merge pull request #5283 from mysterywolf/dfs
[dfs] move dfs back
2021-11-24 17:37:03 +08:00
Meco Man df9a23c534 [mutex] use RT_IPC_FLAG_PRIO to replace RT_IPC_FLAG_FIFO 2021-11-17 15:57:15 -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
Bernard Xiong 6f297bd2aa
Merge pull request #5267 from mysterywolf/libc-fcntl.h
[libc] 修复在fcntl.h中两种不同的宏编码方式导致的bug
2021-11-15 23:18:28 +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
Meco Man 52bbd9d715 [posix] implement delay functions as RT_USING_POSIX_DELAY 2021-11-10 14:12:36 -05:00
Meco Man 219d1e20f5 move mmap to src folder 2021-11-09 22:59:31 -05:00
Jianting (Meco) Man 80750271c9
revert kconfig of pthread 2021-11-08 21:14:01 -05:00
Jianting (Meco) Man 1a9729f45e
[libc][posix] add readme 2021-11-08 14:15:56 -05:00
Meco Man aa83b929d1 select RT_USING_POSIX_STDIO for RT_LIBC_USING_FILEIO 2021-11-08 14:11:09 -05:00
Meco Man 1adcc181aa add delay.c as default 2021-11-08 10:52:37 -05:00
Meco Man f8388c572e add RT_USING_POSIX_STDIO 2021-11-07 23:41:16 -05:00
Meco Man 2639171885 add RT_USING_POSIX_DELAY 2021-11-07 21:10:29 -05:00
Jianting (Meco) Man 910961c091
Merge branch 'master' into posix 2021-11-07 20:54:16 -05:00
Meco Man 664a1d6a75 增加 RT_USING_POSIX_SELECT RT_USING_POSIX_POLL 2021-11-07 20:53:57 -05:00
Meco Man f0023fb42c 删除gettid等不符合PSE51的函数 2021-11-07 20:46:17 -05:00
Meco Man 0009d1f393 [posix]将pthread收缩到posix选项之下,将选定DFS后由DFS选定POSIX 改为选择posix后选择dfs 2021-11-06 19:32:57 -04:00