314 lines
13 KiB
HTML
314 lines
13 KiB
HTML
![]() |
<html>
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||
|
<title>
|
||
|
xio.c File Reference
|
||
|
</title>
|
||
|
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
|
||
|
</head>
|
||
|
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
|
||
|
<hl>Software Drivers</hl>
|
||
|
<hr class="whs1">
|
||
|
<!-- Generated by Doxygen 1.4.5 -->
|
||
|
<div class="tabs">
|
||
|
<ul>
|
||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||
|
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||
|
</ul></div>
|
||
|
<div class="tabs">
|
||
|
<ul>
|
||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||
|
<li><a href="globals.html"><span>File Members</span></a></li>
|
||
|
</ul></div>
|
||
|
<h1>xio.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
|
||
|
Contains I/O functions for memory-mapped or non-memory-mapped I/O architectures. These functions encapsulate generic CPU I/O requirements.<p>
|
||
|
<pre>
|
||
|
MODIFICATION HISTORY:</pre><p>
|
||
|
<pre> Ver Who Date Changes
|
||
|
----- ---- -------- -------------------------------------------------------
|
||
|
1.00a rpm 11/07/03 Added InSwap/OutSwap routines for endian conversion
|
||
|
1.01a ecm 02/24/06 CR225908 corrected the extra curly braces in macros
|
||
|
and bumped version to 1.01.a.
|
||
|
2.11a mta 03/21/07 Updated to new coding style.</pre><p>
|
||
|
<pre> </pre><p>
|
||
|
<dl compact><dt><b>Note:</b></dt><dd></dd></dl>
|
||
|
This file may contain architecture-dependent code.
|
||
|
<p>
|
||
|
<code>#include "xio.h"</code><br>
|
||
|
<code>#include "xil_types.h"</code><br>
|
||
|
<code>#include "xil_assert.h"</code><br>
|
||
|
<table border="0" cellpadding="0" cellspacing="0">
|
||
|
<tr><td></td></tr>
|
||
|
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
||
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xio_8c.html#bd2885dba32189d1f85e7ec060c76eb8">XIo_EndianSwap16</a> (u16 Source, u16 *DestPtr)</td></tr>
|
||
|
|
||
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xio_8c.html#3c3ecc0419e4e9e5600a22e603adf2bc">XIo_EndianSwap32</a> (u32 Source, u32 *DestPtr)</td></tr>
|
||
|
|
||
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u16 </td><td class="memItemRight" valign="bottom"><a class="el" href="xio_8c.html#81f441ae984d2f30fdd018dd6bc56caa">XIo_InSwap16</a> (XIo_Address InAddress)</td></tr>
|
||
|
|
||
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32 </td><td class="memItemRight" valign="bottom"><a class="el" href="xio_8c.html#ec7bdb809b6d5871c5e0ab83d5aed2e8">XIo_InSwap32</a> (XIo_Address InAddress)</td></tr>
|
||
|
|
||
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xio_8c.html#f7738a3bea0afd4b4a0f1366ea4a565e">XIo_OutSwap16</a> (XIo_Address OutAddress, u16 Value)</td></tr>
|
||
|
|
||
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xio_8c.html#532a5642e81b988de97028728033ef53">XIo_OutSwap32</a> (XIo_Address OutAddress, u32 Value)</td></tr>
|
||
|
|
||
|
</table>
|
||
|
<hr><h2>Function Documentation</h2>
|
||
|
<a class="anchor" name="bd2885dba32189d1f85e7ec060c76eb8"></a><!-- doxytag: member="xio.c::XIo_EndianSwap16" ref="bd2885dba32189d1f85e7ec060c76eb8" args="(u16 Source, u16 *DestPtr)" --><p>
|
||
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
||
|
<tr>
|
||
|
<td class="mdRow">
|
||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||
|
<tr>
|
||
|
<td class="md" nowrap valign="top">void XIo_EndianSwap16 </td>
|
||
|
<td class="md" valign="top">( </td>
|
||
|
<td class="md" nowrap valign="top">u16 </td>
|
||
|
<td class="mdname" nowrap> <em>Source</em>, </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="md" nowrap align="right"></td>
|
||
|
<td class="md"></td>
|
||
|
<td class="md" nowrap>u16 * </td>
|
||
|
<td class="mdname" nowrap> <em>DestPtr</em></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="md"></td>
|
||
|
<td class="md">) </td>
|
||
|
<td class="md" colspan="2"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<table cellspacing="5" cellpadding="0" border="0">
|
||
|
<tr>
|
||
|
<td>
|
||
|
|
||
|
</td>
|
||
|
<td>
|
||
|
|
||
|
<p>
|
||
|
Performs a 16-bit endian converion.<p>
|
||
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||
|
<table border="0" cellspacing="2" cellpadding="0">
|
||
|
<tr><td valign="top"></td><td valign="top"><em>Source</em> </td><td>contains the value to be converted. </td></tr>
|
||
|
<tr><td valign="top"></td><td valign="top"><em>DestPtr</em> </td><td>contains a pointer to the location to put the converted value.</td></tr>
|
||
|
</table>
|
||
|
</dl>
|
||
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
||
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<a class="anchor" name="3c3ecc0419e4e9e5600a22e603adf2bc"></a><!-- doxytag: member="xio.c::XIo_EndianSwap32" ref="3c3ecc0419e4e9e5600a22e603adf2bc" args="(u32 Source, u32 *DestPtr)" --><p>
|
||
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
||
|
<tr>
|
||
|
<td class="mdRow">
|
||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||
|
<tr>
|
||
|
<td class="md" nowrap valign="top">void XIo_EndianSwap32 </td>
|
||
|
<td class="md" valign="top">( </td>
|
||
|
<td class="md" nowrap valign="top">u32 </td>
|
||
|
<td class="mdname" nowrap> <em>Source</em>, </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="md" nowrap align="right"></td>
|
||
|
<td class="md"></td>
|
||
|
<td class="md" nowrap>u32 * </td>
|
||
|
<td class="mdname" nowrap> <em>DestPtr</em></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="md"></td>
|
||
|
<td class="md">) </td>
|
||
|
<td class="md" colspan="2"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<table cellspacing="5" cellpadding="0" border="0">
|
||
|
<tr>
|
||
|
<td>
|
||
|
|
||
|
</td>
|
||
|
<td>
|
||
|
|
||
|
<p>
|
||
|
Performs a 32-bit endian converion.<p>
|
||
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||
|
<table border="0" cellspacing="2" cellpadding="0">
|
||
|
<tr><td valign="top"></td><td valign="top"><em>Source</em> </td><td>contains the value to be converted. </td></tr>
|
||
|
<tr><td valign="top"></td><td valign="top"><em>DestPtr</em> </td><td>contains a pointer to the location to put the converted value.</td></tr>
|
||
|
</table>
|
||
|
</dl>
|
||
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
||
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<a class="anchor" name="81f441ae984d2f30fdd018dd6bc56caa"></a><!-- doxytag: member="xio.c::XIo_InSwap16" ref="81f441ae984d2f30fdd018dd6bc56caa" args="(XIo_Address InAddress)" --><p>
|
||
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
||
|
<tr>
|
||
|
<td class="mdRow">
|
||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||
|
<tr>
|
||
|
<td class="md" nowrap valign="top">u16 XIo_InSwap16 </td>
|
||
|
<td class="md" valign="top">( </td>
|
||
|
<td class="md" nowrap valign="top">XIo_Address </td>
|
||
|
<td class="mdname1" valign="top" nowrap> <em>InAddress</em> </td>
|
||
|
<td class="md" valign="top"> ) </td>
|
||
|
<td class="md" nowrap></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<table cellspacing="5" cellpadding="0" border="0">
|
||
|
<tr>
|
||
|
<td>
|
||
|
|
||
|
</td>
|
||
|
<td>
|
||
|
|
||
|
<p>
|
||
|
Performs an input operation for a 16-bit memory location by reading from the specified address and returning the byte-swapped value read from that address.<p>
|
||
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||
|
<table border="0" cellspacing="2" cellpadding="0">
|
||
|
<tr><td valign="top"></td><td valign="top"><em>InAddress</em> </td><td>contains the address to perform the input operation at.</td></tr>
|
||
|
</table>
|
||
|
</dl>
|
||
|
<dl compact><dt><b>Returns:</b></dt><dd>The byte-swapped value read from the specified input address.</dd></dl>
|
||
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<a class="anchor" name="ec7bdb809b6d5871c5e0ab83d5aed2e8"></a><!-- doxytag: member="xio.c::XIo_InSwap32" ref="ec7bdb809b6d5871c5e0ab83d5aed2e8" args="(XIo_Address InAddress)" --><p>
|
||
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
||
|
<tr>
|
||
|
<td class="mdRow">
|
||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||
|
<tr>
|
||
|
<td class="md" nowrap valign="top">u32 XIo_InSwap32 </td>
|
||
|
<td class="md" valign="top">( </td>
|
||
|
<td class="md" nowrap valign="top">XIo_Address </td>
|
||
|
<td class="mdname1" valign="top" nowrap> <em>InAddress</em> </td>
|
||
|
<td class="md" valign="top"> ) </td>
|
||
|
<td class="md" nowrap></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<table cellspacing="5" cellpadding="0" border="0">
|
||
|
<tr>
|
||
|
<td>
|
||
|
|
||
|
</td>
|
||
|
<td>
|
||
|
|
||
|
<p>
|
||
|
Performs an input operation for a 32-bit memory location by reading from the specified address and returning the byte-swapped value read from that address.<p>
|
||
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||
|
<table border="0" cellspacing="2" cellpadding="0">
|
||
|
<tr><td valign="top"></td><td valign="top"><em>InAddress</em> </td><td>contains the address to perform the input operation at.</td></tr>
|
||
|
</table>
|
||
|
</dl>
|
||
|
<dl compact><dt><b>Returns:</b></dt><dd>The byte-swapped value read from the specified input address.</dd></dl>
|
||
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<a class="anchor" name="f7738a3bea0afd4b4a0f1366ea4a565e"></a><!-- doxytag: member="xio.c::XIo_OutSwap16" ref="f7738a3bea0afd4b4a0f1366ea4a565e" args="(XIo_Address OutAddress, u16 Value)" --><p>
|
||
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
||
|
<tr>
|
||
|
<td class="mdRow">
|
||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||
|
<tr>
|
||
|
<td class="md" nowrap valign="top">void XIo_OutSwap16 </td>
|
||
|
<td class="md" valign="top">( </td>
|
||
|
<td class="md" nowrap valign="top">XIo_Address </td>
|
||
|
<td class="mdname" nowrap> <em>OutAddress</em>, </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="md" nowrap align="right"></td>
|
||
|
<td class="md"></td>
|
||
|
<td class="md" nowrap>u16 </td>
|
||
|
<td class="mdname" nowrap> <em>Value</em></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="md"></td>
|
||
|
<td class="md">) </td>
|
||
|
<td class="md" colspan="2"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<table cellspacing="5" cellpadding="0" border="0">
|
||
|
<tr>
|
||
|
<td>
|
||
|
|
||
|
</td>
|
||
|
<td>
|
||
|
|
||
|
<p>
|
||
|
Performs an output operation for a 16-bit memory location by writing the specified value to the the specified address. The value is byte-swapped before being written.<p>
|
||
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||
|
<table border="0" cellspacing="2" cellpadding="0">
|
||
|
<tr><td valign="top"></td><td valign="top"><em>OutAddress</em> </td><td>contains the address to perform the output operation at. </td></tr>
|
||
|
<tr><td valign="top"></td><td valign="top"><em>Value</em> </td><td>contains the value to be output at the specified address.</td></tr>
|
||
|
</table>
|
||
|
</dl>
|
||
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
||
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<a class="anchor" name="532a5642e81b988de97028728033ef53"></a><!-- doxytag: member="xio.c::XIo_OutSwap32" ref="532a5642e81b988de97028728033ef53" args="(XIo_Address OutAddress, u32 Value)" --><p>
|
||
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
||
|
<tr>
|
||
|
<td class="mdRow">
|
||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||
|
<tr>
|
||
|
<td class="md" nowrap valign="top">void XIo_OutSwap32 </td>
|
||
|
<td class="md" valign="top">( </td>
|
||
|
<td class="md" nowrap valign="top">XIo_Address </td>
|
||
|
<td class="mdname" nowrap> <em>OutAddress</em>, </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="md" nowrap align="right"></td>
|
||
|
<td class="md"></td>
|
||
|
<td class="md" nowrap>u32 </td>
|
||
|
<td class="mdname" nowrap> <em>Value</em></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="md"></td>
|
||
|
<td class="md">) </td>
|
||
|
<td class="md" colspan="2"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<table cellspacing="5" cellpadding="0" border="0">
|
||
|
<tr>
|
||
|
<td>
|
||
|
|
||
|
</td>
|
||
|
<td>
|
||
|
|
||
|
<p>
|
||
|
Performs an output operation for a 32-bit memory location by writing the specified value to the the specified address. The value is byte-swapped before being written.<p>
|
||
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||
|
<table border="0" cellspacing="2" cellpadding="0">
|
||
|
<tr><td valign="top"></td><td valign="top"><em>OutAddress</em> </td><td>contains the address at which the output operation has to be done. </td></tr>
|
||
|
<tr><td valign="top"></td><td valign="top"><em>Value</em> </td><td>contains the value to be output at the specified address.</td></tr>
|
||
|
</table>
|
||
|
</dl>
|
||
|
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
|
||
|
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.
|