Browse Source

Merge pull request #1105 from BernardXiong/master

[BSP] fix the issues in simulator for WIN32.
Bernard Xiong 7 years ago
parent
commit
d50e963125

+ 1 - 0
.gitignore

@@ -23,3 +23,4 @@ documentation/html
 *.i
 *.d
 tools/kconfig-frontends/kconfig-mconf
+packages

+ 10 - 2
bsp/simulator/.config

@@ -59,7 +59,7 @@ CONFIG_RT_CONSOLE_DEVICE_NAME="console"
 #
 # C++ features
 #
-CONFIG_RT_USING_CPLUSPLUS=y
+# CONFIG_RT_USING_CPLUSPLUS is not set
 
 #
 # Command shell
@@ -189,6 +189,7 @@ CONFIG_RTGUI_USING_DEMO=y
 # system packages
 #
 # CONFIG_PKG_USING_PARTITION is not set
+CONFIG_RT_USING_PERSIMMON_EXAMPLE=y
 # CONFIG_PKG_USING_SQLITE is not set
 # CONFIG_PKG_USING_RTI is not set
 
@@ -232,7 +233,9 @@ CONFIG_RTGUI_USING_DEMO=y
 #
 # miscellaneous packages
 #
-# CONFIG_PKG_USING_FASTLZ is not set
+CONFIG_PKG_USING_FASTLZ=y
+CONFIG_PKG_FASTLZ_PATH="/packages/misc/fastlz"
+CONFIG_PKG_FASTLZ_VER="v1.0.0"
 # CONFIG_PKG_USING_MINILZO is not set
 
 #
@@ -245,6 +248,11 @@ CONFIG_RTGUI_USING_DEMO=y
 #
 # CONFIG_PKG_USING_CODEC is not set
 # CONFIG_PKG_USING_PLAYER is not set
+CONFIG_PKG_USING_PERSIMMON_SRC=y
+CONFIG_PKG_PERSIMMON_SRC_PATH="/realthread-packages/persimmon-src"
+# CONFIG_PKG_USING_PERSIMMON_SRC_v1_0_0 is not set
+CONFIG_PKG_USING_PERSIMMON_LATEST_VERSION=y
+CONFIG_PKG_PERSIMMON_SRC_VER="latest_version"
 
 #
 # Network Utilities

+ 4 - 0
bsp/simulator/.gitignore

@@ -42,6 +42,10 @@ _UpgradeReport_Files
 *.ncb
 *.suo
 *.exp
+*.sdf
 *.XML
 *.user
 *.def
+Backup*
+UpgradeLog*
+*.filters

+ 2 - 2
bsp/simulator/drivers/dfs_win32.c

@@ -26,7 +26,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <WinError.h>
-#include  <windows.h>
+#include <windows.h>
 
 #if defined(__MINGW32__) && defined(_NO_OLDNAMES)
 #define O_RDONLY    _O_RDONLY
@@ -49,7 +49,7 @@
  */
 #define FILE_PATH_MAX           256  /* the longest file path */
 
-#define WIN32_DIRDISK_ROOT  "./disk" /* "F:\\Project\\svn\\rtt\\trunk\\bsp\\simulator_test" */
+#define WIN32_DIRDISK_ROOT  "./disk"
 
 typedef struct {
     HANDLE handle;

+ 6 - 2
bsp/simulator/rtconfig.h

@@ -54,7 +54,7 @@
 
 /* C++ features */
 
-#define RT_USING_CPLUSPLUS
+/* RT_USING_CPLUSPLUS is not set */
 
 /* Command shell */
 
@@ -168,6 +168,7 @@
 /* system packages */
 
 /* PKG_USING_PARTITION is not set */
+#define RT_USING_PERSIMMON_EXAMPLE
 /* PKG_USING_SQLITE is not set */
 /* PKG_USING_RTI is not set */
 
@@ -205,7 +206,7 @@
 
 /* miscellaneous packages */
 
-/* PKG_USING_FASTLZ is not set */
+#define PKG_USING_FASTLZ
 /* PKG_USING_MINILZO is not set */
 
 /* example package: hello */
@@ -216,6 +217,9 @@
 
 /* PKG_USING_CODEC is not set */
 /* PKG_USING_PLAYER is not set */
+#define PKG_USING_PERSIMMON_SRC
+/* PKG_USING_PERSIMMON_SRC_v1_0_0 is not set */
+#define PKG_USING_PERSIMMON_LATEST_VERSION
 
 /* Network Utilities */
 

+ 1 - 1
bsp/simulator/rtconfig_project.h

@@ -1,7 +1,7 @@
 #ifndef RTCONFIG_PROJECT_H__
 #define RTCONFIG_PROJECT_H__
 
-#define RT_HEAP_SIZE   (1024*1024*2)
+#define RT_HEAP_SIZE   (1024*1024*8)
 
 #if defined(_MSC_VER)
 #define NORESOURCE  //RT_VESRION in winuser.h

+ 1 - 1
components/gui/include/rtgui/color.h

@@ -72,7 +72,7 @@ extern const rtgui_color_t default_background;
 
 #ifdef  TRANSPARENT
 #undef  TRANSPARENT
-#define TRANSPARENT        0
+#define TRANSPARENT        RTGUI_ARGB(0, 0, 0, 0)
 #endif
 
 extern const rtgui_color_t red;

+ 30 - 1
include/libc/libc_stat.h

@@ -3,9 +3,38 @@
 
 #include <rtconfig.h>
 
-#ifdef RT_USING_NEWLIB
+#if defined(RT_USING_NEWLIB)
 /* use header file of newlib */
 #include <sys/stat.h>
+
+#elif defined(_WIN32)
+#include <sys/stat.h>
+
+#define S_IRWXU              00700
+#define S_IRUSR              00400
+#define S_IWUSR              00200
+#define S_IXUSR              00100
+
+#define S_IRWXG              00070
+#define S_IRGRP              00040
+#define S_IWGRP              00020
+#define S_IXGRP              00010
+
+#define S_IRWXO              00007
+#define S_IROTH              00004
+#define S_IWOTH              00002
+#define S_IXOTH              00001
+
+#define S_IFSOCK             0140000
+#define S_IFLNK              0120000
+#define S_IFBLK              0060000
+#define S_IFIFO              0010000
+#define S_ISUID              0004000
+#define S_ISGID              0002000
+#define S_ISVTX              0001000
+
+#define S_ISDIR(m)           (((m) & S_IFMT) == S_IFDIR)
+
 #else
 #define S_IFMT               00170000
 #define S_IFSOCK             0140000