PCIe driver for Windows CE and Windows Desktop RRS feed

  • Question

  • Hi,

    I need a little advice for development of a custom PCIe driver. The driver must support both Windows CE 6.0 and Windows Desktop (xp, 7, and 8 when ready).

    We have a lot of experience developing drivers for Windows CE but none for Windows Desktop. I am pretty sure that we can develop a good, solid Windows CE driver, but I think we will not be able to do the same for Windows Desktop without some external help. I think that we have two options:

    1) Use an existing driver framework such as Jungo WinDriver, which allows us to develop the driver once and compile to mulitiple platforms. This also has the advantage that most of the development will be in user space, so it should make the development process simpler. 

    2) Get some external help to setup a good Windows Desktop driver where all the plumbing is done and we simply need to add the code that communicates with our board and expose relevant IOControls. Perhaps move as much as possible of the code into a user space library.

    Does anyone have experience from a similar situation? What would you recommend?

    Does anyone have experience with Jungo WinDriver on Windows CE and/or Windows Desktop?

    Any input will be much appreciated.



    Thursday, September 15, 2011 10:01 AM

All replies

  • The driver model and development tools are very different between Windows CE and Windows desktop so the code you can share among the two is very limited in percentage.  Windows Driver Model (WDM) is rather complex respect to Windows CE: you need to deal with IRP (I/O request packet), PnP, the interrupt handling is completely different...

    To give you an idea of the complexity the sample WDM 'toaster' driver included in the Windows Driver Kit has more than 5000 lines of code: the driver does nothing, there's no code related to any specific device or HW, all the code is to 'satisfy' the WDM framework.

    Without any specific experience I discourage to deal with it, maybe something like WinDriver Jungo will be better for you. I saw the tool years ago but never used it

    Luca Calligaris lucaDOTcalligarisATeurotechDOTcom www.eurotech.com Check my blog: http://lcalligaris.wordpress.com
    • Proposed as answer by Michael Koster Thursday, September 22, 2011 7:03 AM
    • Unproposed as answer by Allan R. Larsen Thursday, September 22, 2011 7:05 AM
    Friday, September 16, 2011 1:36 PM