历史上的今天
今天是:2025年04月19日(星期六)
2019年04月19日 | SD卡驱动程序移植
2019-04-19 来源:eefocus
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平台设备








史海拾趣
|
平台:2450+WINCE500 FLASH:三星MLC NAND FLASH 问题描述: 不用HIVE注册表时,XIP可以运行,待改成HIVE注册表后,串口信息如下: ---------------------------------------- [OEMIO:INF] + IOCTL_HAL_POSTINIT [OEMIO:INF]  ...… 查看全部问答> |
|
小弟最近遇到個問題~~ 就是在VS2005上開發WINCE6的程式 我include simmgr.h到CODE中 就會出現 \"管道的另一端上無任何進程\" 請問一下!!是simmgr.h不支援WINCE6嗎? 謝謝!!… 查看全部问答> |
|
visual studio 2005 compact c# 嵌入wince开发如何实现在DATAGRid里面加一列checkbox 精简版 2005 compact c#,wince 如何在datagrid中加一列checkbox ,由于datagrid中不支持DataGridBoolColumn,所以不知道如何加checkbox,请教高手,… 查看全部问答> |
|
正在写一个SIP的程序。 遇到了这样一个困难。 首先在生成SIP软面板的时候,创建了一个窗口,得到句柄hwndsip。 我可以在这个面板上直接TextOut就输出了文本,直接InvalidateRect就可以将文本清除掉,在同一窗口下做这样的一系列操作都没什么问题 ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 09:03 编辑 09年 无线环境监测的题目 看以前的论文中有一个用反向串联的2个1N4148 和一个4.7mH电感串联一个5.6K电阻到单片机IO口 控制接收电路 不懂怎么个原理啊 有清楚原理的不? 两个1N4148反向串 ...… 查看全部问答> |
|
430和AT45DB642D怎么进行SPI传输问题(附代码)交流群289960576 /********************************************** 初始化 ***********************************************/ void Spi_Init() { P3SEL = 0x0e;//SPI P3DIR |= BIT0 + BIT1 + BIT3;//0 1 3 为输出 2 ...… 查看全部问答> |




