Infineon MOTIX™ MCU TLE988x/9x Device Family SDK
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
dma.h File Reference

Go to the source code of this file.

Detailed Description

Direct Memory Access low level access library.

Version
V0.3.2
Date
17. Nov 2022
Note

Include Graph

Include dependency graph for dma.h:

Include Graph

This graph shows which files directly or indirectly include this file:

Data Structures

union  tDMA_ctrl
 This union and its structure lists the bit assignments for the channel_cfg memory location. More...
 
struct  DMA_entry
 

Macros

#define DMA_CH0   (0u)
 DMA channel selection macro, DMA CH0. More...
 
#define DMA_CH1   (1u)
 DMA channel selection macro, DMA CH1. More...
 
#define DMA_CH2   (2u)
 DMA channel selection macro, DMA CH2. More...
 
#define DMA_CH3   (3u)
 DMA channel selection macro, DMA CH3. More...
 
#define DMA_CH4   (4u)
 DMA channel selection macro, DMA CH4. More...
 
#define DMA_CH5   (5u)
 DMA channel selection macro, DMA CH5. More...
 
#define DMA_CH6   (6u)
 DMA channel selection macro, DMA CH6. More...
 
#define DMA_CH7   (7u)
 DMA channel selection macro, DMA CH7. More...
 
#define DMA_MASK_CH0   ((uint16)1u << DMA_CH0)
 DMA channel Mask macro, DMA CH0 MASK. More...
 
#define DMA_MASK_CH1   ((uint16)1u << DMA_CH1)
 DMA channel Mask macro, DMA CH1 MASK. More...
 
#define DMA_MASK_CH2   ((uint16)1u << DMA_CH2)
 DMA channel Mask macro, DMA CH2 MASK. More...
 
#define DMA_MASK_CH3   ((uint16)1u << DMA_CH3)
 DMA channel Mask macro, DMA CH3 MASK. More...
 
#define DMA_MASK_CH4   ((uint16)1u << DMA_CH4)
 DMA channel Mask macro, DMA CH4 MASK. More...
 
#define DMA_MASK_CH5   ((uint16)1u << DMA_CH5)
 DMA channel Mask macro, DMA CH5 MASK. More...
 
#define DMA_MASK_CH6   ((uint16)1u << DMA_CH6)
 DMA channel Mask macro, DMA CH6 MASK. More...
 
#define DMA_MASK_CH7   ((uint16)1u << DMA_CH7)
 DMA channel Mask macro, DMA CH7 MASK. More...
 

Typedefs

typedef enum DMA_transferSize tDMA_transferSize
 
typedef enum DMA_incrementSize tDMA_incrementSize
 
typedef enum DMA_incrementMode tDMA_incrementMode
 
typedef enum DMA_cycleType tDMA_cycleType
 
typedef struct DMA_entry tDMA_entry
 

Enumerations

enum  DMA_transferSize { DMA_transferSize_8bit = 0u , DMA_transferSize_16bit = 1u , DMA_transferSize_32bit = 2u }
 This enum lists the transfer size options for the DMA. More...
 
enum  DMA_incrementSize { DMA_incrementSize_8bit = 0u , DMA_incrementSize_16bit = 1u , DMA_incrementSize_32bit = 2u }
 This enum lists the increment size options for the DMA. More...
 
enum  DMA_incrementMode { DMA_incrementMode_srcInc = 0u , DMA_incrementMode_dstInc = 1u , DMA_incrementMode_srcDstInc = 2u , DMA_incrementMode_noInc = 3u }
 This enum lists the increment mode options for the DMA. More...
 
enum  DMA_cycleType {
  DMA_cycleType_Invalid = 0u , DMA_cycleType_Basic = 1u , DMA_cycleType_Auto = 2u , DMA_cycleType_PingPong = 3u ,
  DMA_cycleType_MemSctGthPrim = 4u , DMA_cycleType_MemSctGthAlt = 5u , DMA_cycleType_PerSctGthPrim = 6u , DMA_cycleType_PerSctGthAlt = 7u
}
 This enum lists the cycle type options for the DMA. More...
 

Functions

sint8 DMA_init (void)
 Initialize the DMA structure in RAM and SFRs according to the ConfigWizard settings. More...
 
void DMA_setBasicTransfer (uint8 u8_chIdx, uint32 u32_srcAddr, uint32 u32_dstAddr, uint32 u32_transferCnt, tDMA_transferSize e_transferSize, tDMA_incrementMode e_incrementMode)
 Set up a basic transfer for the desired DMA channel in the primary structure in RAM. More...
 
void DMA_resetChannel (uint8 u8_chIdx, uint32 u32_transferCnt)
 Reset the primary structure in RAM for a given channel and rearm it. More...
 
void DMA_setMemSctGth (uint8 u8_chIdx, tDMA_entry *s_taskList, uint32 u32_taskCnt)
 Set up a channel to operate in Memory Scatter-Gather mode on a given task list. More...
 
void DMA_setPerSctGth (uint8 u8_chIdx, tDMA_entry *s_taskList, uint32 u32_taskCnt)
 Set up a channel to operate in Peripheral Scatter-Gather mode on a given task list. More...
 
tDMA_entryDMA_setPrimaryTaskSctGth (tDMA_entry *s_primEntry, uint8 u8_chIdx, tDMA_entry *s_taskList, uint32 u32_taskCnt)
 Set up the primary task to configure the scatter-gather mode. More...
 
tDMA_entryDMA_setTaskSctGth (tDMA_entry *s_entry, tDMA_cycleType e_cycleType, uint8 u8_Rpower, uint32 u32_srcAddr, uint32 u32_dstAddr, uint32 u32_transferCnt, tDMA_transferSize e_transferSize, tDMA_incrementMode e_incrementMode)
 Set up a task to be used in the scatter-gather mode. More...
 
INLINE void DMA_enMaster (void)
 Enable DMA Master. More...
 
INLINE void DMA_enCh0EndlessMode (void)
 Enable DMA Channel 0 Endless Mode. More...
 
INLINE void DMA_disCh0EndlessMode (void)
 Disable DMA Channel 0 Endless Mode. More...
 
INLINE void DMA_enCh1EndlessMode (void)
 Enable DMA Channel 1 Endless Mode. More...
 
INLINE void DMA_disCh1EndlessMode (void)
 Disable DMA Channel 1 Endless Mode. More...
 
INLINE void DMA_enCh2EndlessMode (void)
 Enable DMA Channel 2 Endless Mode. More...
 
INLINE void DMA_disCh2EndlessMode (void)
 Disable DMA Channel 2 Endless Mode. More...
 
INLINE void DMA_enCh3EndlessMode (void)
 Enable DMA Channel 3 Endless Mode. More...
 
INLINE void DMA_disCh3EndlessMode (void)
 Disable DMA Channel 3 Endless Mode. More...
 
INLINE void DMA_enCh4EndlessMode (void)
 Enable DMA Channel 4 Endless Mode. More...
 
INLINE void DMA_disCh4EndlessMode (void)
 Disable DMA Channel 4 Endless Mode. More...
 
INLINE void DMA_enCh5EndlessMode (void)
 Enable DMA Channel 5 Endless Mode. More...
 
INLINE void DMA_disCh5EndlessMode (void)
 Disable DMA Channel 5 Endless Mode. More...
 
INLINE void DMA_enCh6EndlessMode (void)
 Enable DMA Channel 6 Endless Mode. More...
 
INLINE void DMA_disCh6EndlessMode (void)
 Disable DMA Channel 6 Endless Mode. More...
 
INLINE void DMA_enCh7EndlessMode (void)
 Enable DMA Channel 7 Endless Mode. More...
 
INLINE void DMA_disCh7EndlessMode (void)
 Disable DMA Channel 7 Endless Mode. More...
 
INLINE void DMA_enCh0Int (void)
 Enable DMA Channel 0 Interrupt. More...
 
INLINE void DMA_disCh0Int (void)
 Disable DMA Channel 0 Interrupt. More...
 
INLINE void DMA_enCh1Int (void)
 Enable DMA Channel 1 Interrupt. More...
 
INLINE void DMA_disCh1Int (void)
 Disable DMA Channel 1 Interrupt. More...
 
INLINE void DMA_enCh2Int (void)
 Enable DMA Channel 2 Interrupt. More...
 
INLINE void DMA_disCh2Int (void)
 Disable DMA Channel 2 Interrupt. More...
 
INLINE void DMA_enCh3Int (void)
 Enable DMA Channel 3 Interrupt. More...
 
INLINE void DMA_disCh3Int (void)
 Disable DMA Channel 3 Interrupt. More...
 
INLINE void DMA_enCh4Int (void)
 Enable DMA Channel 4 Interrupt. More...
 
INLINE void DMA_disCh4Int (void)
 Disable DMA Channel 4 Interrupt. More...
 
INLINE void DMA_enCh5Int (void)
 Enable DMA Channel 5 Interrupt. More...
 
INLINE void DMA_disCh5Int (void)
 Disable DMA Channel 5 Interrupt. More...
 
INLINE void DMA_enCh6Int (void)
 Enable DMA Channel 6 Interrupt. More...
 
INLINE void DMA_disCh6Int (void)
 Disable DMA Channel 6 Interrupt. More...
 
INLINE void DMA_enCh7Int (void)
 Enable DMA Channel 7 Interrupt. More...
 
INLINE void DMA_disCh7Int (void)
 Disable DMA Channel 7 Interrupt. More...
 
INLINE void DMA_enErrInt (void)
 Enable DMA Transfer Error Interrupt. More...
 
INLINE void DMA_disErrInt (void)
 Disable DMA Transfer Error Interrupt. More...
 
INLINE uint8 DMA_getCh0IntSts (void)
 Get DMA Channel 0 Interrupt Status. More...
 
INLINE uint8 DMA_getCh1IntSts (void)
 Get DMA Channel 1 Interrupt Status. More...
 
INLINE uint8 DMA_getCh2IntSts (void)
 Get DMA Channel 2 Interrupt Status. More...
 
INLINE uint8 DMA_getCh3IntSts (void)
 Get DMA Channel 3 Interrupt Status. More...
 
INLINE uint8 DMA_getCh4IntSts (void)
 Get DMA Channel 4 Interrupt Status. More...
 
INLINE uint8 DMA_getCh5IntSts (void)
 Get DMA Channel 5 Interrupt Status. More...
 
INLINE uint8 DMA_getCh6IntSts (void)
 Get DMA Channel 6 Interrupt Status. More...
 
INLINE uint8 DMA_getCh7IntSts (void)
 Get DMA Channel 7 Interrupt Status. More...
 
INLINE void DMA_clrCh0IntSts (void)
 Clear DMA Channel 0 Interrupt Status. More...
 
INLINE void DMA_clrCh1IntSts (void)
 Clear DMA Channel 1 Interrupt Status. More...
 
INLINE void DMA_clrCh2IntSts (void)
 Clear DMA Channel 2 Interrupt Status. More...
 
INLINE void DMA_clrCh3IntSts (void)
 Clear DMA Channel 3 Interrupt Status. More...
 
INLINE void DMA_clrCh4IntSts (void)
 Clear DMA Channel 4 Interrupt Status. More...
 
INLINE void DMA_clrCh5IntSts (void)
 Clear DMA Channel 5 Interrupt Status. More...
 
INLINE void DMA_clrCh6IntSts (void)
 Clear DMA Channel 6 Interrupt Status. More...
 
INLINE void DMA_clrCh7IntSts (void)
 Clear DMA Channel 7 Interrupt Status. More...
 
INLINE void DMA_setSWReq (uint8 u8_chIdx)
 Sets the SW request for the given channel. More...
 
void DMA_setCh0IntNodePtr (void) __attribute__((deprecated("Do not change this at runtime
 Set Channel 0 Interrupt Node Pointer. More...
 
void DMA_setCh1IntNodePtr (void) __attribute__((deprecated("Do not change this at runtime
 Set Channel 1 Interrupt Node Pointer. More...
 
void DMA_setCh2IntNodePtr (void) __attribute__((deprecated("Do not change this at runtime
 Set Channel 2 Interrupt Node Pointer. More...
 
void DMA_setCh3IntNodePtr (void) __attribute__((deprecated("Do not change this at runtime
 Set Channel 3 Interrupt Node Pointer. More...
 
void DMA_setCh4IntNodePtr (void) __attribute__((deprecated("Do not change this at runtime
 Set Channel 4 Interrupt Node Pointer. More...
 
void DMA_setCh5IntNodePtr (void) __attribute__((deprecated("Do not change this at runtime
 Set Channel 5 Interrupt Node Pointer. More...
 
void DMA_setCh6IntNodePtr (void) __attribute__((deprecated("Do not change this at runtime
 Set Channel 6 Interrupt Node Pointer. More...
 
void DMA_setCh7IntNodePtr (void) __attribute__((deprecated("Do not change this at runtime
 Set Channel 7 Interrupt Node Pointer. More...
 
void DMA_setErrIntNodePtr (void) __attribute__((deprecated("Do not change this at runtime
 Set Channel Bus Error Interrupt Node Pointer. More...
 

Variables

void use the ConfigWizard to configure this feature
 

Macro Definition Documentation

◆ DMA_CH0

#define DMA_CH0   (0u)

DMA channel selection macro, DMA CH0.

◆ DMA_CH1

#define DMA_CH1   (1u)

DMA channel selection macro, DMA CH1.

◆ DMA_CH2

#define DMA_CH2   (2u)

DMA channel selection macro, DMA CH2.

◆ DMA_CH3

#define DMA_CH3   (3u)

DMA channel selection macro, DMA CH3.

◆ DMA_CH4

#define DMA_CH4   (4u)

DMA channel selection macro, DMA CH4.

◆ DMA_CH5

#define DMA_CH5   (5u)

DMA channel selection macro, DMA CH5.

◆ DMA_CH6

#define DMA_CH6   (6u)

DMA channel selection macro, DMA CH6.

◆ DMA_CH7

#define DMA_CH7   (7u)

DMA channel selection macro, DMA CH7.

◆ DMA_MASK_CH0

#define DMA_MASK_CH0   ((uint16)1u << DMA_CH0)

DMA channel Mask macro, DMA CH0 MASK.

◆ DMA_MASK_CH1

#define DMA_MASK_CH1   ((uint16)1u << DMA_CH1)

DMA channel Mask macro, DMA CH1 MASK.

◆ DMA_MASK_CH2

#define DMA_MASK_CH2   ((uint16)1u << DMA_CH2)

DMA channel Mask macro, DMA CH2 MASK.

◆ DMA_MASK_CH3

#define DMA_MASK_CH3   ((uint16)1u << DMA_CH3)

DMA channel Mask macro, DMA CH3 MASK.

◆ DMA_MASK_CH4

#define DMA_MASK_CH4   ((uint16)1u << DMA_CH4)

DMA channel Mask macro, DMA CH4 MASK.

◆ DMA_MASK_CH5

#define DMA_MASK_CH5   ((uint16)1u << DMA_CH5)

DMA channel Mask macro, DMA CH5 MASK.

◆ DMA_MASK_CH6

#define DMA_MASK_CH6   ((uint16)1u << DMA_CH6)

DMA channel Mask macro, DMA CH6 MASK.

◆ DMA_MASK_CH7

#define DMA_MASK_CH7   ((uint16)1u << DMA_CH7)

DMA channel Mask macro, DMA CH7 MASK.

Typedef Documentation

◆ tDMA_cycleType

◆ tDMA_entry

typedef struct DMA_entry tDMA_entry

◆ tDMA_incrementMode

◆ tDMA_incrementSize

◆ tDMA_transferSize

Enumeration Type Documentation

◆ DMA_cycleType

This enum lists the cycle type options for the DMA.

Note
You can use this type via 'tDMA_cycleType' or 'enum DMA_cycleType'
Enumerator
DMA_cycleType_Invalid 

DMA cycle types, Invalid Mode

DMA_cycleType_Basic 

DMA cycle types, Basic Mode

DMA_cycleType_Auto 

DMA cycle types, Auto-request Mode

DMA_cycleType_PingPong 

DMA cycle types, PingPong Mode

DMA_cycleType_MemSctGthPrim 

DMA cycle types, Memory scatter/gather Primary Mode

DMA_cycleType_MemSctGthAlt 

DMA cycle types, Memory scatter/gather Alternate Mode

DMA_cycleType_PerSctGthPrim 

DMA cycle types, Peripheral scatter/gather Primary Mode

DMA_cycleType_PerSctGthAlt 

DMA cycle types, Peripheral scatter/gather Alternate Mode

◆ DMA_incrementMode

This enum lists the increment mode options for the DMA.

Note
You can use this type via 'tDMA_incrementMode' or 'enum DMA_incrementMode'
Enumerator
DMA_incrementMode_srcInc 

DMA increment mode, Source Address Increment

DMA_incrementMode_dstInc 

DMA increment mode, Destination Address Increment

DMA_incrementMode_srcDstInc 

DMA increment mode, Source and Destination Address Increment

DMA_incrementMode_noInc 

DMA increment mode, No Increment

◆ DMA_incrementSize

This enum lists the increment size options for the DMA.

Note
You can use this type via 'tDMA_incrementSize' or 'enum DMA_incrementSize'
Enumerator
DMA_incrementSize_8bit 

DMA increment size 8 bit

DMA_incrementSize_16bit 

DMA increment size 16 bit

DMA_incrementSize_32bit 

DMA increment size 32 bit

◆ DMA_transferSize

This enum lists the transfer size options for the DMA.

Note
You can use this type via 'tDMA_transferSize' or 'enum DMA_transferSize'
Enumerator
DMA_transferSize_8bit 

DMA transfer size 8 bit

DMA_transferSize_16bit 

DMA transfer size 16 bit

DMA_transferSize_32bit 

DMA transfer size 32 bit

Function Documentation

◆ DMA_clrCh0IntSts()

INLINE void DMA_clrCh0IntSts ( void  )

Clear DMA Channel 0 Interrupt Status.

◆ DMA_clrCh1IntSts()

INLINE void DMA_clrCh1IntSts ( void  )

Clear DMA Channel 1 Interrupt Status.

◆ DMA_clrCh2IntSts()

INLINE void DMA_clrCh2IntSts ( void  )

Clear DMA Channel 2 Interrupt Status.

◆ DMA_clrCh3IntSts()

INLINE void DMA_clrCh3IntSts ( void  )

Clear DMA Channel 3 Interrupt Status.

◆ DMA_clrCh4IntSts()

INLINE void DMA_clrCh4IntSts ( void  )

Clear DMA Channel 4 Interrupt Status.

◆ DMA_clrCh5IntSts()

INLINE void DMA_clrCh5IntSts ( void  )

Clear DMA Channel 5 Interrupt Status.

◆ DMA_clrCh6IntSts()

INLINE void DMA_clrCh6IntSts ( void  )

Clear DMA Channel 6 Interrupt Status.

◆ DMA_clrCh7IntSts()

INLINE void DMA_clrCh7IntSts ( void  )

Clear DMA Channel 7 Interrupt Status.

◆ DMA_disCh0EndlessMode()

INLINE void DMA_disCh0EndlessMode ( void  )

Disable DMA Channel 0 Endless Mode.

◆ DMA_disCh0Int()

INLINE void DMA_disCh0Int ( void  )

Disable DMA Channel 0 Interrupt.

◆ DMA_disCh1EndlessMode()

INLINE void DMA_disCh1EndlessMode ( void  )

Disable DMA Channel 1 Endless Mode.

◆ DMA_disCh1Int()

INLINE void DMA_disCh1Int ( void  )

Disable DMA Channel 1 Interrupt.

◆ DMA_disCh2EndlessMode()

INLINE void DMA_disCh2EndlessMode ( void  )

Disable DMA Channel 2 Endless Mode.

◆ DMA_disCh2Int()

INLINE void DMA_disCh2Int ( void  )

Disable DMA Channel 2 Interrupt.

◆ DMA_disCh3EndlessMode()

INLINE void DMA_disCh3EndlessMode ( void  )

Disable DMA Channel 3 Endless Mode.

◆ DMA_disCh3Int()

INLINE void DMA_disCh3Int ( void  )

Disable DMA Channel 3 Interrupt.

◆ DMA_disCh4EndlessMode()

INLINE void DMA_disCh4EndlessMode ( void  )

Disable DMA Channel 4 Endless Mode.

◆ DMA_disCh4Int()

INLINE void DMA_disCh4Int ( void  )

Disable DMA Channel 4 Interrupt.

◆ DMA_disCh5EndlessMode()

INLINE void DMA_disCh5EndlessMode ( void  )

Disable DMA Channel 5 Endless Mode.

◆ DMA_disCh5Int()

INLINE void DMA_disCh5Int ( void  )

Disable DMA Channel 5 Interrupt.

◆ DMA_disCh6EndlessMode()

INLINE void DMA_disCh6EndlessMode ( void  )

Disable DMA Channel 6 Endless Mode.

◆ DMA_disCh6Int()

INLINE void DMA_disCh6Int ( void  )

Disable DMA Channel 6 Interrupt.

◆ DMA_disCh7EndlessMode()

INLINE void DMA_disCh7EndlessMode ( void  )

Disable DMA Channel 7 Endless Mode.

◆ DMA_disCh7Int()

INLINE void DMA_disCh7Int ( void  )

Disable DMA Channel 7 Interrupt.

◆ DMA_disErrInt()

INLINE void DMA_disErrInt ( void  )

Disable DMA Transfer Error Interrupt.

◆ DMA_enCh0EndlessMode()

INLINE void DMA_enCh0EndlessMode ( void  )

Enable DMA Channel 0 Endless Mode.

◆ DMA_enCh0Int()

INLINE void DMA_enCh0Int ( void  )

Enable DMA Channel 0 Interrupt.

◆ DMA_enCh1EndlessMode()

INLINE void DMA_enCh1EndlessMode ( void  )

Enable DMA Channel 1 Endless Mode.

◆ DMA_enCh1Int()

INLINE void DMA_enCh1Int ( void  )

Enable DMA Channel 1 Interrupt.

◆ DMA_enCh2EndlessMode()

INLINE void DMA_enCh2EndlessMode ( void  )

Enable DMA Channel 2 Endless Mode.

◆ DMA_enCh2Int()

INLINE void DMA_enCh2Int ( void  )

Enable DMA Channel 2 Interrupt.

◆ DMA_enCh3EndlessMode()

INLINE void DMA_enCh3EndlessMode ( void  )

Enable DMA Channel 3 Endless Mode.

◆ DMA_enCh3Int()

INLINE void DMA_enCh3Int ( void  )

Enable DMA Channel 3 Interrupt.

◆ DMA_enCh4EndlessMode()

INLINE void DMA_enCh4EndlessMode ( void  )

Enable DMA Channel 4 Endless Mode.

◆ DMA_enCh4Int()

INLINE void DMA_enCh4Int ( void  )

Enable DMA Channel 4 Interrupt.

◆ DMA_enCh5EndlessMode()

INLINE void DMA_enCh5EndlessMode ( void  )

Enable DMA Channel 5 Endless Mode.

◆ DMA_enCh5Int()

INLINE void DMA_enCh5Int ( void  )

Enable DMA Channel 5 Interrupt.

◆ DMA_enCh6EndlessMode()

INLINE void DMA_enCh6EndlessMode ( void  )

Enable DMA Channel 6 Endless Mode.

◆ DMA_enCh6Int()

INLINE void DMA_enCh6Int ( void  )

Enable DMA Channel 6 Interrupt.

◆ DMA_enCh7EndlessMode()

INLINE void DMA_enCh7EndlessMode ( void  )

Enable DMA Channel 7 Endless Mode.

◆ DMA_enCh7Int()

INLINE void DMA_enCh7Int ( void  )

Enable DMA Channel 7 Interrupt.

◆ DMA_enErrInt()

INLINE void DMA_enErrInt ( void  )

Enable DMA Transfer Error Interrupt.

◆ DMA_enMaster()

INLINE void DMA_enMaster ( void  )

Enable DMA Master.

◆ DMA_getCh0IntSts()

INLINE uint8 DMA_getCh0IntSts ( void  )

Get DMA Channel 0 Interrupt Status.

Returns
uint8 DMA Channel 0 Interrupt Status

◆ DMA_getCh1IntSts()

INLINE uint8 DMA_getCh1IntSts ( void  )

Get DMA Channel 1 Interrupt Status.

Returns
uint8 DMA Channel 1 Interrupt Status

◆ DMA_getCh2IntSts()

INLINE uint8 DMA_getCh2IntSts ( void  )

Get DMA Channel 2 Interrupt Status.

Returns
uint8 DMA Channel 2 Interrupt Status

◆ DMA_getCh3IntSts()

INLINE uint8 DMA_getCh3IntSts ( void  )

Get DMA Channel 3 Interrupt Status.

Returns
uint8 DMA Channel 3 Interrupt Status

◆ DMA_getCh4IntSts()

INLINE uint8 DMA_getCh4IntSts ( void  )

Get DMA Channel 4 Interrupt Status.

Returns
uint8 DMA Channel 4 Interrupt Status

◆ DMA_getCh5IntSts()

INLINE uint8 DMA_getCh5IntSts ( void  )

Get DMA Channel 5 Interrupt Status.

Returns
uint8 DMA Channel 5 Interrupt Status

◆ DMA_getCh6IntSts()

INLINE uint8 DMA_getCh6IntSts ( void  )

Get DMA Channel 6 Interrupt Status.

Returns
uint8 DMA Channel 6 Interrupt Status

◆ DMA_getCh7IntSts()

INLINE uint8 DMA_getCh7IntSts ( void  )

Get DMA Channel 7 Interrupt Status.

Returns
uint8 DMA Channel 7 Interrupt Status

◆ DMA_init()

sint8 DMA_init ( void  )

Initialize the DMA structure in RAM and SFRs according to the ConfigWizard settings.

Returns
sint8 0: success, <0: error codes

◆ DMA_resetChannel()

void DMA_resetChannel ( uint8  u8_chIdx,
uint32  u32_transferCnt 
)

Reset the primary structure in RAM for a given channel and rearm it.

Parameters
u8_chIdxDMA channel to be reset
u32_transferCntNumber of transfers

◆ DMA_setBasicTransfer()

void DMA_setBasicTransfer ( uint8  u8_chIdx,
uint32  u32_srcAddr,
uint32  u32_dstAddr,
uint32  u32_transferCnt,
tDMA_transferSize  e_transferSize,
tDMA_incrementMode  e_incrementMode 
)

Set up a basic transfer for the desired DMA channel in the primary structure in RAM.

Parameters
u8_chIdxDMA channel to be set up
u32_srcAddrAddress pointing to the source location
u32_dstAddrAddress pointing to the destination location
u32_transferCntNumber of transfers
e_transferSizeData width for each transfer, see tDMA_transferSize
e_incrementModeincrementing scheme used for the transfer, see tDMA_incrementMode

◆ DMA_setCh0IntNodePtr()

void DMA_setCh0IntNodePtr ( void  )

Set Channel 0 Interrupt Node Pointer.

Warning
Do not change this at runtime, use the ConfigWizard to configure this feature!

◆ DMA_setCh1IntNodePtr()

void DMA_setCh1IntNodePtr ( void  )

Set Channel 1 Interrupt Node Pointer.

Warning
Do not change this at runtime, use the ConfigWizard to configure this feature!

◆ DMA_setCh2IntNodePtr()

void DMA_setCh2IntNodePtr ( void  )

Set Channel 2 Interrupt Node Pointer.

Warning
Do not change this at runtime, use the ConfigWizard to configure this feature!

◆ DMA_setCh3IntNodePtr()

void DMA_setCh3IntNodePtr ( void  )

Set Channel 3 Interrupt Node Pointer.

Warning
Do not change this at runtime, use the ConfigWizard to configure this feature!

◆ DMA_setCh4IntNodePtr()

void DMA_setCh4IntNodePtr ( void  )

Set Channel 4 Interrupt Node Pointer.

Warning
Do not change this at runtime, use the ConfigWizard to configure this feature!

◆ DMA_setCh5IntNodePtr()

void DMA_setCh5IntNodePtr ( void  )

Set Channel 5 Interrupt Node Pointer.

Warning
Do not change this at runtime, use the ConfigWizard to configure this feature!

◆ DMA_setCh6IntNodePtr()

void DMA_setCh6IntNodePtr ( void  )

Set Channel 6 Interrupt Node Pointer.

Warning
Do not change this at runtime, use the ConfigWizard to configure this feature!

◆ DMA_setCh7IntNodePtr()

void DMA_setCh7IntNodePtr ( void  )

Set Channel 7 Interrupt Node Pointer.

Warning
Do not change this at runtime, use the ConfigWizard to configure this feature!

◆ DMA_setErrIntNodePtr()

void DMA_setErrIntNodePtr ( void  )

Set Channel Bus Error Interrupt Node Pointer.

Warning
Do not change this at runtime, use the ConfigWizard to configure this feature!

◆ DMA_setMemSctGth()

void DMA_setMemSctGth ( uint8  u8_chIdx,
tDMA_entry s_taskList,
uint32  u32_taskCnt 
)

Set up a channel to operate in Memory Scatter-Gather mode on a given task list.

Parameters
u8_chIdxDMA channel to be set up
s_taskListPoints to the task structure defined in RAM, see DMA_setTaskSctGth
u32_taskCntNumber of tasks in the s_taskList

◆ DMA_setPerSctGth()

void DMA_setPerSctGth ( uint8  u8_chIdx,
tDMA_entry s_taskList,
uint32  u32_taskCnt 
)

Set up a channel to operate in Peripheral Scatter-Gather mode on a given task list.

Parameters
u8_chIdxDMA channel to be set up
s_taskListPoints to the task structure defined in RAM, see DMA_setTaskSctGth
u32_taskCntNumber of tasks in the s_taskList

◆ DMA_setPrimaryTaskSctGth()

tDMA_entry* DMA_setPrimaryTaskSctGth ( tDMA_entry s_primEntry,
uint8  u8_chIdx,
tDMA_entry s_taskList,
uint32  u32_taskCnt 
)

Set up the primary task to configure the scatter-gather mode.

The DMA scather-gather mode can be used to perform multiple but different DMA transfers initiated with one trigger.

The last task can be used to self-arm this scatter-gather transfer again.

Parameters
s_primEntryPointer to the task
u8_chIdxDMA channel for with the task is setup
s_taskListPointer to the task list to be executed with this DMA transfer
u32_taskCntNumber of tasks defined in the task list
Returns
Pointer to the task

◆ DMA_setSWReq()

INLINE void DMA_setSWReq ( uint8  u8_chIdx)

Sets the SW request for the given channel.

Parameters
u8_chIdxDMA channel number, recommended to use the defines DMA_CHx

◆ DMA_setTaskSctGth()

tDMA_entry* DMA_setTaskSctGth ( tDMA_entry s_entry,
tDMA_cycleType  e_cycleType,
uint8  u8_Rpower,
uint32  u32_srcAddr,
uint32  u32_dstAddr,
uint32  u32_transferCnt,
tDMA_transferSize  e_transferSize,
tDMA_incrementMode  e_incrementMode 
)

Set up a task to be used in the scatter-gather mode.

Parameters
s_entrypointer to the task structure tDMA_entry
e_cycleTypedefines the type of DMA transfer to be performed, see tDMA_cycleType
u8_RpowerArbitration rate, defines after how many DMA transfers (2^u8_Rpower) the controller rearbitrates
u32_srcAddrAddress pointing to the source location
u32_dstAddrAddress pointing to the destination location
u32_transferCntNumber of transfers
e_transferSizeData width for each transfer, see tDMA_transferSize
e_incrementModeIncrementing scheme used for the transfer, see tDMA_incrementMode
Returns
Pointer to the task

Variable Documentation

◆ feature

void use the ConfigWizard to configure this feature