Kinetis SDK v.2.0 API Reference Manual  Rev. 0
Freescale Semiconductor, Inc.
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
LTC Non-blocking eDMA APIs

Overview

This section describes the programming interface of the LTC EDMA Non Blocking functions

Modules

 LTC eDMA AES driver
 
 LTC eDMA DES driver
 

Data Structures

struct  ltc_edma_handle_t
 LTC EDMA handle. More...
 

Typedefs

typedef void(* ltc_edma_callback_t )(LTC_Type *base, ltc_edma_handle_t *handle, status_t status, void *userData)
 LTC EDMA callback function. More...
 
typedef status_t(* ltc_edma_state_machine_t )(LTC_Type *base, ltc_edma_handle_t *handle)
 LTC EDMA state machine function. More...
 

Functions

void LTC_CreateHandleEDMA (LTC_Type *base, ltc_edma_handle_t *handle, ltc_edma_callback_t callback, void *userData, edma_handle_t *inputFifoEdmaHandle, edma_handle_t *outputFifoEdmaHandle)
 Init the LTC EDMA handle which is used in transcational functions. More...
 

Data Structure Documentation

struct _ltc_edma_handle

It is defined only for private usage inside LTC EDMA driver.

Data Fields

ltc_edma_callback_t callback
 Callback function. More...
 
void * userData
 LTC callback function parameter. More...
 
edma_handle_tinputFifoEdmaHandle
 The EDMA TX channel used. More...
 
edma_handle_toutputFifoEdmaHandle
 The EDMA RX channel used. More...
 
ltc_edma_state_machine_t state_machine
 State machine. More...
 
uint32_t state
 Internal state. More...
 
const uint8_t * inData
 Input data. More...
 
uint8_t * outData
 Output data. More...
 
uint32_t size
 Size of input and output data in bytes. More...
 
uint32_t modeReg
 LTC mode register. More...
 
uint8_t * counter
 Input counter (updates on return)
 
const uint8_t * key
 Input key to use for forward AES cipher.
 
uint32_t keySize
 Size of the input key, in bytes. More...
 
uint8_t * counterlast
 Output cipher of last counter, for chained CTR calls. More...
 
uint32_t * szLeft
 Output number of bytes in left unused in counterlast block. More...
 
uint32_t lastSize
 Last size. More...
 

Field Documentation

ltc_edma_callback_t ltc_edma_handle_t::callback
void* ltc_edma_handle_t::userData
edma_handle_t* ltc_edma_handle_t::inputFifoEdmaHandle
edma_handle_t* ltc_edma_handle_t::outputFifoEdmaHandle
ltc_edma_state_machine_t ltc_edma_handle_t::state_machine
uint32_t ltc_edma_handle_t::state
const uint8_t* ltc_edma_handle_t::inData
uint8_t* ltc_edma_handle_t::outData
uint32_t ltc_edma_handle_t::size
uint32_t ltc_edma_handle_t::modeReg
uint32_t ltc_edma_handle_t::keySize

Must be 16, 24, or 32.

uint8_t* ltc_edma_handle_t::counterlast

NULL can be passed if chained calls are not used.

uint32_t* ltc_edma_handle_t::szLeft

NULL can be passed if chained calls are not used.

uint32_t ltc_edma_handle_t::lastSize

Typedef Documentation

typedef void(* ltc_edma_callback_t)(LTC_Type *base, ltc_edma_handle_t *handle, status_t status, void *userData)
typedef status_t(* ltc_edma_state_machine_t)(LTC_Type *base, ltc_edma_handle_t *handle)

It is defined only for private usage inside LTC EDMA driver.

Function Documentation

void LTC_CreateHandleEDMA ( LTC_Type *  base,
ltc_edma_handle_t *  handle,
ltc_edma_callback_t  callback,
void *  userData,
edma_handle_t inputFifoEdmaHandle,
edma_handle_t outputFifoEdmaHandle 
)
Parameters
baseLTC module base address
handlePointer to ltc_edma_handle_t structure
callbackCallback function, NULL means no callback.
userDataCallback function parameter.
inputFifoEdmaHandleUser requested EDMA handle for Input FIFO EDMA.
outputFifoEdmaHandleUser requested EDMA handle for Output FIFO EDMA.