avrdude-dev
[Top][All Lists]
Advanced

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

Re: [avrdude-dev] jtagice mkI and atmega644


From: Joerg Wunsch
Subject: Re: [avrdude-dev] jtagice mkI and atmega644
Date: Wed, 16 Jan 2008 20:46:08 +0100
User-agent: Mutt/1.5.11

As Andrew S wrote:

> After doing some research and getting varying information I'm hoping
> someone on this list can give me a good answer to this question. I
> am having problems programing an Atmega644 using a jtagice mki clone
> (Olimex), and I wanted to confirm that this solution does not work?

*confirm*

> Can someone explain to me why the devices cannot be programmed with
> these programmers? I can't find a clear explanation of the
> differences between the MKI and MKII programmers online, other than
> the mkII contains support for a debugwire interface, which is not an
> issue for this chip.

There are much more differences between both than this.  If you look
inside, there's now two ATmega128s in it rather than one ATmega16 on
the old ICE, plus a rather large RAM chip.

The old JTAG ICE's ROM was close to full with the latest firmware
revisions that have been made available by Atmel, considering the
space for the bootloader required on top of the actual firmware.
Thus, the old ICE's firmware eventually stopped getting any updates
anymore, so its device support is now essentially frozen to the
devices that have been supported in the "final" Atmel release.  The
two most modern AVRs that had been added are the AT90CAN128 and the
ATmega169 (partially, the documentation hasn't even been updated to
reflect this).

Mind you, the clone manufacturers never attempted to understand what
happens inside the firmware, they just gave their users a tool which
they could then feed Atmel's firmware as a "black box" into.

Based on my experience with the JTAG ICE mkII implementation in
AVRDUDE, I can tell you that the symptom you are seeing is what could
be observed in the JTAG ICE mkII when forgetting to set the
ucAllowFullPageBitstream bit to FALSE on the device descriptor.  This
bit is set to TRUE for all old AVRs, and to FALSE for all modern ones.
Now, one could assume the JTAG ICE mkI firmware could not handle the
respective apparently different low-level JTAG protocol at all -- but
then, it /does/ support the AT90CAN128 which is also to be run with
ucAllowFullPageBitstream set to FALSE.  So my very personal guess is,
with sufficient effort, you could maybe modify the firmware (by
disassembling it first) in a way so it can successfully program the
more recent AVRs as well.  I don't know though whether this would also
enable debugging on those devices with the old ICE firmware.

-- 
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

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




reply via email to

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