structdma_resource_config config;
dma_get_config_defaults(&config);config.peripheral_trigger = M2M_DMAC_TRIGGER_ID;
dma_allocate(resource, &config);
structdma_descriptor_config descriptor_config;
dma_descriptor_get_config_defaults(&descriptor_config);
descriptor_config.block_transfer_count = TRANSFER_SIZE;descriptor_config.source_address = (uint32_t)source_memory + TRANSFER_SIZE;descriptor_config.destination_address =(uint32_t)destination_memory + TRANSFER_SIZE;
dma_descriptor_create(descriptor, &descriptor_config);
dma_add_descriptor(&example_resource, &example_descriptor);
dma_register_callback(&example_resource, transfer_done,DMA_CALLBACK_TRANSFER_DONE);
voidtransfer_done(structdma_resource*constresource ){UNUSED(resource);transfer_is_done =true;}