Forum: Mikrocontroller und Digitale Elektronik Neues STM32F4 Discovery Eclipse Treiber Problem


von Ava A. (avadis)


Lesenswert?

Hallöle,

hab mein altes STM32F4 und Prog damit im Eclipse - Alles wunderbar. Nun 
habe ich ein neues gekauft und Eclipse erkennt es nicht.
Das neue Board hat anscheinend nen neuen Treiber?! Wird auch Standard 
als Massenspeicher erkannt.

ST-Link Utility findes das neue Board Problemlos.

Eclipse sagt:

Error in final launch sequence
Failed to execute MI command:
-target-select remote localhost:3333
Error message from debugger back end:
localhost:3333: Das System hat versucht, einem Verzeichnis, das sich auf 
einem mit JOIN zugeordneten Laufwerk befindet, ein Laufwerk mit SUBST 
zuzuordnen.


Jemand ne Idee wie Eclipse das neue Board erkennt?!

von Jim M. (turboj)


Lesenswert?

Starte mal OpenOCD außerhalb von Eclipse von cmd aus, dann könnte man 
auch mal ordentliche Fehlermeldungen lesen.

von Dr. Sommer (Gast)


Lesenswert?

Alternativ: Flashe die J-Link Firmware auf das Discovery, damit hat man 
praktisch nie irgendwelche Treiberprobleme, und schneller gehts auch 
noch:

https://www.segger.com/jlink-st-link.html

Beitrag "Segger J-Link debug probe for STM32"

von Harry L. (mysth)


Lesenswert?

Wenn das neue Board einen Massenspeicher bereit stellt, ist das ein 
ST-Link V2.1. (ohne Massenspeicher es ein ST-Link V2.0)
Das muß man auch dem OpenOCD mitteilen (im Eclipse unter 
Debugging-Configuration)

Harry

von Ava A. (avadis)


Lesenswert?

@Jim Meba
Wo kann ich mir denn genau eine Consolenausgabe geben? (Win8)

@Dr. Sommer
Das wäre eine Notlösung

@Harry L.
ganz genau! Wo kann ich denn diese Einstellung genau vornhemen?
Debug Configuration -> GDB OpenOCD Debugging -> Projektname Debug -> 
(Rechte Fenster) Debugger .... -> Und woher weis ich was ich dort 
einzutragen habe?


Danke für die Antworten :)

von Harry L. (mysth)


Lesenswert?

<Projekt-Name> im Projekt-Explorer-> Debug as->Debug Configuration

von Ava A. (avadis)


Angehängte Dateien:

Lesenswert?

Ist der gleiche weg :)

Wo kann ich das dort umstellen? Bzw. was muss ich dort ändern (siehe 
screenshot)

@Jim Meba
Hoffe du kannst damit etwas anfangen ... ich nicht:


C:\Program Files\GNU ARM 
Eclipse\OpenOCD\0.10.0-201601101000-dev\bin>openocd -f
board/stm32f4discovery.cfg
GNU ARM Eclipse 64-bits Open On-Chip Debugger 
0.10.0-dev-00287-g85cec24-dirty (2
016-01-10-10:13)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The 
results mi
ght differ compared to plain JTAG/SWD
adapter speed: 2000 kHz
adapter_nsrst_delay: 100
none separate
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : clock speed 1800 kHz
Error: open failed
in procedure 'init'
in procedure 'ocd_bouncer'

von Ava A. (avadis)


Angehängte Dateien:

Lesenswert?

Um das Problem weiter zu verdeutlichen:
Ein Screenshot vom ST-Link zum ALTEN Board und zum neuen Board

von Ava A. (avadis)


Lesenswert?

Alsooo Lösung gefunden!

Hilfe war:
Beitrag "openOCD + ST Link V2 + OS X = usb open failed"
allerdings auf Linux bezogen. Unter Windoof gehts aber auch:


HINWEISE (auf meinem Rechner):
Der Verweis auf den richtigen Treiber:
C:\Program Files\GNU ARM 
Eclipse\OpenOCD\0.10.0-201601101000-dev\scripts\interface

Dort findet man:
stlink-v1.cfg
stlink-v2.cfg
stlink-v2-1.cfg    <-- Diesen wollen wir

Im Pfad:
C:\Program Files\GNU ARM 
Eclipse\OpenOCD\0.10.0-201601101000-dev\scripts\board

Findet man:
stm32f4discovery.cfg

Wie ihr ja wisst gebt ihr bei den GDB OpenOCD Debug Configurations als 
Config Options: -f board/stm32f4discovery.cfg an.


Unter cmd zum testen:
C:\Program Files\GNU ARM
Eclipse\OpenOCD\0.10.0-201601101000-dev\bin>openocd -f 
board/stm32f4discovery.cfg

Erolgreich sieht so aus:
...
Info : STLINK v2 JTAG v25 API v2 SWIM v13 VID 0x0483 PID 0x374B
Info : using stlink api v2
Info : Target voltage: 2.911032

Nicht erfolgreich:
...
Error : open failes
in procedure 'init'
in procedure 'ocd_bouncer'



LÖSUNG:
Im Verzeichnis:
C:\Program Files\GNU ARM 
Eclipse\OpenOCD\0.10.0-201601101000-dev\scripts\board

Eine neue Datei erstellen mit z.b. dem Namen stm32f4discovery_v2.cfg

Den Inhalt aus der stm32f4discovery.cfg kopieren und in der neu 
erstellen Datei die Zeile:

source [find interface/stlink-v2.cfg]

ändern in:

source [find interface/stlink-v2-1.cfg]


Nun in Eclipse bei den Config Options das ganze noch anpassen:
-f board/stm32f4discovery_v2.cfg


fertig.





Nebenbei bemerkt:
Ich habe sehr sehr viele Beiträge gefunden, wo die Leute auf alternative 
Lösungen hinweisen, aber das Problem selbst nicht bewältigt wird. Zwar 
ist es schön Alternative Möglichkeiten zu haben, aber dies ist nicht die 
Lösung zum Kern der Frage.
Dies beobachte ich immer mehr, das Leute vom eigentlichen Problem 
weggehen.
Wie z.b. "Wie programmiere ich Ports in einem Atmega8"
Antwort: "Kauf die nen 8051, ist besser"
usw.
Wollte ich nur mal anmerken...


Danke dennoch für die Versuche

von Dr. Sommer (Gast)


Lesenswert?

Ava A. schrieb:
> Dies beobachte ich immer mehr, das Leute vom eigentlichen Problem
> weggehen.

So ist das, wenn man andere Menschen fragt. Wenn du keine 
Alternativ-Vorschläge hören willst, frag niemanden und such alles 
selber. Btw ist die JLink-Firmware alles andere als eine Notlösung und 
der ST-Link-Firmware in fast allen Punkten überlegen (insbesondere(!) 
hinsichtlich des Supports der OpenSource-Toochains mit GDB/GCC), kann 
nur anscheinend kein SWO.

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.