版权声明:本文为博主原创文章,转载请注明出处:https://blog.csdn.net/huang_165/article/details/86550606
环境:
sd卡:罗果 128MB class 6
内核:Linux4.4
class 6是sd卡数据速率标准
我们先看看硬件拓扑图:图片转自http://www.wowotech.net/basic_tech/mmc_sd_sdio_intro.html
MMC的本质是提供一套可以访问固态非易失性存储介质的通信协议(以sdio为接口),从产业化的角度看,这些存储介质一般集成在一个独立的外部模块中(卡、WIFI模组等),通过物理总线和mmc主机控制器、CPU连接。也就是说,WiFi模组也可以模拟为MMC设备。
看下sd卡内部图:图片转自:http://www.wowotech.net/basic_tech/mmc_sd_sdio_intro.html
卡的内部由如下几个block组成
Memory core,存储介质,一般是NAND flash、NOR flash等;
Memory core interface,管理存储介质的接口,用于访问(读、写、擦出等操作)存储介质;
Card interface(CMD、CLK、DATA),总线接口,外界访问卡内部存储介质的接口,和具体的管脚相连;
Card interface controller,将总线接口上的协议转换为Memory core interface的形式,用于访问内部存储介质;
Power模块,提供reset、上电检测等功能;
寄存器(图中位于Card interface controller的左侧,那些小矩形),用于提供卡的信息、参数、访问控制等功能。
mmc框架在Linux之中体现为:图片转自:http://www.wowotech.net/basic_tech/mmc_sd_sdio_intro.html
对于sd卡这种存储设备来说&#