Wendal Chen 2 жил өмнө
parent
commit
ee70dbc420

+ 3 - 0
app/port/luat_base_air101.c

@@ -234,6 +234,9 @@ static const luaL_Reg loadedlibs[] = {
 #endif
 #ifdef LUAT_USE_ICONV
   {"iconv", luaopen_iconv},
+#endif
+#ifdef LUAT_USE_FASTLZ
+  {"fastlz", luaopen_fastlz},
 #endif
   // {"opus", luaopen_opus},
   {NULL, NULL}

+ 2 - 0
app/port/luat_conf_bsp.h

@@ -97,6 +97,8 @@
 // #define LUAT_USE_MAX30102 1
 // zlib压缩,更快更小的实现
 #define LUAT_USE_MINIZ 1
+// FASTLZ的内存需求小,压缩比不如miniz
+// #define LUAT_USE_FASTLZ 1
 
 // RSA 加解密,加签验签
 #define LUAT_USE_RSA 1

+ 7 - 0
cloudbuild/air101.meta.json

@@ -309,6 +309,13 @@
                         "fsize": 317120,
                         "dft": false
                     },
+                    {
+                        "name": "fastlz",
+                        "content": "另一种LZ压缩和解压库,压缩的内存需求比miniz小",
+                        "rsize": 12768,
+                        "fsize": 317120,
+                        "dft": false
+                    },
                     {
                         "name": "sfud",
                         "content": "通用spi flash驱动库",

+ 7 - 0
cloudbuild/air103.meta.json

@@ -352,6 +352,13 @@
                         "fsize": 317120,
                         "dft": false
                     },
+                    {
+                        "name": "fastlz",
+                        "content": "另一种LZ压缩和解压库,压缩的内存需求比miniz小",
+                        "rsize": 12768,
+                        "fsize": 317120,
+                        "dft": false
+                    },
                     {
                         "name": "sfud",
                         "content": "通用spi flash驱动库",

+ 17 - 0
xmake.lua

@@ -237,6 +237,22 @@ target("miniz")
     set_targetdir("$(buildir)/lib")
 target_end()
 
+
+
+target("fastlz")
+    set_kind("static")
+    set_plat("cross")
+    set_arch("c-sky")
+
+    add_files(luatos.."components/fastlz/*.c")
+    add_includedirs("app/port")
+    add_includedirs("include")
+    add_includedirs(luatos.."lua/include")
+    add_includedirs(luatos.."luat/include")
+    add_includedirs(luatos.."components/fastlz")
+    set_targetdir("$(buildir)/lib")
+target_end()
+
 target("eink")
     set_kind("static")
     set_plat("cross")
@@ -364,6 +380,7 @@ target("air10x")
         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
         target:add("deps", "miniz")
+        target:add("deps", "fastlz")
         VM_64BIT = conf_data:find("\r#define LUAT_CONF_VM_64bit") or conf_data:find("\n#define LUAT_CONF_VM_64bit")
         local custom_data = io.readfile("$(projectdir)/app/port/luat_conf_bsp.h")
         local TARGET_CONF = custom_data:find("\r#define AIR101") or custom_data:find("\n#define AIR101")