Jelajahi Sumber

update:拆分FLASH_FS_REGION_SIZE为LUAT_LUADB_ZONE_SIZE LUAT_SCRIPT_SIZE

Dozingfiretruck 3 tahun lalu
induk
melakukan
16eb9cfed5
2 mengubah file dengan 11 tambahan dan 3 penghapusan
  1. 5 1
      app/port/luat_conf_bsp.h
  2. 6 2
      xmake.lua

+ 5 - 1
app/port/luat_conf_bsp.h

@@ -10,13 +10,17 @@
 // 启用64位虚拟机
 // #define LUAT_CONF_VM_64bit
 
+
+
 // FLASH_FS_REGION_SIZE包含2部分: 脚本区和文件系统区
 // 其中文件系统区固定48k, 脚本区默认64k, 两者加起来就是默认值 64+48=112
 // 若需要增加脚本区的大小, 那么大小必须是64的整数倍, 例如变成 128,192,256
 // 128k脚本区, 对应的 FLASH_FS_REGION_SIZE 为 176, 因为 128+48=176 
 // 192k脚本区, 对应的 FLASH_FS_REGION_SIZE 为 240, 因为 192+48=240 
 // 256k脚本区, 对应的 FLASH_FS_REGION_SIZE 为 304, 因为 256+48=304 
-#define FLASH_FS_REGION_SIZE 112
+#define LUAT_LUADB_ZONE_SIZE        48      //文件系统大小(是不是改个名更好?)
+#define LUAT_SCRIPT_SIZE            64      //脚本大小
+#define FLASH_FS_REGION_SIZE        (LUAT_LUADB_ZONE_SIZE + LUAT_SCRIPT_SIZE)
 
 // 内存优化: 减少内存消耗, 会稍微减低性能
 // #define LUAT_USE_MEMORY_OPTIMIZATION_CODE_MMAP 1

+ 6 - 2
xmake.lua

@@ -231,7 +231,11 @@ target("air10x")
     set_targetdir("$(buildir)/out")
     on_load(function (target)
         local conf_data = io.readfile("$(projectdir)/app/port/luat_conf_bsp.h")
-        AIR10X_FLASH_FS_REGION_SIZE = conf_data:match("#define FLASH_FS_REGION_SIZE (%d+)")
+        local LUAT_LUADB_ZONE_SIZE = tonumber(conf_data:match("#define LUAT_LUADB_ZONE_SIZE        (%d+)"))
+        local LUAT_SCRIPT_SIZE = tonumber(conf_data:match("#define LUAT_SCRIPT_SIZE            (%d+)"))
+
+        AIR10X_FLASH_FS_REGION_SIZE = LUAT_LUADB_ZONE_SIZE + LUAT_SCRIPT_SIZE
+        -- print(AIR10X_FLASH_FS_REGION_SIZE)
         AIR10X_VERSION = conf_data:match("#define LUAT_BSP_VERSION \"(%w+)\"")
         local LVGL_CONF = conf_data:find("\r#define LUAT_USE_LVGL") or conf_data:find("\n#define LUAT_USE_LVGL")
         if LVGL_CONF then target:add("deps", "lvgl") end
@@ -242,7 +246,7 @@ target("air10x")
         if TARGET_CONF == nil then TARGET_NAME = "AIR103" else TARGET_NAME = "AIR101" end
         local FDB_CONF = conf_data:find("\r#define LUAT_USE_FDB") or conf_data:find("\n#define LUAT_USE_FDB") or conf_data:find("\r#define LUAT_USE_FSKV") or conf_data:find("\n#define LUAT_USE_FSKV") 
         
-        local fs_size = AIR10X_FLASH_FS_REGION_SIZE and tonumber(AIR10X_FLASH_FS_REGION_SIZE) or 112
+        local fs_size = AIR10X_FLASH_FS_REGION_SIZE or 112
         if FDB_CONF or fs_size > 112 then
             local ld_data = io.readfile("./ld/"..TARGET_NAME..".ld")
             local I_SRAM_LENGTH = ld_data:match("I-SRAM : ORIGIN = 0x08010800 , LENGTH = 0x(%x+)")