Table of Contents

Atmel ICE

mega-jtag.jpg

SR Engineer

This device is used to program various Atmel designed processors.

It has one serious fault, in that the sockets are wired back to front but otherwise it works well. The dumb wiring is the main reason for this page. I got it working fine once and now forget how it's broken so need to rediscover the stupidity yet again.

I got the PCBA version of this device in 2019 for £47, they now cost £90 in 2022. Microchip outpace inflation like nobody else.

USB

Bus 001 Device 027: ID 03eb:2141 Atmel Corp. ICE debugger

Ports

ice-jtag.jpg

swd-10pin-adapter.jpg

jtag-reverse-adapter.jpg

The key in the port is on the wrong side so you can either plug the cable in back to front (not recommend) or cut the notch off your cable and turn it around and plug it the right way around at the other end (recommended but I don't accept liability for any error). Maybe Atmel (now MCHP) should just employ competent engineers.

PS. MCHP will sell you mis-wired cables so you do not need to do the above, but having mis-wired cables in your collection may be even worse.

          SAM                          AVR
          KEY                          KEY  
TMS  TCK  TDO  TDI  SRST     GND  VTG  SRST TRST GND
 2    4    6    8    10       2    4    6    8   10
 1    3    5    7     9       1    3    5    7    9
VTG  GND  GND  TRST GND      TCK  TDO  TMS  NC   TDI

Both sockets contain the same signals just wired to
different pins.

SAM = ARM standard and AVR = ATMEL standard.

PIN SAM    AVR    SWD(1) CORTEX(2)
 1  VTG    TCK    Vref   VCC/VREF
 2  TMS    GND    SWIO   SWDIO/TMS
 3  GND    TDO    GND    GND
 4  TCK    VTG    CLK    SWDCLK/TCK
 5  GND    TMS    GND    GND
 6  TDO    SRST   SWO    SWO/TDO
 7  TRST   NC     KEY    KEY
 8  TDI    TRST   NC     NC/TDI
 9  GND    TDI    GNDd   GND
10  SRST   GND    RST    nRESET

(1) Adafruit SWD adapter
(2) Adafruit Cortex SWD adapter

JTAG ATMEGA2560 ATMEGA32
VTG  VCC        VCC
GND  GND        GND
TCK  PF4        PC2
TMS  PF5        PC3
TDO  PF6        PC4
TDI  PF7        PC5

JTAG SPI
VTG  VCC
GNG  GND
TCK  SCK
TDO  MISO
TDI  MOSI
SRST RESET

Test

avrdude -v -B 5 -c atmelice -p ATMEGA32

avrdude: Version 6.3-20171130
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/darron/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : atmelice
         Setting bit clk period        : 5.0
avrdude: Found CMSIS-DAP compliant device, using EDBG protocol
         AVR Part                      : ATmega32
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom         4    10    64    0 no       1024    4      0  9000  9000 0xff 0xff
           flash         33     6    64    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00

         Programmer Type : JTAGICE3
         Description     : Atmel-ICE (ARM/AVR) in JTAG mode
         ICE hardware version: 0
         ICE firmware version: 1.42 (rel. 161)
         Serial number   : J41800108041
         Vtarget         : 4.52 V
         JTAG clock megaAVR/program: 200 kHz
         JTAG clock megaAVR/debug:   1000 kHz
         JTAG clock Xmega: 1000 kHz
         PDI clock Xmega : 1000 kHz

avrdude: JTAG ID returned: 0x3f 0x20 0x50 0x89
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.08s

avrdude: Device signature = 0x1e9502 (probably m32)
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as 19

avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as 19
avrdude: safemode: Fuses OK (E:FF, H:19, L:FF)

avrdude done.  Thank you.

Resources

Product page

User guide