Page 2 of 2 FirstFirst 12
Results 11 to 15 of 15

Thread: DMA vs MSGDMA

  1. #11
    Join Date
    Aug 2004
    Location
    Texas Y'all
    Posts
    2,350
    Rep Power
    1

    Default Re: DMA vs MSGDMA

    This example is probably worth looking at, it's a bare metal program but it give you an idea what has to happen at a low level to communicate with the DMA core: https://www.altera.com/support/suppo...n-example.html

    Those DMAs are performing ST-to-MM and MM-to-ST transfers so that's why the descriptor doesn't have a source and destination location.

  2. #12
    Join Date
    Nov 2015
    Posts
    13
    Rep Power
    1

    Default Re: DMA vs MSGDMA

    Hi Tomek,
    I'm doing very similar thing as You do. My recommendation is definitely the mSGDMA. The source DMA is configured as "Memory-mapped to Streaming", the Sink DMA is configured as "Streaming to Memory Mapped". In between You implement your processing functions. I use standard ST-Packets to mark Image start and stop. I use also reserved memory which I define in device tree file and use for DMA transfers. This is because DMA needs physical address which is hard to get in Linux without implementing kernel modules. If you have reserved memory You can mmap this and access it from HPS ARM processor via virtual adress and give the physical adress in DMA descriptors. Enable "burst mode" to have higher performance. I'm not using IRQ based response channel in DMA, I'm counting symbols which are coming into sink DMA and read them out using Memory mapped PIO component. I also have compiled/ported some of the NIOS code of the software layer for creating the DMA descriptors for MSGDMA and schedule sync transfers.

  3. #13
    Join Date
    Jul 2014
    Posts
    16
    Rep Power
    1

    Default Re: DMA vs MSGDMA

    Important question... I based my design on the DE1_SOC_Linux_FB demonstration. Should I generate and compile new preloader when i added two msgdmas and SDRAM controller?

  4. #14
    Join Date
    Aug 2004
    Location
    Texas Y'all
    Posts
    2,350
    Rep Power
    1

    Default Re: DMA vs MSGDMA

    As a general rule of thumb any time the Qsys system changes I would get into a habit of regenerating the preloader. I don't think it'll make a difference here since the preloader doesn't know anything about FPGA DMAs but you don't want to face a hardware + software mismatch getting into a habit of using the same preloader across multiple generated Qsys systems.

  5. #15
    Join Date
    Jul 2014
    Posts
    16
    Rep Power
    1

    Default Re: DMA vs MSGDMA

    Hi Alex,
    Can you show me how you connected signals in qsys? How to reserve memory? And how to start dma from c code?

Similar Threads

  1. mSGDMA and On-chip Memory
    By robbt in forum General Discussion Forum
    Replies: 18
    Last Post: July 21st, 2016, 11:53 AM
  2. Which nios version to use with mSGDMA
    By krasner in forum General Altera Discussion
    Replies: 2
    Last Post: March 19th, 2015, 03:16 PM
  3. mSGDMA current address
    By meriororen in forum IP Discussion
    Replies: 0
    Last Post: April 24th, 2014, 12:01 AM
  4. mSGDMA: write_extended_descriptor() hangs
    By visiondude in forum General Altera Discussion
    Replies: 0
    Last Post: April 22nd, 2014, 12:07 PM
  5. mSGDMA and interrupt issue
    By daFritz84 in forum General Software Forum
    Replies: 1
    Last Post: February 7th, 2014, 12:35 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •