保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

Vxworks嵌入式操作系统下网络设备驱动程序设计


if_init

初始化接口

xxOutput( )

if_output

对要传输的输出分组进行排队

xxIoctl( )

if_ioctl

处理I/O控制命令

xxReset( )

if_reset

复位接口设备

xxWatchdog( )

if_watchdog (optional)

周期性接口例程

驱动程序入口xxattach( )调用ether_attach( )来把上述5个函数映射到ifnet结构中,ether_attach( )调用如下:

ether_attach(
    (IFNET *) & pDrvCtrl->idr,
    unit,
    "xx",
    (FUNCPTR) NULL,
    (FUNCPTR) xxIoctl,
    (FUNCPTR) ether_output( ), /* generic ether_output */
    (FUNCPTR) xxReset
);
pDrvCtrl->idr.ac_if.if_start = (FUNCPTR)xxTxStartup;
上述参数中,需要一个接口数据记录(Interface Data Record (idr)),unit号和设备名,下面四个参数就是相关驱动程序的函数指针。第一个函数指针指的是init( )例程,这个例程可要可不要,第二个函数指针指的是ioctl( )接口,它允许上层来控制设备状态;第三个函数指针指的是把数据包送到物理层;最后一个函数指针指的是如果TCP/IP堆栈决定需要复位的话,它就复位这个设备。

接着下面那一句代码表示添加数据传输例程到IDR,ether_output( )例程被调用后,传输开始例程就被TCP/IP协议堆栈调用。

在这个入口驱动程序中还包括设备的初始化、发送和接收描述符的初始化等。

2.1.2 END驱动程序设计

《Vxworks嵌入式操作系统下网络设备驱动程序设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/154551.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。