# CARD_ReadFramAsync

## C Specification

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

## Arguments

src | Transfer source FRAM address
dst | Transfer destination memory address
len | Byte length of data being read
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 when the process completes. If NULL has been specified for the callback, this value is simply ignored.

## Return Values

None.

## Description

Asynchronously reads data from the FRAM 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.
This function communicates with the ARM7 processor internally via PXI.
The process will not end if PXI interrupts are not enabled.

## Internal Operation

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_IsBackupFram CARD_WaitBackupAsync CARD_GetResultCode CARD_ReadFram CARD_WriteFram CARD_VerifyFram CARD_WriteAndVerifyFram CARD_GetThreadPriority`

## Revision History

07/05/2005 Initial version.

CONFIDENTIAL