1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3
4<head>
5<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
6<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 7.0.0.0 for Windows">
7<META http-equiv="Content-Style-Type" content="text/css">
8<title>CARD_ProgramAndVerifyFlashAsync</title>
9<LINK rel="stylesheet" href="../../css/nitro.css" type="text/css">
10</head>
11
12<body>
13
14<h1 align="left">CARD_ProgramAndVerifyFlashAsync <img src="../../image/NTR.gif"align="middle"><img src="../../image/TWL.gif" align="middle"></H1>
15<H2>Syntax</H2>
16
17<dl>
18  <dd>
19<CODE>#include &lt;nitro/card.h&gt;</CODE><BR>
20  <BR>
21  <CODE>static inline void	CARD_ProgramAndVerifyFlashAsync(
22	u32 dst, const void *src, u32 len, MIDmaCallback callback, void *arg);</CODE><br>
23  <br>
24  </dd>
25</dl>
26<h2>Arguments</h2>
27<TABLE border="1" width="100%">
28  <TBODY>
29    <TR>
30      <TD width="13%"><EM><STRONG>dst</STRONG></EM></TD>
31      <TD width="87%">The FLASH address of the transfer destination.</TD>
32    </TR>
33    <TR>
34      <TD width="13%"><EM><STRONG>src</STRONG></EM></TD>
35      <TD width="87%">Transfer source memory address.</TD>
36    </TR>
37    <TR>
38      <TD width="13%"><EM><STRONG>len</STRONG></EM></TD>
39      <TD width="87%">Byte length of data being written.</TD>
40    </TR>
41    <TR>
42      <TD width="13%"><EM><STRONG>callback</STRONG></EM></TD>
43      <TD width="87%">Completion callback function.<BR>
44	  Specify <CODE>NULL</CODE> if this is unnecessary.<br>This callback is called from within the interrupt handler.
45</TD>
46    </TR>
47    <TR>
48      <TD width="13%"><EM><STRONG>arg</STRONG></EM></TD>
49      <TD width="87%">Arguments to pass to the completion callback function.<BR>
50	  This is simply ignored if <CODE>NULL</CODE> was specified for <CODE>callback</CODE>.</TD>
51    </TR>
52  </TBODY>
53</TABLE>
54
55<h2>Return Values</h2>
56<p>None.</p>
57
58<H2>Description</H2>
59<p>
60This function asynchronously writes data to the FLASH device, and executes a comparison on that written data. This function immediately returns control. Use the <A href="../backup/CARD_WaitBackupAsync.html"><CODE>CARD_WaitBackupAsync</CODE></A> function to wait for processing to end. To determine the processing result, call the <A href="../common/CARD_GetResultCode.html"><CODE>CARD_GetResultCode</CODE></A> function after processing has ended.<br>
61</p>
62<p>
63<font color="#800000">You must use the <A href="CARD_EraseFlashSector.html"><CODE>CARD_EraseFlashSector</CODE></A> function in advance to erase the contents of the region specified as the destination for writing with this function. We cannot guarantee integrity of the data written to a region that has not been erased.</font>For certain kinds of flash devices you can use the <A href="CARD_WriteFlash.html"><CODE>CARD_WriteFlash</CODE></A> function, which has fewer restrictions than this function.
64</p>
65<p>
66To use this function, you must first lock the access bus with the <A href="../backup/CARD_LockBackup.html"><CODE>CARD_LockBackup</CODE></A> function.
67</p>
68<h2>Internal Operation</h2>
69<p><CODE><font color="#800000">This function communicates with the ARM7 processor internally via PXI.<br> The process will not end if PXI interrupts are not enabled.<br></font> <br> The function uses an internal thread to execute an asynchronous process. See the description of the <A href="../common/CARD_GetThreadPriority.html"><CODE>CARD_GetThreadPriority</CODE></A> function for more information on this thread.</p>
70<h2>See Also</h2>
71<p><CODE><A href="../backup/CARD_WaitBackupAsync.html">CARD_WaitBackupAsync</A>, <A href="../common/CARD_GetResultCode.html">CARD_GetResultCode</A>, <A href="CARD_IsBackupFlash.html">CARD_IsBackupFlash</A>, <A href="CARD_ProgramFlash.html">CARD_ProgramFlash</A>, <A href="CARD_ProgramFlashAsync.html">CARD_ProgramFlashAsync</A>, <A href="CARD_ProgramAndVerifyFlash.html">CARD_ProgramAndVerifyFlash</A>, <A href="CARD_ProgramAndVerifyFlashAsync.html">CARD_ProgramAndVerifyFlashAsync</A>, <A href="CARD_EraseFlashSector.html">CARD_EraseFlashSector</A>, <A href="CARD_EraseFlashSectorAsync.html">CARD_EraseFlashSectorAsync</A>, <A href="CARD_WriteFlashSector.html">CARD_WriteFlashSector</A>, <A href="CARD_WriteFlashSectorAsync.html">CARD_WriteFlashSectorAsync</A>, <A href="CARD_WriteAndVerifyFlashSector.html">CARD_WriteAndVerifyFlashSector</A>, <A href="CARD_WriteAndVerifyFlashSectorAsync.html">CARD_WriteAndVerifyFlashSectorAsync</A>, <A href="CARD_ReadFlash.html">CARD_ReadFlash</A>, <A href="CARD_WriteFlash.html">CARD_WriteFlash</A>, <A href="CARD_WriteAndVerifyFlash.html">CARD_WriteAndVerifyFlash</A>, <A href="CARD_VerifyFlash.html">CARD_VerifyFlash</A>, <A href="../common/CARD_GetThreadPriority.html">CARD_GetThreadPriority</A></CODE></p>
72
73<H2>Revision History</H2>
74<P>
752007/08/22 Initial version.
76</P>
77<hr><p>CONFIDENTIAL</p></body>
78</html>
79