- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 DM9000网卡驱动详细分析(3)
struct net_device_ops dm9000_netdev_ops结构中包含网卡的打开,关闭,发送数据,改变MTU参数等重要功能:static const struct net_device_ops dm9000_netdev_ops = {.ndo_open= dm9000_open,.ndo_stop= dm9000_stop,.ndo_start_xmit= dm9000_start_xmit,.ndo_tx_timeout= dm9000_timeout,.ndo_set_multica
2011-02-21 22:35:00
1251
原创 DM9000网卡驱动详细分析(2)
<br /><br />所以函数中的第一语句获取的是mini2440_dm9k_pdata结构中的内容,它只初始化了一个成员,另外的指针成员并没有初始化.平台设备的资源在struct resource mini2440_dm9k_resource[]中定义,有地址IO,数据IO以及中断号.<br /> <br />struct board_info *db;/* Point a board information structure */<br />这个结构体是私有数据结构体,表征的是DM9000网卡的所有
2011-02-21 22:32:00
927
原创 DM9000网卡驱动详细分析(1)
linux下DM9000网卡驱动同样是注册成平台驱动(platform driver)的形式.平台驱动在此就不多做介绍了,具体请参考linux驱动分析之framebuffer驱动.重点介绍DM9000网卡的控制.首先大致介绍一下DM9000的相关情况.这里参考大牛黄刚博客的一段(略有改动).DM9000的引脚和MINI2440的引脚连接:DM9000 MINI2440 功能描述SD0 DATA0 数据信号 | |SD15 DATA15 数据信号CMD ADDR2 识别为地
2011-02-21 22:30:00
831
转载 实例解析Linux内核I2C体系结构(1)
<br />一、概述<br />谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。<br />第一种方法的好处(对应第二种方法的劣势)有:<br /> ● 思路比较直接,不需要花时间去了解linux内核中复杂的I2C子系统的操作方法。<br />第一种方法问题(对应第二种方法的好处)有:<br /> ● 要求工程师不仅要对I2C设备的操作熟悉
2010-08-01 17:03:00
316
转载 实例解析linux内核I2C体系结构(2)
<br />作者:刘洪涛,华清远见嵌入式学院讲师。<br /> <br />四、在内核里写i2c设备驱动的两种方式<br />前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两种方式的实现。这里分别称这两种方式为“Adapter方式(LEGACY)”和“Probe方式(new style)”。<br />(1) Adapter方式(LEGACY)<br />(下面的实例代码是在2
2010-08-01 17:00:00
263
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人