embeddedsw/XilinxProcessorIPLib/drivers/mutex/doc/html/api/index.html

65 lines
4 KiB
HTML
Raw Normal View History

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Xilinx Driver mutex v4_0: mutex v4_0
</title>
<link href="doxygen_kalyanidocs/doc/css/driver_api_doxygen.css" 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li class="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>mutex v4_0</h1><p>The Xilinx Mutex driver. This driver supports the Xilinx Mutex Core. More detailed description of the driver operation can be found in the <a class="el" href="xmutex_8c.html">xmutex.c</a> file.</p>
<p><b>Features</b></p>
<p>The Xilinx Mutex supports the following features:</p>
<ul>
<li>Provide for synchronization between multiple processors in the system.</li>
<li>Write to lock scheme with CPU ID encoded.</li>
<li>Multiple Mutex locks within a single instance of the device.</li>
<li>An optional user field within each Mutex that can be read or written to by software.</li>
</ul>
<p>This driver is intended to be RTOS and processor independent. Any needs for dynamic memory management, threads or thread mutual exclusion, virtual memory, or cache control must be satisfied by the layer above this driver. The effective address provided to the <a class="el" href="xmutex_8c.html#a250cfb7229128feb084799a476d423d6">XMutex_CfgInitialize()</a> function can be either the real, physical address or the remapped virtual address. The remapping of this address occurs above this driver, no remapping occurs within the driver itself.</p>
<p><b>Initialization &amp; Configuration</b></p>
<p>The <a class="el" href="struct_x_mutex___config.html">XMutex_Config</a> structure is used by the driver to configure itself. This configuration structure is typically created by the tool-chain based on HW build properties.</p>
<p>To support multiple runtime loading and initialization strategies employed by various operating systems, the driver instance can be initialized in the following way:</p>
<ul>
<li>XMutex_LookupConfig (DeviceId) - Use the device identifier to find the static configuration structure defined in XMutex_g.c. This is setup by the tools. For some operating systems the config structure will be initialized by the software and this call is not needed. This function returns the CfgPtr argument used by the CfgInitialize function described below.</li>
</ul>
<ul>
<li>XMutex_CfgInitialize (InstancePtr, ConfigPtr, EffectiveAddress) - Uses a configuration structure provided by the caller. If running in a system with address translation, the provided virtual memory base address replaces the physical address present in the configuration structure. The EffectiveAddress argument is required regardless of operating system environment, i.e. in standalone, ConfigPtr-&gt;BaseAddress is recommended and not the xparameters definition..</li>
</ul>
<pre>
MODIFICATION HISTORY:</pre><pre> Ver Who Date Changes
----- ---- -------- -----------------------------------------------
1.00a va First release
1.00a ecm 06/01/07 Cleanup, new coding standard, check into XCS
1.00b ecm 06/01/07 fixed tcl error for number of mutex's, CR502416
2.00a hm 04/14/09 Fixed CR 466322, removed extra definitions
Also fixed canonical definitions treating an interface
as an device instance.
3.00a hbm 10/15/09 Migrated to HAL phase 1 to use xil_io, xil_types,
and xil_assert.
3.01a sdm 05/06/10 New driver to support AXI version of the core and
cleaned up for coding guidelines.
3.02a bss 01/31/13 Updated driver tcl to fix CR #679127
4.0 adk 19/12/13 Updated as per the New Tcl API's
4.00a bss 03/05/14 Modified XMutex_CfgInitialize to fix CR# 770096
</pre> </div>
<p class="Copyright">
Copyright &copy; 1995-2014 Xilinx, Inc. All rights reserved.
</p>
</body>
</html>