From d0c7c11918c29e545444eba62b5087a8b42dd82c Mon Sep 17 00:00:00 2001 From: eason Date: Sun, 7 Feb 2021 14:41:05 +0800 Subject: [PATCH 1/3] update .config and rtconfig.h --- bsp/qemu-vexpress-a9/.config | 58 +++++++++------------------------ bsp/qemu-vexpress-a9/rtconfig.h | 8 ++--- 2 files changed, 18 insertions(+), 48 deletions(-) diff --git a/bsp/qemu-vexpress-a9/.config b/bsp/qemu-vexpress-a9/.config index 3a3fa62497..c54dd55aa6 100644 --- a/bsp/qemu-vexpress-a9/.config +++ b/bsp/qemu-vexpress-a9/.config @@ -172,6 +172,7 @@ CONFIG_RT_USING_PIN=y # CONFIG_RT_USING_ADC is not set # CONFIG_RT_USING_DAC is not set # CONFIG_RT_USING_NULL is not set +# CONFIG_RT_USING_ZERO is not set CONFIG_RT_USING_RANDOM=y # CONFIG_RT_USING_PWM is not set CONFIG_RT_USING_MTD_NOR=y @@ -226,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 # @@ -337,6 +339,7 @@ CONFIG_RT_LWP_MAX_NR=30 CONFIG_RT_CH_MSG_MAX_NR=1024 CONFIG_RT_LWP_SHM_MAX_NR=64 CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024 +CONFIG_LWP_TID_MAX_NR=64 # # RT-Thread online packages @@ -420,6 +423,7 @@ CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024 # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set +# CONFIG_PKG_USING_WAYZ_IOTKIT is not set # # security packages @@ -459,6 +463,7 @@ CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024 # 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 @@ -472,6 +477,9 @@ CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024 # CONFIG_PKG_USING_UMCN is not set # CONFIG_PKG_USING_LWRB2RTT is not set # 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 @@ -510,6 +518,8 @@ CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024 # CONFIG_PKG_USING_UC_COMMON is not set # 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 @@ -518,6 +528,7 @@ CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024 # 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 @@ -567,6 +578,10 @@ CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024 # CONFIG_PKG_USING_SSD1306 is not set # CONFIG_PKG_USING_QKEY is not set # CONFIG_PKG_USING_RS485 is not set +# 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 @@ -576,6 +591,7 @@ CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024 # CONFIG_PKG_USING_FASTLZ is not set # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set +# CONFIG_PKG_USING_LZMA is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -615,48 +631,6 @@ CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024 # 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_VIRTUAL_DEVICE is not set -# CONFIG_PKG_USING_SMODULE is not set -# CONFIG_PKG_USING_SNFD is not set CONFIG_SOC_VEXPRESS_A9=y CONFIG_RT_USING_UART0=y CONFIG_RT_USING_UART1=y diff --git a/bsp/qemu-vexpress-a9/rtconfig.h b/bsp/qemu-vexpress-a9/rtconfig.h index c429182d6c..109d50a3af 100644 --- a/bsp/qemu-vexpress-a9/rtconfig.h +++ b/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 */ @@ -232,6 +233,7 @@ #define RT_CH_MSG_MAX_NR 1024 #define RT_LWP_SHM_MAX_NR 64 #define LWP_CONSOLE_INPUT_BUFFER_SIZE 1024 +#define LWP_TID_MAX_NR 64 /* RT-Thread online packages */ @@ -278,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 -- Gitee From 46ea4a88f9574fa9949846b4cf1f730f3c6b35be Mon Sep 17 00:00:00 2001 From: eason Date: Sun, 7 Feb 2021 15:11:54 +0800 Subject: [PATCH 2/3] fix some file system bugs --- components/libc/compilers/newlib/sys/dirent.h | 8 +++++--- components/lwp/lwp_syscall.c | 11 +++-------- include/libc/libc_dirent.h | 5 +++-- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/components/libc/compilers/newlib/sys/dirent.h b/components/libc/compilers/newlib/sys/dirent.h index db8c0655a1..c16e8cb1f7 100644 --- a/components/libc/compilers/newlib/sys/dirent.h +++ b/components/libc/compilers/newlib/sys/dirent.h @@ -22,9 +22,11 @@ #define FT_DIRECTORY 2 /* directory */ #define FT_USER 3 /* user defined */ -#define DT_UNKNOWN 0x00 -#define DT_REG 0x01 -#define DT_DIR 0x02 +#define DT_UNKNOWN 0x00 +#define DT_FIFO 0x01 +#define DT_DIR 0x04 +#define DT_REG 0x08 + #ifdef __cplusplus extern "C" { diff --git a/components/lwp/lwp_syscall.c b/components/lwp/lwp_syscall.c index 962525e871..718d8e1b8e 100644 --- a/components/lwp/lwp_syscall.c +++ b/components/lwp/lwp_syscall.c @@ -2177,7 +2177,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); @@ -2237,16 +2237,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(mname,mode); #endif - if (ret >= 0) - { - close(ret); - } - return (ret >= 0)? 0: ret; } diff --git a/include/libc/libc_dirent.h b/include/libc/libc_dirent.h index c3a19878ec..4da583fef3 100644 --- a/include/libc/libc_dirent.h +++ b/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 -- Gitee From acbe45ad37449dfcaded51f003ffe71f7eeed032 Mon Sep 17 00:00:00 2001 From: eason Date: Sun, 7 Feb 2021 16:00:46 +0800 Subject: [PATCH 3/3] revert newlib dirent.h --- components/libc/compilers/newlib/sys/dirent.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/components/libc/compilers/newlib/sys/dirent.h b/components/libc/compilers/newlib/sys/dirent.h index c16e8cb1f7..c24fe926f4 100644 --- a/components/libc/compilers/newlib/sys/dirent.h +++ b/components/libc/compilers/newlib/sys/dirent.h @@ -22,11 +22,9 @@ #define FT_DIRECTORY 2 /* directory */ #define FT_USER 3 /* user defined */ -#define DT_UNKNOWN 0x00 -#define DT_FIFO 0x01 -#define DT_DIR 0x04 -#define DT_REG 0x08 - +#define DT_UNKNOWN 0x00 +#define DT_REG 0x01 +#define DT_DIR 0x02 #ifdef __cplusplus extern "C" { -- Gitee