第一范文网 - 专业文章范例文档资料分享平台

Linux设备驱动子系统第二弹- SD卡 - 图文

来源:用户分享 时间:2025/6/26 1:52:42 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

[置顶]Linux设备驱动子系统第二弹 - SD卡 分类: Linux驱动 2010-10-01 19:59 3553人阅读 评论(5) 收藏 举报 1. 总论 2. 主控制器 3. 协议层 4. 块设备 1. 总论 1.1 概念 ? ?

MMC - MultiMedia Card SD - Secure Digital Card

1.2 分类

?

按存储大小,普通SD卡(<=2GB,支持FAT12/FAT16),HCSD卡(>2GB,<=32GB,支持FAT32)

? 按体积大小,普通SD卡,mini-SD卡,micro-SD卡(TF卡)

1.3 速度

? ?

默认模式: 12.5MB/s 高速模式: 25MB/s

1.4 子系统代码结构

Linux源码里/drivers/mmc下有三个文件夹,分别存放了SD块设备,核心层和SD主控制器的相关代码,可以通过Kconfig和Makefile获取更多信息。

2. 主控制器

SD卡的控制器芯片,可以看成CPU的代言人,它为CPU分担了完成与SD卡数据通信的任务。 2.1 数据结构 以PXA芯片的SD控制器驱动为例, struct pxamci_host { struct mmc_host *mmc; struct mmc_request *mrq; struct mmc_command *cmd; struct mmc_data *data; ... ... };

2.1.1 struct mmc_host 结构体mmc_host定义于/include/linux/mmc/host.c,可以认为是linux为SD卡控制器专门准备的一个类,该类里面的成员是所有SD卡控制器都需要的,放之四海而皆准的数据结构,而在PXA芯片控制器的驱动程序pxamci.c中,则为该类具体化了一个对象struct mmc_host *mmc,此mmc指针即指代着该PXA芯片SD卡控制器的一个具体化对象。

struct mmc_host {

const struct mmc_host_ops *ops; // SD卡主控制器的操作函数,即该控制器所具备的驱动能力

const struct mmc_bus_ops *bus_ops; // SD总线驱动的操作函数,即SD总线所具备的驱动能力

struct mmc_ios ios; // 配置时钟、总线、电源、片选、时序等 struct mmc_card *card; // 连接到此主控制器的SD卡设备 ... ... };

Linux设备驱动子系统第二弹- SD卡 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3j9b18dazv3uh255bmoa_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top