dm(IM4)=r0; /* Set DMA modify (stride) to 1
r0=@source_2;
dm(C4)=r0;
/* Set DMA count to length of data buffer.
r0=0x00000b00; /* LCTL Register:32-bit data, LBUF2=tx
dm(LCTL)=r0;
/* enable DMA on LBUF2.
/* This will start off the DMA transfer.
/* Always write LCTL after LAR.
bit clr irptl LP2I;
bit set imask LP2I;
bit set mode1 IRPTEN;
rti;
/*__________________Link buffer 2 Interrupt Routine_____________________*/
lp2:
if NOT FLAG0_IN jump lp2_orig_slave;
nop;
/* and jump appropriately
nop;
/*_______________Link buffer 2 Rx finish Interrupt Routine______________*/
lp2_orig_master:
/* Finish by setting up Rx without DMA
r0=0x3fe3f;
dm(LAR)=r0;
/* LAR Register:
r0=0x00000100;
dm(LCTL)=r0;
/* LBUF2: Rx, non DMA
rti;
/* This interrupt will occur only once.
Listing 9.3 Link Token Passing Example (continues)
www.BDTIC.com/ADI
Link Ports
/* clear pending Link buffer 2 interrupt
/* Enable Link buffer 2 interrupt
/* Global interrupt enable
/* Test for original master
LBUF2->port0
9
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
9 – 39
*/
Need help?
Do you have a question about the ADSP-2106x SHARC and is the answer not in the manual?
Questions and answers