📄 ncr5390lib2.html
字号:
<html><head><!-- /vobs/wpwr/docs/vxworks/ref/ncr5390Lib2.html - generated by refgen from ncr5390Lib2.c --> <title> ncr5390Lib2 </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>ncr5390Lib2</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>ncr5390Lib2</strong> - NCR 53C90 Advanced SCSI Controller (ASC) library (SCSI-2) </p></blockquote><h4>ROUTINES</h4><blockquote><p><p><b><i><a href="./ncr5390Lib2.html#ncr5390CtrlCreateScsi2">ncr5390CtrlCreateScsi2</a></i>( )</b> - create a control structure for an NCR 53C90 ASC<br><p></blockquote><h4>DESCRIPTION</h4><blockquote><p>This is the I/O driver for the NCR 53C90 Advanced SCSI Controller (ASC).It is designed to work in conjunction with scsiLib.<p></blockquote><h4>USER-CALLABLE ROUTINES</h4><blockquote><p>Most of the routines in this driver are accessible only through the I/Osystem. The only exception in this portion of the driver is the<b><i><a href="./ncr5390Lib2.html#ncr5390CtrlCreateScsi2">ncr5390CtrlCreateScsi2</a></i>( )</b> which creates a controller structure.<p></blockquote><h4>INCLUDE FILES</h4><blockquote><p><b>ncr5390.h</b><p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./ncr5390Lib.html#top">ncr5390Lib</a></b>2</b>, <b><a href="./scsiLib.html#top">scsiLib</a></b>, <i>NCR 53C90A, 53C90B Advanced SCSI Controller, </i><i>VxWorks Programmer's Guide: I/O System</i><hr><a name="ncr5390CtrlCreateScsi2"></a><p align=right><a href="rtnIndex.html"><i>Libraries : Routines</i></a></p></blockquote><h1><i>ncr5390CtrlCreateScsi2</i>( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong><i>ncr5390CtrlCreateScsi2</i>( )</strong> - create a control structure for an NCR 53C90 ASC</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>NCR_5390_SCSI_CTRL *ncr5390CtrlCreateScsi2 ( UINT8* baseAdrs, /* base address of ASC */ int regOffset, /* offset between consecutive regs. */ UINT clkPeriod, /* period of controller clock (nsec) */ UINT sysScsiDmaMaxBytes, /* maximum byte count using DMA */ FUNCPTR sysScsiDmaStart, /* function to start SCSI DMA xfer */ FUNCPTR sysScsiDmaAbort, /* function to abort SCSI DMA xfer */ int sysScsiDmaArg /* argument to pass to above funcs. */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine creates a data structure that must exist before the ASC chipcan be used. This routine must be called exactly once for a specifiedASC, and must be the first routine called, since it calloc's a structureneeded by all other routines in the library.<p>The input parameters are as follows:<dl><dt><i>baseAdrs</i><dd>the address at which the CPU would access the lowest register of the ASC.<p><dt><i>regOffset</i><dd>the address offset (bytes) to access consecutive registers.<p><dt><i>clkPeriod</i><dd>the period, in nanoseconds, of the signal to the ASC clock input.<p><dt><i>sysScsiDmaMaxBytes</i>, <i>sysScsiDmaStart</i>, <i>sysScsiDmaAbort</i>, and <i>sysScsiDmaArg</i><dd> board-specific routines to handle DMA transfers to and from the ASC;if the maximum DMA byte count is zero, programmed I/O is used.Otherwise, non-NULL function pointers to DMA start and abort routinesmust be provided.The specified argument is passed to these routines when they arecalled; it may be used to identify the DMA channel to use, for example.The interface to these DMA routines must be of the form:<pre> STATUS xxDmaStart (arg, pBuffer, bufLength, direction) int arg; /* call-back argument */ UINT8 *pBuffer; /* ptr to the data buffer */ UINT bufLength; /* number of bytes to xfer */ int direction; /* 0 = SCSI->mem, 1 = mem->SCSI */ STATUS xxDmaAbort (arg) int arg; /* call-back argument */</pre>Implementation details for the DMA routines can be found in thespecific DMA driver for that board.<p></dl></blockquote><h4>NOTE</h4><blockquote><p><p>If there is no DMA interface, synchronous transfers are not supported.This is a limitation of the NCR5390 hardware.<p></blockquote><h4>RETURNS</h4><blockquote><p>A pointer to an <b>NCR_5390_SCSI_CTRL</b> structure,or NULL if memory is insufficient or the parameters are invalid.</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./ncr5390Lib.html#top">ncr5390Lib</a></b>2</b></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -