www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik at90can128 mit jtag ice mk1 und avarice debuggen


Autor: Frank W. (frankw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

hat es schon einer von Euch geschafft einen
At90can128 mit Jtag-Ice MK1 (Olimex) und avarice debuggen ?

Mit meinem Aufbau kann ich ohne Probleme eine Mega128 debuggen (Linux, 
avarice,gdb), und mit AVR-Studio kann ich auch den at90can128 debuggen ( 
Windows ). Kein Problem.
Aber wenn ich avarice und gdb verwenden will, dann klappt es beim 
at90can128 nicht :-(

Hat jemand das schon mal hinbekommen und hat ne Idee was ich tun könnte 
?

Anbei das Loggin mit Fehlermeldung des avarice.

---
AVaRICE version 2.7, Apr  9 2008 20:40:01

Defaulting JTAG bitrate to 1 MHz. Make sure that the target
frequency is at least 4 MHz or you will likely encounter failures
controlling the target.

JTAG config starting.
Attempting synchronisation at bitrate
115200

command[S, 1]: 53 45 20 20

command[S, 1]: 53 20 20
response: 41 56 52 4E 4F 43 44 41

command[B, 1]: 42 62 FF 20 20
response: 41

command[q, 1]: 71 7A 20 20
response: CE 41
Hardware Version: 0xce

command[q, 1]: 71 7B 20 20
response: 80 41
Software Version: 0x80

command[F, 1]: 46 20 20
response: 00 04 C1 41
Automatic device detection:
command[q, 1]: 71 A7 20 20
response: 3F 41

command[F, 1]: 46 20 20
response: 00 F1 F6 41

command[q, 1]: 71 A8 20 20
response: 10 41

command[q, 1]: 71 A9 20 20
response: 78 41

command[q, 1]: 71 AA 20 20
response: 09 41
JTAG id = 0x978103F : Ver = 0x0 : Device = 0x9781 : Manuf = 0x1f
Reported JTAG device ID: 0x9781
Configured for device ID: 0x9781 at90can128

command[�, 1]: A0 FF FF FF F1 DF 7C BB E8 FF FF FF F1 DF 7C BB E8 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 C3 33 BF F7 3F F7 3F
00 00 4D 1F 77 77 00 FF FF FF FF 07 43 C3 33 BC 77 77 F7 3F 00 00 4D 1F 
00 00 00 CD 3C F0 FF 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
22 57 3B 00 01 08 00 FE 00 00 FA 20 20
response: 41
JTAG config complete.
Preparing the target device for On Chip Debugging.

command[B, 1]: 42 86 FF 20 20
response: 41

command[�, 1]: A3 20 20
response: 41
jtagRead
command[R, 1]: 52 B3 00 00 00 00 20 20
response: FF 00 41

Disabling lock bits:
  LockBits -> 0xff

Enabling on-chip debugging:
jtagRead
command[R, 1]: 52 B2 02 00 00 00 20 20
response: FF 1D F7 00 41
  Extended Fuse byte -> 0xf7
      High Fuse byte -> 0x1d
       Low Fuse byte -> 0xff

command[�, 1]: A4 20 20
response: 41

command[x, 1]: 78 20 20
response:
41

command[B, 1]: 42 A0 00 20 20
response: 41

command[x, 1]: 78 20 20
response: 41
Waiting for connection on port 4242.
Connection opened by host 127.0.0.1, port 45570.
GDB: <Hc-1>
->GDB:
GDB: <qC>
->GDB:
GDB: <qOffsets>
->GDB:
GDB: <?>
->GDB: S05
GDB: <Hg0>
->GDB:
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: 00 00 41
Timed Out (partial response)
JTAG ICE communication failed

Autor: MatthiasR (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Lösung habe ich leider auch nicht, aber ich kann das Problem 
bestätigen:

Ich erhalte die gleiche Fehlermeldung mit einem AT90CAN128 an einem 
selbstgebauten JTAGICE MkI-Clone. Ein paar Daten:

- JTAGICE ähnlich JTAG-Teil vom Evertool + FT232B
- Firmware aus AVRStudio 4.12 SP2 (Build 472)
- avarice 2.7
- Download/Verify über JTAG mit Avarice funktioniert
- Debugging mit AVRStudio habe ich zwar nicht ausgiebig getestet, 
scheint aber zu funktionieren
- Debugging mit Avarice bricht mit der Fehlermeldung "Timed Out (partial 
response) JTAG ICE communication failed" ab

Ich hatte erst den Verdacht, dass es Probleme mit dem 
USB-RS232-Konverter gibt. Handelt es sich bei dem Olimex-Jtag-Ice MK1 um 
die "normale" RS232-Ausführung? - Dann hätte es offensichtlich nichts 
damit zu tun, ob es über eine "echte" RS232 oder über einen FT232 
geht...

Hier nochmal ein (etwas gekürztes) Avarice-log (vielleicht kann ja 
jemand, der sich mit den "Innereien" von Avarice auskennt, etwas damit 
anfangen):
AVaRICE version 2.7, Nov  8 2007 19:57:44

Defaulting JTAG bitrate to 1 MHz. Make sure that the target
frequency is at least 4 MHz or you will likely encounter failures
controlling the target.

JTAG config starting.
Attempting synchronisation at bitrate 115200

command[S, 1]: 53 45 20 20
Out of sync, reponse was `00'

command[S, 1]: 53 20 20
Out of sync, reponse was `e0'

command[S, 2]: 53 45 20 20
Out of sync, reponse was `e0'

command[S, 1]: 53 20 20
Out of sync, reponse was `e0'

command[S, 3]: 53 45 20 20
Out of sync, reponse was `e0'

command[S, 1]: 53 20 20
Out of sync, reponse was `e0'
Attempting synchronisation at bitrate 19200

command[S, 1]: 53 45 20 20
Out of sync, reponse was `e0'

command[S, 1]: 53 20 20
response: 41 56 52 4E 4F 43 44 41

command[B, 1]: 42 62 FF 20 20
response: 41

command[q, 1]: 71 7A 20 20
response: CC 41
Hardware Version: 0xcc

command[q, 1]: 71 7B 20 20
response: 7F 41
Software Version: 0x7f

command[F, 1]: 46 20 20
response: 00 02 9D 41
Automatic device detection:
command[q, 1]: 71 A7 20 20
response: 3F 41

command[F, 1]: 46 20 20
response: 00 02 9D 41

command[q, 1]: 71 A8 20 20
response: 10 41

command[q, 1]: 71 A9 20 20
response: 78 41

command[q, 1]: 71 AA 20 20
response: 09 41
JTAG id = 0x978103F : Ver = 0x0 : Device = 0x9781 : Manuf = 0x1f
Reported JTAG device ID: 0x9781
Configured for device ID: 0x9781 at90can128

 [...]

command[x, 1]: 78 20 20
response: 41
Waiting for connection on port 4242.
Connection opened by host 127.0.0.1, port 16947.
GDB: <Hc-1>
->GDB:
GDB: <qC>
->GDB:
GDB: <qOffsets>
->GDB:
GDB: <?>
->GDB: S05
GDB: <Hg0>
->GDB:
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: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41
jtagRead
command[R, 1]: 52 20 02 00 00 5D 20 20
response: 00 00 00 00 41

command[2, 1]: 32 20 20
response: 00 00 01 41
PC = 0
->GDB: 000000000000000000000000000000000000000000000000000000000000000000000000000000
GDB: <qSymbol::>
->GDB:
GDB: <Z0,1ba,2>
BP ADD type: 1  addr: 0x1ba  ADDED
->GDB: OK
GDB: <vCont?>
->GDB:
GDB: <Hc0>
->GDB:
GDB: <c>
updateBreakpoints
jtagWrite
command[W, 1]: 57 60 00 00 00 DD 20 20
response:

command[h, 1]: 68 00 20 20
response: 41

command[G, 1]: 47 20 20
response:
Waiting for input.
JTAG box sent B: Break Status Register = 0x0020

command[2, 1]: 32 20 20
response: 00 00 DE 41
jtagRead
command[R, 1]: 52 20 02 00 00 5D 20 20
response: 00 00 00 00 41
->GDB: T0520:00;21:0000;22:ba010000;
GDB: <z0,1ba,2>
BP DEL type: 1  addr: 0x1ba REMOVED 0
->GDB: OK
GDB: <m1b2,27>

GDB: Read 39 bytes from 0x1B2
jtagRead
command[R, 1]: 52 A0 13 00 00 D9 20 20
response: EF CA E1 D0 BF DE BF CD 94 0E 00 BA 94 0E 01 31 94 0E 02 B6 94 0E 07 9D 94 0E 02 D8 94 78 E0 80 E0 91 94 0E 00 C9 E1 84 00 41
->GDB: caefd0e1debfcdbf0e94ba000e9431010e94b6020e949d070e94d802789480e091e00e94c90084
GDB: <m1d9,19>

GDB: Read 25 bytes from 0x1D9
jtagRead
command[R, 1]: 52 A0 0C 00 00 EC 20 20
response: E1 84 E0 91 94 0E 00 C9 01 8E 5F 0F 4F 1F 91 80 0C 82 23 88 F3 E1 91 80 0C 60 00 41
->GDB: e191e00e94c9008e010f5f1f4f8091820c8823e1f38091600c
GDB: <Hc0>
->GDB:
GDB: <s>

command[1, 1]: 31 20 20
response: 41

command[2, 1]: 32 20 20
response: 00 00 BB 41

command[2, 1]: 32 20 20
response: 00 00 BB 41
jtagRead
command[R, 1]: 52 20 02 00 00 5D 20 20
response: 00 00 00 00 41
->GDB: T0520:00;21:0000;22:74010000;
GDB: <m800001,2>

GDB: Read 2 bytes from 0x800001
jtagRead
command[R, 1]: 52 20 01 00 00 01 20 20
response: 00 00 00 41
->GDB: 0000
GDB: <Z0,1ba,2>
BP ADD type: 1  addr: 0x1ba  ADDED
->GDB: OK
GDB: <Hc0>
->GDB:
GDB: <s>

command[1, 1]: 31 20 20
response: 41

command[2, 1]: 32 20 20
response: 00 00 BC 41

command[2, 1]: 32 20 20
response: 00 00 BC 41
jtagRead
command[R, 1]: 52 20 02 00 00 5D 20 20
response: 00 00 00 00 41
->GDB: T0520:00;21:0000;22:76010000;
GDB: <s>

command[1, 1]: 31 20 20
response: 41

command[2, 1]: 32 20 20
response: 00 00 BE 41

command[2, 1]: 32 20 20
response: 00 00 BE 41
jtagRead
command[R, 1]: 52 20 02 00 00 5D 20 20
response: 00 00 00 00 41
->GDB: T0520:00;21:0000;22:7a010000;
GDB: <m174,27>

GDB: Read 39 bytes from 0x174
jtagRead
command[R, 1]: 52 A0 13 00 00 BA 20 20
response: E3 83 93 80 00 CC E1 88 93 80 00 C9 95 08 2F 98 91 80 00 C8 FF 85 CF FC 93 90 00 CE 95 08 93 CF 93 DF 01 FC 81 80 23 88 00 41
->GDB: 83e38093cc0088e18093c9000895982f8091c80085fffccf9093ce000895cf93df93fc01808188
GDB: <m19b,19>

GDB: Read 25 bytes from 0x19B
jtagRead
command[R, 1]: 52 A0 0C 00 00 CD 20 20
response: 23 88 F0 39 01 EF 94 0E 00 C1 81 89 96 21 23 88 F7 D1 91 DF 91 CF 95 08 EF CA 00 41
->GDB: 2339f0ef010e94c100898121968823d1f7df91cf910895caef
GDB: <m800001,2>

GDB: Read 2 bytes from 0x800001
jtagRead
command[R, 1]: 52 20 01 00 00 01 20 20
response: 00 00 00 41
->GDB: 0000
GDB: <z0,1ba,2>
BP DEL type: 1  addr: 0x1ba REMOVED 0
->GDB: OK
GDB: <Z0,1ba,2>
BP ADD type: 1  addr: 0x1ba  ADDED
->GDB: OK
GDB: <s>

command[1, 1]: 31 20 20
response: 41

command[2, 1]: 32 20 20
response: 00 00 BF 41

command[2, 1]: 32 20 20
response: 00 00 BF 41
jtagRead
command[R, 1]: 52 20 02 00 00 5D 20 20
response: 00 00 41
Timed Out (partial response)
JTAG ICE communication failed


Autor: Frank W. (frankw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo !


MatthiasR wrote:
> Ich hatte erst den Verdacht, dass es Probleme mit dem
> USB-RS232-Konverter gibt. Handelt es sich bei dem Olimex-Jtag-Ice MK1 um
> die "normale" RS232-Ausführung? - Dann hätte es offensichtlich nichts
> damit zu tun, ob es über eine "echte" RS232 oder über einen FT232
> geht...


Mein Olimex-Jtag-Ice MK1 ist die "normale RS232-Ausführung".

Ich hatte folgenden Aufbau :

1)  Linux Rechner mit avarice - direkt seriell angeschlossen.
    Fehler tritt auf

2 ) Windows Rechner mit avrstudio - über USB-RS232-Konvertert 
angeschlossen
    Debuggen funktioniert.

Es scheint also als ob der USB-RS232 Konvertert nicht der Grund für 
unser Problem ist.


Ich hatte Kontakt mit einem avarice Entwickler.
Er würde versuchen den Bug zu finden und den avarice anzupassen.
Dazu braucht er aber Unterstützung.
Wir brauchen ein logging der Kommunikation "PC<->JTAG-Ice" von der 
seriellen Schnittstelle bei der funktionierenden Verwendung mit den 
AVR-Studio und dem at90can128.

Wenn er so ein Logging hat würde er schauen was bei der Komunikation 
AVR-Studio <-> ICE anders ist als bei   avarice <->  ice.

Mein Problem ist - ich habe keine Ahnung wie man ein logging der 
seriellen Komunikation  AVR-Studio <-> ICE   bekommen kann.

Hat jemand ne Idee ?

Gruss
Frank

Autor: Martin Thomas (mthomas) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Frank W. (frankw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin Thomas wrote:
> http://www.microsoft.com/germany/technet/sysintern...


Na das sieht doch mal gut aus !!!
Werde ich heute abend testen.

Danke

Autor: Thomas Sauter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

habe genau das selbe Problem. Habt Ihr eine Lösung gefunden?

Gruß,

Thomas

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.