www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik OpenOCD-USB ARM Debugger aus dem Shop in Betrieb nehmen


Autor: Kjartan Ferstl (kjartan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich verzweifle momentan ein wenig an dem OpenOCD-USB Debugger aus dem 
Shop.
Ich habe schon verschiedenes probiert (Linux, WinXP, Win7) und bekomme 
das Ding einfach nicht zum laufen.

Mein aktueller Standpunkt:
* Win7 Ultimate 64Bit
* OpenOCD-USB: http://www.embedded-projects.net/index.php?page_id=256
* YAGARTO Tools installiert
* YAGARTO GNU ARM Toolchain installiert
* OpenOCD Server 0.4.0 installiert: 
http://www.freddiechopin.info/index.php/en/downloa...

Die Treiber habe ich Windows7 selbst installieren lassen (Windows Driver 
Database), daraus ergeben sich folgende neue Devices:
* USB Serial Converter A
* USB Serial Converter B
* USB Serial Port (COM7)
* USB Serial Port (COM8)

Mit dem OpenOCD Server wurden auch bereits ein .cfg Datei Namens: 
"openocd-usb.cfg" mitgeliefert:
#
# Hubert Hoegl's USB to JTAG
#
# http://www.hs-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.html
#

interface ft2232
ft2232_vid_pid 0x0403 0x6010
ft2232_device_desc "Dual RS232"
ft2232_layout "oocdlink"
ft2232_latency 2
vid und pid Stimmen auch mit dem Windows Hardware-Manager überein

cmd.exe:
C:\Users\Kjartan>openocd --file interface\openocd-usb.cfg
Open On-Chip Debugger 0.4.0 (2010-02-22-19:05)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
Error: unable to open ftdi device: device not found
Command handler execution failed

der Versuch mit einer geänderten Config:
ft2232_device_desc "USB Serial Converter A"
leider auch erfolglos.

Bitte helfen ;)

Gruß,
Kjartan

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

Bewertung
0 lesenswert
nicht lesenswert
Kjartan Ferstl schrieb:

>[...]
> * OpenOCD Server 0.4.0 installiert:
> http://www.freddiechopin.info/index.php/en/downloa...
>[...]
Dort steht: "[...] Due to alleged GPLv2 license incompatibility of using 
ftd2xx.dll libraries[...]". Weitere Hinweise und Gründe dafür ebenda.

>[...]
> Die Treiber habe ich Windows7 selbst installieren lassen (Windows Driver
> Database), daraus ergeben sich folgende neue Devices:
>[...]

Das dürften die Treiber von FTDI sein, die über genannte "ftd2xx.dll" 
angesteuert werden. Für eben diese ist in der kompilierten 
OpenOCD-Fassung von F.C. keine Unterstützung enthalten.

Entweder OpenOCD mit eingebautem Support for FTDI-Treiber verwenden 
(dazu muss man "dank" Lizenz OpenOCD selbst kompilieren), dann kann man 
die bereits installierten Treiber von FTDI verwenden, oder die FTDI 
Treiber durch libftdi/libusb ersetzten, damit funktioniert dann auch 
"openocd.exe" von F.C.s Seite.

Autor: Kjartan Ferstl (kjartan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, werde gleich mal probieren das selbst zu kompilieren

Autor: Kjartan Ferstl (kjartan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Teil 1 geschafft, für Leute mit den gleichen Problem gibts hier was 
ich gemacht habe: Verbindung zum Board funktioniert:
C:\Users\Kjartan\Desktop>openocd --file interface/openocd-usb.cfg --file board/olimex_stm32_h103.cfg
Open On-Chip Debugger 0.4.0 (2010-02-22-19:05)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
1000 kHz
jtag_nsrst_delay: 100
jtag_ntrst_delay: 100
Info : clock speed 1000 kHz
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba0
0, ver: 0x3)
Info : JTAG tap: stm32.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410
, ver: 0x1)
Info : stm32.cpu: hardware has 6 breakpoints, 4 watchpoints
habe Dank dem Tipp von Martin Thomas gelößt, indem ich die von Windows 
automatisch installierten Treiber mit denen von 
http://sourceforge.net/apps/trac/libusb-win32/wiki überschrieben habe 
(beim Download liegen praktische Installer bei, auch für 64Bit).
Als .cfg für das Board habe ich die board/olimex_stm32_h103.cfg 
genommen, hat den gleichen Cortex-M3 Chip drauf und scheint zu 
funktionieren (außer dem Controller steht in der Config ja nichts).

Teil 2 (bitte helfen):
Wie bekomme ich jetzt ein .hex File auf den Controller (würde das am 
liebsten mit einem Klick in Eclipse machen ;)

Teil 3 (bitte helfen):
Ein kleines Hallo World Programm Compilieren, habe installiert (alles 
aktuell):
* Eclipse 3.6.0 + CDT 7.0.1
* GNU ARM Eclipse Plug-in 0.5.3.201010131144
* Code Sourcery G++ Toolchain installiert
Ein Projekt mit G++ Toolchain erstellt und ein fertiges (irgendwo 
runtergeladen für nen STM32 103..), bei "built project" bekomme ich 
immer:
**** Build of configuration Release for project stm32test ****

cs-make all 
C:\Program: C:\Program: No such file or directory
cs-make: *** [main.o] Error 127

Wäre toll wenn mir bei Teil2 und 3 helfen könnte ;)

Wenn ich das Ding irgendwann zum laufen bekomme werde ich mal EINE 
Anleitung schreiben (für eine funktionierende Version). Bei meinen 
Suchen im INet lese ich sehr oft, dass es keine vollständige Anleitung 
gibt und daher sehr viele daran scheitern. Hoffentlich packe ich es 
eines Tages ;)

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das hier :


> **** Build of configuration Release for project stm32test ****
>
> cs-make all
> C:\Program: C:\Program: No such file or directory
> cs-make: *** [main.o] Error 127

das ist garantiert "Program Files" verzeichniss. Am besten kurze namen 
und ohne blanks verwenden (sowas wie C:\DevKit\xxxx\yyyy\)

Das ist developer krankheit (und keine Windows krankheit wie oft 
behauptet wird), manche haben immer noch nicht gelernt das man beim 
WinAPI32 andere aufrufe machen sollte als WinAPI, diese 8.3 verblebsel 
nerven manchmal.

Autor: Kjartan Ferstl (kjartan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für deine Hilfreiche Antwort Thomas, ich hatte die Toolchain in
C:\Program Files (x86)\Code Sourcery\
 installiert, jetzt liegt sie in
C:\CodeSourcery\
 und das compilieren funktioniert wunderbar.

Wie bekomme ich mein .hex file jetzt den Controller?
Geht das irgendwie mit OpenOCD und Eclipse oder brauche ich da noch 
etwas?

Gruß,
Kjartan

Autor: Kjartan Ferstl (kjartan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach etwas mehr Recherche habe ich rausgefunden wie ich die .elf Datei 
auf den Controller bringe.
Momentan scheitere ich an den Flash-Adressen, kann man die irgendwo 
umstellen (finde nichts dazu)?
C:\Users\Kjartan\Desktop>openocd -d0 -f interface/openocd-usb.cfg -f target/stm32.cfg -c init -c targets -c "halt" -c "flash write_image erase test.elf" -c "verify_image test.elf" -c "reset run" -c shutdown

Open On-Chip Debugger 0.4.0 (2010-02-22-19:05)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
debug_level: 0
1000 kHz
jtag_nsrst_delay: 100
jtag_ntrst_delay: 100
    TargetName         Type       Endian TapName            State
--  ------------------ ---------- ------ ------------------ ------------
 0* stm32.cpu          cortex_m3  little stm32.cpu          running
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x21000000 pc: 0x080009ac msp: 0x20000a10
auto erase enabled
Error: No flash at address 0x00008000

Error: No flash at address 0x00010968

wrote 0 bytes from file test.elf in 0.021001s (0.000 kb/s)
checksum mismatch - attempting binary compare
Verify operation failed address 0x00008000. Was 0xff instead of 0xf8

Command handler execution failed
test.elf habe ich solange einfach in das openocd Verzeichnis kopiert

Wäre toll wenn mir wer dabei helfen könnte - so kurz vor dem Finish ;)

Autor: Kjartan Ferstl (kjartan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie kann ich die Topic als gelößt markieren? Ich habe es hin bekommen, 
ein kleines anderes Problem bekommt eine neue Topic.

DANKE an alle Helfer ;)

Autor: Markus O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dürfte man auch erfahren, wie du dein problem mit der flashadresse 
gelöst hast? sitze nämlich gerade vor dem gleichen Problem :-/

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.