STM32 evaluation board fatFS SDIO-based on source code integrity, and can be used directly.
File list:
FATFS-BMP
........\List
........\RVMDK
........\.....\FATFS-BMP.Opt
........\.....\FATFS-BMP.plg
........\.....\FATFS-BMP.Uv2
........\.....\FATFS-BMP_Opt.Bak
........\.....\FATFS-BMP_Target 1.dep
........\.....\FATFS-BMP_Uv2.Bak
........\.....\JLinkArm_Target 1.ini
........\src
........\...\BMP
........\...\...\bmp.c
........\...\...\bmp.h
........\...\FATFS
........\...\.....\diskio.c
........\...\.....\diskio.h
........\...\.....\ff.c
........\...\.....\ff.h
........\...\.....\ffconf.h
........\...\.....\integer.h
........\...\STM32Lib
........\...\........\StartUp
........\...\........\.......\startup_stm32f10x_hd.s
........\...\........\.......\startup_stm32f10x_ld.s
........\...\........\.......\startup_stm32f10x_md.s
........\...\........\core_cm3.c
........\...\........\core_cm3.h
........\...\........\misc.c
........\...\........\misc.h
........\...\........\stm32f10x.h
........\...\........\stm32f10x_adc.c
........\...\........\stm32f10x_adc.h
........\...\........\stm32f10x_bkp.c
........\...\........\stm32f10x_bkp.h
........\...\........\stm32f10x_can.c
........\...\........\stm32f10x_can.h
........\...\........\stm32f10x_conf.h
........\...\........\stm32f10x_conf.h.bak
........\...\........\stm32f10x_crc.c
........\...\........\stm32f10x_crc.h
........\...\........\stm32f10x_dac.c
........\...\........\stm32f10x_dac.h
........\...\........\stm32f10x_dbgmcu.c
........\...\........\stm32f10x_dbgmcu.h
........\...\........\stm32f10x_dma.c
........\...\........\stm32f10x_dma.h
........\...\........\stm32f10x_exti.c
........\...\........\stm32f10x_exti.h
........\...\........\stm32f10x_flash.c
........\...\........\stm32f10x_flash.h
........\...\........\stm32f10x_fsmc.c
........\...\........\stm32f10x_fsmc.h
........\...\........\stm32f10x_gpio.c
........\...\........\stm32f10x_gpio.h
........\...\........\stm32f10x_i2c.c
........\...\........\stm32f10x_i2c.h
........\...\........\stm32f10x_iwdg.c
........\...\........\stm32f10x_iwdg.h
........\...\........\stm32f10x_pwr.c
........\...\........\stm32f10x_pwr.h
........\...\........\stm32f10x_rcc.c
........\...\........\stm32f10x_rcc.h
........\...\........\stm32f10x_rtc.c
........\...\........\stm32f10x_rtc.h
........\...\........\stm32f10x_sdio.c
........\...\........\stm32f10x_sdio.h
........\...\........\stm32f10x_spi.c
........\...\........\stm32f10x_spi.h
........\...\........\stm32f10x_tim.c
........\...\........\stm32f10x_tim.h
........\...\........\stm32f10x_usart.c
........\...\........\stm32f10x_usart.h
........\...\........\stm32f10x_wwdg.c
........\...\........\stm32f10x_wwdg.h
........\...\........\system_stm32f10x.c
........\...\........\system_stm32f10x.h
........\...\25f.c
........\...\font_data.c
........\...\font_data.h
........\...\gpio.c
........\...\hal.c
........\...\hal.h
........\...\main.c
........\...\nvic.c
........\...\rcc.c
........\...\sd.c
........\...\sd.h
........\...\stm32f10x_it.c
........\...\tftdriver.c
........\...\tftdriver.h
........\...\tfthal.c
........\...\tfthal.h
........\...\time.c
........\...\touchhal.c
........\...\touchhal.h