1.内核MMC/SD驱动程序框架
内核drivers/mmc目录下有3个子目录:card/、core/和host/,这刚好表示了MMC/SD驱动程序的3个层次,如下:
1)区块层
向文件系统层、用户空间提供文件操作的接口,主要文件是card/目录下的block.c,queue.c向它提供了几个函数来操作队列。
区块层调用core/目录下的core.c、sysfs.c提供的接口来识别存储卡的分区、读写存储卡等功能。
2)核心层
核心层代码在core/目录下,它封装了MMC/SD命令,实现MMC/SD协议,它调用主机控制器层的接口完成存储卡的识别、设置、读写等。
可知,开发板上MMC/SD接口连线是:nCD接到外部中断引脚EINT16,接上或拔下存储卡时会触发中断。
移植MMC/SD/SDIO控制器驱动程序分为3步骤:打补丁、增加MMC/SD平台设备、修改主机控制器驱动程序以指定上图中的nCD中断。
1)给内核打补丁
2)增加MMC/SD平台设备
上一篇:arm的一些概念(ARM7、Cortex-M的区别)
下一篇:IDE接口驱动程序移植
推荐阅读最新更新时间:2024-11-11 06:15
设计资源 培训 开发板 精华推荐
- 【已验证】免开发 AI语音红外设备
- LTM8052MPV 31Vin、-5Vout 负转换器的典型应用
- LTC3890HUH 高效双路 12V/3.3V 降压转换器典型应用电路
- 具有短路保护功能的 NCV78M05ABDTRKG 5V 电流升压的典型应用
- LD29150DT25R 1.5A超低压降稳压器典型应用电路
- 采用扫描接口 (Scan I/F) 的 LC 传感器的水表参考设计
- 涂鸦智能 3路WiFi开关带电量统计
- DC928A,使用 LTC3452 降压-升压稳压器用于主摄像头白光 LED 的演示板
- DC2247A,基于 LT3922 36V 2A 同步 2MHz 升压 LED 驱动器的演示板
- OP113ESZ-REEL精密比较器典型应用