架构
读写流程
初始化流程:
CMD0
CMD8(高速 大容量)
CMD41(SD_SEND_OP_COND)
CMD2
CMD3(intoken SD ID)
CCS: 1 高速卡 0 普通卡
错误处理:
在错误处理中还有card init
ESD处理
在连续读写时候,处理ESD状况,要连续重新操作三次,若三次未恢复则交给上层处理
相关学习
CMD0 –TM no rsp
CMD13–TM1 获取状态
CMD7 –stadby
RCA:
MMC 和 SD
大体一样,不同公司的类似设计
双卡评估工作
卡1卡2切换通过CLK不同加不同addr区分开
最好不要分时复用。
问题:如何保存card 的相关参数 addr state cap 与切换。(5009做过看一下保存了什么信息,如何读取)
拓扑优缺点:稳定性好
状态机切换:
双卡如何识别?原来的检测方式+轮询机制
boot card (CID RCA )的信息放在哪里?
结构体形式存储 卡信息 和SDC状态
重要的全局变量
card_ standby_ state
g_ card_ para
bit 4-5 rw标志位
g_ card_ rca
2个字节
g_card_type
1个字节
drv_install
drv_mount
一些问题
card_macro.h中的 MMC*** different class
也要去了解CARD的一些特性比如最高的支持速度,时钟频率
if define card_u_mode
读写card的操作地址怎么体现 RCA+enbale clk_a
clk是SDC 还是card的时钟?要设置多少?
现在card的时钟是单独GPIO配置(针对双卡的问题)?