avrdude-dev
[Top][All Lists]
Advanced

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

Re: [avrdude-dev] [bug #40831] LUFA AVRISP-MKII fails with avrdude 6.0.1


From: Colin O'Flynn
Subject: Re: [avrdude-dev] [bug #40831] LUFA AVRISP-MKII fails with avrdude 6.0.1
Date: Fri, 10 Oct 2014 10:43:11 -0300

Hi Joerg,

Much appreciated the details!

> It's the JTAGICE3 that started to have interrupt endpoints: in firmware
version 2, there are two bulk EPs for the 
> normal traffic, and one interrupt EP to report events.
>
> Alas, in firmware version 3 (as well as with the new Atmel-ICE), due to
switching to CMSIS-DAP, there are two 
> interrupt EPs for everything,

Oh yikes - I might do this in two patches then. The first for AVR-ISP MK2 +
JTAG2 + STK600, the second adding JTAG3. It seems pretty likely the second
patch will have some errors (since I have no HW to test against), so might
as well keep all the mistakes in one place.

Warm Regards,

  -Colin O'Flynn

-----Original Message-----
From: Joerg Wunsch [mailto:address@hidden 
Sent: October-10-14 5:52 AM
To: address@hidden
Cc: Colin O'Flynn
Subject: Re: [avrdude-dev] [bug #40831] LUFA AVRISP-MKII fails with avrdude
6.0.1

As Colin O'Flynn wrote:

> The only difference is I think the STK600 has an interrupt endpoint 
> (this is from memory so is frequently wrong), so need some additional 
> detection code. Will look into the JTAGICE3 as well.

No, the STK600 is close to the AVRISPmkII, only that it adds JTAG and HV
programming abilities.

It's the JTAGICE3 that started to have interrupt endpoints: in firmware
version 2, there are two bulk EPs for the normal traffic, and one interrupt
EP to report events.

Alas, in firmware version 3 (as well as with the new Atmel-ICE), due to
switching to CMSIS-DAP, there are two interrupt EPs for everything, and an
additional protocol on top to distinguish between the various packet
purposes (command, response, event).  All in all, this protocol is much
crappier (among other things, even the request to get a response, which
itself is just a single byte, always transfers full
512 bytes!).  Welcome to the wonderful world of MS Windows compatibility,
where every device on the USB is a "human interface", just since HID used to
be one of the few things Windows always has a generic driver for, so you
don't need vendor drivers.  (In contrast, on all Unix-like systems, there
are generic drivers for every USB device, so libusb never needs a custom
driver.)

As a consequence, I would recommend to anyone who can afford it to keep
their JTAGICE3 firmware at version 2.x.  But it won't work together with
recent versions of Atmel Studio then.

The CMSIS-DAP compliant devices are mandated to have the string "CMSIS-DAP"
as part of their product string, so this could be used to uniquely identify
that situation when trying to detect the EPs.
-- 
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]