Linux SD 驱动开发
文章平均质量分 89
zqixiao_09
这个作者很懒,什么都没留下…
展开
-
Linux SD卡驱动开发(一) —— SD 相关基础概念
一.SD/MMC卡基础概念1.1.什么是MMC卡 MMC:MMC就是MultiMediaCard的缩写,即多媒体卡。它是一种非易失性存储器件,体积小巧(24mm*32mm*1.4mm),容量大,耗电量低,传输速度快,广泛应用于消费类电子产品中。1.2.什么是SD卡 SD:SD卡为Secure Digital Memory Card, 即安全数码卡。它在MMC的基础原创 2016-04-01 21:18:05 · 16365 阅读 · 4 评论 -
Linux SD卡驱动开发(二) —— SD 卡驱动分析HOST篇
回顾一下前面的知识,MMC 子系统范围三个部分:HOST 部分是针对不同主机的驱动程序,这一部是驱动程序工程师需要根据自己的特点平台来完成的。CORE 部分: 这是整个MMC 的核心存,这部分完成了不同协议和规范的实现,并为HOST 层的驱动提供了接口函数。CARD 部分:因为这些记忆卡都是块设备,当然需要提供块设备的驱动程序,这部分就是实现了将你的SD 卡如何实现为块设备的。它们原创 2016-04-01 22:19:18 · 25244 阅读 · 9 评论 -
Linux SD卡驱动开发(三) —— SD 卡驱动分析CORE篇
废话不多说,直接切进主题: Linux在内核源码的drivers/mmc/core文件夹下为我们的提供了一系列SD卡的接口服务函数。可以查看Makefile如下可见,core文件夹下有针对总线的服务bus.c,针对主控制器的服务host.c,针对SD卡的服务sd.c, sd_ops.c等等。其中,最为核心的一个函数便是之前提到的位于core.c的mmc_rescan原创 2016-04-02 09:45:37 · 10397 阅读 · 2 评论 -
Linux SD卡驱动开发(五) —— SD 卡驱动分析Core补充篇
Core层中有两个重要函数 mmc_alloc_host 用于分配一个mmc的控制器,前面已经学习过,这里不再阐述;另一个就是 mmc_add_host 下面是这个函数的详细分析mmc_add_host [core/host.c]/** * mmc_add_host - initialise host hardware * @host: mmc host * * Regi原创 2016-04-02 20:14:46 · 3223 阅读 · 0 评论 -
Linux SD卡驱动开发(四) —— SD 控制器之真正的硬件操作
前面对SD卡控制器有了一个基本的介绍。其实SD控制器层更过的意义是为core层提供一种操作SD卡硬件的一种方法,当然不同的控制器对硬件控制的方法不尽相同,但是他们最终都能像core层提交一个统一的封装有操作方法的数据结构,那便是即将闪亮登场的struct mmc_host_ops....对应的host文件为s3cmci.c。 接下来就来揭开与之对应的struct mmc_host_ops原创 2016-04-02 10:18:21 · 8613 阅读 · 3 评论 -
Linux SD卡驱动开发(六) —— SD卡启动过程总体分析
一、工作流程mmc驱动主要文件包括drivers/mmc/card/block.cdrivers/mmc/card/queue.cdrivers/mmc/core/core.cdrivers/mmc/core/host.cdrivers/mmc/core/内核启动时,首先执行core/core.c的mmc_init,注册mmc、sd总线,以及一个host class设备原创 2016-04-04 20:52:08 · 7584 阅读 · 2 评论