MCUXpresso SDK API Reference Manual  Rev 2.16.000
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
SMARTDMA: SMART DMA Driver

Overview

The MCUXpresso SDK provides a peripheral driver for the SMART DMA module of MCUXpresso SDK devices.

Typedefs

typedef void(* smartdma_callback_t )(void *param)
 Callback function prototype for the smartdma driver. More...
 

Functions

void SMARTDMA_Init (uint32_t apiMemAddr, const void *firmware, uint32_t firmwareSizeByte)
 Initialize the SMARTDMA. More...
 
void SMARTDMA_InitWithoutFirmware (void)
 Initialize the SMARTDMA. More...
 
void SMARTDMA_InstallFirmware (uint32_t apiMemAddr, const void *firmware, uint32_t firmwareSizeByte)
 Install the firmware. More...
 
void SMARTDMA_InstallCallback (smartdma_callback_t callback, void *param)
 Install the complete callback function. More...
 
void SMARTDMA_Boot (uint32_t apiIndex, void *pParam, uint8_t mask)
 Boot the SMARTDMA to run program. More...
 
void SMARTDMA_Boot1 (uint32_t apiIndex, const smartdma_param_t *pParam, uint8_t mask)
 Copy SMARTDMA params and Boot to run program. More...
 
void SMARTDMA_Deinit (void)
 Deinitialize the SMARTDMA.
 
void SMARTDMA_Reset (void)
 Reset the SMARTDMA.
 
void SMARTDMA_HandleIRQ (void)
 SMARTDMA IRQ.
 

Driver version

#define FSL_SMARTDMA_DRIVER_VERSION   (MAKE_VERSION(2, 9, 1))
 SMARTDMA driver version.
 

Typedef Documentation

typedef void(* smartdma_callback_t)(void *param)

Function Documentation

void SMARTDMA_Init ( uint32_t  apiMemAddr,
const void *  firmware,
uint32_t  firmwareSizeByte 
)
Parameters
apiMemAddrThe address firmware will be copied to.
firmwareThe firmware to use.
firmwareSizeByteSize of firmware.
Deprecated:
Do not use this function. It has been superceded by SMARTDMA_InitWithoutFirmware and SMARTDMA_InstallFirmware.
void SMARTDMA_InitWithoutFirmware ( void  )

This function is similar with SMARTDMA_Init, the difference is this function does not install the firmware, the firmware could be installed using SMARTDMA_InstallFirmware.

void SMARTDMA_InstallFirmware ( uint32_t  apiMemAddr,
const void *  firmware,
uint32_t  firmwareSizeByte 
)
Parameters
apiMemAddrThe address firmware will be copied to.
firmwareThe firmware to use.
firmwareSizeByteSize of firmware.
Note
Only call this function when SMARTDMA is not busy.
void SMARTDMA_InstallCallback ( smartdma_callback_t  callback,
void *  param 
)
Parameters
callbackThe callback called when smartdma program finished.
paramParameter for the callback.
Note
Only call this function when SMARTDMA is not busy.
void SMARTDMA_Boot ( uint32_t  apiIndex,
void *  pParam,
uint8_t  mask 
)
Parameters
apiIndexIndex of the API to call.
pParamPointer to the parameter allocated by caller.
maskValue set to register SMARTDMA->ARM2EZH[0:1].
Note
Only call this function when SMARTDMA is not busy.
The memory *pParam shall not be freed before the SMARTDMA function finished.
void SMARTDMA_Boot1 ( uint32_t  apiIndex,
const smartdma_param_t *  pParam,
uint8_t  mask 
)

This function is similar with SMARTDMA_Boot, the only difference is, this function copies the *pParam to a local variable, upper layer can free the pParam's memory before the SMARTDMA execution finished, for example, upper layer can define the param as a local variable.

Parameters
apiIndexIndex of the API to call.
pParamPointer to the parameter.
maskValue set to SMARTDMA_ARM2SMARTDMA[0:1].
Note
Only call this function when SMARTDMA is not busy.