www.mikrocontroller.net

Forum: Compiler & IDEs GNU + AVaRICE


Autor: Andreas Wacker (andy80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo !

Hat jemand schonmal den GNU De-Bugger (GDB) zusammen mit AVaRICE zum
Laufen gebracht ?

Nach Eingabe von
"avarice --program --file main.elf --part atmega128 --jtag com1
:4242"
erhalte ich folgende Fehlermeldung :
JTAG ICE communication failed: Inappropriate ioctl for device

Ich verwende den AVR-USB-JTAG.

Was hat die Fehlermeldung zu bedeuten ?


gruß,
andy

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
/dev/com1 statt com1?

Ich bin mir nicht ganz sicher, was Cygwin als Emulation für die
seriellen Ports benutzt.

Autor: Rick Dangerus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jein.

Prinzipiell connecten die beiden:

(gdb) target remote localhost:4242
Remote debugging using localhost:4242
Connection opened by host 127.0.0.1, port 4008.


Aber nachdem gdb das debug-script startet killt sich avarice:

Couldn't establish connection to remote target
Remote failure reply: E01
(gdb) gdb exited.


avarice mit --debug verschluckt sich hier:

GDB: <p22>
->GDB:
GDB: <g>

GDB: (Registers)Read 32 bytes from 0x800000
jtagRead
command[R, 1]: 52 20 1F 00 00 00 20 20
response: 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07
07 07 07 07 07 07 07 07 07 07
07 07 00 46
->GDB: E01
gdb exited.

command[G, 1]: 47 20 20
response:


Ich habe das evertool-light nachgebaut. Die Hardware ist m.E. in
Ordnung, da ich das Target damit programmieren kann.

Gruss
Rick

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, womit programmierst du es, mit AVRDUDE oder AVR Studio?
Wenn letzteres, würde mich nochmal interessieren, ob AVRDUDE
mit dem Teil auch zurecht kommt.

avrdude -p m128 -c jtag -P com1 -U flash:w:main.hex

Die verwendeten Algorithmen sind ähnlich, allerdings setzt
AVRDUDE native auf Win32-API auf für die serielle Kommunikation,
während AVaRICE insgesamt so Unix-lastig geschrieben ist, dass
es nur mit der Cygwin-Emulation läuft.

Ich vermute allerdings, dass das irgendwie mit Cygwin zu tun
hat, und dass die völlig verquere Antwort des ICE auf den
Befehl zum Registerlesen mit obiger Fehlermeldung (inappropriate
ioctl for device) zu tun hat.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.