summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bsp/qemu-vexpress-a9/applications/mnt.c23
1 files changed, 21 insertions, 2 deletions
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 <rtthread.h>
+#define DBG_TAG "FileSystem"
+#define DBG_LVL DBG_INFO
+#include <rtdbg.h>
+
#ifdef RT_USING_DFS
#include <dfs_fs.h>
@@ -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