54 lines
1.4 KiB
C
54 lines
1.4 KiB
C
#include "app_lib_fs_impl.h"
|
|
|
|
#include "user_board.h"
|
|
|
|
sdmmc_card_t *g_card;
|
|
|
|
static const char *TAG = "APP_FS";
|
|
static const char *MOUNT_POINT = APP_FS_MOUNT_POINT;
|
|
|
|
void app_lib_fs_init(void) {
|
|
esp_err_t ret;
|
|
|
|
esp_vfs_fat_sdmmc_mount_config_t mount_config = {
|
|
.format_if_mount_failed = false,
|
|
.max_files = 5,
|
|
.allocation_unit_size = 16 * 1024
|
|
};
|
|
|
|
sdmmc_host_t host = SDSPI_HOST_DEFAULT();
|
|
spi_bus_config_t bus_cfg = {
|
|
.mosi_io_num = BOARD_SD_MOSI_PIN,
|
|
.miso_io_num = BOARD_SD_MISO_PIN,
|
|
.sclk_io_num = BOARD_SD_SCLK_PIN,
|
|
.quadhd_io_num = -1,
|
|
.quadwp_io_num = -1,
|
|
.max_transfer_sz = 4000
|
|
};
|
|
|
|
ret = spi_bus_initialize(host.slot, &bus_cfg, SPI_DMA_CH_AUTO);
|
|
if(ret != ESP_OK) {
|
|
ESP_LOGE(TAG, "Failed to initialize SPI bus.");
|
|
return;
|
|
}
|
|
|
|
sdspi_device_config_t slot_config = SDSPI_DEVICE_CONFIG_DEFAULT();
|
|
slot_config.gpio_cs = BOARD_SD_CS_PIN;
|
|
slot_config.gpio_cd = BOARD_SD_DET_PIN;
|
|
slot_config.host_id = host.slot;
|
|
|
|
ret = esp_vfs_fat_sdspi_mount(MOUNT_POINT, &host, &slot_config, &mount_config, &g_card);
|
|
|
|
if(ret != ESP_OK) {
|
|
if(ret == ESP_FAIL) {
|
|
ESP_LOGE(TAG, "Failed to mount SD card.");
|
|
}
|
|
else {
|
|
ESP_LOGE(TAG, "Failed to initialize SD card. Result is %s", esp_err_to_name(ret));
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
sdmmc_card_print_info(stdout, g_card);
|
|
} |