w[p0 + MDMA_S0_CONFIG - MDMA_S0_CONFIG] = r6;
w[p0 + MDMA_D0_CONFIG - MDMA_S0_CONFIG] = r7;
jump _main.wait;
_main.end:
Handshaked Memory DMA Example
The functional block for the handshaked MDMA operation can be con-
sidered completely separately from the MDMA channels themselves.
Therefore the following HMDMA setup routine can be combined with
any of the MDMA examples discussed above. Be sure that the HMDMA
module is enabled before the MDMA channels.
Listing 5-8
enables the HMDMA1 block, which is controlled by the
pin and is associated with the MDMA1 channel pair.
Listing 5-8. HMDMA1 Block Enable
/* optionally, enable all four bank select strobes */
p1.l = lo(EBIU_AMGCTL);
p1.h = hi(EBIU_AMGCTL);
r0.l = 0x0009;
w[p1] = r0;
/* function enable for DMAR1 */
p1.l = lo(PORTG_FER);
r0.l = PG12;
w[p1] = r0;
p1.l = lo(PORTG_MUX);
r0.l = 0x0000;
w[p1] = r0;
/* every single transfer requires one DMAR1 event */
p1.l = lo(HMDMA1_BCINIT);
ADSP-BF59x Blackfin Processor Hardware Reference
Direct Memory Access
DMAR1
5-99
Need help?
Do you have a question about the ADSP-BF59x Blackfin and is the answer not in the manual?