# CARD_WriteFlashAsync

## C Specification

  `#include <nitro/card.h>`
  `static inline void CARD_WriteFlashAsync( u32 dst, const void *src, u32 len, MIDmaCallback callback, void *arg);`

## Arguments

dst | The FLASH address of the transfer destination
src | Transfer source memory address.
len | Byte length of data to be written.
callback | Callback function for when the process completes. If the callback is not necessary, specify NULL. This callback is called from inside the interrupt handler.
arg | Argument passed to the callback function. If NULL has been specified for the callback, this value is simply ignored

## Return Values

None.

## Description

This function asynchronously writes data to the FLASH device. This function immediately returns control. In order to use this function, you must first lock the access bus with the `CARD_LockBackup` function.
To wait for the process to end, use the CARD_WaitBackupAsync function. To determine the result of the process, call the CARD_GetResultCode function after the process has ended.

## Internal Operation

`Note that this function internally communicates with the ARM7 via PXI.
The process will not end if PXI interrupts are not enabled.
This function executes an asynchronous process using an internal thread. To learn more about this internal thread, see the explanation for the `CARD_GetThreadPriority` function.`

## See Also

`CARD_IsBackupFlash CARD_WaitBackupAsync, CARD_GetResultCode, CARD_ReadFlash, CARD_WriteFlash, CARD_VerifyFlash, CARD_WriteAndVerifyFlash, CARD_GetThreadPriority`

## Revision History

06/01/2005 Added a statement indicating that callback is called from interrupt handler.
12/09/2004 Changed "IO processor" to "ARM7 processor".
11/02/2004 Revised links.
08/23/2004 Initial version.

CONFIDENTIAL