注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

TCP/IP驱动九——收尾之最后几个小函数  

2013-07-16 21:36:39|  分类: TCPIP驱动 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

TCP/IP驱动九——收尾之最后几个小函数

DM9000中,是通过 CMD 的引脚来控制和处理器总线的连接状态。当CMD管脚拉高时,这个命令周期访问DATA_PORT;反之, 这个命令周期访问ADDR_PORT

I/O空间读写还是采用最基本的readb(), readw(), readl(), writeb(), writew(), writel() , readsb(), readsw(), readsl(), writesb(), writesw(), writesl()

为了方便操作还定义了两个操作函数:

IO端口读一个字节。代码清单如下:

static u8 ior(board_info_t * db, int reg)

 {

writeb(reg, db->io_addr); /*regADDR_PORT,用来选择寄存器*/

        return readb(db->io_data); /*DATA_PORT读一个字节,用来读寄存器*/

 }

 另外一个是向IO端口写一个字节:

static void iow(board_info_t * db, int reg, int value)

{

writeb(reg, db->io_addr);

writeb(value, db->io_data);

 }

 

其它还有dm9000_outblk_8bit()//发送块数据到芯片例程,

 dm9000_outblk_16bit(),

 dm9000_outblk_32bit(),

dm9000_inblk_8bit(),接收块数据到内存

 dm9000_inblk_16bit(),

 dm9000_inblk_32bit()…

其它还有清除数据的,等等,就不再一一说明了。

DM9000还是比较简单的,难得东西毕竟LINUX内核都解决了,所以大家还是要认真的把内核中的网络部分看好。二者结合起来,才会更清楚内核中网卡设备工作的机制,才能更好的写出一个高质量的驱动。

坚持不懈,唯精唯专。

  评论这张
 
阅读(425)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017