修复异常造成mount user 分区失败问题 741/1 741/head
authorSnickerSun <snickersun@163.com>
Tue, 20 Aug 2024 10:01:33 +0000 (18:01 +0800)
committerSnickerSun <snickersun@163.com>
Tue, 20 Aug 2024 10:01:33 +0000 (18:01 +0800)
code/sdk/application/brandy/brandy_standard/thread_init.c
code/sdk/application/wearable/ohos_startup/ohosfwk_startup.c
code/sdk/drivers/peripheral/utils/custom_utils.c
code/sdk/drivers/peripheral/utils/custom_utils.h

index 51eb75b..46f6952 100755 (executable)
@@ -181,8 +181,9 @@ app_task_definition_t g_app_tasks[] = {
       (osThreadFunc_t)power_display_msg_thread, NULL,
       (CreateQueueFunction_t)power_display_task_init, USE_DTCM_MEM },
 #endif
-    { { "save_file", 0, NULL, 0, NULL, SAVE_FILE_STACK_SIZE, TASK_PRIORITY_SAVE_FILE, 0, 0 },
-      (osThreadFunc_t)save_file_main, NULL, NULL, USE_EXTEND_MEM },
+    // user分区mount位置修改,save_file必须放到user分区mount之后
+    // { { "save_file", 0, NULL, 0, NULL, SAVE_FILE_STACK_SIZE, TASK_PRIORITY_SAVE_FILE, 0, 0 },
+    //   (osThreadFunc_t)save_file_main, NULL, NULL, USE_EXTEND_MEM },
 #ifdef SUPPORT_AUTO_OTA
     { { "auto_ota", 0, NULL, 0, NULL, AUTO_OTA_STACK_SIZE, TASK_PRIORITY_AUTO_OTA, 0, 0 },
       (osThreadFunc_t)auto_ota_task_main, NULL, NULL, USE_EXTEND_MEM },
@@ -223,6 +224,7 @@ void save_file_main(void)
     }
 }
 
+
 void set_app_delay_time(uint32_t time)
 {
     g_app_delay_ms = time;
index 0d2b8bd..e69b7e5 100755 (executable)
@@ -86,6 +86,8 @@ void ohos_startup()
 #ifdef CFG_DRIVERS_NANDFLASH
     //为了加速启动,把最耗时的mount分区放到显示log之后
     mount_user_res_partition();
+    // user分区mount位置修改,save_file必须放到user分区mount之后
+    start_save_file_thread();
 #endif
 
 wait_animation_stop();
index d07253f..2ace3f2 100644 (file)
@@ -2759,3 +2759,27 @@ void uapi_get_a5133_rxdata_timestamp(uint32_t *timestamp)
     a5133_get_rxdata_timestamp(timestamp);
 #endif
 }
+
+
+extern void save_file_main(void);
+
+#define SAVE_FILE_STACK_SIZE        0xC00
+#define TASK_PRIORITY_SAVE_FILE     (osPriority_t)(36)
+void start_save_file_thread(void)
+{
+   
+    app_task_definition_t taskcfg={0};
+    PRINT("uapi_battery_init !\r\n");
+    taskcfg.create_queue_handle = NULL;
+    taskcfg.attr.name="save_file";
+    taskcfg.attr.priority = TASK_PRIORITY_SAVE_FILE;
+    taskcfg.attr.stack_size = SAVE_FILE_STACK_SIZE;
+    taskcfg.func = save_file_main;
+    taskcfg.use_mem = USE_EXTEND_MEM;
+   
+    errcode_t ret=uapi_create_osThread_custom(&taskcfg);
+    if(ret != ERRCODE_SUCC)
+    {
+        PRINT("create save file thread failed %d!\r\n",ret);
+    }
+}
index d62487d..b32bf4f 100644 (file)
@@ -265,6 +265,14 @@ void uapi_get_a5133_rxdata_timestamp(uint32_t *timestamp);
 uint32_t uapi_get_a5133_update_state(void);
 uint32_t uapi_get_a5133_update_state1(void);
 
+
+
+
+
+void start_save_file_thread(void);
+
+
+
 #include "custom_utilscpp.h"