hi, all experts:
I want to develop my own xHCI USB host controller driver.
Before I have experience of USB device, Video capture experience windows driver developing.
But very little of PCI/PCIe experience.
I want to develop my own xHCI USB host controller driver.
I need the following advice:
-
a framework of this driver,
I think it is a PCIe WDM driver, where can I find a framework to start this work? -
now I have experience of xHCI SPEC, but very little about EHCI, UHCI, or OHCI spec,
because xHCI replace all the other HCI, should i take other HCI into account or not? -
I have Linux code on hand, and also, I have experience to port the linux code to ARM bare mental code to debug my own xHCI IPs,
Can I using the code/data structures from Linux to develop my windows xHCI driver?
-
should I using WDM or WDF?
I am familiar with WDM, but not WDF, should I develop xhci by which one?
I prefer to WDM,
WDF in my opinion, is not easy to modify, -
any other tips you experts can give?
-
You may ask, Win8 have its native xHCI driver, why should I develop my own?
I will give you reply, to debug my own xHCI IPs and it is an interesting to write a xHCI driver, which will enhance my windows driver, PCI/PCIe and xHCI understandings. -
in the future, I will develop my own UAS( usb attach scsi driver), next step, also it also support by Win8
-
I am familiar about xHCI spec, but I sill need your advice about the steps of developing a xHCI driver,
for my experience, my steps focusing on
first, PCIe frameswroks, interrupts(MSI, or MSI-X)
then, MMIO xHCI registers accessing
then, data structures of xHCI, can borrow from Linux
then, four types transfer, control, bulk, that is asyc then periodic interrupt and iso
then optimizing.
any other advices.
hope for you advices.
regards,
Wesley.