Forum Discussion

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

SGDMA in loop-mode

Hi all!

I know that there are allready a lot of SGDMA-Threads posted in the forum,

but it seems that I have a special problem regarding this IP.

I like to use SGDMA in loop-mode, meaning that I have four descriptor-chains jumping from one to another and starting again with the first descriptor after the fourth by setting the PARK-bit.

Everything works fine when I tell the SGDMA the exact amount of data to be transfered (Stream to Memory), but if I tell the SGDMA that every transfer should last until EOP is received, by setting length_or_eop to zero, the "TERMINATED_BY_EOP" error-bit is on in the descriptor status-byte after every transfer.

Maybe Socrates had a similar Problem, when he posted that an error-bit got up, when he wanted to use the loop-mode, in the very interesting thread titled "SGDMA debug".

So, does anybody know if this is a general problem of the SGDMA-core?

Or is there anything else I could do?

Thank you in advance for your help!

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    O.K., I found another mistake in my Code which prompted the SGDMA to hang.

    It seems that it is normal, that the "TERMINATED_BY_EOP" error-bit is on after every transfer, when using the SGDMA transfering until EOP.

    It also seems that the error-bit has no effect on the DMA-process itself and can be ignored in this case.