llvm-mos-sdk
Classes | Typedefs | Functions
mega65::dma Namespace Reference

Classes

struct  DMAJob
 

Typedefs

typedef DMAJob< 7, DMAList_F018BCommonDMAJob
 Common structure for DMA fill and copy jobs. More...
 

Functions

CommonDMAJob make_dma_fill (const uint32_t dst, const uint8_t value, const uint16_t count, const uint8_t skip=1)
 
CommonDMAJob make_dma_copy (const uint32_t src, const uint32_t dst, const uint16_t count)
 
template<size_t N, typename T >
void trigger_dma (const DMAJob< N, T > &dma_job)
 

Typedef Documentation

◆ CommonDMAJob

Common structure for DMA fill and copy jobs.

Function Documentation

◆ make_dma_copy()

CommonDMAJob mega65::dma::make_dma_copy ( const uint32_t  src,
const uint32_t  dst,
const uint16_t  count 
)

Create DMA structure for copying memory

To perform the actual copy, call trigger_dma() on the returned structure.

Parameters
src28-bit source address
dst28-bit destination address
countNumber of values to copy

◆ make_dma_fill()

CommonDMAJob mega65::dma::make_dma_fill ( const uint32_t  dst,
const uint8_t  value,
const uint16_t  count,
const uint8_t  skip = 1 
)

Create DMA structure for filling memory with a value and optional skip

To perform the actual fill, call trigger_dma() on the returned structure.

Parameters
dst28-bit destination address
valueFill value
countNumber of values to fill
skipOptional skip (default: 1)

◆ trigger_dma()

template<size_t N, typename T >
void mega65::dma::trigger_dma ( const DMAJob< N, T > &  dma_job)
inline

Perform enhanced DMA action defined in DMAJob structure.