Forum: Mikrocontroller und Digitale Elektronik Empfehlung JTAG-Adapter für Cortex M3 / STM32 gesucht


von Michael D. (Gast)


Lesenswert?

Hallo zusammen,

ich bin gerade dabei mich in den Cortex M3 einzuarbeiten.

Eine Funktionierende Entwicklungsumgebung (unter Windows) habe ich 
bereits erfólgreich einrichten können.

Nun suche ich noch nach einem JTAG Debugger.

Da ich es auch beruflich verwenden möchte (um vom teuren Keil uVision 4 
und dem uLink2 Pro wegzukommen - es sollten freie Tools verwendet werden 
können) fällt der Segger JLink EDU leider weg.

Angesehen und Probiert habe ich bis jetzt den USBProg mit OpenOCD 
Firmware, was aber leider nicht ganz klappt. Er findet zwar meistens den 
JTAG Adapter, aber die Kommunikation mit dem Board (fertiges 
Entwicklungsboard) klappt nie. Des weiteren bin ich mir nicht sicher ob 
das mit einem Cortex M3 möglich ist (Einige hier im Forum behaupten 
nein, andere ja)

Des weiteren würde ich mir den OpenOCD USB Adapter (ebenfalls von 
Embedded Projects) ansehen, aber auch hier sind die Unterlagen (Treiber 
f. Windows, Anleitung) eher spärlich.

Hat jemand schon mit diesem Erfahrung sammeln können, bzw. kann einen 
anderen freien Adapter zum flashen und debuggen empfehlen?

Vielen Dank im voraus für die Tips,
Michael
von user (Gast)


Lesenswert?

altera USB-Blaster, der sollte auch mit OpenOCD funktionieren
von Michael D. (Gast)


Lesenswert?

Hey vielen Dank!

Hast Du persönlich damit Erfahrung sammeln können bzgl. Geschwindigkeit 
und Stabilität?

Mfg,
Michael
von 900ss (900ss)


Lesenswert?

Ich habe einen STM32F105 mittels Olimex-JTAG-Adapter und OpenOCD flashen 
und debuggen können. Es funktioniert schon.
Ich würde dir aber gerade weil du es beruflich nutzt, den Segger J-Link 
empfehlen. Die Zeit zum Einrichten/konfigurieren von OpenOCD kostet auch 
viel Geld (Zeit ), da ist ein J-Link locker bei über.
Und langsam ist es mit OpenOCD auch noch.
Nur meine ganz persönliche Meinung.
von gerhard (Gast)


Lesenswert?

hallo,
wie schon vorher erwähnt ist die programiergeschwindigkeit mit dem 
j-link sicher kürzer als mit openocd und Olimex-JTAG-Adapter.

wenn du allerdings ohne ide flash programmieren möchtest benötigt du die 
software j-flash oder den j-link pro.

gruss
gerhard
von Matthias K. (matthiask)


Lesenswert?

Wenn nur die STM32 in Frage kommen, ist sicher der ST-LINK(2) der JTAG 
der Wahl. Der ist optimal angepasst, preisgünstig und schnell. Wird von 
allen kommerziellen IDE-Herstelleren unterstützt. Bei OpenOCD bin mir 
nicht sicher, aber mit den GDB-Server zB. von Atollic geht es wohl auch 
damit.
von Michael D. (Gast)


Lesenswert?

So Leute,
sorry für die verspätete Antwort.

In der Zwischenzeit habe ich den Altera USB-Blaster mal ausprobiert, 
bekomme aber keine Verbindung zu OpenOCD zustande.

Im Moment probiere ich gerade mit dem STLink herum, da dieser bereits 
auf vielen Boards fix integriert ist, bzw. es auch Evalboards gibt wo 
dieser seperat ausgeführt ist und man damit externe Boards programmieren 
/ debuggen kann.

Der STLink selbst ist wirklich ganz preisgünstig, allerdings halt wieder 
nur für STM32 Controller..

Aber eine kostenfreie/günstige universelle Fix/Fertig Lösung wird es 
leider nicht geben.

Danke für Eure Tipps,

Michael
von adssad (Gast)


Lesenswert?

Michael D. schrieb:
> In der Zwischenzeit habe ich den Altera USB-Blaster mal ausprobiert,
> bekomme aber keine Verbindung zu OpenOCD zustande.

Welche OpenOCD Version? Welcher Kommandozeilenaufruf? Was ist die 
komplette OpenOCD Ausgabe/Fehlermeldung?
von Michael D. (Gast)


Lesenswert?

adssad schrieb:
> Welche OpenOCD Version? Welcher Kommandozeilenaufruf? Was ist die
>
> komplette OpenOCD Ausgabe/Fehlermeldung?

OpenOCD 0.5.0

Testhalber mal ob er den USB-Blaster findet:

openocd-0.5.0.exe -f altera-usb-blaster.cfg
...
...
Error: unable to open ftdi device: device not found in procedure 'init'

Das Problem ist auch hier beschreiben, ich probiere es gerade es zu 
lösen:

Beitrag "OpenOCD Problem: unable to open ftdi device"



Matthias K. schrieb:
> Wenn nur die STM32 in Frage kommen, ist sicher der ST-LINK(2) der JTAG
>
> der Wahl. Der ist optimal angepasst, preisgünstig und schnell. Wird von
>
> allen kommerziellen IDE-Herstelleren unterstützt. Bei OpenOCD bin mir
>
> nicht sicher, aber mit den GDB-Server zB. von Atollic geht es wohl auch
>
> damit.

Jep, mit dem ST-Link und dem Atollic GDB Server habe ich bereits 
Ergebnisse erzielen können (wenn auch dass Debuggen im TrueStudio besser 
funktioniert)

Der ST-Link wird von OpenOCD leider nicht unterstützt und ist somit für 
Linux leider irrelevent.

Michael
von adssad (Gast)


Lesenswert?

Michael D. schrieb:
>> komplette OpenOCD Ausgabe/Fehlermeldung?
>
> OpenOCD 0.5.0
>
> Testhalber mal ob er den USB-Blaster findet:
>
> openocd-0.5.0.exe -f altera-usb-blaster.cfg
> ...
> ...
> Error: unable to open ftdi device: device not found in procedure 'init'

Najaaaa, sooo komplett ist deine Ausgabe ja nun nicht...

Hast du auch ein config-file für dein Target angegeben? Ohne das wirds 
vermutlich nix. Etwa so bei einem Olimex board:

openocd -f interface/altera-usb-blaster.cfg -f 
board/olimex_stm32_h103.cfg

Bitte dann den kompletten Output posten.

Das USB Device is angeschlossen? JTAG header angeschlossen? Target hat 
Strom? lsubs zeigt dir die IDs vom USB Busblaster? Permissions korrekt 
bzw. entsprechendes udev File hat einen Eintrag für dein Device?
von Michael D. (Gast)


Lesenswert?

Najaa, so weit komm ich ja eigentlich gar nicht.. Wenn er nicht mal den 
FTDI Treiber öffnen kann:

> Error: unable to open ftdi device: device not found in procedure 'init'

libusb und libftdi liegen im openocd und im system32 Ordner...



Bzw. unter Linux:

openocd.cfg:

source [find interface/altera-usb-blaster.cfg]
source [find target/stm32.cfg]

Ausgabe beim Aufruf von openocd (openocd.cfg wird automatisch geladen)

Open On-Chip Debugger 0.4.0 (2010-09-16-20:37)
Licensed under GNU GPL v2
For bug reports, read
  http://openocd.berlios.de/doc/doxygen/bugs.html
Error: The specified JTAG interface was not found (usb_blaster)
The following JTAG interfaces are available:
1: ft2232
2: jlink
Command handler execution failed
Error: JTAG interface has to be specified, see "interface" command
Command handler execution failed
von adssad (Gast)


Lesenswert?

Michael D. schrieb:
> Ausgabe beim Aufruf von openocd (openocd.cfg wird automatisch geladen)
>
> Open On-Chip Debugger 0.4.0 (2010-09-16-20:37)
> Licensed under GNU GPL v2
> For bug reports, read
>   http://openocd.berlios.de/doc/doxygen/bugs.html
> Error: The specified JTAG interface was not found (usb_blaster)
> The following JTAG interfaces are available:
> 1: ft2232
> 2: jlink
> Command handler execution failed
> Error: JTAG interface has to be specified, see "interface" command
> Command handler execution failed

Das ist soweit klar, du hast diesmal die 0.4.0 Version benutzt, nicht 
0.5.0, damals gabs vermutlich noch keinen support für den USB Blaster. 
Probier mal das selbe mit der aktuellen Release oder bau aus dem 
aktuellen Quellcode.
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.