[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Improving Windows support for AVRDUDE
From: |
Joerg Wunsch |
Subject: |
Re: Improving Windows support for AVRDUDE |
Date: |
Tue, 30 Nov 2021 20:35:36 +0100 |
As Marius Greuel wrote:
> Now, for Windows users, it would be nice if avrdude just "works out of the
> box", as it does on Linux. One of the key points is to move away from the
> libusb0.sys driver to the WinUSB driver. WinUSB is the Windows equivalent of
> libusb, which is what people use (including Atmel) when you do not want to
> cook up your own USB driver. Some choose to use the HID stack, which works
> equally well.
The latter is what ARM went for, with their CMSIS-DAP spec. I think
it's a big crock, but the grok "every device looks like a human
interface" is quite present in many places, mainly due to Windows not
providing a generic USB driver for every device straight from the
beginning of their USB support (WinUSB came much later). As they
(obviously) did have to provide out-of-the-box HID support, people
went that way. ("Please install a device driver for your keyboard.
Press <Enter> to continue." :-)
Having said this, as long as it doesn't break libusb support (which is
the common baseline for all Unix-like systems), and doesn't add a
truckload of more #ifdefs, it's certainly fine to have that. If it
works well, I even think libusb support is no longer needed for
Windows anymore. It only went there in order to support Windows at
all.
> The easiest way to get Windows to load the WinUSB driver
> automatically, is to add a WinUSB compatibility descriptor to the device
> firmware.
That's again where I don't really understand Windows. Why is it
necessary to have *any* specific hack at all? Why couldn't they just
offer WinUSB for *every* device, at least for every device that hasn't
any more specific driver?
But OK, we won't change Microsoft here. It's just cumbersome to deal
with.
I'd be more than happy to have a Windows guy in the boat, hopefully
including someone who can roll native Windows binary releases as well.
So far, I've always been rolling them using a MinGW32
cross-compilation on my FreeBSD development system, but that isn't
something running very smoothely anyway. So well, if you want to
actively support AVRDUDE development on the Windows front, be welcome!
--
cheers, Joerg .-.-. --... ...-- -.. . DL8DTL
http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)