diff --git a/bsp/imx6ull-artpi-smart/applications/mnt.c b/bsp/imx6ull-artpi-smart/applications/mnt.c index 89fc641e678bd77f21e8c77e58b02d62f1dd570e..8d28b040f93b5f6883016fc900eca2864f5e2f81 100644 --- a/bsp/imx6ull-artpi-smart/applications/mnt.c +++ b/bsp/imx6ull-artpi-smart/applications/mnt.c @@ -14,21 +14,37 @@ #include #include -int mnt_init(void) +int fs_mount_all(void); + +static void all_mount(void *parameter) { -#ifdef RT_USING_SDIO2 int part_id = 1; - rt_thread_mdelay(500); - + rt_thread_mdelay(400); if (dfs_mount("emmc","/","ext",0,(void *)part_id) != 0) { rt_kprintf("Dir / mount failed!\n"); - return -1; } else { - rt_kprintf("file system initialization done!\n"); + sd_task(); + } +} + +int fs_mount_all(void) +{ + rt_thread_t tid; + tid = rt_thread_create("fs_mount", all_mount, RT_NULL, + 2048, RT_THREAD_PRIORITY_MAX - 2, 20); + if (tid != RT_NULL) + { + rt_thread_startup(tid); } + return RT_EOK; +} +int mnt_init(void) +{ +#ifdef RT_USING_SDIO2 + fs_mount_all(); #else rt_thread_mdelay(500); if (dfs_mount(NULL, "/", "rom", 0, &romfs_root) != 0) @@ -42,7 +58,6 @@ int mnt_init(void) #endif return 0; } -INIT_APP_EXPORT(mnt_init); - +INIT_APP_EXPORT(mnt_init); #endif