\\newpage # Windriver VxWorks Real-time Ethernet Drivers for VxWorks are available. If none of the Real-time Ethernet Drivers can be used, the SNARF Ethernet Driver must be selected. The identification of the Real-time Ethernet Driver is done like this: ![VxWorks Real-time Ethernet Driver identification diagram showing how to identify and select the appropriate driver](../../OsLayer/Media/Identification_LL2.PNG) ## VxWorks native The BSP has to be prepared to support Real-time Ethernet Driver: 1. To use a Real-time Ethernet Driver the adapter memory has to be mapped into VxWorks memory space (VxWorks 5.x only). I.e. for the Intel Pro/100 Ethernet Driver this can be achieved by setting the INCLUDE_FEI_END macro in the BSP configuration file config.h. 2. To avoid conflicts with the VxWorks network driver which normally will be loaded when INCLUDE_FEI_END is set the file configNet.h has to be adjusted in a way that the network driver is not loaded. The network driver entry has to be removed from the endDevTbl[]: ```text END_TBL_ENTRY endDevTbl [] = { : : : : : : : : : /* #ifdef INCLUDE_FEI_END {0, FEI82557_LOAD_FUNC, FEI82557_LOAD_STRING, FEI82557_BUFF_LOAN, NULL, FALSE}, #endif /* INCLUDE_FEI_END */ */ : : : : : : ``` #### WARNING Do not call `muxDevUnload()` for a network adapter managed by a VxBus driver. VxBus drivers expect to call `muxDevUnload()` themselves in their {vxbDrvUnlink}( ) methods, and instability may result if `muxDevUnload()` is called for a VxBus network device instance by other code. #### SEE ALSO The VxWorks Device Driver Developer’s Guide for more information about unloading VxBus devices ## SNARF Ethernet Driver The SNARF Ethernet Driver is only needed if none of the Real-time Ethernet Driver can be used. The appropriate network adapter drivers have to be added to the VxWorks image. ## OS Compiler settings Besides the general settings from [OS Compiler settings](architecture_sdk.html.md#compile-ecdemo) the following settings are necessary to build the example application for VxWorks. Extra include paths : ```default /SDK/INC/VxWorks /Examples/Common/VxWorks ``` Extra source paths : ```default /Examples/Common/VxWorks /Sources/OsLayer/VxWorks ``` Extra library paths to the main EtherCAT® components : ```default /SDK/LIB/VxWorks/ ``` GNU/PowerPC : `-mlongcall` compiler option may be needed to avoid relocation offset errors when downloading `.out` files.