element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Achievement Levels
    • Benefits of Membership
    • Feedback and Support
    • Members Area
    • Personal Blogs
    • What's New on element14
  • Learn
    Learn
    • eBooks
    • Learning Center
    • Learning Groups
    • STEM Academy
    • Webinars, Training and Events
  • Technologies
    Technologies
    • 3D Printing
    • Experts & Guidance
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Arduino Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Project Groups
    • Raspberry Pi Projects
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • 'Choose another store...'
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Software Application Development xilinx_axivdma driver usage example
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Avnet Boards Forums requires membership for participation - click to join
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 2 replies
  • Subscribers 174 subscribers
  • Views 97 views
  • Users 0 members are here
Related

xilinx_axivdma driver usage example

Former Member
Former Member over 9 years ago

Hi all,

Together with a colleague of mine I am trying to determine whether or not the MicroZed board is suitable for a particular application.

The application will need to transfer large amounts of  data over the 1GB ethernet port using TCP/IP.
In addition it will need to capture data from a video device, write the data to a large RAM buffer and then transfer it.

To do this my colleague has come up with some VHDL code to supply the Zynq's VDMA engine with lots of data, the VDMA engine takes care of writing the data.
He has written some bare metal code to test it all and it works really well.

To test the combined VDMA actvity and the TCP/IP communication we need to run everything under Linux.
I have managed to get iperf compiled and running on Linux (using Xilinx's SDK) and would now like to add the VDMA functionality.

That is were it gets difficult: I have worked out that the Linux device driver for it is "xilinx_axivdma.c" and I have found out how to incorporate the actual driver into the running Linux kernel (by editing and compiling the device tree).

So far, so good but what I can't find are any examples or documentation on how to use the device driver.

For testing I can use mmap etc... to make a "bare metal" like application but I will have to go trough the Linux device driver in the end.

Any pointer to useful examples or documentation would be very much appreciated.

  • Sign in to reply
  • Cancel
  • zedhed
    0 zedhed over 9 years ago

    Hi Filip,

    I have heard of the VDMA core being used in a manner similar to the one you describe but I have not seen any working examples of this.  Most of the working examples out there are related to video applications of the VDMA IP so that may be your best bet to start looking there.

    You might take a look at the Xilinx Base Targeted Reference Design to see how they are handling video data through VDMA under Linux.

    You might also find some pointers to what you are looking for on the Xilinx forums as well:

    http://forums.xilinx.com/t5/Embedded-Linux/VDMA-frame-buffer-in-Linux-application/td-p/455914

    Regards,

    -Kevin

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 9 years ago in reply to zedhed

    Thanks,

    That may be right, I have found a comment by Srikanth Thokala (the author of axi_vdma.c) referring to TRD 2014.5. I will check that out ans see what I can find there.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2023 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube