
Programming Examples
5-94
ADSP-BF59x Blackfin Processor Hardware Reference
trailing
.end
label is required to let the linker know that a descriptor forms
a logical unit. It prevents the linker from removing variables when
optimizing.
Listing 5-4. Two Descriptors in Small List Flow Mode
.section sdram;
.byte2 arrBlock1[0x400];
.byte2 arrBlock2[0x800];
.section L1_data_a;
.byte2 descBlock1 = lo(descBlock2);
.var
descBlock1.addr = arrBlock1;
.byte2 descBlock1.cfg = FLOW_SMALL|NDSIZE_5|WDSIZE_16|DMAEN;
.byte2 descBlock1.len = length(arrBlock1);
descBlock1.end:
.byte2 descBlock2 = lo(descBlock1);
.var
descBlock2.addr = arrBlock2;
.byte2 descBlock2.cfg =
FLOW_SMALL|NDSIZE_5|DI_EN|WDSIZE_16|DMAEN;
.byte2 descBlock2.len = length(arrBlock2);
descBlock2.end:
Another method featured by the Vi+ tools takes advantage of
C-style structures in global header files. The header file
descriptors.h
could look like
Listing 5-5
.
Listing 5-5. Header File to Define Descriptor Structures
#ifndef __INCLUDE_DESCRIPTORS__
#define __INCLUDE_DESCRIPTORS__
#ifdef _LANGUAGE_C
typedef struct {
Summary of Contents for ADSP-BF59x Blackfin
Page 64: ...Development Tools 1 22 ADSP BF59x Blackfin Processor Hardware Reference...
Page 74: ...Processor Specific MMRs 2 10 ADSP BF59x Blackfin Processor Hardware Reference...
Page 244: ...Programming Examples 6 40 ADSP BF59x Blackfin Processor Hardware Reference...
Page 700: ...Programming Examples 16 78 ADSP BF59x Blackfin Processor Hardware Reference...
Page 738: ...Boundary Scan Architecture B 8 ADSP BF59x Blackfin Processor Hardware Reference...