添加 任务调试打印AT指令,在睡眠状态打印中添加内存状态打印。
authorSnickerSun <snickersun@163.com>
Sat, 22 Jun 2024 08:30:03 +0000 (16:30 +0800)
committerSnickerSun <snickersun@163.com>
Sat, 22 Jun 2024 08:30:03 +0000 (16:30 +0800)
code/sdk/application/brandy/brandy_standard/thread_init.c
code/sdk/drivers/peripheral/utils/custom_utils_at_cmd.c
code/sdk/drivers/peripheral/utilscpp/CMakeLists.txt
code/sdk/drivers/peripheral/utilscpp/custom_utilscpp.cpp
code/sdk/drivers/peripheral/utilscpp/custom_utilscpp.h
code/sdk/kernel/liteos/liteos_v207.1.0/Huawei_LiteOS/kernel/base/sched/sched_sq/los_sched.c
code/sdk/middleware/services/gui/uikit/proprietary/src/utils/frameworks/mem_check.cpp

index d3868bd..ca5eaea 100755 (executable)
@@ -305,7 +305,7 @@ void system_time_cali(void)
     }
     return;
 }
-
+#include "custom_utils.h"
 static void app_main(const void *unused)
 {
     unused(unused);
@@ -331,6 +331,7 @@ static void app_main(const void *unused)
 #ifndef XTS_SUPPORT
         PRINT("app_main run start."NEWLINE);
         print_system_sleep_info();
+        uapi_dump_meminfo();
         oml_pf_log_print0(LOG_BCORE_PLT_DRIVER_REBOOT, LOG_NUM_DRIVER_LPC, LOG_LEVEL_INFO, "App run ok.");
 #endif
     }
index 1f7271e..01f3818 100644 (file)
@@ -655,8 +655,41 @@ static uint32_t custom_uapi_efuse_test_read(uint8_t *para, uint32_t paraLen, cha
 
     return ERRCODE_SUCC;
 }
+extern void los_sched_debug_enable(uint8_t enable);
+static uint32_t custom_task_sched_debug(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
+{
+
+    UNUSED(strCommonCmd);
+
+    uint8_t argv[CUSTOM_UTILS_MAX_ARGC][CUSTOM_UTILS_MAX_ARGV_LEN] = { 0 };
+    uint32_t argc = 0;
+
+    int ret = ConvertCmdToParam(para, paraLen, argv, &argc);
+    if (ret != CUSTOM_UTILS_SUCCESS) {
+        PRINT("CUSTOM_UTILSTEST ATCMD Convert Command Failed\n");
+        return ERRCODE_FAIL;
+    }
+
+    if (argc != 1) {
+        PRINT("CUSTOM_UTILSTEST power_test ATCMD Set Parameter Failed argc %d\r\n");
+        return ERRCODE_FAIL;
+    }
+    uint32_t enable = atol((char*)argv[0]);
+
 
+    los_sched_debug_enable(enable);
 
+    return ERRCODE_SUCC;
+}
+static uint32_t custom_mem_debug(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
+{
+
+    UNUSED(strCommonCmd);
+
+    uapi_dump_meminfo();
+
+    return ERRCODE_SUCC;
+}
 static const at_cmd_table_t g_custom_utils_cmd[] = {
     { (char *)"AT^CUSTOM_SN",      custom_utils_setsn, (char *)"123456789ABCDEF2345678" },
     { (char *)"AT^CUSTOM_SN_REQ",  custom_utils_getsn, (char *)" " },
@@ -705,6 +738,8 @@ static const at_cmd_table_t g_custom_utils_cmd[] = {
 
     { (char *)"AT^EFUSEREAD",      custom_uapi_efuse_test_read, (char *)" " },
     { (char *)"AT^EFUSEWRITE",      custom_uapi_efuse_test_write, (char *)" " },
+    { (char *)"AT^SCHEDDEBUG",      custom_task_sched_debug, (char *)" " },
+    { (char *)"AT^MEMDEBUG",      custom_mem_debug, (char *)" " },
 
 };
 
index eb794f8..99caae4 100644 (file)
@@ -16,6 +16,9 @@ set(PUBLIC_HEADER
 
 set(PRIVATE_HEADER
     ${CMAKE_SOURCE_DIR}/middleware/utils/update/inner_include
+    ${CMAKE_SOURCE_DIR}/middleware/services/gui/uikit/proprietary/include
+    ${CMAKE_SOURCE_DIR}/middleware/services/gui/uikit/utils/interfaces/kits
+    ${CMAKE_SOURCE_DIR}/middleware/services/gui/uikit/utils/interfaces/innerkits
 )
 
 set(PRIVATE_DEFINES
index a96b0fb..c3922b9 100644 (file)
@@ -7,6 +7,7 @@
  * 2023-02-24, Create file. \n
  */
 
+#include "gfx_utils/mem_check.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -231,6 +232,11 @@ errcode_t uapi_dial_pkg_decompress(const char* dial_pkg_path,char* dial_bin_path
 }
 
 
+void uapi_dump_meminfo(void)
+{
+  OHOS::MemCheck::GetInstance()->DumpMemInfo();
+}
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
\ No newline at end of file
index 58ab943..718a62b 100644 (file)
@@ -15,6 +15,7 @@ extern "C" {
 #include <errcode.h>
 
 errcode_t uapi_dial_pkg_decompress(const char* dial_pkg_path,char* dial_bin_path);
+void uapi_dump_meminfo(void);
 
 #ifdef __cplusplus
 }
index 8d1a026..e07cf2a 100755 (executable)
 #ifdef LOSCFG_KERNEL_PERF_PER_TASK
 #include "los_perf_pri.h"
 #endif
-
+static uint8_t custom_debug_flag=0;
+void los_sched_debug_enable(uint8_t enable)
+{
+    custom_debug_flag = enable;
+}
 VOID OsSchedResched(VOID)
 {
     LosTaskCB *runTask = NULL;
@@ -85,6 +89,10 @@ VOID OsSchedResched(VOID)
 #ifdef LOSCFG_BASE_CORE_TSK_MONITOR
     OsTaskSwitchCheck(runTask, newTask);
 #endif
+    if (custom_debug_flag == 1)
+        printf("OsSchedResched tskrun=%s tskidrun=%d, prirun=%d, statrun=%d, tsknew=%s tskidnew=%d, prinew=%d, statnew=%d\r\n", 
+            runTask->taskName,runTask->taskId,runTask->priority, runTask->taskStatus,
+            newTask->taskName,newTask->taskId,newTask->priority, newTask->taskStatus);
 
     LOS_TRACE(TASK_SWITCH, newTask->taskId, runTask->priority, runTask->taskStatus, newTask->priority,
         newTask->taskStatus);
index 139ccbb..2643b27 100755 (executable)
@@ -177,7 +177,7 @@ void MemCheck::DumpMemInfo()
         count++;
         allocPtr = allocPtr->next;
     }
-    printf("total size: %d, max: %d, count: %d\n", total, max, count);
+    printf("total size=%d, max=%d, count=%d\n", total, max, count);
 #if SUPPRESS_DUMP
     printf("--------\n");
     GrallocEngines::GetInstance()->DumpMem();