mikrocontroller.net

Forum: Compiler & IDEs JTAGICE3 und avarice unter Windows 10


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Julian R. (julianr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich versuche mich gerade von Atmel Studio zu lösen da das scheinbar mit 
jeder Version aufgeblähter und verbuggter wird. Allerdings würde ich 
gerne meinen JTAGICE3 debugger weiter nutzten.
Dazu habe ich die aktuelle trunk version von avarice (AVaRICE version 
2.13svn20160229) mittels cygwin kompiliert (inkl. hid lib). Allerdings 
bekomme ich das ganze nicht zum laufen. Ich habe versucht einfach mal 
zum Test die Fuse Bits zu lesen:
$ ./avarice.exe -4 -r -P atmega328p
AVaRICE version 2.13svn20160229, Dec 29 2016 14:59:12

Defaulting JTAG bitrate to 250 kHz.

JTAG config starting.
Found a device, serial number: J30200015606
initJtagBox() failed: no answer from target

Hat jemand eine Idee was das sein könnte? Die Firmware des JTAGICE3 ist 
laut Atmel Studio 3.34. Ein Hardwareporblem schließe ist aus. Wenn ich 
den Standard HID Treiber durch LibUSB ersetzte kann ich mit avrdude 
problemlos flashen. In Atmel Studio direkt gehts auch.

Zur Vollständigkeit hier mal der komplette Debug Output:
$ ./avarice.exe -4 -r -P atmega328p -d
AVaRICE version 2.13svn20160229, Dec 29 2016 14:59:12

Defaulting JTAG bitrate to 250 kHz.

Found HID PID:VID 0x03eb:0x2140, serno J30200015606
Probing for HID max. packet size
Setting max. packet size to 512 from DAP_Info
HID thread startedJTAG config starting.


command "sign-on" [0x01, 0x10]
0E 00 00 00 01 10 00
Received 0x81 0x11 0x00 0x06 0x0e 0x00
read:  0e 00 00 01 80 00

Got message seqno 0 (command_sequence == 0)
response: 01 80 00

command "get info (serial number)" [0x00, 0x00]
0E 00 01 00 00 00 00 81
Received 0x81 0x11 0x00 0x12 0x0e 0x01
read:  0e 01 00 00 81 00 4a 33 30 32 30 30 30 31 35 36 30 36

Got message seqno 1 (command_sequence == 1)
response: 00 81 00 4A 33 30 32 30 30 30 31 35 36 30 36
Found a device, serial number: J30200015606

command "get parameter" [0x01, 0x02]
0E 00 02 00 01 02 00 00 00 05
Received 0x81 0x11 0x00 0x0c 0x0e 0x02
read:  0e 02 00 01 84 01 02 03 34 74 00 00

Got message seqno 2 (command_sequence == 2)
response: 01 84 01 02 03 34 74 00 00
ICE hardware version: 2
ICE firmware version: 3.52 (rel. 116)

command "set parameter" [0x12, 0x01]
0E 00 03 00 12 01 00 00 00 01 02
Received 0x81 0x11 0x00 0x06 0x0e 0x03
read:  0e 03 00 12 80 00

Got message seqno 3 (command_sequence == 3)
response: 12 80 00

command "set parameter" [0x12, 0x01]
0E 00 04 00 12 01 00 00 01 01 02
Received 0x81 0x11 0x00 0x06 0x0e 0x04
read:  0e 04 00 12 80 00

Got message seqno 4 (command_sequence == 4)
response: 12 80 00

command "set parameter" [0x12, 0x01]
0E 00 05 00 12 01 00 01 00 01 04
Received 0x81 0x11 0x00 0x06 0x0e 0x05
read:  0e 05 00 12 80 00

Got message seqno 5 (command_sequence == 5)
response: 12 80 00

command "AVR sign-on" [0x12, 0x10]
0E 00 06 00 12 10 00 00
Received 0x81 0x11 0x00 0x07 0x0e 0x06
read:  0e 06 00 12 a0 00 20

Got message seqno 6 (command_sequence == 6)
response: 12 A0 00 20
initJtagBox() failed: no answer from target

command "sign-off" [0x01, 0x11]
0E 00 07 00 01 11 00
Received 0x81 0x11 0x00 0x06 0x0e 0x07
read:  0e 07 00 01 80 00

Got message seqno 7 (command_sequence == 7)
response: 01 80 00

Autor: Jörg W. (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Debuggen über HID-angebundene ICEs in AVaRICE steckt nach wie vor
eher in den Kinderschuhen, und ich habe nicht Zeit und Nerven
gefunden, da in letzter Zeit viel dran zu tun – leider.

Da du aber kein Atmel-ICE sondern ein JTAGICE3 hast, könntest du
(mit einer hinreichend alten Studio-Version, müsste 5.x sein) mit
der noch-nicht-HID-Firmware auf dem ICE arbeiten, das sollte
zumindest einigermaßen brauchbar mit AVaRICE funktionieren.

Autor: D a v i d K. (oekel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörg W. schrieb:
> Da du aber kein Atmel-ICE sondern ein JTAGICE3 hast, könntest du
> (mit einer hinreichend alten Studio-Version, müsste 5.x sein) mit
> der noch-nicht-HID-Firmware auf dem ICE arbeiten, das sollte
> zumindest einigermaßen brauchbar mit AVaRICE funktionieren.

Ist diese Aussage immer noch aktuell?

Zumindest das letzte avarice ist ja nach wie vor:
AVaRICE version 2.13svn20160229

Bei Atmel Studion sind wir nun auf Version: 7.0.1931
Welches mir auf den JTAGICE3 FW 3.36 gebracht hat

Nutze Win10 nur wegen dem Flashen der Firmware, möchte sonst mit 
Ubuntu18.04 arbeiten.

Schließt eine FW 3.x die nutzung von "avarice -3" aus?
Komme ich NUR mit einem älteren Atmen Studio an ein Downgrade?
http://microchip.force.com/microchipknowledge/articles/en_US/FAQ/How-to-downgrade-firmware-version-of-the-JTAGICE3-debbuger-so-that-it-can-work-with-IAR-for-AVR
Zeigt auf einen Link, der nicht funktioniert. :(

PS:
Wie ich es hasse wenn Leute ihre Testergebnisse nicht mehr 
veröffentlichen:
https://www.avrfreaks.net/forum/avarice-winavr-not-working-usb-jtagice3
--> User "rasyoung"

: Bearbeitet durch User
Autor: D a v i d K. (oekel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hier noch meine Terminalausgabe:
  ~ avarice -4 -r -P atmega644
AVaRICE version 2.13svn20160229, Nov 26 2017 20:43:27

Defaulting JTAG bitrate to 250 kHz.

JTAG config starting.
Found a device, serial number: J30200010645
Reported device ID: 0x960A
Configured for device ID: 0x9609 atmega644 -- FORCED with atmega644
JTAG config complete.

Reading Fuse Bytes:
  Extended Fuse byte -> 0xff
      High Fuse byte -> 0x11
       Low Fuse byte -> 0xe2
  ~ avarice -3 -r -P atmega644
AVaRICE version 2.13svn20160229, Nov 26 2017 20:43:27

Defaulting JTAG bitrate to 250 kHz.

did not find any USB device "usb"
  ~ bash
dk@laptopc6234:~$ avarice -3 -r -P atmega644
AVaRICE version 2.13svn20160229, Nov 26 2017 20:43:27

Defaulting JTAG bitrate to 250 kHz.

did not find any USB device "usb"
dk@laptopc6234:~$ 


: Bearbeitet durch User
Autor: Jörg W. (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
D a v i d K. schrieb:
> Jörg W. schrieb:
>> Da du aber kein Atmel-ICE sondern ein JTAGICE3 hast, könntest du
>> (mit einer hinreichend alten Studio-Version, müsste 5.x sein) mit
>> der noch-nicht-HID-Firmware auf dem ICE arbeiten, das sollte
>> zumindest einigermaßen brauchbar mit AVaRICE funktionieren.
>
> Ist diese Aussage immer noch aktuell?

Ja.

> Zumindest das letzte avarice ist ja nach wie vor:
> AVaRICE version 2.13svn20160229

Ich habe schon ewig nichts mehr dran gemacht.

> Bei Atmel Studion sind wir nun auf Version: 7.0.1931
> Welches mir auf den JTAGICE3 FW 3.36 gebracht hat

Das sind alles die neueren Firmware-Versionen, die das Teil als HID 
konfigurieren.

FW 1.x dagegen war noch eine Firmware mit einer Atmel-proprietären 
Schnittstelle, die unter AVaRICE besser unterstützt wird.

> Schließt eine FW 3.x die nutzung von "avarice -3" aus?

Ja.  Mit einem SVN-Build von AVaRICE könntest du "avarice -4" probieren 
für die HID-basierten ICEs, aber das ist nie wirklich bis zu Ende 
implementiert worden und funktioniert mehr schlecht als recht. Das würde 
sowohl für JTAGICE3 mit FW > 1.x als auch ATMELICE passen.

> Komme ich NUR mit einem älteren Atmen Studio an ein Downgrade?

Offiziell ja.

Inoffiziell kann es irgendwie sein, dass man auch neueren Studios eine 
alte Firmware unterjubeln kann, aber das ist zumindest alles nicht 
dokumentiert, und du müsstest natürlich auch erstmal die alte Firmware 
irgendwo her bekommen.

Autor: D a v i d K. (oekel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörg W. schrieb:
>> Ist diese Aussage immer noch aktuell?
>
> Ja.

Danke

> Das sind alles die neueren Firmware-Versionen, die das Teil als HID
> konfigurieren.

Ich habe noch mal die selben Schritte Win10 + AtmelStudio7
- unter einem native
- unter einer VirtualBox (Host Ubuntu 18.04)
zum erstellen einer "Hello Debug" vorgenommen.

In beiden Fällen wird der ICE3 und das Device erkannt.
Beim ersteren springt er die Breakpoints (voll Rot) auch an.
Beim zweiten setzt er sie nicht mals vernünftig (weiß gefüllt) und der 
Marker hängt an der ersten Klammer von der main().

Ich behaupte also mal, dass dort das HID unter Linux einfach nicht 
korrekt implementiert ist. (Gefühlt genau das gleiche Verhalten wie mit 
avarice und avr-gdb ;)

> die alte Firmware
> irgendwo her bekommen.

Welches Atmel Studio hat denn eine 1.x?

Grüße David

Autor: D a v i d K. (oekel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

: Bearbeitet durch User
Autor: Jörg W. (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
D a v i d K. schrieb:
> Beim zweiten setzt er sie nicht mals vernünftig (weiß gefüllt) und der
> Marker hängt an der ersten Klammer von der main().

Virtualbox ist miserabel, was die USB-Emulation betrifft.

Probier mal den VMware Player. Ich benutze (gelegentlich) diverse 
Studioversionen mit VMware Workstation (das ist die Bezahlversion, der 
Player ist eine kostenfreie Abrüstversion davon) völlig problemlos, bis 
hin zu Firmwareupgrades (die eine besondere Herausforderung sind, weil 
die Identität des USB-Geräts zwischendurch für den Bootloader 
umgeschaltet wird).

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.

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