Software-Triggered Descriptor Fetch Example - Analog Devices ADSP-BF506F Hardware Reference Manual

Adsp-bf50x blackfin processor
Hide thumbs Also See for ADSP-BF506F:
Table of Contents

Advertisement

Programming Examples
0, 0
};
.struct dma_desc_list descBlock4 = {
descBlock3, arrBlock4,
FLOW_LARGE | NDSIZE_7 | DI_EN | WDSIZE_32 | DMAEN,
length(arrBlock4), 4,
0, 0
};

Software-Triggered Descriptor Fetch Example

Listing 7-7
demonstrates a large list of descriptors that provide
(stop mode) configuration. Consequently, the DMA stops by itself as soon
as the work unit has finished. Software triggers the next work unit by sim-
ply writing the proper value into the DMA configuration registers. Since
these values instruct the DMA controller to fetch descriptors in large list
mode, the DMA immediately fetches the descriptor, thus overwriting the
configuration value again with the new settings when it is started.
Note the requirement that source and destination channels stop after the
same number of transfers. Between stops, the two channels can have com-
pletely individual structures.
Listing 7-7. Software-Triggered Descriptor Fetch
.import "descriptors.h";
#define N 4
.section L1_data_a;
.byte2 arrSource1[N] = { 0x1001, 0x1002, 0x1003, 0x1004 };
.byte2 arrSource2[N] = { 0x2001, 0x2002, 0x2003, 0x2004 };
.byte2 arrSource3[N] = { 0x3001, 0x3002, 0x3003, 0x3004 };
.byte2 arrDest1[N];
7-98
/* unused values */
/* unused values */
ADSP-BF50x Blackfin Processor Hardware Reference
= 0
FLOW

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ADSP-BF506F and is the answer not in the manual?

This manual is also suitable for:

Adsp-bf504Adsp-bf504f

Table of Contents