1. 前言
本文的目的是学习如何操作sd卡,及了解sd相关协议。所以基于s3c6410平台的sd/mmc host控制器,实现了通过fatinfo/fatls/fatload命令获取sd卡信息/文件列表/读取卡中文件里的内容的功能。在实现过程中,主要参考了uboot,linux kernel mmc子系统,sd协会的sd物理层协议规范和sd host控制器协议规范,以及网络上相关学习资料。
首先介绍一下MMC,SD,SDIO等之间的关系,如下图所示。
- MMC卡(MultiMediaCard): 是一种快闪存储器卡标准。技术基于东芝的NAND闪存技术。比早期基于Inter NOR快闪技术的记忆卡(如CF卡)体积更小。
- eMMC(Embedded MultiMediaCard):将NAND flash+主控IC封装在一起的IC芯片,一般是BGA封装。主要针对手机等产品的内嵌式存储器标准规格。
- SD卡(Secure Digital Memory Card):数据传送和物理规范等在MMC的基础上发展而来,强调安全,速度比2.11版的MMC卡更快。SDSC卡容量<=2GB,SDHC的为2GB~32GB、SDXC的为32GB~2TB。miniSD卡体积比SD卡小,而