#ifdef SUPPORT_POWER_MANAGER
const power_display_svr_api_t *display_api = power_display_svr_get_api();
display_api->turn_on_screen();
- display_api->set_screen_set_keepon_timeout(5000);
+ display_api->set_screen_set_keepon_timeout(50000);
#endif
+
+
#ifdef ENABLE_UIKIT
ShowGraphicLogo();
+#endif
+ //为了加速启动,把最耗时的mount分区放到显示log之后
+ mount_user_res_partition();
+#ifdef SUPPORT_POWER_MANAGER
+ // const power_display_svr_api_t *display_api = power_display_svr_get_api();
+ // display_api->turn_on_screen();
+ display_api->set_screen_set_keepon_timeout(5000);
#endif
OHOS_SystemInit();
}
return &g_ds35x1g_driver;
}
-static int formate_filesystem(uint32_t total_block_num)
+static int mount_partition_by_index(uint32_t index)
+{
+ int ret;
+ char dev_name[64] = { 0 };
+ ret = sprintf_s(dev_name, sizeof(dev_name), "/dev/nandblk%d", index);
+ if (ret <= 0) {
+ PRINT("formate dev %d name fail \r\n", index);
+ return -EIO;
+ }
+ ret = mount(dev_name, g_volume_names[index], "yaffs", 0, NULL);
+ if (ret != 0) {
+ return ret;
+ }
+ ret = yaffs_sync(g_volume_names[index]);
+ if (ret != 0) {
+ PRINT("[%d] yaffs_sync fail, ret = %d", index, ret);
+ }
+ return ret;
+}
+static int formate_filesystem_init(uint32_t total_block_num)
{
int ret;
uint32_t index;
return -EIO;
}
- ret = mount(dev_name, g_volume_names[index], "yaffs", 0, NULL);
PRINT("formate filesystem devinfo: index = %d , dev_name = %s, folder_name = %s, \
part_start_sector = %d, part_count_sector = %d\r\n", index, dev_name,
g_volume_names[index], part_start_sector, part_count_sector);
- if (ret != 0) {
- return ret;
- }
+
part_start_sector += part_count_sector;
- ret = yaffs_sync(g_volume_names[index]);
- if (ret != 0) {
- PRINT("[%d] yaffs_sync fail, ret = %d", index, ret);
- }
+
}
return ret;
}
PRINT("get_mtd_info faild!\n");
}
PRINT("yaffs filesystem init start!\n");
- int ret = formate_filesystem(freertos_nandflash_driver->total_block);
+ int ret = formate_filesystem_init(freertos_nandflash_driver->total_block);
+
+
+ mount_partition_by_index(0);
+ mount_partition_by_index(1);
+ mount_partition_by_index(2);
+
PRINT("yaffs filesystem init end!\n");
has_nandflash_init = 1;
return ret;
}
+int mount_user_res_partition(void)
+{
+ return mount_partition_by_index(3);
+}
void nandflash_qspi_resume(void)
{
nand_driver_init(SPEED_HIGH);