summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig1
-rw-r--r--bsp/stm32/stm32l475-atk-pandora/board/Kconfig2
-rw-r--r--components/cplusplus/Kconfig2
-rw-r--r--components/drivers/src/pipe.c4
-rw-r--r--components/libc/Kconfig57
-rw-r--r--components/libc/compilers/armlibc/syscalls.c16
-rw-r--r--components/libc/posix/Kconfig58
-rw-r--r--components/utilities/ymodem/ry_sy.c4
8 files changed, 80 insertions, 64 deletions
diff --git a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig
index a73ae472d7..94669d3736 100644
--- a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig
+++ b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig
@@ -137,7 +137,6 @@ menu "On-chip Peripheral Drivers"
select RT_USING_SDIO
select RT_USING_DFS
select RT_USING_DFS_ELMFAT
- select RT_USING_LIBC
select RT_LIBC_USING_TIME
default y
diff --git a/bsp/stm32/stm32l475-atk-pandora/board/Kconfig b/bsp/stm32/stm32l475-atk-pandora/board/Kconfig
index d71766c5d1..d4ea946684 100644
--- a/bsp/stm32/stm32l475-atk-pandora/board/Kconfig
+++ b/bsp/stm32/stm32l475-atk-pandora/board/Kconfig
@@ -137,8 +137,8 @@ menu "Onboard Peripheral Drivers"
select RT_WLAN_PROT_LWIP_PBUF_FORCE
select RT_USING_LWIP
select RT_USING_LIBC
- select RT_USING_POSIX
select RT_USING_DFS
+ select DFS_USING_POSIX
select PKG_USING_FAL
select PKG_USING_EASYFLASH
select RT_USING_WIFI_6181_LIB
diff --git a/components/cplusplus/Kconfig b/components/cplusplus/Kconfig
index dfab433da0..42b5cf9556 100644
--- a/components/cplusplus/Kconfig
+++ b/components/cplusplus/Kconfig
@@ -10,7 +10,7 @@ if RT_USING_CPLUSPLUS
bool "Enable c++11 threading feature support"
default n
select RT_USING_LIBC
- select RT_USING_DFS
+ select RT_LIBC_USING_FILEIO
select RT_USING_PTHREADS
select RT_USING_RTC
diff --git a/components/drivers/src/pipe.c b/components/drivers/src/pipe.c
index 1d803e9a4c..89b544bc4e 100644
--- a/components/drivers/src/pipe.c
+++ b/components/drivers/src/pipe.c
@@ -439,7 +439,7 @@ const static struct rt_device_ops pipe_ops =
rt_pipe_write,
rt_pipe_control,
};
-#endif
+#endif /* RT_USING_DEVICE_OPS */
rt_pipe_t *rt_pipe_create(const char *name, int bufsz)
{
@@ -481,7 +481,7 @@ rt_pipe_t *rt_pipe_create(const char *name, int bufsz)
}
#ifdef RT_USING_POSIX_DEVIO
dev->fops = (void*)&pipe_fops;
-#endif
+#endif /* RT_USING_POSIX_DEVIO */
return pipe;
}
diff --git a/components/libc/Kconfig b/components/libc/Kconfig
index dfbe73aa14..69f8e1ae36 100644
--- a/components/libc/Kconfig
+++ b/components/libc/Kconfig
@@ -1,7 +1,7 @@
menu "POSIX layer and C standard library"
config RT_USING_LIBC
- bool "Enable libc APIs from toolchain"
+ bool "Enable libc APIs from the toolchain"
default n
if RT_USING_LIBC
@@ -37,59 +37,6 @@ config RT_LIBC_DEFAULT_TIMEZONE
range -12 12
default 8
-config RT_USING_POSIX_FS
- bool "Enable POSIX file system, open()/read()/write()/close() etc"
- select RT_USING_DFS
- select DFS_USING_POSIX
- default n
-
-if RT_USING_POSIX_FS
- config RT_USING_POSIX_DEVIO
- bool "Enable devices as file descriptors"
- select RT_USING_DFS_DEVFS
- default n
-
- config RT_USING_POSIX_POLL
- bool "Enable poll()"
- default n
-
- config RT_USING_POSIX_SELECT
- bool "Enable select()"
- select RT_USING_POSIX_POLL
- default n
-endif
-
-config RT_USING_POSIX_DELAY
- bool "Enable delay APIs, sleep()/usleep()/msleep() etc"
- default n
-
-config RT_USING_POSIX_GETLINE
- bool "Enable getline()/getdelim()"
- select RT_USING_LIBC
- select RT_LIBC_USING_FILEIO
- default n
-
-config RT_USING_POSIX_MMAP
- bool "Enable mmap()"
- select RT_USING_POSIX_FS
- default n
-
-config RT_USING_POSIX_TERMIOS
- bool "Enable termios APIs"
- default n
-
-config RT_USING_POSIX_AIO
- bool "Enable AIO APIs"
- default n
-
-config RT_USING_PTHREADS
- bool "Enable pthreads APIs"
- default n
-
-if RT_USING_PTHREADS
- config PTHREAD_NUM_MAX
- int "Maximum number of pthreads"
- default 8
-endif
+source "$RTT_DIR/components/libc/posix/Kconfig"
endmenu
diff --git a/components/libc/compilers/armlibc/syscalls.c b/components/libc/compilers/armlibc/syscalls.c
index bfd3777193..0e965d62af 100644
--- a/components/libc/compilers/armlibc/syscalls.c
+++ b/components/libc/compilers/armlibc/syscalls.c
@@ -156,22 +156,26 @@ int _sys_read(FILEHANDLE fh, unsigned char *buf, unsigned len, int mode)
return 0; /* error, but keep going */
}
size = read(STDIN_FILENO, buf, len);
- return 0; /* success */
+ return len - size; /* success */
#else
return 0; /* error */
#endif /* RT_USING_POSIX_DEVIO */
}
else if (fh == STDOUT || fh == STDERR)
{
- return 0; /* error */
+ return -1; /* 100% error */
}
else
{
size = read(fh, buf, len);
if (size >= 0)
+ {
return len - size; /* success */
+ }
else
+ {
return 0; /* error */
+ }
}
#else
return 0; /* error */
@@ -209,16 +213,20 @@ int _sys_write(FILEHANDLE fh, const unsigned char *buf, unsigned len, int mode)
}
else if (fh == STDIN)
{
- return 0; /* error */
+ return -1; /* 100% error */
}
else
{
#ifdef DFS_USING_POSIX
size = write(fh, buf, len);
if (size >= 0)
- return 0; /* success */
+ {
+ return len - size; /* success */
+ }
else
+ {
return 0; /* error */
+ }
#else
return 0; /* error */
#endif /* DFS_USING_POSIX */
diff --git a/components/libc/posix/Kconfig b/components/libc/posix/Kconfig
new file mode 100644
index 0000000000..0afff161ff
--- /dev/null
+++ b/components/libc/posix/Kconfig
@@ -0,0 +1,58 @@
+menu "POSIX (Portable Operating System Interface) layer"
+
+config RT_USING_POSIX_FS
+ bool "Enable POSIX file system, open()/read()/write()/close() etc"
+ select RT_USING_DFS
+ select DFS_USING_POSIX
+ default n
+
+if RT_USING_POSIX_FS
+ config RT_USING_POSIX_DEVIO
+ bool "Enable devices as file descriptors"
+ select RT_USING_DFS_DEVFS
+ default n
+
+ config RT_USING_POSIX_POLL
+ bool "Enable poll()"
+ default n
+
+ config RT_USING_POSIX_SELECT
+ bool "Enable select()"
+ select RT_USING_POSIX_POLL
+ default n
+endif
+
+config RT_USING_POSIX_DELAY
+ bool "Enable delay APIs, sleep()/usleep()/msleep() etc"
+ default n
+
+config RT_USING_POSIX_GETLINE
+ bool "Enable getline()/getdelim()"
+ select RT_USING_LIBC
+ select RT_LIBC_USING_FILEIO
+ default n
+
+config RT_USING_POSIX_MMAP
+ bool "Enable mmap()"
+ select RT_USING_POSIX_FS
+ default n
+
+config RT_USING_POSIX_TERMIOS
+ bool "Enable termios APIs"
+ default n
+
+config RT_USING_POSIX_AIO
+ bool "Enable AIO APIs"
+ default n
+
+config RT_USING_PTHREADS
+ bool "Enable pthreads APIs"
+ default n
+
+if RT_USING_PTHREADS
+ config PTHREAD_NUM_MAX
+ int "Maximum number of pthreads"
+ default 8
+endif
+
+endmenu
diff --git a/components/utilities/ymodem/ry_sy.c b/components/utilities/ymodem/ry_sy.c
index caad51d6cd..3f3b022d7e 100644
--- a/components/utilities/ymodem/ry_sy.c
+++ b/components/utilities/ymodem/ry_sy.c
@@ -17,6 +17,10 @@
#include <stdlib.h>
#include <string.h>
+#ifndef DFS_USING_POSIX
+#error "Please enable DFS_USING_POSIX"
+#endif
+
struct custom_ctx
{
struct rym_ctx parent;