Forum: Mikrocontroller und Digitale Elektronik Segger J-Link Adapter mit eigenem Skript steuern?


von Olli Z. (z80freak)


Lesenswert?

Kennt jemand einen Weg wie ich mit einem lokal auf einem PC ausgeführten 
PHP-Skript einen ebenfalls dort angeschlossenen J-Link steuern kann? Per 
COM Emulation oder Telnet?
Mein Ziel wäre es lowlevel JTAG Sequenzen zu senden und zu empfangen.

von Olaf (Gast)


Lesenswert?

Keine Ahnung was PHP ist, aber in C++ ging das einfach auf localhost 
nachdem man die Anleitung vom Segger gelesen hat und den gdbserver 
gestartet hat.

Olaf

von Olli Z. (z80freak)


Lesenswert?

"Die Anleitung", genau - zum Glück gibts da ja nur eine, mit 20 Seiten 
wo alles sofort verständlich drin steht... :-7
Spaß beiseite, ich geb Dir ja recht. Wenn man sich auskennt weiss man 
auch wo man sich informieren kann. Deswegen ist der Tipp mit dem 
GDB-Server schonmal gut, dann hab ich wenigstens einen Ansatz zum 
suchen.

Und PHP ist eine Skriptsprache, welche häufig auf Webservern für 
entsprechende Software genutzt wird. Da einfach mal die Anleitung lesen, 
dann weißt Du schon bescheid, Olaf ;-)

von Olaf (Gast)


Lesenswert?

> "Die Anleitung", genau - zum Glück gibts da ja nur eine, mit 20 Seiten
> wo alles sofort verständlich drin steht... :-7

Noe. Zum Glueck ist die Anleitung bei Segger etwas dicker. :-)

> Wenn man sich auskennt weiss man
> auch wo man sich informieren kann. Deswegen ist der Tipp mit dem
> GDB-Server schonmal gut, dann hab ich wenigstens einen Ansatz zum
> suchen.

Da gibt es nicht viel auszukennen. In der Anleitung das Kommando finden 
das man nutzen will. Oh..und bei gdb auch die gdb-Einleitung lesen. Die 
kann man einfach mit info lesen weil sie normalerweise schon auf dem 
Rechner ist, (sonst im Internet) und dann das Kommando als ASCII an den 
Gdbserver schicken. Das hat bei mir sofort geklappt. Bei segger stehen 
dann noch die spezialbefehle (monitor xxx).
War wirklich sehr einfach und hat sofort funktioniert. Ich war sehr 
positiv ueberrascht. Ich hab mir ein Tool geschrieben mit dem ich 
Variableninhalten zur Laufzeit grafisch darstellen kann.

> Und PHP ist eine Skriptsprache,

Ach, da haben wir doch schon das boese Wort. :-)

Olaf

von Jim M. (turboj)


Lesenswert?

Olli Z. schrieb:
> Mein Ziel wäre es lowlevel JTAG Sequenzen zu senden und zu empfangen.

Da hätte ich eher OpenOCD und dessen Telnet oder TCL Port versucht. Das 
hätte low Level Kommandos wie "drscan" und "irscan", siehe Doku.

Allerdings hat man da unter Windows ein dickes Treiberproblem, den 
OpenOCD spielt IIRC nicht mit dem Segger Treiber zusammen. Soll die 
Segger Software nicht komplett totgestellt sein, hilft IIRC nur der 
Libusb-win32 Filter Treiber. Unter Linux aber kein Problem.

Seggers GDB Server würde IMHO keinen Low-Level JTAG Zugriff erlauben, 
aber jede Menge higher Level Sachen falls der µC-Core unterstützt wird.

von Erik (Gast)


Lesenswert?

Das kannst du über die Segger API machen. Kostet allerdings etwas.

von Olaf (Gast)


Lesenswert?

> Das kannst du über die Segger API machen. Kostet allerdings etwas.

Hm..das koennte natuerlich sein. Ich hab nur die mem Befehle genutzt um 
Speicherstellen auszulesen.

Im Prinzip muessen wir also nur solange hier doof rum diskutieren und 
den Thread nach oben holen bis ein Mitarbeiter von Segger bestaetigt das 
dies nur gegen Extrakohle moeglich ist. :-)
Vorstellen koennte ich mir das schon, die hatten ja teilweise eine sehr 
merkwuerdige Salami-Lizenz-politik bis sie von der Konkurrenz geerdet 
wurden.

Olaf

von Olaf (Gast)


Lesenswert?

Noch ein Tip: Eine der Gruende warum ich sagte das die Ansteuerung so 
einfach ist. Man kann in einem Fenster einen Wireshark offen haben und 
sich ganz einfach die Pakete anschauen die dort ping-pong spielen. So 
kommt man Fehlern sehr schnell auf die Spur.

Olaf

von Erik (Gast)


Lesenswert?

Olaf schrieb:
> Mitarbeiter von Segger

Das setzt vorraus, dass ein solcher Mitarbeiter das Forum liest. ;)


Frage, wenn du sowieso nur native JTAG machen willst, wieso J-Link?

Du kannst das auch mit FTDI zB MPSSE machen.

von Olli Z. (z80freak)


Lesenswert?

Olaf schrieb:
>> Und PHP ist eine Skriptsprache,
> Ach, da haben wir doch schon das boese Wort. :-)
Was findest Du denn an Skriptsprachen so schlecht? Für kleine schnelle 
Umsetzungen oder POC's find ich die recht praktisch, weil man sich nicht 
mit der ganzen Typisierung aufhalten muss. Ich kann zwar auch ein 
bischen C aber für ganze Applikationen reichts dann nicht, das mache ich 
dann halt mit PHP.

Olli...

von Olli Z. (z80freak)


Lesenswert?

Erik schrieb:
> Das kannst du über die Segger API machen. Kostet allerdings etwas.

Ja, das war genau die Antwort die ich befürchtet habe! :-)
Ok, als Option zum Segger hätte ich auch noch einen USB-Blaster (Clone). 
Vielleicht gehts mit dem besser?

Wenn alles nichts hilft leg ich mir auch nen FT2232C zu.

Ich will wirklich LOW-LEVEL (Bitbang) machen. Als Lernübung und da will 
ich genau wissen was da läuft und mich (noch) nicht auf irgendwelche 
Metakommandos stützen.

: Bearbeitet durch User
von Erik (Gast)


Lesenswert?

Olli Z. schrieb:
> Ich will wirklich LOW-LEVEL (Bitbang) machen. Als Lernübung

Dann ist der Segger wirklich die schlechteste Wahl...

Nimm nen alten PC mit Parallelport...

von Olli Z. (z80freak)


Lesenswert?

Erik schrieb:
> Nimm nen alten PC mit Parallelport...

Hab ich leider nicht zur Verfügung. Hatte schonmal angefang was für nen 
Arduino zu schreiben, via Serial und den die Signale steuern zu lassen. 
Aber eigentlich wollte ich nicht noch erst ein Framework schreiben, 
sondern an meiner eigentlichen Aufgabe arbeiten...

Da war meine leise Hoffnung, das das Kommunikationsprotokoll soweit 
bekannt sei, das man den Teil „einfach nur“ die passenden Befehle senden 
muss.

von Erik (Gast)


Lesenswert?

Dafür macht die Segger DLL ohne API einfach zu viel magic.

von guest (Gast)


Lesenswert?

Erik schrieb:
> Das setzt vorraus, dass ein solcher Mitarbeiter das Forum liest. ;)

Keine Sorge, zumindest einer tut das: Til Stork
https://www.mikrocontroller.net/user/show/til_s

von Til S. (Firma: SEGGER) (til_s)


Lesenswert?

guest schrieb:
> Erik schrieb:
>> Das setzt vorraus, dass ein solcher Mitarbeiter das Forum liest. ;)
>
> Keine Sorge, zumindest einer tut das: Til S.
> https://www.mikrocontroller.net/user/show/til_s

Halte ich für ein Gerücht... ;-).

Spezielle Fragen zu J-Link am besten direkt bei uns im Forum posten, 
https://forum.segger.com/

von Olli Z. (z80freak)


Lesenswert?

Til S. schrieb:
> Spezielle Fragen zu J-Link am besten direkt bei uns im Forum posten,
> https://forum.segger.com/
Hab ich schon gemacht, aber die Antworten, wenn denn überhaupt mal was 
kam, waren so nichtssagend das ich da keinen Sinn drin sehe. Vielleicht 
liegt es daran das ich nur so ein popelkunde mit nem J-Link Edu bin und 
nicht 0,5-1k€ ausgegeben hab...

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Olli Z. schrieb:

> Hab ich schon gemacht, aber die Antworten, wenn denn überhaupt mal was
> kam, waren so nichtssagend das ich da keinen Sinn drin sehe. Vielleicht
> liegt es daran das ich nur so ein popelkunde mit nem J-Link Edu bin und
> nicht 0,5-1k€ ausgegeben hab...

Kann ich nicht bestätigen. Ich habe bis jetzt auf jede Frage im Segger 
Forum eine vernünftige Antwort bekommen. Hast Du ein Beispiel?

von Til S. (Firma: SEGGER) (til_s)


Lesenswert?

Torsten R. schrieb:
> Olli Z. schrieb:
>
>> Hab ich schon gemacht, aber die Antworten, wenn denn überhaupt mal was
>> kam, waren so nichtssagend das ich da keinen Sinn drin sehe. Vielleicht
>> liegt es daran das ich nur so ein popelkunde mit nem J-Link Edu bin und
>> nicht 0,5-1k€ ausgegeben hab...
>
> Kann ich nicht bestätigen. Ich habe bis jetzt auf jede Frage im Segger
> Forum eine vernünftige Antwort bekommen. Hast Du ein Beispiel?

Aus unserer Webseite:
"Limitations
Licensing and Support
J-Link EDU may only be used for non-commercial purposes. J-Link EDU does 
not include support."

D.h. du hast zwar keinen Anspruch auf Support aber eigentlich wird 
trotzdem versucht jedem weiterzuhelfen. Aber bei der Menge an Fragen 
kann natürlich auch mal eine schlechte Antwort dabei sein. Dann einfach 
in dem Thread nochmal nach Details fragen.

von Bernd K. (prof7bit)


Lesenswert?

Ich weiß ja nicht was Deine Low-Level Jtag Befehle letztendlich genau 
zum Ziel haben oder was unterm Strich dabei rauskommen soll wenns fertig 
ist, aber für viele simple praxisrelevante Vorgänge wie Speicher lesen 
oder Flash programmieren und noch ein paar andere Sachen kann man den 
J-link commander scriptgesteuert benutzen. Vielleicht reicht das ja 
schon für Deine Zwecke.

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.