Browse Source

fix fs bugs,fix compile error

eason 4 years ago
parent
commit
17c438e6d1

+ 6 - 43
bsp/qemu-vexpress-a9/.config

@@ -227,6 +227,7 @@ CONFIG_RT_USING_POSIX_MMAP=y
 CONFIG_RT_USING_POSIX_TERMIOS=y
 # CONFIG_RT_USING_POSIX_GETLINE is not set
 CONFIG_RT_USING_POSIX_AIO=y
+CONFIG_RT_USING_POSIX_CLOCKTIME=y
 # CONFIG_RT_USING_MODULE is not set
 
 #
@@ -462,6 +463,7 @@ CONFIG_LWP_TID_MAX_NR=64
 # CONFIG_PKG_USING_RDB is not set
 # CONFIG_PKG_USING_QRCODE is not set
 # CONFIG_PKG_USING_ULOG_EASYFLASH is not set
+# CONFIG_PKG_USING_ULOG_FILE is not set
 # CONFIG_PKG_USING_ADBD is not set
 # CONFIG_PKG_USING_COREMARK is not set
 # CONFIG_PKG_USING_DHRYSTONE is not set
@@ -477,6 +479,7 @@ CONFIG_LWP_TID_MAX_NR=64
 # CONFIG_PKG_USING_CPU_USAGE is not set
 # CONFIG_PKG_USING_GBK2UTF8 is not set
 # CONFIG_PKG_USING_VCONSOLE is not set
+# CONFIG_PKG_USING_KDB is not set
 
 #
 # system packages
@@ -516,6 +519,7 @@ CONFIG_LWP_TID_MAX_NR=64
 # CONFIG_PKG_USING_UC_MODBUS is not set
 # CONFIG_PKG_USING_PPOOL is not set
 # CONFIG_PKG_USING_OPENAMP is not set
+# CONFIG_PKG_USING_RT_PRINTF is not set
 
 #
 # peripheral libraries and drivers
@@ -524,6 +528,7 @@ CONFIG_LWP_TID_MAX_NR=64
 # CONFIG_PKG_USING_REALTEK_AMEBA is not set
 # CONFIG_PKG_USING_SHT2X is not set
 # CONFIG_PKG_USING_SHT3X is not set
+# CONFIG_PKG_USING_AS7341 is not set
 # CONFIG_PKG_USING_STM32_SDIO is not set
 # CONFIG_PKG_USING_ICM20608 is not set
 # CONFIG_PKG_USING_U8G2 is not set
@@ -576,6 +581,7 @@ CONFIG_LWP_TID_MAX_NR=64
 # CONFIG_PKG_USING_NES is not set
 # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set
 # CONFIG_PKG_USING_VDEVICE is not set
+# CONFIG_PKG_USING_SGM706 is not set
 
 #
 # miscellaneous packages
@@ -625,49 +631,6 @@ CONFIG_LWP_TID_MAX_NR=64
 # CONFIG_PKG_USING_TETRIS is not set
 # CONFIG_PKG_USING_LWGPS is not set
 # CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set
-
-#
-# Privated Packages of RealThread
-#
-# CONFIG_PKG_USING_CODEC is not set
-# CONFIG_PKG_USING_PLAYER is not set
-# CONFIG_PKG_USING_MPLAYER is not set
-# CONFIG_PKG_USING_PERSIMMON_SRC is not set
-# CONFIG_PKG_USING_JS_PERSIMMON is not set
-# CONFIG_PKG_USING_JERRYSCRIPT_WIN32 is not set
-
-#
-# Network Utilities
-#
-# CONFIG_PKG_USING_MDNS is not set
-# CONFIG_PKG_USING_UPNP is not set
-# CONFIG_PKG_USING_WICED is not set
-# CONFIG_PKG_USING_CLOUDSDK is not set
-# CONFIG_PKG_USING_POWER_MANAGER is not set
-# CONFIG_PKG_USING_RT_OTA is not set
-# CONFIG_PKG_USING_RDBD_SRC is not set
-# CONFIG_PKG_USING_RTINSIGHT is not set
-# CONFIG_PKG_USING_SMARTCONFIG is not set
-# CONFIG_PKG_USING_RTX is not set
-# CONFIG_RT_USING_TESTCASE is not set
-# CONFIG_PKG_USING_NGHTTP2 is not set
-# CONFIG_PKG_USING_AVS is not set
-# CONFIG_PKG_USING_ALI_LINKKIT is not set
-# CONFIG_PKG_USING_STS is not set
-# CONFIG_PKG_USING_DLMS is not set
-# CONFIG_PKG_USING_AUDIO_FRAMEWORK is not set
-# CONFIG_PKG_USING_ZBAR is not set
-# CONFIG_PKG_USING_MCF is not set
-# CONFIG_PKG_USING_URPC is not set
-# CONFIG_PKG_USING_BSAL is not set
-# CONFIG_PKG_USING_DCM is not set
-# CONFIG_PKG_USING_EMQ is not set
-# CONFIG_PKG_USING_CFGM is not set
-# CONFIG_PKG_USING_RT_CMSIS_DAP is not set
-# CONFIG_PKG_USING_SMODULE is not set
-# CONFIG_PKG_USING_SNFD is not set
-# CONFIG_PKG_USING_UDBD is not set
-# CONFIG_PKG_USING_BENCHMARK is not set
 CONFIG_SOC_VEXPRESS_A9=y
 CONFIG_RT_USING_UART0=y
 CONFIG_RT_USING_UART1=y

+ 1 - 6
bsp/qemu-vexpress-a9/rtconfig.h

@@ -153,6 +153,7 @@
 #define RT_USING_POSIX_MMAP
 #define RT_USING_POSIX_TERMIOS
 #define RT_USING_POSIX_AIO
+#define RT_USING_POSIX_CLOCKTIME
 
 /* Network */
 
@@ -279,12 +280,6 @@
 
 /* games: games run on RT-Thread console */
 
-
-/* Privated Packages of RealThread */
-
-
-/* Network Utilities */
-
 #define SOC_VEXPRESS_A9
 #define RT_USING_UART0
 #define RT_USING_UART1

+ 3 - 7
components/lwp/lwp_syscall.c

@@ -2349,7 +2349,7 @@ int sys_getdents(int fd, struct libc_dirent *dirp, size_t nbytes)
         for (i = 0; i < cnt; i++)
         {
             dirp[i].d_ino = 0;
-            dirp[i].d_off = 0;
+            dirp[i].d_off = i*sizeof(struct libc_dirent);
             dirp[i].d_type = rtt_dirp[i].d_type;
             dirp[i].d_reclen = sizeof(struct libc_dirent);
             strcpy(dirp[i].d_name, rtt_dirp[i].d_name);
@@ -2412,15 +2412,11 @@ int sys_access(const char *filename, int mode)
     }
 
     lwp_get_from_user(kname, (void *)filename, len + 1);
-    ret = open(kname, mode, 0);
+    ret = access(kname, mode);
     kmem_put(kname);
 #else
-    ret = open(filename, mode, 0);
+    ret = access(filename, mode);
 #endif
-    if (ret >= 0)
-    {
-        close(ret);
-    }
 
     return (ret >= 0)? 0: ret;
 }

+ 3 - 2
include/libc/libc_dirent.h

@@ -8,7 +8,8 @@
 #define LIBC_DIRENT_H__
 
 #define DT_UNKNOWN           0x00
-#define DT_REG               0x01
-#define DT_DIR               0x02
+#define DT_FIFO              0x01
+#define DT_DIR               0x04
+#define DT_REG               0x08
 
 #endif