avrdude-dev
[Top][All Lists]
Advanced

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

[avrdude-dev] avrdude writing problems with ATMEL-ICE in PDI mode on a A


From: Jonathan Fady
Subject: [avrdude-dev] avrdude writing problems with ATMEL-ICE in PDI mode on a ATXmega192a3u
Date: Fri, 5 Jun 2015 11:33:13 +0200

Hello !
I'm having a very frustrating problem with avrdude 6.1...
I'm trying to program my ATXmega192a3u chip with a ATMEL ICE CMSIS/DAP in
PDI mode, but for some reason I am unable to write in the flash memory (or
boot, application, apptable) when using avrdude.
What I have managed to already do :
program my chip with Atmel Studio 6.2 on a Virtual Machine on the same
computer (with the exact same setup).
write in the EEPROM and fuses of the ATXmega192a3u in terminal mode (and
also in command mode) with avrdude.
read/verify from the ATXmega192a3u (previously programmed successfully with
Atmel Studio 6.2) into a .hex file (writing in a .elf file is not
supported).
program a ATXmega8E5 chip with avrdude (that is on the same board as the
x192a3u chip) without any error.
But now I really want avrdude to work for my chip (in order to write a .sh
script to program several chips on my board at once in an automatic way) !

The command I use is this one :

sudo avrdude -v -p x192a3u -c atmelice_pdi -e -u \
-U
fuse0:w:"/home/mobirider/Projects/atmel-bootloader/Debug/atmel-bootloader.elf":e
\
-U
fuse1:w:"/home/mobirider/Projects/atmel-bootloader/Debug/atmel-bootloader.elf":e
\
-U
fuse2:w:"/home/mobirider/Projects/atmel-bootloader/Debug/atmel-bootloader.elf":e
\
-U
fuse4:w:"/home/mobirider/Projects/atmel-bootloader/Debug/atmel-bootloader.elf":e
\
-U
fuse5:w:"/home/mobirider/Projects/atmel-bootloader/Debug/atmel-bootloader.elf":e
\
-U
boot:w:"/home/mobirider/Projects/atmel-bootloader/Debug/atmel-bootloader.elf":e
\
-U
application:w:"/home/mobirider/Projects/atmel-mobirider/Debug/atmel-mobirider.hex":i
\

The error message is as follows :

avrdude: reading input file
"/home/mobirider/Projects/atmel-bootloader/Debug/atmel-bootloader.elf"
avrdude: writing boot (8180 bytes):

Writing |                                                    | 0% 0.00s
avrdude: jtag3_edbg_send(): Fragmentation not (yet) implemented!
avrdude: jtag3_edbg_recv(): Unexpected response 0x81, 0x00
avrdude: write memory command: timeout/error communicating with programmer
(status -1)
Writing | ################################################## | 100% 9.60s

avrdude: 8180 bytes of boot written
avrdude: verifying boot memory against
/home/mobirider/Projects/atmel-bootloader/Debug/atmel-bootloader.elf:
avrdude: load data boot data from input file
/home/mobirider/Projects/atmel-bootloader/Debug/atmel-bootloader.elf:
avrdude: input file
/home/mobirider/Projects/atmel-bootloader/Debug/atmel-bootloader.elf
contains 8180 bytes
avrdude: reading on-chip boot data:

Reading | ################################################## | 100% 0.09s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0xff != 0xfd
avrdude: verification error; content mismatch

avrdude done.  Thank you.

I have tried also replacing "boot" and "application" by "flash" or
"apptable" but the result is the same...
Writing a .elf file or a .hex file fails all the same...
In terminal mode I attempted to write some data byte per byte but the
result was also a failure :

$sudo avrdude -v -p x192a3u -c atmelice_pdi -t

avrdude: Version 6.1, compiled on Nov 23 2014 at 21:15:32
         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/mobirider/.avrduderc"
         User configuration file does not exist or is not a regular file,
skipping

         Using Port                    : usb
         Using Programmer              : atmelice_pdi
avrdude: usbdev_open(): Found Atmel-ICE CMSIS-DAP, serno: J41800018102
avrdude: Found CMSIS-DAP compliant device, using EDBG protocol
         AVR Part                      : ATxmega192A3U
         Chip Erase delay              : 0 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 0
         StabDelay                     : 0
         CmdexeDelay                   : 0
         SyncLoops                     : 0
         ByteDelay                     : 0
         PollIndex                     : 0
         PollValue                     : 0x00
         Memory Detail                 :

                                  Block Poll               Page
          Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW
 MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------
----- ----- ---------
           signature      0     0     0    0 no          3    0      0
0     0 0x00 0x00
           prodsig        0     0     0    0 no         50   50      0
0     0 0x00 0x00
           fuse1          0     0     0    0 no          1    0      0
0     0 0x00 0x00
           fuse2          0     0     0    0 no          1    0      0
0     0 0x00 0x00
           fuse4          0     0     0    0 no          1    0      0
0     0 0x00 0x00
           fuse5          0     0     0    0 no          1    0      0
0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0
0     0 0x00 0x00
           data           0     0     0    0 no          0    0      0
0     0 0x00 0x00
           eeprom         0     0     0    0 no       2048   32      0
0     0 0x00 0x00
           application    0     0     0    0 no     196608  512      0
0     0 0x00 0x00
           apptable       0     0     0    0 no       8192  512      0
0     0 0x00 0x00
           boot           0     0     0    0 no       8192  512      0
0     0 0x00 0x00
           flash          0     0     0    0 no     204800  512      0
0     0 0x00 0x00
           usersig        0     0     0    0 no        512  512      0
0     0 0x00 0x00
           fuse0          0     0     0    0 no          1    0      0
0     0 0x00 0x00

         Programmer Type : JTAGICE3_PDI
         Description     : Atmel-ICE (ARM/AVR) in PDI mode
         ICE hardware version: 0
         ICE firmware version: 1.22 (rel. 65)
         Serial number   :
J418000181028102��������������������������������������������������������������������������������������������������������������������
         Vtarget         : 3.27 V
         JTAG clock megaAVR/program: 1000 kHz
         JTAG clock megaAVR/debug:   1000 kHz
         JTAG clock Xmega: 1000 kHz
         PDI clock Xmega : 1000 kHz

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9744
avrdude> dump flash 0 16
>>> dump flash 0 16
0000  0c 94 79 08 0c 94 f4 28  0c 94 1e 29 0c 94 48 29  | .y. ..( ..) .H)|

avrdude> write flash 0 1 2 3 4 5
>>> write flash 0 1 2 3 4 5
avrdude (write): error writing 0x01 at 0x00000 cell=0x0c
avrdude (write): error writing 0x02 at 0x00001 cell=0x94
avrdude (write): error writing 0x03 at 0x00002 cell=0x79
avrdude (write): error writing 0x04 at 0x00003 cell=0x08
avrdude (write): error writing 0x05 at 0x00004 cell=0x0c

However I found that this might not work because it is currently not
supported (as read from the 4th problem in
http://www.nongnu.org/avrdude/user-manual/avrdude_20.html)

I tried checking the syslog for some useful information, I came accross
this when I execute my program for the first time after plugging the
programmer via USB :

usb 2-1.3.4: new high-speed USB device number 65 using ehci-pci
usb 2-1.3.4: New USB device found, idVendor=03eb, idProduct=2141
usb 2-1.3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1.3.4: Product: Atmel-ICE CMSIS-DAP
usb 2-1.3.4: Manufacturer: Atmel Corp.
usb 2-1.3.4: SerialNumber: J41800018102
hid-generic 0003:03EB:2141.0071: hiddev0,hidraw1: USB HID v1.11 Device
[Atmel Corp. Atmel-ICE CMSIS-DAP] on usb-0000:00:1d.0-1.3.4/input0

usb 2-1.3.4: usbfs: interface 0 claimed by usbhid while 'avrdude' sets
config #1

I attached in a .txt file the avrdude operations I did with a little bit
more information than written above : you will find inside the failed
attempt to program the x192a3u, the successful attempt to program the x8e5
and the failed attempt to write in the flash memory in terminal mode.

Also, another info about the configuration I have (when running ./configure
in the avrdude directory) :
Configuration summary:
----------------------
DO HAVE    libelf
DO HAVE    libusb
DO HAVE    libusb_1_0
DON'T HAVE libftdi1
DO HAVE    libftdi
DON'T HAVE libhid
DO HAVE    pthread
DISABLED   doc
ENABLED    parport
DISABLED   linuxgpio

Do you know where the problem could possibly come from ? I have not found
any answers for this problem anywhere on forums...
The problem is most definitely a compatibility issue between the chip, the
programmer, avrdude 6.1, but I have not found any solution for now
(although I have been searching for days !).
Any information would be a really great help !
PS : I also posted a message on the forum AVRfreaks.

Thanks in advance.

John

Attachment: avrdude_test_log.txt
Description: Text document


reply via email to

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