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. ;-) _______________________________________________ avrdude-dev mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/avrdude-dev
