历史上的今天
返回首页

历史上的今天

今天是: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平台设备



推荐阅读

史海拾趣

BOOKLY公司的发展小趣事

BOOKLY公司非常重视人才培养和团队建设。公司不仅为员工提供优厚的福利待遇和广阔的职业发展空间,还积极开展各种培训和学习活动,提升员工的专业技能和综合素质。同时,BOOKLY还注重团队文化建设,倡导团结协作、创新进取的精神。这些举措使得BOOKLY的团队凝聚力不断增强,为公司的发展提供了有力的人才保障。

General Transistor Corp公司的发展小趣事

在1976年,GTC(General Transistor Corp.)作为一家独立的电子元器件分销商和生产商在美国正式成立。这一时期,电子行业正处于快速发展阶段,晶体管、集成电路等新型电子元件的应用日益广泛。GTC凭借其敏锐的市场洞察力和技术实力,迅速在市场中站稳脚跟。公司初期专注于分销高质量的晶体管、二极管等电子元器件,并逐渐建立起稳定的供应链和客户群。

GWP Group公司的发展小趣事

随着技术的不断进步,GTC意识到仅仅作为分销商已无法满足市场需求。于是,公司开始逐步涉足电子元器件的生产领域,专注于研发和生产具有自主知识产权的产品。通过持续的技术创新和研发投入,GTC成功推出了一系列高性能的晶体管、集成电路等新产品,进一步丰富了其产品线。这些产品不仅在国内市场受到好评,还逐渐走向国际市场。

EPIC公司的发展小趣事

1998年,Epic Games发布了一款名为“虚幻”的3D第一人称射击游戏。这款游戏不仅游戏内容新颖,更引人注目的是它背后完全自主开发的3D游戏引擎。这个引擎后来被称为“虚幻引擎”,并成为了Epic Games的核心技术之一。随着游戏的成功,虚幻引擎也逐渐受到了业界的关注。许多其他游戏开发商开始采用这款引擎来开发自己的游戏,从而使得Epic Games在游戏引擎领域取得了显著的商业成功。

CDIL[Continental Device India Pvt. Ltd.]公司的发展小趣事

CDIL采用无晶圆厂模式生产分立半导体器件,专注于功率半导体和高可靠性组件的研发与生产。这一模式使CDIL能够更加灵活地应对市场变化,降低生产成本,提高产品竞争力。同时,公司还采用自己的封装技术,确保产品能够满足太空应用等严苛环境的严格标准。

安国国际(ALCOR)公司的发展小趣事

近年来,安国国际将发展重心放在U盘控制IC的开发上。随着USB技术的不断升级和SSD市场的蓬勃发展,安国积极抢占USB 3.0、USB 3.1及SSD控制IC的市场先机。公司的U盘控制IC不仅支持新一代3D NAND技术,还具备高性能、低功耗等优点,深受市场欢迎。通过持续的技术创新和市场拓展,安国在U盘控制IC领域取得了显著成绩。

问答坊 | AI 解惑

双机无线通信的东东

用单片机实现的双机无线通信,有仿真结果的,资料很全!…

查看全部问答>

求:wince或者winmobile上浏览jpeg2000图片的工具

RT. 一直没有找到,恳请知道的XDJM告知一下,谢谢。…

查看全部问答>

XIP和HIVE注册表不能同时工作问题请教?

平台:2450+WINCE500 FLASH:三星MLC NAND FLASH 问题描述: 不用HIVE注册表时,XIP可以运行,待改成HIVE注册表后,串口信息如下: ---------------------------------------- [OEMIO:INF]  + IOCTL_HAL_POSTINIT [OEMIO:INF]  ...…

查看全部问答>

請問一下~simmgr.h可以用在WINCE6上面嗎?

小弟最近遇到個問題~~ 就是在VS2005上開發WINCE6的程式 我include simmgr.h到CODE中 就會出現 \"管道的另一端上無任何進程\" 請問一下!!是simmgr.h不支援WINCE6嗎? 謝謝!!…

查看全部问答>

PTM100 GPRS模块

有人用过PTM100 GPRS模块或者PTM201 开发板么。 在GPRS应用中 如何转换数据模式和命令模式? 如何发送带有回车换行的数据? …

查看全部问答>

visual studio 2005 compact c# 嵌入wince开发如何实现在DATAGRid里面加一列checkbox

精简版  2005    compact c#,wince     如何在datagrid中加一列checkbox ,由于datagrid中不支持DataGridBoolColumn,所以不知道如何加checkbox,请教高手,…

查看全部问答>

调用API如何刷新另一窗口的RECT

正在写一个SIP的程序。 遇到了这样一个困难。 首先在生成SIP软面板的时候,创建了一个窗口,得到句柄hwndsip。 我可以在这个面板上直接TextOut就输出了文本,直接InvalidateRect就可以将文本清除掉,在同一窗口下做这样的一系列操作都没什么问题 ...…

查看全部问答>

AD常用快捷键

DXP AD常用快捷键…

查看全部问答>

09年 无线环境监测的题目 求助!!!thx~~~

本帖最后由 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 ...…

查看全部问答>