Forum: Compiler & IDEs GNU + AVaRICE


von Andreas W. (andy80)


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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

/dev/com1 statt com1?

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

von Rick Dangerus (Gast)


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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

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.