card 驱动

架构

读写流程

初始化流程:

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配置(针对双卡的问题)?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值