\$\begingroup\$

I have a decent amount of experience designing hardware and embedded systems in general, but I have never written a driver for an operating system.

I would like to know if there are any good guides, preferably online, although good books would interest me, that will give me a good start on what I need to know to design and implement drivers for an operating system.

This will probably have people shooting at me, and although I would love to see a good guide no matter what OS it is based on, I would like to see a guide that is windows based, mostly due to the fact that most of the people I would sell a product would have windows.

Please let me know if there is any extra information I can add to make this more clear.