51 单片机RTL8019AS 网卡驱动程序 时间:2006-09-05 来源: 作者: 点击:3863 字体大小:【大 中 小】 我的SNMP 网管板使用了RTL8019AS 10M ISA 网卡芯片接入以太网
选它的好处是:NE2000 兼容,软件移植性好;接口简单不用转换芯片如PCI-ISA桥;价格便宜2
1$/片(我的购入价为22 元RMB/片);带宽充裕(针对51);较长一段时间内不会停产
8019 有3 种配置模式:跳线方式、即插即用P&P 方式、串行 Flas h 配置方式
为了节省成本,我去掉了9346 而使用X5045 作为闪盘存储 MAC 地址和其他可配置信息
P&P 模式用在 PC 机中,这里用不上
只剩下跳线配置模式可用,它的电路设计参考 REALTEK 提供的DEMO 板图纸
一天时间就可以完成,相对来说硬件设计比较简单
与这部分硬件相对应的软件是网卡驱动
所谓驱动程序是指一组子程序,它们屏蔽了底层硬件处理细节,同时向上层软件提供硬件无关接口
驱动程序可以写成子程序嵌入到应用程序里(如DOS 下的I/O 端口操作和 ISR),也可以放在动态链接库里,用到的时候再动态调入以便节省内存
在 WIN98 中,为了使V86、WIN16、WIN32 三种模式的应用程序共存,提出了虚拟机的概念,在 CPU 的配合下,系统工作在保护模式,OS 接管了I/O、中断、内存访问,应用程序不能直接访问硬件
这样提高了系统可靠性和兼容性,也带来了软件编程复杂的问题
任何网卡驱动都要按 VXD 或 WDM 模式编写,对于硬件一侧要处理虚拟机操作、总线协议(如ISA、PCI)、即插即用、电源管理;上层软件一侧要实现 NDIS 规范
因此在 WIN98 下实现网卡驱动是一件相当复杂的事情
我这里说的驱动程序特指实模式下的一组硬件芯片驱动子程序
从程序员的角度看,8019 工