Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
20 years ago

DMA busy

I use a DMA to tranfer 1800 bytes.

The DMA work.

I need to make again the tranfert soon after the first transfer, but it took a long time between the 2 transferL. In fact the DMA is always BUSY.

IOWR_ALTERA_AVALON_DMA_CONTROL(DMA_1_BASE, 0x0); // dma transfer disabled

IOWR_ALTERA_AVALON_DMA_STATUS(DMA_1_BASE, 0);

IOWR_ALTERA_AVALON_DMA_LENGTH(DMA_1_BASE, LINE_SIZE);

IOWR_ALTERA_AVALON_DMA_RADDRESS(DMA_1_BASE, data_written);

IOWR_ALTERA_AVALON_DMA_WADDRESS(DMA_1_BASE, memory_base);

IOWR_ALTERA_AVALON_DMA_CONTROL(DMA_1_BASE, 0x2FC);

while((IORD_ALTERA_AVALON_DMA_STATUS(DMA_1_BASE)==(0x2)));

What&#39;s wrong? http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/huh.gif

11 Replies