mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
fb95daab06
According to the application note in SD Card Physical Specification: > The host shall set ACMD41 timeout more than 1 second to abort repeat of issuing ACMD41 when the card does not indicate ready. The timeout count starts from the first ACMD41 which is set voltage window in the argument. Previously, the timeout was exactly one second, and this caused certain larger-capacity cards to "time out", because they couldn't finish initialization process in time. |
||
---|---|---|
.. | ||
include | ||
CMakeLists.txt | ||
README.md | ||
sdmmc_cmd.c | ||
sdmmc_common.c | ||
sdmmc_common.h | ||
sdmmc_init.c | ||
sdmmc_io.c | ||
sdmmc_mmc.c | ||
sdmmc_sd.c |
SDMMC Protocol Layer Driver
SD Host Side Related Component Architecture
Architecture Graph
┌─────────────────────────────────────────────┐
│ │
│ SD Protocol Layer Driver: components/sdmmc │
│ │
└──────────▲────────────────────▲─────────────┘
│ │
│ │
Implements │ │ Implements
│ │
┌──────────────────────────────────┴─────┐ ┌────┴───────────────────────────────────┐
│ │ │ │
│Host Driver: components/esp_driver_sdmmc│ │Host Driver: components/esp_driver_sdspi│
│ │ │ │
└────────────────────────────────────────┘ └────────────────────────────────────────┘
Components
sdmmc
: SD protocol layer driver, it provides SD protocol related definitions and interfaces. With corresponding implementation drivers,sdmmc
APIs can help you:- send commands to slave devices
- send and receive data
- handle error conditions within the bus
esp_driver_sdmmc
: SDMMC Host driver for ESP SDMMC hardware, it implements thesdmmc
protocol interfaces.esp_driver_sdspi
: SDSPI Host driver for ESP GPSPI hardware, it implements thesdmmc
protocol interfaces.
Dependency
esp_driver_sdmmc
is in driver layer (G2), it relies onsdmmc
esp_driver_sdspi
is in driver layer (G2), it relies onsdmmc
sdmmc
does not and should not rely onesp_driver_sdmmc
oresp_driver_sdspi
. Thoughsdmmc
is independent, it still stays in G2.