Chinaunix首页 | 论坛 | 博客
  • 博客访问: 81824
  • 博文数量: 62
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 14
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-23 21:49
文章分类

全部博文(62)

文章存档

2014年(55)

2013年(7)

我的朋友

发布时间:2014-05-08 00:20:30

——转自  http://www.embeddedlinux.org.cn/html/yingjianqudong/201303/17-2502.html1.1 I2C总线知识1.1.1  I2C总线物理拓扑结构     I2C总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来 产生I2C总.........【阅读全文】

阅读(251) | 评论(0) | 转发(0)

发布时间:2014-05-03 20:44:47

    本节中主要讲述探测函数中的初始化和移除slot,首先看下初始化:static int __init dw_mci_init_slot(struct dw_mci *host, unsigned int id){    struct mmc_host *mmc;    struct dw_mci_slot *slot;    mmc = mmc_alloc_host(sizeof(struct dw_mc.........【阅读全文】

阅读(615) | 评论(0) | 转发(0)

发布时间:2014-05-03 20:44:39

    这一节我们看下探测函数tasklet中的两个函数,首先看下发现卡函数dw_mci_tasklet_card:static void dw_mci_tasklet_card(unsigned long data){    struct dw_mci *host = (struct dw_mci *)data;    int i;    //每个slot都执行一次,本例只有一个.........【阅读全文】

阅读(706) | 评论(0) | 转发(0)

发布时间:2014-05-03 20:44:27

    接下来,继续第一部分,来看下DW的SD卡驱动中关于操作DAM部分,在探测函数中,主要是如下两条语句:    host->dma_ops = pdata->dma_ops;    dw_mci_init_dma(host);    由于这里是探测函数,在设备的定义中,也没有对pdata->dma_ops成员进行初始.........【阅读全文】

阅读(595) | 评论(0) | 转发(0)

发布时间:2014-05-03 20:44:12

       分析一个驱动,一般是从module_init()和module_exit()入手,首先来看下module_init()函数。static int __init dw_mci_init(void){    return platform_driver_probe(&dw_mci_driver, dw_mci_probe);}        在platf.........【阅读全文】

阅读(1060) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册