<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jwctly的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jwctly</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jwctly]]></copyright><item><title><![CDATA[DM9000网卡驱动详细分析(3)]]></title><link>https://blog.youkuaiyun.com/jwctly/article/details/6198716</link><guid>https://blog.youkuaiyun.com/jwctly/article/details/6198716</guid><author>jwctly</author><pubDate>Mon, 21 Feb 2011 22:35:00 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[DM9000网卡驱动详细分析(2)]]></title><link>https://blog.youkuaiyun.com/jwctly/article/details/6198709</link><guid>https://blog.youkuaiyun.com/jwctly/article/details/6198709</guid><author>jwctly</author><pubDate>Mon, 21 Feb 2011 22:32:00 +0800</pubDate><description><![CDATA[<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网卡的所有]]></description><category></category></item><item><title><![CDATA[DM9000网卡驱动详细分析(1)]]></title><link>https://blog.youkuaiyun.com/jwctly/article/details/6198703</link><guid>https://blog.youkuaiyun.com/jwctly/article/details/6198703</guid><author>jwctly</author><pubDate>Mon, 21 Feb 2011 22:30:00 +0800</pubDate><description><![CDATA[linux下DM9000网卡驱动同样是注册成平台驱动(platform driver)的形式.平台驱动在此就不多做介绍了,具体请参考linux驱动分析之framebuffer驱动.重点介绍DM9000网卡的控制.首先大致介绍一下DM9000的相关情况.这里参考大牛黄刚博客的一段(略有改动).DM9000的引脚和MINI2440的引脚连接:DM9000  MINI2440 功能描述SD0   DATA0  数据信号 |           |SD15  DATA15  数据信号CMD  ADDR2  识别为地]]></description><category></category></item><item><title><![CDATA[实例解析Linux内核I2C体系结构(1)]]></title><link>https://blog.youkuaiyun.com/jwctly/article/details/5781118</link><guid>https://blog.youkuaiyun.com/jwctly/article/details/5781118</guid><author>jwctly</author><pubDate>Sun, 01 Aug 2010 17:03:00 +0800</pubDate><description><![CDATA[<br />一、概述<br />谈到在linux系统下编写I2C驱动，目前主要有两种方式，一种是把I2C设备当作一个普通的字符设备来处理，另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。<br />第一种方法的好处（对应第二种方法的劣势）有：<br />        ●    思路比较直接，不需要花时间去了解linux内核中复杂的I2C子系统的操作方法。<br />第一种方法问题（对应第二种方法的好处）有：<br />        ●    要求工程师不仅要对I2C设备的操作熟悉]]></description><category></category></item><item><title><![CDATA[实例解析linux内核I2C体系结构（2）]]></title><link>https://blog.youkuaiyun.com/jwctly/article/details/5781112</link><guid>https://blog.youkuaiyun.com/jwctly/article/details/5781112</guid><author>jwctly</author><pubDate>Sun, 01 Aug 2010 17:00:00 +0800</pubDate><description><![CDATA[<br />作者：刘洪涛,华清远见嵌入式学院讲师。<br /> <br />四、在内核里写i2c设备驱动的两种方式<br />前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作，但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两种方式的实现。这里分别称这两种方式为“Adapter方式（LEGACY）”和“Probe方式（new style）”。<br />（1） Adapter方式（LEGACY）<br />（下面的实例代码是在2]]></description><category></category></item></channel></rss>