mnt.c 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2017-08-08 Yang the first version
  9. */
  10. #include <rtthread.h>
  11. #include <dfs.h>
  12. #include <dfs_fs.h>
  13. #ifdef RT_USING_DFS_ROMFS
  14. #include <dfs_romfs.h>
  15. #endif
  16. #include "drv_sd.h"
  17. #ifdef RT_USING_DFS_ROMFS
  18. #define SD_ROOT "/sdcard"
  19. #else
  20. #define SD_ROOT "/"
  21. #endif
  22. int mnt_init(void)
  23. {
  24. #ifdef RT_USING_DFS_ROMFS
  25. /* initialize the device filesystem */
  26. dfs_init();
  27. dfs_romfs_init();
  28. /* mount rom file system */
  29. if (dfs_mount(RT_NULL, "/", "rom", 0, &(romfs_root)) == 0)
  30. {
  31. rt_kprintf("ROM file system initializated!\n");
  32. }
  33. #endif
  34. #ifdef BSP_DRV_SDCARD
  35. /* initilize sd card */
  36. mci_hw_init("sd0");
  37. #endif
  38. #ifdef RT_DFS_ELM_REENTRANT
  39. /* mount sd card fat partition 1 as root directory */
  40. if (dfs_mount("sd0", SD_ROOT, "elm", 0, 0) == 0)
  41. rt_kprintf("File System initialized!\n");
  42. else
  43. rt_kprintf("File System init failed!\n");
  44. #endif
  45. return 0;
  46. }
  47. INIT_ENV_EXPORT(mnt_init);