Intel® Desktop Boards
Peer-to-peer support only
11475 Discussions

DMA controller IRQ

jh_08
Beginner
209 Views

Hello,

I'm trying to do a DMA with DMA controller, the DMA works but I'm not able to generate the automatic IRQ (when length register is 0). 

In the QSYS, i've connected the IRQ sender of the DMA controller block with an IRQ receiver in a custom VHDL block. To check if the IRQ is generated, I put this signal directly to an output pin to monitorize it with an oscilloscope.

 

Can anybody tell me why this IRQ is not generated?

In Nios code, I put diectly the values to the registers, I'm not using HAL.

 

Code:

IOWR_ALTERA_AVALON_DMA_CONTROL(DMA_BASE, 0x0194);

IOWR_ALTERA_AVALON_DMA_RADDRESS(DMA_BASE,DMA_READ_MASTER_MCU_INTERFACE_BASE); 

IOWR_ALTERA_AVALON_DMA_WADDRESS(DMA_BASE,

DMA_WRITE_MASTER_SDRAM_BASE); 

IOWR_ALTERA_AVALON_DMA_LENGTH(DMA_BASE,128); //specifies length (in Bytes)

IOWR_ALTERA_AVALON_DMA_CONTROL(DMA_BASE, 0x019C);

IOWR_ALTERA_AVALON_DMA_CONTROL(DMA_BASE, 0x0194);

while(IORD_ALTERA_AVALON_DMA_STATUS(DMA_BASE) == 0x02);

IOWR_ALTERA_AVALON_DMA_STATUS(DMA_BASE,0x10);

IOWR_ALTERA_AVALON_DMA_CONTROL(DMA_BASE, 0x0194);

 

 

 

Thank you!

0 Kudos
0 Replies
Reply