Forum: Mikrocontroller und Digitale Elektronik Xmega mit avrdude | Fehler beim Schreiben


von Dennis D. (schwebo)


Lesenswert?

Hallo,

ich versuche aktuell, mittels avrdude und Atmel ICE einen ATxmega256A3U 
zu programmieren.
Die Verbindung ist anscheinend ok:
1
$ avrdude -p x256a3u -c atmelice_pdi usb:J42700003936 -t                   
2
                                 
3
avrdude: AVR device initialized and ready to accept instructions
4
5
Reading | ################################################## | 100% 0.00s
6
7
avrdude: Device signature = 0x1e9842 (probably x256a3u)
8
avrdude> part
9
>>> part 
10
11
AVR Part                      : ATxmega256A3U
12
Chip Erase delay              : 0 us
13
PAGEL                         : P00
14
BS2                           : P00
15
RESET disposition             : dedicated
16
RETRY pulse                   : SCK
17
serial program mode           : yes
18
parallel program mode         : yes
19
Timeout                       : 0
20
StabDelay                     : 0
21
CmdexeDelay                   : 0
22
SyncLoops                     : 0
23
ByteDelay                     : 0
24
PollIndex                     : 0
25
PollValue                     : 0x00
26
Memory Detail                 :
27
28
                         Block Poll               Page                       Polled
29
  Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
30
  ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
31
  signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
32
  prodsig        0     0     0    0 no         50   50      0     0     0 0x00 0x00
33
  fuse1          0     0     0    0 no          1    0      0     0     0 0x00 0x00
34
  fuse2          0     0     0    0 no          1    0      0     0     0 0x00 0x00
35
  fuse4          0     0     0    0 no          1    0      0     0     0 0x00 0x00
36
  fuse5          0     0     0    0 no          1    0      0     0     0 0x00 0x00
37
  lock           0     0     0    0 no          1    0      0     0     0 0x00 0x00
38
  data           0     0     0    0 no          0    0      0     0     0 0x00 0x00
39
  eeprom         0     0     0    0 no       4096   32      0     0     0 0x00 0x00
40
  application    0     0     0    0 no     262144  512      0     0     0 0x00 0x00
41
  apptable       0     0     0    0 no       8192  512      0     0     0 0x00 0x00
42
  boot           0     0     0    0 no       8192  512      0     0     0 0x00 0x00
43
  flash          0     0     0    0 no     270336  512      0     0     0 0x00 0x00
44
  usersig        0     0     0    0 no        512  512      0     0     0 0x00 0x00
45
  fuse0          0     0     0    0 no          1    0      0     0     0 0x00 0x00

Das Schreiben klappt leider nicht:
1
$ avrdude -p x256a3u -c atmelice_pdi usb:J42700003936 -e -U flash:w:main.hex:i                              [22:02:19]
2
3
avrdude: AVR device initialized and ready to accept instructions
4
5
Reading | ################################################## | 100% 0.00s
6
7
avrdude: Device signature = 0x1e9842 (probably x256a3u)
8
avrdude: erasing chip
9
avrdude: reading input file "main.hex"
10
avrdude: writing flash (302 bytes):
11
12
Writing |                                                    | 0% 0.00savrdude: jtag3_edbg_send(): Fragmentation not (yet) implemented!
13
avrdude: jtag3_edbg_recv(): Unexpected response 0x81, 0x00
14
Writing | ################################################## | 100% 0.00s
15
16
avrdude: 302 bytes of flash written
17
avrdude: verifying flash memory against main.hex:
18
avrdude: load data flash data from input file main.hex:
19
avrdude: input file main.hex contains 302 bytes
20
avrdude: reading on-chip flash data:
21
22
Reading | ################################################## | 100% 0.01s
23
24
avrdude: verifying ...
25
avrdude: verification error, first mismatch at byte 0x0001
26
         0xff != 0x94
27
avrdude: verification error; content mismatch
28
29
avrdude done.  Thank you.

Mir fehlt hier jeglicher Ansatzpunkt. Habt ihr eine Idee, was die 
Ursache sein könnte?

von Stefan F. (Gast)


Lesenswert?

Hängt irgend etwas an den relevanten Leitungen (auch Reset)? Vielleicht 
ein Kondensator?

Ist die Versorgungsspannung hoch genug und stabil? Vielleicht einen 
Abblock-Kondensator an den Versorgungs-Pins vergessen? Der Chip kann mit 
1,6V betrieben werden, aber zum flashen braucht er mehr.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Dennis V. schrieb:
> Hallo,
>
> ich versuche aktuell, mittels avrdude und Atmel ICE einen ATxmega256A3U

Da ich diese MCU noch nie programmiert habe, kann ich nicht viel dazu 
beitragen. Wenn man jedoch nach der Fehlermeldung "Fragmentation not 
(yet) implemented!" sucht, findet man diesen Thread:

https://www.avrfreaks.net/forum/write-failed-atxmega192a3u-avrdude-atmel-ice-programmer-pdi-mode

Merke: Fehlermeldungen dienen idR. nicht (nur) zur Verwirrung des 
Nutzers, sondern könnten auch zielführende Hinweise geben...

Falls der ATxmega256A3U einen Bootloader besitzt, müssen u.U. erst die 
Fuse- bzw. Lock-Bits angepasst werden, bevor dieser Bereich 
überschrieben werden kann.

Grüßle
Volker

: Bearbeitet durch User
von Dennis D. (schwebo)


Lesenswert?

Danke, tatsächlich funktioniert es nach Update von avrdude.
Mich wundert etwas, dass avrdude trotzdem das Schreiben versucht hat, 
obwohl es mit dieser Kombination von MCU und Programmer ja nicht 
funktionieren konnte!?
LG Dennis

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.