Results 1 to 2 of 2

Thread: NIOS2 & mSGDMA (Ethernet example)

  1. #1
    Join Date
    Jun 2018
    Rep Power

    Default NIOS2 & mSGDMA (Ethernet example)


    I am trying to build the Ethernet hardware system for the NIOS2 "Simplified TCP server" example, for the Arria 10 Gx Developpemnt kit.

    I am having two problems with the mSGDMA IP. I upgraded the original design from SGDMA to mSGDMA because the BSP failed and I read somewhere on these forums that with recent (>16, I am using 17.1) quartus, we should be using mSGDMA. And it seems correct because my BSP almost builds correctly now.

    • in the platform designer, I can't seem to figure out how to connect an "On Chip Memory" storing the DMA descriptors (they will come from software) to mSGDMA. I have two mSGDMA devices, one for RX one for TX, connected to TSE. Can someone explain precisely how to connect the "descriptor_slave" Avalon Memory Mapped interfaces of those DMA devices to a memory storage?

    • when I try to build the BSP from this design it almost succeeds. When I was using the example design it failed at the first step of the "altera_iniche" compilation. Now it goes a little further by I am getting errors like:

          alt_sys_init.c: 107:51: error: 'eth_subsystem_msgdma_rx' undeclared (first use in this function) ...
          in definition of macro 'ALTERA_MSGDMA_INIT'
          alt_sys_init.c: 107:51: error: 'eth_subsystem_msgdma_tx' undeclared (first use in this function) ...
          in definition of macro 'ALTERA_MSGDMA_INIT'
    eth_subsystem_msgdma_tx/rx are the name of the mSGDMA devices, they are both included in a subsystem in SOPC. It's like the SOPC description is corrupted somehow but it does specify I am using mSGDMA devices and their names are correct too.

    any input would be highly aprreciated, thanks

  2. #2
    Join Date
    Apr 2018
    Rep Power

    Default Re: NIOS2 & mSGDMA (Ethernet example)

    Hi there,

    The descriptor_slave should connect to the .data and .instruction Master of your NIOS processor. To my understanding, this is where the descriptors are written to when you call construct_standard_mm_to_mm_descriptor(). The Data_read_master connects to your memory where the source data resides, and the write data master should connect to the memory where you want the source data to be written.

    The error you are having seems to be caused by the BSP having the wrong settings. In my case, it didn't recognize a timestamp function, eventhough it sees the required header file in the project tree. I still managed to generate the BSP, just not the project containing my DMA controller code.

    Hope this helps.

Similar Threads

  1. Help Need : MSGDMA DRIVER
    By johnendeavor in forum IP Discussion
    Replies: 0
    Last Post: March 3rd, 2017, 05:16 AM
  2. DMA vs MSGDMA
    By tomek160191 in forum SoC Discussion
    Replies: 14
    Last Post: December 27th, 2016, 11:12 AM
  3. No Ethernet with nios2 mmu stdandard design
    By kakaboud in forum Linux Forum
    Replies: 1
    Last Post: May 4th, 2012, 04:50 AM
  4. Nios2 Ethernet Solution
    By legendbb in forum General Software Forum
    Replies: 2
    Last Post: March 27th, 2007, 05:24 PM
  5. Ethernet not work when nios board updated to Nios2
    By imported_writer in forum General Discussion Forum
    Replies: 5
    Last Post: August 9th, 2004, 10:50 AM


Posting Permissions

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