
Added initial support Xilinx Embedded Software. Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
280 lines
13 KiB
HTML
Executable file
280 lines
13 KiB
HTML
Executable file
<!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: diskio.c 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 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>
|
|
<h1>diskio.c File Reference</h1><code>#include "diskio.h"</code><br>
|
|
<code>#include "xparameters.h"</code><br>
|
|
<code>#include "xil_printf.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">DSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="diskio_8c.html#a78af2e273fcca84ea268f4e1e1738b3">disk_status</a> (BYTE drv)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">DSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="diskio_8c.html#df27cc91d9dbd78d5d361b831eaeabc8">disk_initialize</a> (BYTE drv)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">DRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="diskio_8c.html#dde6e8156b8890116ed85adee5543646">disk_read</a> (BYTE drv, BYTE *buff, DWORD sector, BYTE count)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">DWORD </td><td class="memItemRight" valign="bottom"><a class="el" href="diskio_8c.html#7c5c1fd89778e9edcb363c0f686f2c63">get_fattime</a> (void)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">DRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="diskio_8c.html#8715faf03942a0b0ee6aea16afbfcf33">disk_write</a> (BYTE drv, const BYTE *buff, DWORD sector, BYTE count)</td></tr>
|
|
|
|
</table>
|
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
|
This file is the glue layer between file system and driver. Description related to SD driver: Process to use file system with SD Select xilffs in SDK when creating a BSP In SDK, set "fs_interface" to 1 to select SD interface. This glue layer can currently be used only with one SD controller enabled. In order to use eMMC, in SDK set "Enable MMC" to 1. If not, SD support is enabled by default.<p>
|
|
Description: This glue layer initializes the host controller and SD card in disk_initialize. If SD card supports it, 4-bit mode and high speed mode will be enabled. The default block size is 512 bytes. disk_read and disk_write functions are used to read and write files using ADMA2 in polled mode. The file system can be used to read from and write to an SD card that is already formatted as FATFS.<p>
|
|
<pre>
|
|
MODIFICATION HISTORY:</pre><p>
|
|
<pre> Ver Who Date Changes
|
|
----- ---- -------- -------------------------------------------------------
|
|
1.00a hk 10/17/13 First release
|
|
2.0 hk 02/12/14 Corrected status check in disk initialize. CR# 772072.</pre><p>
|
|
<pre> </pre><p>
|
|
<dl compact><dt><b>Note:</b></dt><dd></dd></dl>
|
|
<hr><h2>Function Documentation</h2>
|
|
<a class="anchor" name="df27cc91d9dbd78d5d361b831eaeabc8"></a><!-- doxytag: member="diskio.c::disk_initialize" ref="df27cc91d9dbd78d5d361b831eaeabc8" args="(BYTE drv)" --><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">DSTATUS disk_initialize </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">BYTE </td>
|
|
<td class="mdname1" valign="top" nowrap> <em>drv</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>
|
|
Initializes the drive. In case of SD, it initializes the host controller and the card. This function also selects additional settings such as bus width, speed and block size.<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>drv</em> </td><td>- Drive number</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>s - which contains an OR of the following information STA_NODISK Disk is not present STA_NOINIT Drive not initialized STA_PROTECT Drive is write protected 0 or only STA_PROTECT both indicate successful initialization.</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd></dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="dde6e8156b8890116ed85adee5543646"></a><!-- doxytag: member="diskio.c::disk_read" ref="dde6e8156b8890116ed85adee5543646" args="(BYTE drv, BYTE *buff, DWORD sector, BYTE count)" --><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">DRESULT disk_read </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">BYTE </td>
|
|
<td class="mdname" nowrap> <em>drv</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>BYTE * </td>
|
|
<td class="mdname" nowrap> <em>buff</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>DWORD </td>
|
|
<td class="mdname" nowrap> <em>sector</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>BYTE </td>
|
|
<td class="mdname" nowrap> <em>count</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>
|
|
Reads the drive In case of SD, it reads the SD card using ADMA2 in polled mode.<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>drv</em> </td><td>- Drive number </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>*buff</em> </td><td>- Pointer to the data buffer to store read data </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>sector</em> </td><td>- Start sector number </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>- Sector count</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>RES_OK Read successful STA_NOINIT Drive not initialized RES_ERROR Read not successful</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd></dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="a78af2e273fcca84ea268f4e1e1738b3"></a><!-- doxytag: member="diskio.c::disk_status" ref="a78af2e273fcca84ea268f4e1e1738b3" args="(BYTE drv)" --><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">DSTATUS disk_status </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">BYTE </td>
|
|
<td class="mdname1" valign="top" nowrap> <em>drv</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>
|
|
Gets the status of the disk. In case of SD, it checks whether card is present or not.<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>drv</em> </td><td>- Drive number</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>0 Status ok STA_NOINIT Drive not initialized STA_NODISK No medium in the drive STA_PROTECT Write protected</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>In case Card detect signal is not connected, this function will not be able to check if card is present. </dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="8715faf03942a0b0ee6aea16afbfcf33"></a><!-- doxytag: member="diskio.c::disk_write" ref="8715faf03942a0b0ee6aea16afbfcf33" args="(BYTE drv, const BYTE *buff, DWORD sector, BYTE count)" --><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">DRESULT disk_write </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">BYTE </td>
|
|
<td class="mdname" nowrap> <em>drv</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>const BYTE * </td>
|
|
<td class="mdname" nowrap> <em>buff</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>DWORD </td>
|
|
<td class="mdname" nowrap> <em>sector</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>BYTE </td>
|
|
<td class="mdname" nowrap> <em>count</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>
|
|
Reads the drive In case of SD, it reads the SD card using ADMA2 in polled mode.<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>drv</em> </td><td>- Drive number </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>*buff</em> </td><td>- Pointer to the data to be written </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>sector</em> </td><td>- Sector address </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>- Sector count</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>RES_OK Read successful STA_NOINIT Drive not initialized RES_ERROR Read not successful</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd></dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="7c5c1fd89778e9edcb363c0f686f2c63"></a><!-- doxytag: member="diskio.c::get_fattime" ref="7c5c1fd89778e9edcb363c0f686f2c63" args="(void)" --><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">DWORD get_fattime </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">void </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>
|
|
This function is User Provided Timer Function for FatFs module<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>None</em> </td><td></td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>DWORD</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>None </dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<hr size="1"><address style="align: right;"><small>Generated on Thu Feb 13 14:34:38 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>
|