mnt.c 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * Copyright (c) 2006-2022, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2022-06-08 supperthomas first version
  9. */
  10. #include <rtthread.h>
  11. #include <rtdevice.h>
  12. #include "fal.h"
  13. #include <dfs_fs.h>
  14. #define DBG_TAG "mnt"
  15. #define DBG_LVL DBG_INFO
  16. #include <rtdbg.h>
  17. #ifdef RT_USING_DFS
  18. #include <dfs_fs.h>
  19. int mnt_init(void)
  20. {
  21. #ifdef BSP_USING_ON_CHIP_FLASH
  22. fal_init();
  23. #define FS_PARTITION_NAME "flash"
  24. struct rt_device *mtd_dev;
  25. mtd_dev = fal_blk_device_create(FS_PARTITION_NAME);
  26. if (!mtd_dev)
  27. {
  28. LOG_E("Failed to create device.\n");
  29. }
  30. #ifdef BSP_USING_ON_CHIP_FLASH_FATFS
  31. if (dfs_mount(FS_PARTITION_NAME, "/", "elm", 0, 0) == 0)
  32. {
  33. LOG_I("Filesystem initialized!");
  34. }
  35. else
  36. {
  37. dfs_mkfs("elm", FS_PARTITION_NAME);
  38. if (dfs_mount(FS_PARTITION_NAME, "/", "elm", 0, 0) != 0)
  39. {
  40. LOG_I("Failed to initialize filesystem!");
  41. }
  42. }
  43. #endif /* BSP_USING_ON_CHIP_FLASH_FATFS */
  44. #endif /* BSP_USING_ON_CHIP_FLASH */
  45. return 0;
  46. }
  47. INIT_ENV_EXPORT(mnt_init);
  48. #endif /* RT_USING_DFS */