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
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.
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
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.
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
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?
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
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?
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
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.