diff --git a/bsp/qemu-vexpress-a9/applications/mnt.c b/bsp/qemu-vexpress-a9/applications/mnt.c index 524c495f2f..3eca7f06a9 100644 --- a/bsp/qemu-vexpress-a9/applications/mnt.c +++ b/bsp/qemu-vexpress-a9/applications/mnt.c @@ -10,6 +10,10 @@ #include +#define DBG_TAG "FileSystem" +#define DBG_LVL DBG_INFO +#include + #ifdef RT_USING_DFS #include @@ -19,10 +23,25 @@ int mnt_init(void) if (dfs_mount("sd0", "/", "elm", 0, 0) == 0) { - rt_kprintf("file system initialization done!\n"); + LOG_I("file system initialization done!\n"); + return 0; } + else + { + LOG_W("[sd0] File System on SD ('sd0') initialization failed!"); + LOG_W("[sd0] Try to format and re-mount..."); + if (dfs_mkfs("elm", "sd0") == 0) + { + if (dfs_mount("sd0", "/", "elm", 0, 0) == 0) + { + LOG_I("[sd0] File System on SD ('sd0') initialized!"); + return 0; + } + } - return 0; + LOG_E("[sd0] File System on SD ('sd0') initialization failed!"); + return -1; + } } INIT_ENV_EXPORT(mnt_init); #endif