<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>2014.1_doc: xenv_standalone.h File Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.5 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</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>Globals</span></a></li> </ul></div> <div class="nav"> <a class="el" href="dir_U_3A_2Fdoxygen_5Fpublish_2Fsources_2Fbsp_2Fstandalone_5Fv4_5F0_2Fsrc_2Fcommon_2F.html">common</a></div> <h1>xenv_standalone.h File Reference</h1><code>#include <string.h></code><br> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xenv__standalone_8h.html#ac6bde384d117781b9a112d792e1979a">XENV_MEM_COPY</a>(DestPtr, SrcPtr, Bytes) memcpy((void *) DestPtr, (const void *) SrcPtr, (size_t) Bytes)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xenv__standalone_8h.html#8d3d628db47ac39e0236960f8431ec7e">XENV_MEM_FILL</a>(DestPtr, Data, Bytes) memset((void *) DestPtr, (int) Data, (size_t) Bytes)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xenv__standalone_8h.html#7870edded69e19471cb2dcc9c55e6780">XENV_TIME_STAMP_GET</a>(StampPtr)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xenv__standalone_8h.html#7c87d069f3979c57f2d01a9c3dd75276">XENV_TIME_STAMP_DELTA_US</a>(Stamp1Ptr, Stamp2Ptr) (0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xenv__standalone_8h.html#9de6dbd16376ea5339c4e7123bc41b76">XENV_TIME_STAMP_DELTA_MS</a>(Stamp1Ptr, Stamp2Ptr) (0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xenv__standalone_8h.html#e2ca5e29c51795a9db55f7d256397f4f">XENV_USLEEP</a>(delay)</td></tr> <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="xenv__standalone_8h.html#42fb9f58d4ad4eee4b95d57517cb955b">XENV_TIME_STAMP</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Defines common services specified by <a class="el" href="xenv_8h.html">xenv.h</a>.<p> <dl compact><dt><b>Note:</b></dt><dd>This file is not intended to be included directly by driver code. Instead, the generic <a class="el" href="xenv_8h.html">xenv.h</a> file is intended to be included by driver code.</dd></dl> <pre> MODIFICATION HISTORY:</pre><p> <pre> Ver Who Date Changes ----- ---- -------- ----------------------------------------------- 1.00a wgr 02/28/07 Added cache handling macros. 1.00a wgr 02/27/07 Simplified code. Deprecated old-style macro names. 1.00a rmm 01/24/06 Implemented XENV_USLEEP. Assume implementation is being used under Xilinx standalone BSP. 1.00a xd 11/03/04 Improved support for doxygen. 1.00a rmm 03/21/02 First release 1.00a wgr 03/22/07 Converted to new coding style. 1.00a rpm 06/29/07 Added udelay macro for standalone 1.00a xd 07/19/07 Included xparameters.h as XPAR_ constants are referred to in MICROBLAZE section 1.00a ecm 09/19/08 updated for v7.20 of Microblaze, new functionality</pre><p> <pre> </pre> <hr><h2>Define Documentation</h2> <a class="anchor" name="ac6bde384d117781b9a112d792e1979a"></a><!-- doxytag: member="xenv_standalone.h::XENV_MEM_COPY" ref="ac6bde384d117781b9a112d792e1979a" args="(DestPtr, SrcPtr, Bytes)" --><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">#define XENV_MEM_COPY </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">DestPtr, <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>SrcPtr, <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>Bytes </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> memcpy((void *) DestPtr, (const void *) SrcPtr, (size_t) Bytes)</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Copies a non-overlapping block of memory.<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>DestPtr</em> </td><td>Destination address to copy data to.</td></tr> <tr><td valign="top"></td><td valign="top"><em>SrcPtr</em> </td><td>Source address to copy data from.</td></tr> <tr><td valign="top"></td><td valign="top"><em>Bytes</em> </td><td>Number of bytes to copy.</td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl> <dl compact><dt><b>Note:</b></dt><dd>The use of XENV_MEM_COPY is deprecated. Use memcpy() instead.<p> This implemention MAY BREAK work if source and target memory area are overlapping. </dd></dl> </td> </tr> </table> <a class="anchor" name="8d3d628db47ac39e0236960f8431ec7e"></a><!-- doxytag: member="xenv_standalone.h::XENV_MEM_FILL" ref="8d3d628db47ac39e0236960f8431ec7e" args="(DestPtr, Data, Bytes)" --><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">#define XENV_MEM_FILL </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">DestPtr, <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>Data, <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>Bytes </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> memset((void *) DestPtr, (int) Data, (size_t) Bytes)</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Fills an area of memory with constant data.<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>DestPtr</em> </td><td>Destination address to copy data to.</td></tr> <tr><td valign="top"></td><td valign="top"><em>Data</em> </td><td>Value to set.</td></tr> <tr><td valign="top"></td><td valign="top"><em>Bytes</em> </td><td>Number of bytes to copy.</td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl> <dl compact><dt><b>Note:</b></dt><dd>The use of XENV_MEM_FILL is deprecated. Use memset() instead. </dd></dl> </td> </tr> </table> <a class="anchor" name="9de6dbd16376ea5339c4e7123bc41b76"></a><!-- doxytag: member="xenv_standalone.h::XENV_TIME_STAMP_DELTA_MS" ref="9de6dbd16376ea5339c4e7123bc41b76" args="(Stamp1Ptr, Stamp2Ptr)" --><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">#define XENV_TIME_STAMP_DELTA_MS </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">Stamp1Ptr, <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>Stamp2Ptr </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> (0)</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> This macro is not yet implemented and always returns 0.<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>Stamp1Ptr</em> </td><td>is the first sampled time stamp. </td></tr> <tr><td valign="top"></td><td valign="top"><em>Stamp2Ptr</em> </td><td>is the second sampled time stamp.</td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>0</dd></dl> <dl compact><dt><b>Note:</b></dt><dd></dd></dl> This macro must be implemented by the user. </td> </tr> </table> <a class="anchor" name="7c87d069f3979c57f2d01a9c3dd75276"></a><!-- doxytag: member="xenv_standalone.h::XENV_TIME_STAMP_DELTA_US" ref="7c87d069f3979c57f2d01a9c3dd75276" args="(Stamp1Ptr, Stamp2Ptr)" --><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">#define XENV_TIME_STAMP_DELTA_US </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">Stamp1Ptr, <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>Stamp2Ptr </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> (0)</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> This macro is not yet implemented and always returns 0.<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>Stamp1Ptr</em> </td><td>is the first sampled time stamp. </td></tr> <tr><td valign="top"></td><td valign="top"><em>Stamp2Ptr</em> </td><td>is the second sampled time stamp.</td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>0</dd></dl> <dl compact><dt><b>Note:</b></dt><dd></dd></dl> This macro must be implemented by the user. </td> </tr> </table> <a class="anchor" name="7870edded69e19471cb2dcc9c55e6780"></a><!-- doxytag: member="xenv_standalone.h::XENV_TIME_STAMP_GET" ref="7870edded69e19471cb2dcc9c55e6780" args="(StampPtr)" --><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">#define XENV_TIME_STAMP_GET </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">StampPtr </td> <td class="mdname1" valign="top" nowrap> </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> Time is derived from the 64 bit PPC timebase register<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>StampPtr</em> </td><td>is the storage for the retrieved time stamp.</td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl> <dl compact><dt><b>Note:</b></dt><dd></dd></dl> Signature: void <a class="el" href="xenv__standalone_8h.html#7870edded69e19471cb2dcc9c55e6780">XENV_TIME_STAMP_GET(XTIME_STAMP *StampPtr)</a> <br> <br> This macro must be implemented by the user. </td> </tr> </table> <a class="anchor" name="e2ca5e29c51795a9db55f7d256397f4f"></a><!-- doxytag: member="xenv_standalone.h::XENV_USLEEP" ref="e2ca5e29c51795a9db55f7d256397f4f" args="(delay)" --><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">#define XENV_USLEEP </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">delay </td> <td class="mdname1" valign="top" nowrap> </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> <a class="el" href="xenv__standalone_8h.html#e2ca5e29c51795a9db55f7d256397f4f">XENV_USLEEP(unsigned delay)</a><p> Delay the specified number of microseconds. Not implemented without OS support.<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>delay</em> </td><td>Number of microseconds to delay.</td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>None. </dd></dl> </td> </tr> </table> <hr><h2>Typedef Documentation</h2> <a class="anchor" name="42fb9f58d4ad4eee4b95d57517cb955b"></a><!-- doxytag: member="xenv_standalone.h::XENV_TIME_STAMP" ref="42fb9f58d4ad4eee4b95d57517cb955b" args="" --><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">typedef int <a class="el" href="xenv__standalone_8h.html#42fb9f58d4ad4eee4b95d57517cb955b">XENV_TIME_STAMP</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> A structure that contains a time stamp used by other time stamp macros defined below. This structure is processor dependent. </td> </tr> </table> <hr size="1"><address style="align: right;"><small>Generated on Thu Feb 13 14:48:12 2014 for 2014.1_doc by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.5 </small></address> </body> </html>