SD/SDIO/MMC 驱动程序

您所在的位置:网站首页 EMMC读取失败 SD/SDIO/MMC 驱动程序

SD/SDIO/MMC 驱动程序

2024-07-13 07:44| 来源: 网络整理| 查看: 265

用于 SDIO 卡的 API

SDIO 卡初始化和检测过程与 SD 存储卡相同,唯一的区别是 SDIO 模式下数据传输命令不同。

在卡初始化和卡检测(通过运行 sdmmc_card_init())期间,驱动仅配置 IO 卡如下寄存器:

I/O 中止 (0x06) 寄存器:在该寄存器中设置 RES 位可重置卡的 IO 部分;

总线接口控制 (0x07) 寄存器:如果主机和插槽配置中启用 4 线模式,则驱动程序会尝试在该寄存器中设置总线宽度字段。如果字段设置成功,则从机支持 4 线模式,主机也切换至 4 线模式;

高速 (0x13) 寄存器:如果主机配置中启用高速模式,则该寄存器的 SHS 位会被设置。

注意,驱动程序不会在 (1) I/O 使能寄存器和 Int 使能寄存器,及 (2) I/O 块大小中,设置任何位。应用程序可通过调用 sdmmc_io_write_byte() 来设置相关位。

如需卡配置或传输数据,请根据具体情况,选择下表函数:

操作

函数读取

函数写入

使用 IO_RW_DIRECT (CMD52) 读写单个字节。

sdmmc_io_read_byte()

sdmmc_io_write_byte()

使用 IO_RW_EXTENDED (CMD53) 的字节模式读写多个字节。

sdmmc_io_read_bytes()

sdmmc_io_write_bytes()

块模式下,使用 IO_RW_EXTENDED (CMD53) 读写数据块。

sdmmc_io_read_blocks()

sdmmc_io_write_blocks()

使用 sdmmc_io_enable_int() 函数,应用程序可启用 SDIO 中断。在单线模式下使用 SDIO 时,还需要连接 D1 线来启用 SDIO 中断。

如果需要应用程序保持等待直至发生 SDIO 中断,请使用 sdmmc_io_wait_int() 函数。

如果需要与 ESP32 的 SDIO 从设备通信,请使用 ESSL 组件(ESP 串行从设备链接)。请参阅 ESP 串行从机链路 和 peripherals/sdio/host。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3