Forum: Mikrocontroller und Digitale Elektronik ST-Link V3: USB verlängern auf 20 m


von Erich (Gast)


Lesenswert?

Hallo,

ich habe einen ST-Link V3 und möchte damit ab und zu fest eingebaute 
Platinen über den SWD-Port flashen, die etwas weiter von meinem PC 
entfernt sind. Leider habe ich keinen Laptop und das Hinschleppen von PC 
und Bildschirm ist mir auf Dauer lästig. Ich habe folgende Teile 
gefunden:

https://de.rs-online.com/web/p/usb-extender/8988393/
Verbindet man mit LAN-Kabel, aber hat nur USB1.1. Ob das für ST-Link 
ausreicht?

https://de.rs-online.com/web/p/usb-extender/1448000/
Wären dann schon mal 12 m. Schon mal besser als die üblichen 5m, die 
nach meinem Wissen als Maximalreichweite für USB spezifiziert sind.

Gehen die beiden? Gibt es Geräte, die definitiv die 20m in Verbindung 
mit dem ST-Link V3 schaffen?

- Erich-

von kenny (Gast)


Lesenswert?

Erich schrieb:
> https://de.rs-online.com/web/p/usb-extender/1448000/
> Wären dann schon mal 12 m. Schon mal besser als die üblichen 5m, die
> nach meinem Wissen als Maximalreichweite für USB spezifiziert sind.
>
> Gehen die beiden? Gibt es Geräte, die definitiv die 20m in Verbindung
> mit dem ST-Link V3 schaffen?

Artikel Beschreibung gelesen?
"Erweiterung auf bis zu 36 m (das dritte aktive Repeaterkabel kann 200 
mA bereitstellen)"

von Johannes O. (jojo_2)


Lesenswert?

Alternative: Nimm ein Raspberry Pi. An das kannst du direkt den ST-Link 
hängen. Strom wird es vermutlich dort geben? Falls es WLAN auch gibt hat 
es sich bereits erledigt. Ansonsten brauchst du nur noch ein 20m 
LAN-Kabel. Das ist deutlich billiger und zuverlässiger und vor allem 
auch für 20+ Meter vorgesehen.

Preislich wird nicht so viel um sein...

von georg (Gast)


Lesenswert?

Erich schrieb:
> Gehen die beiden? Gibt es Geräte, die definitiv die 20m in Verbindung
> mit dem ST-Link V3 schaffen?

Ich habe mit solchen Extendern mal die Telefonanlage zur Programmierung 
an den PC angeschlossen, für solche kleinen Datenmengen ging das 
einwandfrei. Für eine Festplatte in 20 m Entfernung ist das nicht 
gedacht.

Es gibt auch USB over Ethernet, praktisch ohne Entfernungsbeschränkung, 
aber das funktioniert nicht immer und ist auch viel teurer.

Georg

von Erich (Gast)


Lesenswert?

georg schrieb:
> Für eine Festplatte in 20 m Entfernung ist das nicht
> gedacht.

Es ist auch keine Festplatte, sondern ein Mikrocontroller in einem 
selbst entwickelten Gerät.

von Erich (Gast)


Lesenswert?

Johannes O. schrieb:
> Alternative: Nimm ein Raspberry Pi. An das kannst du direkt den ST-Link
> hängen. Strom wird es vermutlich dort geben? Falls es WLAN auch gibt hat
> es sich bereits erledigt. Ansonsten brauchst du nur noch ein 20m
> LAN-Kabel. Das ist deutlich billiger und zuverlässiger und vor allem
> auch für 20+ Meter vorgesehen.

Und wie soll das gehen? Habe mit Raspberry Pi bislang Null Erfahrung.
Verbindung PC zum Raspbery Pi per LAN oder WLAN ist auch noch klar, aber 
das Programmierprogramm auf dem PC (STM32CubeProgrammer) will auf USB 
zugreifen und nicht auf WLAN oder LAN. Das wird dann den ST-Link V3 
nicht finden.

von Erich (Gast)


Lesenswert?

Oder gibt es einen Flasher/Debugger mit LAN oder WLAN bis 200 €? Von 
Segger gibt es beides, aber halt deutlich teurer als 200 €. Für den 
täglichen Gebrauch ist der Preis von Segger OK, aber nicht, wenn man das 
Teil privat nur 1 Mal im Monat benötigt.

von temp (Gast)


Lesenswert?

Ich verwende bei mir so etwas in Verbindung mit einem J-Link EDU V8:

https://www.amazon.de/LogiLink-Verl%C3%A4ngerungskabel-%C3%BCber-CAT5-Meter/dp/B001TOG6MM

Es sind sicher keine 20m, aber wenn die USB-Signale differenziell auf 
die CAT 5 Adern gebracht werden sollten auch 20m keine Rolle spielen. 
Ich denke ehr entweder es geht egal ob mit kurzem oder langen Kabel oder 
es geht überhaupt nicht.
In wieweit die neueren j-Link Versionen auch gehen weiß ich nicht. Auf 
alle Fälle ist so etwas einen Versuch wert. Wenn es nicht geht hat man 
ja ein Widerrufsrecht. Versuch macht klug.

von georg (Gast)


Lesenswert?

Erich schrieb:
> Von
> Segger gibt es beides, aber halt deutlich teurer als 200 €

Die Extender sind USB-konform und erheblich billiger:

https://de.rs-online.com/web/p/usb-extender/1448000

Die bekommt man auch in jedem Computerladen.

Georg

von Larry (Gast)


Lesenswert?

> sollten auch 20m keine Rolle spielen

So naheliegend die Ansicht wegen des Buzzwords "differenziell"
auch sein mag, so falsch ist sie auch.

Die 5 m ruehren von den Laufzeiten im Kabel her.
Das kann selbst ein Cat 7 Kabel aber auch nicht besser.

Billiger als ein RPi ist unter Umstaenden ein altes Notebook.
Das kann man dann per WLAN/LAN und RDP in Fernbedienung nehmen.
Das BIN/HEX-File muss man dann auf dieses Notebook kopieren
und kann es dann mit STM32 ST-LINK Utility auf das Zielsystem
flashen.

von Johannes S. (Gast)


Lesenswert?

Mit einem Programmer über LAN habe ich mich die letzten Tage auch 
beschäfftigt, ich habe das mit einem F407 Board + Eth LAN8720 
hinbekommen, etwa 20 € HW Kosten. Mit modifizierter Black Magic Probe 
Software in Mbed eingebaut. Das funktioniert sehr zuverlässig, nur der 
H743 spielt nicht richtig mit.
Ich hatte da auch einen Thread aufgemacht weil ich erst RPi+STLink oder 
BMP nehmen wollte, aber der µC kann das auch in einem.
Beitrag "Black Magic Probe für PC (hosted) in WSL kompilieren"
Noch billiger wird es wenn das hier funktioniert:
https://github.com/Ebiroll/esp32_blackmagic
Dann aber über WLAN.

von temp (Gast)


Lesenswert?

georg schrieb:
> Die Extender sind USB-konform und erheblich billiger:
>
> https://de.rs-online.com/web/p/usb-extender/1448000
>
> Die bekommt man auch in jedem Computerladen.

Aber nicht so universell verwendbar wie mit einem CAT5 Kabel. 3 
hintereinander stecken ist doch wohl Mist. Da ist die Variante ein 
beliebiges LAN-Kabel zu verwenden wesentlich angenehmer.

von temp (Gast)


Lesenswert?

Larry schrieb:
> So naheliegend die Ansicht wegen des Buzzwords "differenziell"
> auch sein mag, so falsch ist sie auch.
>
> Die 5 m ruehren von den Laufzeiten im Kabel her.
> Das kann selbst ein Cat 7 Kabel aber auch nicht besser.

bei 5ns/m beträgt die Laufzeit 100ns bei 20m. 10m habe ich auch 
wenigstens und es geht zuverlässig. Die Laufzeit ist auch nicht das 
alleinige Kriterium. Solange die Signale sauber sind spielt es nicht die 
entscheidende Rolle ob sie 100ns früher oder später kommen. Sauber 
bleiben sie aber nichr mit den normalen USB-Treibern bei langen 
Leitungen.
Die Treiber für die USB-Leitungen sind nicht für lange Leitungen 
ausgelegt und da hilft eine ordentliche Umsetzung und eine passendes 
Kabel schon.
Bei Preisen von unter 20€ würde ich das ausprobieren bevor ich mir so 
ein Geraffel wie einen Raspberry antun würde.

von Jens M. (schuchkleisser)


Lesenswert?

Man kann auch einfach eine Kette aus Hubs bauen, das ist so schnell wie 
man will, und funktioniert zuverlässig.
Wenn der letzte einer mit Netzteil ist (und idealerweise jeder (zweite) 
mittendrin auch), funzt das auch mit Festplatten ;)

Für Daueranwendung würde sich evtl. empfehlen, z.B. einen Rpi mit 
VirtualHere dort zu parken, den kann man via LAN ansprechen und am PC 
als normalen USB-Port nutzen.

von Jan P. (Gast)


Lesenswert?

Erich schrieb:
> Oder gibt es einen Flasher/Debugger mit LAN oder WLAN bis 200 €?

Ein esp8266/esp32 mit passender Software?

von Johannes S. (Gast)


Lesenswert?

Jan P. schrieb:
> Ein esp8266/esp32 mit passender Software?

habe ich doch schon verlinkt, gefällt dem Volk nicht.

von Christopher J. (christopher_j23)


Lesenswert?

Johannes S. schrieb:
> Mit einem Programmer über LAN habe ich mich die letzten Tage auch
> beschäfftigt, ich habe das mit einem F407 Board + Eth LAN8720
> hinbekommen, etwa 20 € HW Kosten.

Ohne jetzt deine Arbeit bezüglich der BMP schlechtreden zu wollen, meine 
ich, dass eine Lösung mit einem RPi sehr viel einfacher ist (wenn auch 
vielleicht nicht unbedingt günstiger).

OpenOCD fungiert doch per se als GDB-Server und wenn man in seiner 
GDB-Init "localhost" durch den "remote host" ersetzt, dann sollte das 
ohne weiteres funktionieren. Man muss eben nur vorher OpenOCD auf dem 
remote host (RPi, o.Ä.) starten.

von Johannes S. (Gast)


Lesenswert?

OOCD muss man nur für jedes Target über die Konfiguration anpassen, BMP 
erkennt das beim SWD scan und fertig. Geht natürlich nur mit denen die 
in BMP eingebaut sind, aber das sind schon eine Menge wie die meisten 
STM, NXP, Nordic, EFM und andere.
Für den RPi habe ich auch eine Portierung von BMP gefunden, ist aber 
recht alt. Dann ist noch interessant das der RPi MIMO kann was die 
meisten µC nicht können. Damit kann man SWD über SPI machen und ich habe 
einen Blog gefunden wo das mit 30 MHz läuft, auch nicht schlecht (da 
wurde auch OOCD benutzt).
Und die Variante mit dem ESP32 habe ich auch gebaut, man muss nur die 
ganze ESP Umgebung mit esp-sdk, esp-idf und esp-rtos bauen. Dann will es 
ein neues cmake haben was nicht in der distri ist und gesucht oder 
selber gebaut werden muss. Aber es funktioniert, damit hat man für ein 
paar € einen Programmer/Debugger per WLAN. Mit einem F103 hat es 
funktioniert, nur mein H743 zickt rum, genau wie an meiner LAN Lösung. 
Der macht irgenwas anders, aber das ist mein Einzelschicksal und soll 
hier nicht das Thema sein.

von Uwe Bonnes (Gast)


Lesenswert?

Mach doch mal eine PR mit dem F407 SPI-SWD Algorithmus. Dann kann ich 
das mit einem F4 Disco oder F4/7 Nucleo-144 probieren.

von Johannes S. (Gast)


Lesenswert?

Ja, gerne. Wenn möglich vorher mal über Discord quatschen, ist viel zu 
erklären...
Aber solche Ausreißer sind nicht der Maßstab, BMP funktioniert mit den 
meisten uC Top und einfacher als oocd.
Und auf dem F407 geht es auch nur mit Bitbanging, SPI Fullduplex mit 
Tricks kann nur der RPi.
Im STM Forum gibts noch ein snippet für SPI senden/Bit Bang lesen. Aber 
ist hier OT.
Der TO hat bestimmt schon eine USB Verlängerung bestellt.

von Ulli E. (Gast)


Lesenswert?

Johannes S. schrieb:
> Für den RPi habe ich auch eine Portierung von BMP gefunden, ist aber
> recht alt. Dann ist noch interessant das der RPi MIMO kann was die
> meisten µC nicht können.

grr - SPI MIMO kollidiert mit Funk MIMO. Hast du mal 'ne URL dazu?

von Ich (Gast)


Lesenswert?

Wir haben auf Arbeit sehr gute Erfahrungen mit dem Teil hier gemacht:
https://www.amazon.de/DeLock-Kabel-USB-Verlaengerung-aktiv/dp/B004271QB4

~100 MBit mit knackigen Timings kein Problem, mehr haben wir noch nicht 
getestet. Auch mit STLink V2 mehrfach problemlos verwendet.

von Johannes S. (Gast)


Lesenswert?

Ulli E. schrieb:
> grr - SPI MIMO kollidiert mit Funk MIMO. Hast du mal 'ne URL dazu?

https://medium.com/@ly.lee/openocd-on-raspberry-pi-better-with-swd-on-spi-7dea9caeb590

von Joachim B. (jar)


Lesenswert?

georg schrieb:
> Es gibt auch USB over Ethernet, praktisch ohne Entfernungsbeschränkung,
> aber das funktioniert nicht immer und ist auch viel teurer.

ich programmiere meinen nano328p über Sharkoon USB Webserver 100/400 
aber am Nano musste ich im Bootloader die Baudrate senken statt optiboot 
mit mit 1M, 57k6 geht grad so auch für wUSB hama.

von Erich (Gast)


Lesenswert?

temp schrieb:
> Ich verwende bei mir so etwas in Verbindung mit einem J-Link EDU V8:
> 
https://www.amazon.de/LogiLink-Verl%C3%A4ngerungskabel-%C3%BCber-CAT5-Meter/dp/B001TOG6MM

Habe auch das Teil gekauft. Mit dem ST-Link habe ich es noch nicht 
probiert, aber mit dem Segger-Debugger geht es schon mal. Vielen Dank!

von Guido Körber (Gast)


Lesenswert?

USB Extender sind so was wie Zufallsgeneratoren. Manchmal gibt es 
Konfigurationen, in denen sie funktionieren.

Um das USB Signal anders zu verpacken und irgendwo hin zu tunneln, 
bräuchte man eine Zeitmaschine, sonst kann man das Protokoll nicht 
einhalten. Dementsprechend funktioniert das halt nur, wenn man Glück hat 
eine Gerätekombination zu benutzen, die mit der Protokollverletzung klar 
kommt.

Was funktioniert, sind die USB Server. Also Remote Host Controller. Der 
hängt im Ethernet und der USB Host ist im USB Server drin, damit wird 
das Timing eingehalten und fast alle Geräte funktionieren damit.

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.