SD卡在MTK6577中的架构
来源:互联网 发布:清华软件学院排名 编辑:程序博客网 时间:2024/06/06 00:31
涉及到的文件有:Sd.c (mediatek\platform\mt6577\kernel\drivers\mmc-host)
Mt6577_devs.c (mediatek\platform\mt6577\kernel\core)
下面就整个驱动的流程过一下:
系统起来的时候执行static int __init mt_msdc_init(void)在这个函数里最重要的是执行platform_driver_register(&mt_msdc_driver),即注册到内核的虚拟总线上,注册的原则是把驱动mt_msdc_driver各参数进行初始化。
下面进入变量mt_msdc_driver各成员的初始化。其中最重要的成员是msdc_drv_probe的执行。当在虚拟platform总线上driver和device的名字DRV_NAME(#define DRV_NAME "mtk-sd")相匹配时即执行probe函数。
下面先看看文件Mt6577_devs.c 中的static struct platform_device mt6577_device_sd[] =
#if defined(CFG_DEV_MSDC0)
{
.name = "mtk-sd",
.id = 0,
.num_resources = ARRAY_SIZE(mt6577_resource_sd0),
.resource = mt6577_resource_sd0,
.dev = {
.platform_data = &msdc0_hw,
},
},
#endif
从这个结构体可以得出platform_device和platform_driver的name是相同的,所以会遍历到执行probe函数,这个结构体中有个重要的参数mt6577_resource_sd0,这个成员即是SD卡的初始状态值:
#if defined(CFG_DEV_MSDC0)
static struct resource mt6577_resource_sd0[] = {
{
.start = MSDC_0_BASE,
.end = MSDC_0_BASE + 0x108,
.flags = IORESOURCE_MEM,
},
{
.start = MT6577_MSDC0_IRQ_ID,
.flags = IORESOURCE_IRQ,
},
};
#endif
这个相当于SD卡的私有数据。
来分析下static int msdc_drv_probe(struct platform_device *pdev)
mmc = mmc_alloc_host(sizeof(struct msdc_host), &pdev->dev);if (!mmc) return -ENOMEM;
hw = (struct msdc_hw*)pdev->dev.platform_data;
mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);//申请驱动的内存
irq = platform_get_irq(pdev, 0); //中断申请
mmc->ops = &mt_msdc_ops;//SD卡的处理函数
- SD卡在MTK6577中的架构
- ImageView中的图片保存到SD卡;sd卡中图片显示在ImageView中
- 将数据库存储在SD卡中的方法
- 关于SD卡和FAT32在lpc3250中的移植
- sd卡中的文件系统
- 在SD卡读写
- SD卡中的completion实现
- Android SD卡中的复制
- SD卡中的命令CMD
- 获取SD卡中的音乐文件
- 存取在SD卡中
- Android访问内部文件系统和模拟器中的SD卡,以及在模拟器安装apk文件
- android 如何获取保存在SD卡中的图片的路径?
- 事务在架构中的运用
- 事物在架构中的应用
- 缓存在架构中的作用
- DNS在架构中的运用
- Android4.2 在工程版机器上插入SD卡后自动运行SD卡根目录中的AutoRun.sh以实现动态开机动画、安装SD卡中指定目录中的apk到系统中等
- SQL----多张表连接查询,只查出符合条件的数据
- HDU 1401 双向状态搜索
- 数组进行增、删、查、改
- using语句
- 我的VMware认证设计专家(VCDX)之路-经历篇
- SD卡在MTK6577中的架构
- 不懂windows编程,谁能帮帮我啊!!!
- java ArrayList代替数组
- js操作select,增,删,改,查
- 配置操作系统环境
- 什么是云计算?
- JavaScript在XHTML中的用法
- POJ 2115 线性模方程
- URAL - 1057 - Amount of Degrees