avrdude-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avrdude-dev] AVRDUDE+libusb, compiling and running on Windows


From: Joerg Wunsch
Subject: Re: [avrdude-dev] AVRDUDE+libusb, compiling and running on Windows
Date: Fri, 21 Mar 2014 11:55:40 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

Hello Didrik,

> 1) Trying to use the compiled version in avrdude-6.1-mingw32.zip, I
> get an error about a missing libusb0.dll. I do know how to install
> libusb.

You get it from the libusb-win32 project at SourceForge.net.

> That is not the purpose of this request. Rather, I'm wondering
> if it would perhaps be possible to conditionally link the libusb dll
> using LoadLibrary and similar functions, so those who want to use
> avrdude without USB support (for example for a serial only, or
> parallel port programmer)

It might be possible to change it that way.  But let's face it, how
many recent computer systems are around there that do offer parallel
or serial ports, and how many are there that offer only USB?

The Win32 binary is simply provided as a courtesy to Windows users who
often have (mental :) problems compiling something theirselves; as
such, it aims to cover the most predominant system configurations.
The primary focus of an opensource project is always to provide a
source code distribution, and leave it to others to ship binaries in
some way (possibly as part of some other packaging/bundling system for
their OS).

Dynamically loading libusb might have one other point though: some of
the USB programmers can be accessed without libusb, through some kind
of HID device access.  By now, this only affects a few, but with Atmel
going to CMSIS-DAP compatible devices on their official tools lately
(embedded debugger EDBG on devkits; JTAGICE3 with firmware version
3.x; new Atmel-ICE dongle), this is certainly going to attract a lot
more interest.

> 2) I also gave compiling avrdude without libusb installed a try.

Yes, it has been reported before.  There's a bug in AVRDUDE 6.1 that
prevents compiling without the presence of libusb.

> Where and how does one submit patches?

Please, attach it to the open bug report:

https://savannah.nongnu.org/bugs/?41854

> * For the binary (Windows) distribution, load the dll file
> conditionally, as discussed above.

We won't do anything just for a single supported OS.  If we do, we'll
do it for all supported OSes.

> * For the source distribution, perhaps exclude non-supported
> programming methods at build time instead of compiling them in as
> stubs that generate an error at runtime. Is there an infrastructural
> reason why this is done? To make avrdude.conf generation easier/less
> error-throwing-prone?

Yes, it is.  Albeit there are counter-examples, too.  Parallel-port
programmers are indeed not generated into avrdude.conf if AVRDUDE
doesn't have parallel-port support on a particular OS (like, OSX for
example, which simply never ran on hardware that offers a parellel
port).  However, it's probably much easier to tell the user his
software has been compiled without USB support, rather than yelling at
them, telling their programmer were simply not present in
avrdude.conf.  Finally, for the JTAGICEmkII, it could be accessed
through both, RS-232 as well as USB.
-- 
cheers, Joerg               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]