⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sn83932end.html

📁 vxworks相关论文
💻 HTML
字号:
<html><head><!-- /vobs/wpwr/docs/vxworks/ref/sn83932End.html - generated by refgen from sn83932End.c --> <title> sn83932End </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>sn83932End</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>sn83932End</strong> - Nat. Semi DP83932B SONIC Ethernet driver </p></blockquote><h4>ROUTINES</h4><blockquote><p><p><b><i><a href="./sn83932End.html#sn83932EndLoad">sn83932EndLoad</a></i>(&nbsp;)</b>  -  initialize the driver and device<br><p></blockquote><h4>DESCRIPTION</h4><blockquote><p>This module implements the National Semiconductor DP83932 SONIC Ethernet network interface driver.<p>This driver is designed to be moderately generic. Thus, it operates unmodified across the range of architectures and targets supported by VxWorks.  To achieve this, the driver load routine requires several target-specific parameters.  The driver also depends on a few external support routines.  These parameters and support routines are described below.  If any of the assumptions stated below are not true foryour particular hardware, this driver probably cannot function correctlywith that hardware. This driver supports up to four individual units per CPU.<p></blockquote><h4>BOARD LAYOUT</h4><blockquote><p>This device is on-board.  No jumpering diagram is necessary.<p></blockquote><h4>EXTERNAL INTERFACE</h4><blockquote><p>This driver provides the END external interface. Thus, the only normal external interface is the <b><i><a href="./sn83932End.html#sn83932EndLoad">sn83932EndLoad</a></i>(&nbsp;)</b> routine, although <b><i>snEndClkEnable</i>(&nbsp;)</b> and <b><i>snEndClkDisable</i>(&nbsp;)</b> are provided for the use (optional) of the internal clock.  All required parameters are passed into the load function by means of a single colon-delimited string.  The <b><i>sn83932Load</i>(&nbsp;)</b> function uses <b><i><a href="./ansiString.html#strtok">strtok</a></i>(&nbsp;)</b> to parse the string,which it expects to be of the following format:<p>&nbsp;&nbsp;&nbsp;&nbsp;<i>unit_ID</i>:<i>devIO_addr</i>:<i>ivec</i>:<i>e_addr</i><p>The entry point for <b><i><a href="./sn83932End.html#sn83932EndLoad">sn83932EndLoad</a></i>(&nbsp;)</b> is defined within the <b>endDevTbl</b> in <b>configNet.h</b>.<p></blockquote><h4>TARGET-SPECIFIC PARAMETERS</h4><blockquote><p><dl><dt><i>unit_ID</i><dd>A convenient holdover from the former model, this is only used in thestring name for the driver.<p><dt><i>devIO_addr</i><dd>Denotes the base address of the device's I/O register set. <p><dt><i>ivec</i><dd>Denotes the interrupt vector to be used by the driver to service an interrupt from the SONIC device.  The driver connects the interrupt handler to this vector by calling <b><i><a href="./intArchLib.html#intConnect">intConnect</a></i>(&nbsp;)</b>.<p><dt><i>e_addr</i><dd>This parameter is obtained by calling <b><i><a href="../bsp/ep960cx/sysLib.html#sysEnetAddrGet" >sysEnetAddrGet</a></i>(&nbsp;)</b>, an external support routine. It specifies the unique six-byte address assigned to the VxWorks target on the Ethernet. </dl><p><p></blockquote><h4>EXTERNAL SUPPORT REQUIREMENTS</h4><blockquote><p>This driver requires the following external support routines:<dl><dt><b><i><a href="../bsp/idts381/sysLib.html#sysEnetInit" >sysEnetInit</a></i>(&nbsp;)</b><dd><pre>    void sysEnetInit (int unit)</pre>This routine performs any target-specificoperations that must be executed before the SONIC device is initialized.The driver calls this routine, once per unit, during the unit start-up phase.<p><dt><b><i><a href="../bsp/ep960cx/sysLib.html#sysEnetAddrGet" >sysEnetAddrGet</a></i>(&nbsp;)</b><dd><pre>    STATUS sysEnetAddrGet (int unit, char *pCopy)</pre>This routine provides the six-byte Ethernet address used by <i>unit</i>.  Itmust copy the six-byte address to the space provided by <i>pCopy</i>.  Thisroutine returns OK, or ERROR if it fails.  The driver calls this routine, once per unit, during the unit start-up phase. <p><dt><b><i><a href="../bsp/idts381/sysLib.html#sysEnetIntEnable" >sysEnetIntEnable</a></i>(&nbsp;)</b><dd><pre>    void sysEnetIntEnable (int unit), void sysEnetIntDisable (int unit)</pre>These routines enable or disable the interrupt fromthe SONIC device for the specified <i>unit</i>.  Typically,this involves interrupt controller hardware,either internal or external to the CPU.  The driver calls these routines only during initialization, during the unit start-up phase.<p><dt><b><i><a href="../bsp/idts381/sysLib.html#sysEnetIntAck" >sysEnetIntAck</a></i>(&nbsp;)</b><dd><pre>    void sysEnetIntAck (int unit)</pre>This routine performs any interrupt acknowledgment orclearing that may be required.  This typicallyinvolves an operation to some interrupt control hardware. The driver calls this routine from the interrupt handler. </dl><p></blockquote><h4>DEVICE CONFIGURATION</h4><blockquote><p>Two global variables, <b>snEndDcr</b> and <b>snEndDcr2</b>, are used to set the SONICdevice configuration registers.  By default, the device is programmed in32-bit mode with zero-wait states.  If these values are not suitable,the <b>snEndDcr</b> and <b>snEndDcr2</b> variables should be modified before loading the driver.  See the SONIC manual for information on appropriatevalues for these parameters.<p></blockquote><h4>SYSTEM RESOURCE USAGE</h4><blockquote><p>When implemented, this driver requires the following system resources:<p>&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;one&nbsp;interrupt&nbsp;vector<br>&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;0&nbsp;bytes&nbsp;in&nbsp;the&nbsp;initialized&nbsp;data&nbsp;section&nbsp;(data)<br>&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;696&nbsp;bytes&nbsp;in&nbsp;the&nbsp;uninitialized&nbsp;data&nbsp;section&nbsp;(BSS)<p>The above data and BSS requirements are for the MC68020 architecture and can vary for other architectures.  Code size (text) varies greatly between architectures and is therefore not quoted here.<p>This driver uses <b><i><a href="./cacheLib.html#cacheDmaMalloc">cacheDmaMalloc</a></i>(&nbsp;)</b> to allocate the memory to be shared with the SONIC device.  The size requested is 117,188 bytes.<p>The SONIC device can only be operated if the shared memory region iswrite-coherent with the data cache.  The driver cannot maintain cachecoherency for the device for data that is written by the driverbecause fields within the shared structures are asynchronously modified bythe driver and the device, and these fields may share the same cacheline.<p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./sn83932End.html#top">sn83932End</a></b>, <b><a href="./ifLib.html#top">ifLib</a></b><hr><a name="sn83932EndLoad"></a><p align=right><a href="rtnIndex.html"><i>Libraries :  Routines</i></a></p></blockquote><h1><i>sn83932EndLoad</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>sn83932EndLoad</i>(&nbsp;)</strong> - initialize the driver and device</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>END_OBJ * sn83932EndLoad    (    char * initString /* String to be parse 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 <i>initString</i> parameter.  This string must be of the format:<p>&nbsp;&nbsp;&nbsp;&nbsp;<i>unit_number</i>:<i>device_reg_addr</i>:<i>ivec</i><p>These parameters are all individually described in the sn83932End manpage.<p></blockquote><h4>RETURNS</h4><blockquote><p>An END object pointer or NULL on error.</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./sn83932End.html#top">sn83932End</a></b></body></html>

⌨️ 快捷键说明

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