iolicomend.html

来自「vxworks相关论文」· HTML 代码 · 共 308 行

HTML
308
字号
<html><head><!-- /vobs/wpwr/docs/vxworks/ref/iOlicomEnd.html - generated by refgen from iOlicomEnd.c --> <title> iOlicomEnd </title></head><body bgcolor="#FFFFFF"> <hr><a name="top"></a><p align=right><a href="libIndex.html"><i>VxWorks Reference Manual :  Libraries</i></a></p></blockquote><h1>iOlicomEnd</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>iOlicomEnd</strong> - END style Intel Olicom PCMCIA network interface driver </p></blockquote><h4>ROUTINES</h4><blockquote><p><p><b><i><a href="./iOlicomEnd.html#iOlicomEndLoad">iOlicomEndLoad</a></i>(&nbsp;)</b>  -  initialize the driver and device<br><b><i><a href="./iOlicomEnd.html#iOlicomIntHandle">iOlicomIntHandle</a></i>(&nbsp;)</b>  -  interrupt service for card interrupts<br><p></blockquote><h4>DESCRIPTION</h4><blockquote><p>This module implements the Olicom (Intel 82595TX) network interfacedriver.  The physical device is a PCMCIA card.  This driver also housescode to manage a Vadem PCMCIA Interface controller on the ARM PIDboard, which is strictly a subsystem in it's own right.<p>This network interface driver does not include support for trailer protocolsor data chaining.  However, buffer loaning has been implemented in an effort toboost performance.<p>This driver maintains cache coherency by allocating bufferspace using the <b><i><a href="./cacheLib.html#cacheDmaMalloc">cacheDmaMalloc</a></i>(&nbsp;)</b> routine.<p></blockquote><h4>BOARD LAYOUT</h4><blockquote><p>The device resides on a PCMCIA card and is soft configured.No jumpering diagram is necessary.<p></blockquote><h4>EXTERNAL INTERFACE</h4><blockquote><p>This driver provides the END external interface with the followingexceptions.  The only external interface is the <b><i><a href="./iOlicomEnd.html#iOlicomEndLoad">iOlicomEndLoad</a></i>(&nbsp;)</b> routine.All of the paramters are passed as strings in a colon (:) separated listto the load function as an initString.  The <b><i><a href="./iOlicomEnd.html#iOlicomEndLoad">iOlicomEndLoad</a></i>(&nbsp;)</b> function uses<b><i><a href="./ansiString.html#strtok">strtok</a></i>(&nbsp;)</b> to parse the string.<p>The string contains the target specific parameters like this:<p>&nbsp;"<i>io_baseA</i>:<i>attr_baseA</i>:<i>mem_baseA</i>:<i>io_baseB</i>:<i>attr_baseB</i>:<i>mem_baseB</i>:&nbsp;\<br>&nbsp;&nbsp;<i>ctrl_base</i>:<i>intVectA</i>:<i>intLevelA</i>:<i>intVectB</i>:<i>intLevelB</i>:&nbsp;\<br>&nbsp;&nbsp;<i>txBdNum</i>:<i>rxBdNum</i>:<i>pShMem</i>:<i>shMemSize</i>"<p></blockquote><h4>TARGET-SPECIFIC PARAMETERS</h4><blockquote><p><p><dl><dt>I/O base address A<dd><p>This is the first parameter passed to the driver init string. Thisparameter indicates the base address of the PCMCIA I/O space for socketA.<p><dt>Attribute base address A<dd><p>This is the second parameter passed to the driver init string. Thisparameter indicates the base address of the PCMCIA attribute space forsocket A. On the PID board, this should be the offset of the beginningof the attribute space from the beginning of the memory space.<p><dt>Memory base address A<dd><p>This is the third parameter passed to the driver init string. Thisparameter indicates the base address of the PCMCIA memory space forsocket A.<p><dt>I/O base address B<dd><p>This is the fourth parameter passed to the driver init string. Thisparameter indicates the base address of the PCMCIA I/O space for socketB.<p><dt>Attribute base address B<dd><p>This is the fifth parameter passed to the driver init string. Thisparameter indicates the base address of the PCMCIA attribute space forsocket B. On the PID board, this should be the offset of the beginningof the attribute space from the beginning of the memory space.<p><dt>Memory base address B<dd><p>This is the sixth parameter passed to the driver init string. Thisparameter indicates the base address of the PCMCIA memory space forsocket B.<p><dt>PCMCIA controller base address<dd><p>This is the seventh parameter passed to the driver init string. Thisparameter indicates the base address of the Vadem PCMCIA controller.<p><dt>interrupt vectors and levels<dd><p>These are the eighth, ninth, tenth and eleventh parameters passed to thedriver init string. <p>The mapping of IRQs generated at the Card/PCMCIA level to interruptlevels and vectors is system dependent. Furthermore the slot holdingthe PCMCIA card is not initially known. The interrupt levels andvectors for both socket A and socket B must be passed to<b><i><a href="./iOlicomEnd.html#iOlicomEndLoad">iOlicomEndLoad</a></i>(&nbsp;)</b>, allowing the driver to select the required parameterslater.<p><dt>number of transmit and receive buffer descriptors<dd><p>These are the twelfth and thirteenth parameters passed to the driverinit string.<p>The number of transmit and receive buffer descriptors (BDs) used isconfigurable by the user upon attaching the driver. There must be aminimum of two transmit and two receive BDs, and there is a maximum oftwenty transmit and twenty receive BDs.  If this parameter is "NULL" adefault value of 16 BDs will be used.<p><dt>offset<dd><p>This is the fourteenth parameter passed to the driver in the init string.<p>This parameter defines the offset which is used to solve alignment problem.<p><dt>base address of buffer pool<dd><p>This is the fifteenth parameter passed to the driver in the init string.<p>This parameter is used to notify the driver that space for the transmitand receive buffers need not be allocated, but should be taken from acache-coherent private memory space provided by the user at the givenaddress.  The user should be aware that memory used for buffers must be4-byte aligned and non-cacheable. If this parameter is "NONE", spacefor buffers will be obtained by calling <b><i><a href="./cacheLib.html#cacheDmaMalloc">cacheDmaMalloc</a></i>(&nbsp;)</b> in<b><i><a href="./iOlicomEnd.html#iOlicomEndLoad">iOlicomEndLoad</a></i>(&nbsp;)</b>.<p><dt>mem size of buffer pool<dd><p>This is the sixteenth parameter passed to the driver in the init string.<p>The memory size parameter specifies the size of the pre-allocated memoryregion. If memory base is specified as NONE (-1), the driver ignores thisparameter.<p><dt>Ethernet address<dd><p>This parameter is obtained from the Card Information Structure on theOlicom PCMCIA card.<p></dl><p> </blockquote><h4>EXTERNAL SUPPORT REQUIREMENTS</h4><blockquote><p><p>This driver requires three external support function:<p><dl><dt>void sysLanIntEnable (int level)<dd><p>This routine provides a target-specific interface for enabling Ethernetdevice interrupts at a specified interrupt level.  This routine iscalled each time that the <b><i>iOlicomStart</i>(&nbsp;)</b> routine is called.<p><dt>void sysLanIntDisable (int level)<dd><p>This routine provides a target-specific interface for disablingEthernet device interrupts.  The driver calls this routine from the<b><i>iOlicomStop</i>(&nbsp;)</b> routine each time a unit is disabled.<p><dt>void sysBusIntAck(void)<dd><p>This routine acknowledge the interrupt if it's necessary.<p></dl><p> </blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./iOlicomEnd.html#top">iOlicomEnd</a></b>, <b><a href="./muxLib.html#top">muxLib</a></b>, <b><a href="./endLib.html#top">endLib</a></b><i>Intel 82595TX ISA/PCMCIA High Integration Ethernet Controller User Manual, </i><i>Vadem VG-468 PC Card Socket Controller Data Manual. </i><hr><a name="iOlicomEndLoad"></a><p align=right><a href="rtnIndex.html"><i>Libraries :  Routines</i></a></p></blockquote><h1><i>iOlicomEndLoad</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>iOlicomEndLoad</i>(&nbsp;)</strong> - initialize the driver and device</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>END_OBJ * iOlicomEndLoad    (    char * initString /* String to be parsed by the driver. */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine initializes the driver and the device to the operational state.All of the device specific parameters are passed in the initString.<p>This routine can be called in two modes. If it is called with an empty, butallocated string then it places the name of this device (i.e. oli) into theinitString and returns 0.<p>If the string is allocated then the routine attempts to perform its loadfunctionality.<p></blockquote><h4>RETURNS</h4><blockquote><p>An END object pointer or NULL on error or 0 and the name of thedevice if the initString was NULL.</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./iOlicomEnd.html#top">iOlicomEnd</a></b><hr><a name="iOlicomIntHandle"></a><p align=right><a href="rtnIndex.html"><i>Libraries :  Routines</i></a></p></blockquote><h1><i>iOlicomIntHandle</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>iOlicomIntHandle</i>(&nbsp;)</strong> - interrupt service for card interrupts</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>void iOlicomIntHandle    (    END_DEVICE * pDrvCtrl /* pointer to END_DEVICE structure */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine is called when an interrupt has been detected from the Olicomcard.<p></blockquote><h4>RETURNS</h4><blockquote><p>N/A.</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./iOlicomEnd.html#top">iOlicomEnd</a></b></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?