您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术Vxworks嵌入式操作系统下网络设备驱动程序设计 正文
Vxworks嵌入式操作系统下网络设备驱动程序设计

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

点击数:7524 次   录入时间:03-04 12:01:37   整理:http://www.55dianzi.com   嵌入式系统-技术
其次,编辑config.h文件,添加如下代码:

#define INCLUDE_DM_9102_END      /* Davicom 9102 Fast Ethernet Controller */

最后,编辑sysLib.c文件,添加如下代码:

/* include dm9102 End driver support routines */

#ifdef INCLUDE_DM_9102_END

IMPORT STATUS sysDm9102PCIInit (void);

#endif /* INCLUDE_DM_9102_END */

 

/* include dm9102End driver support routines */

#ifdef INCLUDE_DM_9102_END

#include "sysDm9102End.c"

#endif /* INCLUDE_DM_9102_END */

#ifdef INCLUDE_DM_9102_END

   sysDm9102PciInit ();

#endif /* INCLUDE_DM_9102_END */

通过上述过程相应的添加程序,然后重新编译Vxworks,这样就将所设计的网卡驱动程序添加到Vxworks内核中了。

2.4 PCI设备检测

如果所设计的网卡是基于PCI总线的,那么在程序开始就需要对PCI设备进行检测,在Vxworks5.4中有专门的PCI函数来检测设备的总线号、设备号和功能号。首先利用pciFindDevice( )函数对给定VendorID和DeviceID的设备进行检测,检测完后同时给出了设备的总线号、设备号和功能号;接下来就是获得该设备的中断号、基地址(包括IO和内存)。Vxworks中pciConfigLib.h文件中定义PCI总线的常量。如中断号:PCI_CFG_BRG_INT_LINE,IO基地址:PCI_CFG_BASE_ADDRESS_0,内存基地址:PCI_CFG_BASE_ADDRESS_1等等。所以利用函数pciConfigInByte和pciConfigInLong就可以很容易地获得设备的中断号和基地址。

2.5 调试方法

为了方便调试网卡驱动程序,推荐利用串口对程序进行下载并将Vxworks image拷贝到软盘中以从软盘来加载它。调试的时候首先应该给网卡分配一个IP(利用usrNetIfConfig函数),然后利用PINg来对网卡进行测试。

3  结语

  利用上述方法所设计的网卡后,不久可以利用它来进行程序下载,而且能满足网卡所有的功能,包括对TCP/IP和UDP/IP(组播、广播和单播)进行了测试。



上一页  [1] [2] 


本文关键字:程序设计  嵌入式  网络  操作系统  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术