Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

port XILINX XDMA to AVstream minidriver for a PCIE device

lijay910lijay910 Member - All Emails Posts: 7

I have a PCIE capture card based on XILINX XDMA. I want to learn about windows driver development. Now I want to port the xdma code to the avstream framework to support the directshow function, so that I can play the capture in real time in the Windows built-in player.
But I'm a novice, I don't know where to start, I want to find an open source example first to learn from it, and then try to modify some functions I want.
Thank you all friends who read this post. I hope some friends can give some help. Thank you very much!

Comments

  • Tim_RobertsTim_Roberts Member - All Emails Posts: 14,086

    If you're a novice, then this may not be a good place to start. You're merging two complicated technologies. What kind of a device are you creating?

    When you buy a Xilinx development kit, they'll send you the source code for their XDMA driver. That driver has a number of rather serious problems, as Mr Viscarola will attest. There are two AVStream drivers in the Microsoft driver samples repository: "avssamp" does video and audio, and "avshws" does video through simulated DMA. "avshws" is usually a good starting place.

    Even then, you'll have a lot of code to write. avshws assumes packet DMA, where you lock each new buffer as it comes in, then DMA into it, then unlock. The XDMA driver streams into a circular buffer and copies from there. That makes the bookkeeping easier, but it means you have to write that code.

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • lijay910lijay910 Member - All Emails Posts: 7

    @Tim_Roberts said:
    If you're a novice, then this may not be a good place to start. You're merging two complicated technologies. What kind of a device are you creating?

    When you buy a Xilinx development kit, they'll send you the source code for their XDMA driver. That driver has a number of rather serious problems, as Mr Viscarola will attest. There are two AVStream drivers in the Microsoft driver samples repository: "avssamp" does video and audio, and "avshws" does video through simulated DMA. "avshws" is usually a good starting place.

    Even then, you'll have a lot of code to write. avshws assumes packet DMA, where you lock each new buffer as it comes in, then DMA into it, then unlock. The XDMA driver streams into a circular buffer and copies from there. That makes the bookkeeping easier, but it means you have to write that code.

    TKS.
    It is just a normal PCIE board. I want it to support directshow.
    Now I have XDMA driver code and avssamp code on hand. The puzzle is how to port the xdma driver code to the avssamp code

  • Tim_RobertsTim_Roberts Member - All Emails Posts: 14,086

    "Normal PCIE board" doesn't mean anything. Is this a camera? Digitizer? TV? Document scanner? Do you have something working already with custom software using the XDMA driver?

    Yes, it's a puzzle. This is not like a Lego set where you neatly fit together the existing pieces. You have a lot of work ahead of you.

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • lijay910lijay910 Member - All Emails Posts: 7

    "Normal PCIE board" is mean it has built-in audio and video signals and has no other functions. Then I want to use the player that comes with the system to play the audio and video on the board on the windows system

  • lijay910lijay910 Member - All Emails Posts: 7
    edited July 19

    (MODS: I have deleted the content of this post, because I interpret it as asking for consulting help and costs, which is not allowed here. Any commercial posts are against the rules. The OP is warned: One more such post and you’ll be banned. Follow the rules, please.)

    Post edited by Peter_Viscarola_(OSR) on
  • Tim_RobertsTim_Roberts Member - All Emails Posts: 14,086

    I will only point out that my email address is in every post.

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • lijay910lijay910 Member - All Emails Posts: 7

    @lijay910 said:
    (MODS: I have deleted the content of this post, because I interpret it as asking for consulting help and costs, which is not allowed here. Any commercial posts are against the rules. The OP is warned: One more such post and you’ll be banned. Follow the rules, please.)

    oh ,i see , so sorry and not in the future.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Internals & Software Drivers 15 November 2021 Live, Online
Writing WDF Drivers TBD Live, Online
Developing Minifilters 7 February 2022 Live, Online
Kernel Debugging 21 March 2022 Live, Online