Forum: Mikrocontroller und Digitale Elektronik avrdude / Atmel ICE


von Simon P. (Firma: EbV GmbH) (simonpl_ebv)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich versuche, einen ATmega1284P mit einem Atmel-ICE und avrdude zu 
beschreiben, stoße dabei aber auf Probleme.

Verwendetes OS: Debian Buster (Stable, 10.3), 64 bit.

Nach dem Anschließen des ICE taucht dieser als USB-Gerät auf:

Ausgabe hier wie auch im folgenden auf relevante USB-Geräte beschränkt
1
~# lsusb
2
Bus 002 Device 006: ID 03eb:2141 Atmel Corp. ICE debugger

Das Interface 0 dieses Gerätes wurde auch korrekt von usbhid geclaimt:
1
~# lsusb -t
2
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/15p, 480M
3
    |__ Port 4: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 480M
4
    |__ Port 4: Dev 6, If 1, Class=Vendor Specific Class, Driver=, 480M

Ein entsprechender Aufruf von avrdude liefert eine längliche Ausgabe der 
Kommunikation, bei der nach einigen erwarteten Übermittlungen 
unerwartete folgen und anschließend die Kommunikation unterbrochen wird. 
Aufgrund der Länge der Ausgabe findet sich diese als Anhang.

Nach dem Aufruf wird das Interface 0 nicht mehr von usbhid in Anspruch 
genommen:
1
~# lsusb -t
2
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/15p, 480M
3
    |__ Port 4: Dev 6, If 0, Class=Human Interface Device, Driver=, 480M
4
    |__ Port 4: Dev 6, If 1, Class=Vendor Specific Class, Driver=, 480M

Weitere Aufrufe von avrdude schlagen entsprechend fehl:
1
~# avrdude -c atmelice_isp -P usb -p m1284p -vvv
2
3
avrdude: Version 6.3-20171130
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
         Copyright (c) 2007-2014 Joerg Wunsch
6
7
         System wide configuration file is "/etc/avrdude.conf"
8
         User configuration file is "/root/.avrduderc"
9
         User configuration file does not exist or is not a regular file, skipping
10
11
         Using Port                    : usb
12
         Using Programmer              : atmelice_isp
13
avrdude: stk500v2_jtag3_open()
14
avrdude: usbhid_open(): Probing for max. packet size
15
avrdude: usbhid_open(): No response from device
16
avrdude: usbdev_open(): Found Atmel-ICE CMSIS-DAP, serno: J41800094055
17
avrdude: Found CMSIS-DAP compliant device, using EDBG protocol
18
avrdude: jtag3_getsync()
19
20
avrdude: jtag3_edbg_prepare()
21
avrdude: usbdev_recv_frame(): usb_interrupt_read(): could not detach kernel driver from interface 0: No data available
22
avrdude: jtag3_edbg_prepare(): failed to read from serial port (-1)
23
avrdude: failed to sync with the JTAGICE3 in ISP mode
24
25
avrdude done.  Thank you.

Dieser Ausgabe wiederholt sich. Nach einem Abstecken und wieder 
Anschließen lässt sich die gesamte Prozedur wiederholen.

Für Lösungshinweise wäre ich sehr dankbar.

Beste Grüße

Simon

von Frank K. (fchk)


Lesenswert?

Du versuchst, den AVR per ISP zu beschreiben, nicht per JTAG (was 
Programmer und Chip auch können)?

Hast Du keine Windows-Maschine da, wo Du das ganze mal mit einem Atmel 
Studio 7 testen kannst? Wenn das da geht, dann bist Du Dir sicher, dass 
das kein Hardwareproblem ist.

fchk

von Simon P. (Firma: EbV GmbH) (simonpl_ebv)


Lesenswert?

Ja, genau, per ISP.

Habe es mit Atmel Studio 7 versucht, was funktionierte. Danach klappt es 
auch mit avrdude, allerdings nur einmal. Wenn ich danach einen weiteren 
(neuen) Chip nehme und es mit diesem probiere, habe ich wieder das 
beschriebene Verhalten. Schließe ich den Programmer nochmal via Atmel 
Studio an, so klappt es wieder für ein Board.

Simon

von fchk (Gast)


Lesenswert?

Stelle den ISP-Takt auf Minimum (100 oder 125 kHz), programmiere erst 
die Fuses, und dann kannst Du im zweiten Durchgang das Teil ganz normal 
programmieren. Der Werkszustand der Fuses und der zu hohe Default-Takt 
des Programmers sind Dein Problem.

fchk

von Simon P. (Firma: EbV GmbH) (simonpl_ebv)


Lesenswert?

Ja, das funktioniert dann. Perfekt, vielen Dank!

Beste Grüße

Simon

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.