Просмотр исходного кода

add: mem,新增luat_meminfo_query函数,查询的时候,也输出底层日志,供luatools解析使用

Wendal Chen 3 месяцев назад
Родитель
Сommit
96418805d9
2 измененных файлов с 14 добавлено и 0 удалено
  1. 2 0
      luat/include/luat_mem.h
  2. 12 0
      luat/modules/luat_lib_rtos.c

+ 2 - 0
luat/include/luat_mem.h

@@ -22,5 +22,7 @@ void luat_meminfo_opt_sys(LUAT_HEAP_TYPE_E type,size_t* total, size_t* used, siz
 #define LUAT_MEM_REALLOC luat_heap_realloc
 #define LUAT_MEM_CALLOC luat_heap_calloc
 
+// 查询并输出内存使用情况到日志
+void luat_meminfo_query(LUAT_HEAP_TYPE_E type,size_t* total, size_t* used, size_t* max_used, int log_out);
 
 #endif

+ 12 - 0
luat/modules/luat_lib_rtos.c

@@ -299,13 +299,25 @@ static int l_rtos_meminfo(lua_State *L) {
     size_t max_used = 0;
     const char * str = luaL_optlstring(L, 1, "lua", &len);
     if (strcmp("sys", str) == 0) {
+        #ifdef LUAT_USE_MEM_LOGOUT
+        luat_meminfo_query(LUAT_HEAP_SRAM, &total, &used, &max_used, 1);
+        #else
         luat_meminfo_opt_sys(LUAT_HEAP_SRAM, &total, &used, &max_used);
+        #endif
     }
     else if(strcmp("psram", str) == 0){
+        #ifdef LUAT_USE_MEM_LOGOUT
+        luat_meminfo_query(LUAT_HEAP_PSRAM, &total, &used, &max_used, 1);
+        #else
         luat_meminfo_opt_sys(LUAT_HEAP_PSRAM, &total, &used, &max_used);
+        #endif
     }
     else {
+        #ifdef LUAT_USE_MEM_LOGOUT
+        luat_meminfo_query(0, &total, &used, &max_used, 1);
+        #else
         luat_meminfo_luavm(&total, &used, &max_used);
+        #endif
     }
     
     lua_pushinteger(L, total);