优化开机logo显示速度,解决开机logo显示延后问题 1484/1 1484/head 1486/target/1 1488/target/1
authorSnickerSun <snickersun@163.com>
Mon, 2 Dec 2024 02:42:26 +0000 (10:42 +0800)
committerSnickerSun <snickersun@163.com>
Mon, 2 Dec 2024 02:42:26 +0000 (10:42 +0800)
code/sdk/application/brandy/brandy_standard/thread_pri_init.c
code/sdk/application/wearable/ohos_startup/ohosfwk_startup.c
code/sdk/application/wearable/ohos_startup/ohosfwk_startup.h

index 52f4632..aa4391f 100755 (executable)
@@ -425,7 +425,7 @@ static void thread_main(const void *unused)
      * \r
     */\r
     ConfigModelInit();\r
-    \r
+\r
 \r
 #if DSP_EXIST == YES\r
     audio_init();\r
@@ -438,7 +438,12 @@ static void thread_main(const void *unused)
 #endif\r
     /* nv init and file system init must be before nv_upg_upgrade_task_process */\r
     (void)nv_upg_upgrade_task_process();\r
+\r
     thread_init();\r
+\r
+    //尽早显示启动logo ,需要 lcd 驱动,mount file system , power_display 线程管理 lcd背光\r
+    ohos_show_bootup_logo();  \r
+\r
     button_app_init();\r
     uapi_calendar_init();\r
     uapi_calendar_recover_date();\r
@@ -455,18 +460,10 @@ static void thread_main(const void *unused)
 #endif\r
 uapi_pm_remove_sleep_veto(PM_ID_DEBUG);\r
 \r
-// #ifdef SUPPORT_AT_VIBRATOR\r
-//     uapi_vibrator_service_init();\r
-// #endif\r
 #ifdef SUPPORT_BATTERY_SERVICE\r
     uapi_battery_init();\r
 #endif\r
 \r
-#ifdef ACC_LIS2DOC\r
-    // uapi_acc_service_init();\r
-#endif\r
-\r
-\r
 #ifdef ENABLE_SLIP\r
     slip_uart_init();\r
 #endif\r
@@ -523,6 +520,7 @@ uapi_pm_remove_sleep_veto(PM_ID_DEBUG);
     uapi_a5133_service_init();\r
 #endif\r
 #ifdef SUPPORT_AT_OHOSFWK\r
+    //开始播放开机动画,并启动ohos系统\r
     ohos_startup();\r
 #endif\r
     \r
index e459ddc..1955c84 100755 (executable)
@@ -39,15 +39,14 @@ int32_t mbedtls_adapt_register(void)
     mbedtls_cipher_adapt_register_func(&harden_cipher_func);
     return 0;
 }
-void ohos_startup()
+
+void ohos_show_bootup_logo(void)
 {
-    mbedtls_adapt_register();
 
     /* 未接lcd时不能调用图形相关类的实例 */
     if (!uapi_is_lcd_connect()) {
         return;
     }
-    
 #ifdef ENABLE_UIKIT
     InitGraphicService();
 #endif
@@ -77,6 +76,16 @@ void ohos_startup()
 #endif
 
 #endif
+}
+void ohos_startup(void)
+{
+    
+    mbedtls_adapt_register();
+    /* 未接lcd时不能调用图形相关类的实例 */
+    if (!uapi_is_lcd_connect()) {
+        return;
+    }
+    
 
 #ifdef ENABLE_UIKIT
     boot_animation_init();
@@ -100,7 +109,7 @@ boot_animation_init_deinit();
     OHOS_SystemInit();
     
 #ifdef SUPPORT_POWER_MANAGER
-    // const power_display_svr_api_t *display_api = power_display_svr_get_api();
+    const power_display_svr_api_t *display_api = power_display_svr_get_api();
     // display_api->turn_on_screen();
 #if !defined(A5133_DEMO_SERVER) && !defined(A5133_DEMO_CLIENT)
     display_api->set_screen_set_keepon_timeout(0);
index fb52246..07c11b4 100755 (executable)
@@ -11,6 +11,7 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+void ohos_show_bootup_logo(void);
 void ohos_startup(void);
 #ifdef __cplusplus
 }