|
|
@@ -0,0 +1,103 @@
|
|
|
+IF(NOT STM32Cube_DIR)
|
|
|
+ SET(STM32Cube_DIR "/opt/STM32Cube_FW_F1_V1.2.0")
|
|
|
+ MESSAGE(STATUS "No STM32Cube_DIR specified, using default: " ${STM32Cube_DIR})
|
|
|
+ENDIF()
|
|
|
+
|
|
|
+SET(FATFS_COMMON_SOURCES
|
|
|
+ diskio.c
|
|
|
+ ff.c
|
|
|
+ ff_gen_drv.c
|
|
|
+)
|
|
|
+
|
|
|
+IF(NOT STORAGE_DRIVER)
|
|
|
+ MESSAGE(STATUS "No storage driver specified")
|
|
|
+else()
|
|
|
+ if("SDCARD" IN_LIST STORAGE_DRIVER)
|
|
|
+ LIST(APPEND FATFS_DRIVER_SOURCES sd_diskio.c)
|
|
|
+ endif()
|
|
|
+ if("SDRAM" IN_LIST STORAGE_DRIVER)
|
|
|
+ LIST(APPEND FATFS_DRIVER_SOURCES sdram_diskio.c)
|
|
|
+ endif()
|
|
|
+ if("SRAM" IN_LIST STORAGE_DRIVER)
|
|
|
+ LIST(APPEND FATFS_DRIVER_SOURCES sram_diskio.c)
|
|
|
+ endif()
|
|
|
+ if("USBH" IN_LIST STORAGE_DRIVER)
|
|
|
+ LIST(APPEND FATFS_DRIVER_SOURCES usbh_diskio.c)
|
|
|
+ endif()
|
|
|
+endif()
|
|
|
+MESSAGE(STATUS "debug1 : " ${STORAGE_DRIVER})
|
|
|
+MESSAGE(STATUS "debug2 : " ${FATFS_DRIVER_SOURCES})
|
|
|
+
|
|
|
+SET(FATFS_OPTION_SOURCES syscall.c unicode.c)
|
|
|
+#if(CODE_PAGE EQUAL CP932)
|
|
|
+#list(APPEND FATFS_OPTION_SOURCES cc932.c)
|
|
|
+#( cc936.c
|
|
|
+# cc949.c
|
|
|
+# cc950.c
|
|
|
+# ccsbcs.c
|
|
|
+# unicode.c
|
|
|
+#)
|
|
|
+
|
|
|
+SET(FATFS_COMMON_HEADERS
|
|
|
+ diskio.h
|
|
|
+ ff.h
|
|
|
+ ff_gen_drv.h
|
|
|
+ ffconf_template.h
|
|
|
+ integer.h
|
|
|
+)
|
|
|
+
|
|
|
+SET(FATFS_DRIVER_HEADERS
|
|
|
+ sd_diskio.h
|
|
|
+ sdram_diskio.h
|
|
|
+ sram_diskio.h
|
|
|
+ usbh_diskio.h
|
|
|
+)
|
|
|
+
|
|
|
+FIND_PATH(FATFS_COMMON_INCLUDE_DIR ${FATFS_COMMON_HEADERS}
|
|
|
+ HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src
|
|
|
+ CMAKE_FIND_ROOT_PATH_BOTH
|
|
|
+)
|
|
|
+
|
|
|
+FIND_PATH(FATFS_DRIVER_INCLUDE_DIR ${FATFS_DRIVER_HEADERS}
|
|
|
+ HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src/drivers/
|
|
|
+ CMAKE_FIND_ROOT_PATH_BOTH
|
|
|
+)
|
|
|
+
|
|
|
+SET(FATFS_INCLUDE_DIRS
|
|
|
+ ${FATFS_COMMON_INCLUDE_DIR}
|
|
|
+ ${FATFS_DRIVER_INCLUDE_DIR}
|
|
|
+)
|
|
|
+
|
|
|
+FOREACH(SRC ${FATFS_COMMON_SOURCES})
|
|
|
+ SET(SRC_FILE SRC_FILE-NOTFOUND)
|
|
|
+ FIND_FILE(SRC_FILE ${SRC}
|
|
|
+ HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src/
|
|
|
+ CMAKE_FIND_ROOT_PATH_BOTH
|
|
|
+ )
|
|
|
+ LIST(APPEND FATFS_SOURCES ${SRC_FILE})
|
|
|
+ENDFOREACH()
|
|
|
+
|
|
|
+FOREACH(SRC ${FATFS_DRIVER_SOURCES})
|
|
|
+ SET(SRC_FILE SRC_FILE-NOTFOUND)
|
|
|
+ FIND_FILE(SRC_FILE ${SRC}
|
|
|
+ HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src/drivers/
|
|
|
+ CMAKE_FIND_ROOT_PATH_BOTH
|
|
|
+ )
|
|
|
+ LIST(APPEND FATFS_SOURCES ${SRC_FILE})
|
|
|
+ENDFOREACH()
|
|
|
+
|
|
|
+FOREACH(SRC ${FATFS_OPTION_SOURCES})
|
|
|
+ SET(SRC_FILE SRC_FILE-NOTFOUND)
|
|
|
+ FIND_FILE(SRC_FILE ${SRC}
|
|
|
+ HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src/option/
|
|
|
+ CMAKE_FIND_ROOT_PATH_BOTH
|
|
|
+ )
|
|
|
+ LIST(APPEND FATFS_SOURCES ${SRC_FILE})
|
|
|
+ENDFOREACH()
|
|
|
+
|
|
|
+message(STATUS "fatfs include " ${FATFS_INCLUDE_DIRS})
|
|
|
+message(STATUS "fatfs sources " ${FATFS_SOURCES})
|
|
|
+
|
|
|
+INCLUDE(FindPackageHandleStandardArgs)
|
|
|
+
|
|
|
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(FATFS DEFAULT_MSG FATFS_INCLUDE_DIRS FATFS_SOURCES)
|