ADSP-214xx SHARC Processor Hardware Reference 3-43
External Port
DMA Access
Listing 3-3 shows an example of external port DMA using read
optimization.
Listing 3-3. EPDMA With Read Optimization
ustat1=dm(SDCTL);
bit set ustat1 SDROPT|SDMODIFY2;
dm(SDCTL)=ustat1;
nop;
r0=DFLSH;
dm(DMAC1)=r0;
r0=intmem; dm(IIEP1)=r0;
r0=2; dm(IMEP1)=r0;
r0=N; dm(ICEP1)=r0;
r0=2; dm(EMEP1)=r0;
r0=extmem; dm(EIEP1)=r0;
r0=DEN;
dm(DMAC1)=r0;
Notes on Read Optimization
The core and the DMA engine take advantage of the major improvements
during reads using read optimization. However, in situations where both
the core and DMA need to read from different internal memory banks
with different modifiers at the same time, programs need to choose
whether or not to use optimization. Note that from a throughput prospec-
tive, external port arbitration also is a factor. A good rule is that the
requester with the higher priority should have the same modifier as
SDMOD-
IFY
. In other words, if DMA has a higher priority over the core, then the
DMA modifier should match the SDMODIFY setting.