Microchip® Advanced Software Framework

qs_dma_basic.c File Reference

SAM Direct Memory Access Controller(DMAC) Driver Quick Start.

Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.

#include <asf.h>

Macros

#define DATA_LENGTH   (512)
 [setup] [transfer_length] More...
 

Functions

static void configure_dma_resource (struct dma_resource *resource)
 [_transfer_done] More...
 
int main (void)
 [setup_dma_transfer_descriptor] More...
 
static void setup_transfer_descriptor (DmacDescriptor *descriptor)
 [config_dma_resource] More...
 
static void transfer_done (struct dma_resource *const resource)
 [transfer_descriptor] More...
 

Variables

static uint8_t destination_memory [DATA_LENGTH]
 [source_memory] More...
 
DmacDescriptor example_descriptor SECTION_DMAC_DESCRIPTOR
 [transfer_done_flag] More...
 
static uint8_t source_memory [DATA_LENGTH]
 [transfer_length] More...
 
static volatile bool transfer_is_done = false
 [destination_memory] More...
 

#define DATA_LENGTH   (512)

[setup] [transfer_length]

Referenced by main().

static void configure_dma_resource ( struct dma_resource resource)
static

[_transfer_done]

[config_dma_resource]

[setup_1]

[setup_1]

[setup_2]

[setup_2]

[setup_3]

[setup_3]

References dma_allocate(), and dma_get_config_defaults().

int main ( void  )

[setup_dma_transfer_descriptor]

[setup]

[sample_resource]

[sample_resource]

[setup_init] [setup_dma_resource]

[setup_dma_resource]

[setup_transfer_descriptor]

[setup_transfer_descriptor]

[add_descriptor_to_dma_resource]

[add_descriptor_to_dma_resource]

[setup_callback_register]

[setup_callback_register]

[setup_enable_callback]

[setup_enable_callback]

[setup_source_memory_content]

[setup_source_memory_content]

[setup_init]

[main] [main_1]

[main_1]

[main_1_1]

[main_1_1]

[main_2]

[main_2]

[main]

References configure_dma_resource(), DATA_LENGTH, dma_add_descriptor(), DMA_CALLBACK_TRANSFER_DONE, dma_enable_callback(), dma_register_callback(), dma_start_transfer_job(), dma_trigger_transfer(), i, setup_transfer_descriptor(), source_memory, system_init(), transfer_done(), and transfer_is_done.

static void setup_transfer_descriptor ( DmacDescriptor *  descriptor)
static

[config_dma_resource]

[setup_dma_transfer_descriptor]

[setup_4]

[setup_4]

[setup_5]

[setup_5]

[setup_6]

[setup_6]

[setup_7]

[setup_7]

References dma_descriptor_config::block_transfer_count, dma_descriptor_config::destination_address, destination_memory, dma_descriptor_create(), dma_descriptor_get_config_defaults(), dma_descriptor_config::source_address, and source_memory.

static void transfer_done ( struct dma_resource *const  resource)
static

[transfer_descriptor]

[_transfer_done]

References transfer_is_done.

uint8_t destination_memory[DATA_LENGTH]
static

[source_memory]

[destination_memory]

Referenced by setup_transfer_descriptor().

DmacDescriptor example_descriptor SECTION_DMAC_DESCRIPTOR

[transfer_done_flag]

[transfer_descriptor]

uint8_t source_memory[DATA_LENGTH]
static

[transfer_length]

[source_memory]

Referenced by main(), and setup_transfer_descriptor().

volatile bool transfer_is_done = false
static

[destination_memory]

[transfer_done_flag]

Referenced by main(), and transfer_done().