VxWorks 下网卡驱动程序的开发
摘要:本文首先从整体上分析 VxWorks 网卡驱动程序的原理和结构,然后深入地分析 Rtl8139C 网卡驱
动程序的结构以及实现,本文对于 VxWorks 下的同类开发也有一定参考作用。
关键词:网卡驱动程序;VxWorks;嵌入式系统;Tornado
1 引言
VxWorks 是当前应用十分广泛的嵌入式实时操作系统,而网卡在基于 VxWorks 的开发中有着极其重
要的作用。Tornado 是 VxWorks 的开发工具,它本身支持的网卡不多。本文涉及到的网卡是 Realtek
公司的 8139C PCI 网卡,相关的硬件资料有:RTL8139C(L) data sheet 和 Rtl8139 Programming
Guide 。需要实现的是 RTL8139C END driver 。
2 VxWorks 简介
VxWorks 是由 WRS(Wind River System Inc.)公司开发的一套具有微内核、高性能、可伸缩的实时
操作系统,支持广泛的网络通信协议,并能够根据用户的需求进行组合。其开放式的结构和对工业标准的
支持使开发者只需做最少的工作即可设计出有效的适合于不同用户要求的系统。
VxWorks 是一种功能强大而且比较复杂的操作系统,VxWorks 只占用了很小的存储空间,并可高度
裁减,保证了系统能以较高的效率运行。所以仅仅依靠人工编程调试,很难发挥它的功能并设计出可靠、
高效的嵌入式系统,必须要有与之相适应的开发工具。TornadoII 是为开发 VxWorks 应用系统提供的集
成开发环境。
VxWorks 的优秀特性为编写应用程序和设备驱动程序提供了极大的便利。在 VxWorks 下,设备驱动
程序既可以嵌入到内核中随系统一起启动,也可以作为可加载模块在系统启动之后运行。网卡驱动程序一
般采用前一种方式。
3 VxWorks 的网络模型
网卡在 VxWorks 开发中是极其重要的。在开发机-目标机模式中,通过网线进行下载调试是 Tornado
调试器最常用最方便的方式。VxWorks 的优秀的实时性能使其在网络通信当中具有极广泛的应用,如网
络交换机、路由器的软件系统等。
网卡驱动程序在整个 VxWorks 网络接口中的角色可以从下图中看出。
整个网络接口呈层
次结构,用户网络应
用程序通过 socket
接口调用 TCP/IP 协
议层系列软件,网卡
驱动程序则为协议软
件提供对网卡的访问。
VxWorks 也为网卡
驱动程序进行了分层,
其中老式的 BSD4.3
驱动程序的功能,现
在可以由协议层驱动、
评论2