DMA with EDK

Apr 03, 2006 1 Replies

Hi!



I unsuccessfully tried to find information about Direct Memory Access trough EDK. I would like to start by creating a simple custom OPB peripheral capable of writing Data to a memory accessible by a power PC on my Virtex 2P. Unfortunately, among other things, none of the signals provided trough user_logic.vhd (when DMA is enable by the IPIF) allows the peripheral to specify the address (where the peripheral could write data) leading me to think I got whole DMA thing wrong.



However, I red in an other thread that IPIF is suppose to create a simple state machine accessing the bus when the DMA option is enable (I saw no state machine in user_logic.vhd) leading me to think that the issue might also be related to the EDK version I'm using (v8.1). Anybody knows where I could find pertinent information on the subject?



Thanks



Hi Louis,

I built OPB peripheral with DMA included using create/import peripheral. Operation is very simple: write value to DMACR (control register) write source address to SA write destination address to DA write transfer length to LENGTH - this starts transfer

Registers for DMA are at peripheral_base_address+0x400. Search for more information in DS416 and in generated peripheral header file (access addresses).

Make it work

Guru

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required