Forum: Mikrocontroller und Digitale Elektronik STM32 Entwicklungsumgebung, Segger J-Link & Co. - Eure Empfehlung.


von Andreas S. (igel1)


Lesenswert?

Hi Leute,

ich habe für meinen ARM-Einstieg eine eher selten zitierte
IDE mit dem Namen emIDE verwendet (www.emIDE.org).

Die IDE ist klein, übersichtlich, schnell und ist/war für den
ARM-Einstieg mit meinem STM32F4Discovery und meinem STM32F429I-Disco
ziemlich gut geeignet.

Allerdings gibt es seit 3 Jahren kein Update mehr für diese IDE
und ich frage mich, ob Ihr mir als Hobbyist inzwischen ggf. eine
andere IDE empfehlen würdet. (Bin Gelegenheitsprogrammierer, der
sich aus Spaß an der Freud' in ARM eingelesen hat und Kleinprojekte
damit realisiert - vom Temperaturverlaufs-Display bis zum
Digital-Filter. Nix Dolles, aber eben auch nicht nur Blinky)

Folgende Punkte sind mir wichtig bei einer IDE (most important first):

- Kostenlos oder max. 50 EUR
- Keine Code-Limitierung auf N Bytes  (damit entfällt leider Keil)
- Muß unter Win7 64Bit laufen
- Hinreichend Doku im Internet und Support in Foren
- Komfortables Coding (Code-Completion,
     Declaration- & Definition-Lookup, ...)
- Gute Debugging-Unterstützung (optimalerweise mit Semihosting)
- Stabil (= wenig Kinderkrankheiten)
- Wird aktiv weitergepflegt
- Dauert nicht ewig, bis die IDE gestartet ist
- Gute Verwaltung von Projekten inkl. einfaches Kopieren
- (nice to have:) GIT-Repository-Unterstützung

Erfüllt Eure IDE viele der Anforderungen?
Dann gebt mir bitte einen Hinweis darauf.

Und wenn Ihr mir zusätzlich ein paar besondere Vorzüge
(oder Schwächen) Eurer IDE nennt, würde ich mich ebenfalls freuen.

Aber bitte keine Glaubenskriege hier - ich empfinde Threads mit
Glaubenskriegen über IDE's als eher peinlich.

Außerdem noch eine Bonus-Frage:

- Würdet Ihr mir ein Segger J-Link EDU empfehlen?
 (einige schwärmen ja wärmstens davon)

Viele Grüße

Igel1

von Olaf B. (Firma: OBUP) (obrecht)


Lesenswert?

Hallo Andreas,

bei der IDE kann ich Dir leider nicht helfen. Ich arbeite mit 
"CrossWorks for ARM" von Rowley. Kostet aber 150€.

Ansonsten Sublime Text & Makefile. Kann über Plugins bequem erweitert 
werden.
Mein bevorzugter Text-Editor - ob Windows oder Linux.

Segger J-Link EDU ist bei mir im Einsatz. Ist jeden Cent wert. Kann ich 
nur empfehlen.

mfg

Olaf

von Andreas S. (igel1)


Lesenswert?

@Olaf:  Danke schon einmal für die Tipps.

> Segger J-Link EDU ist bei mir im Einsatz. Ist jeden Cent wert.
> Kann ich nur empfehlen.

Höre ich auch von anderen - allein, ich verstehe bislang noch nicht,
was daran so toll ist (wenn man - wie ich - fast nur mit Disco-Boards
mit integriertem ST-Link/V2 arbeitet)?

Viele Grüße

Igel1

von guest (Gast)


Lesenswert?

Olaf B. schrieb:
> bei der IDE kann ich Dir leider nicht helfen. Ich arbeite mit
> "CrossWorks for ARM" von Rowley. Kostet aber 150€.

Gibt es als "Embedded Studio" von Segger mittlerweile kostenlos ("For 
evaluation and non-profit educational purposes only"):
https://www.segger.com/embedded-studio.html

> Segger J-Link EDU ist bei mir im Einsatz. Ist jeden Cent wert. Kann ich
> nur empfehlen.

Kann ich auch empfehlen. Der TO dürfte aber schon einen ST-Link haben, 
der läßt sich eventuell auch zu einem J-Link machen:
https://www.segger.com/jlink-st-link.html

von holger (Gast)


Lesenswert?

>fast nur mit Disco-Boards
>mit integriertem ST-Link/V2 arbeitet)?

Aus dem kannst du einen J-Link für STM32 machen!

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

von Reginald L. (Firma: HEGRO GmbH) (reggie)


Lesenswert?

Ich arbeite mit visualgdb (visualstudio).

von Olaf B. (Firma: OBUP) (obrecht)


Lesenswert?

Andreas S. schrieb:
> Höre ich auch von anderen - allein, ich verstehe bislang noch nicht,
> was daran so toll ist (wenn man - wie ich - fast nur mit Disco-Boards
> mit integriertem ST-Link/V2 arbeitet)?

Ich programmiere nicht nur STM32-Fx, sondern auch ATMEL SAMs, NXP LPCs.
Der EDU kann mit allen ARM Cortex-M umgehen, die ich bis heute im 
Einsatz habe.

Solltest Du Dir ein eigenes Board designen - ohne ST-Link - ist er 
ebenfalls sehr hilfreich. Musst Du nur JTAG oder SWD vorsehen.

mfg

Olaf

von Base64 U. (6964fcd710b8d77)


Lesenswert?

Ich programmiere einen XMC4500 mit einem onboard JLink und habe einen 
JLink EDU.

Die 50€ finde ich komplett gerechtfertigt, bietet eigentlich alles was 
man will. Ich hab ihn mir mal gekauft um einen LPC auf einem Quadcopter 
aus zu lesen, lief unter linux (manjaro und fedora jetzt) problemlos.

Im Endeffekt sind mir meine Zeit und Nerven einfach mehr Wert als mit 
irgendetwas anderem ewig herum zu scheissen.

Sollte es etwas Open Source sein dann schau dir mal die Blackmagic Probe 
an, die STLinks kann man auch auf deren software umflashen.

von Andreas S. (igel1)


Lesenswert?

Danke an alle, die mir hier Feedback gegeben haben!

Die Sache mit CrossWorks / Embedded Studio scheint wirklich sehr
interessant zu sein: erfüllt auf den ersten Blick all meine Wünsche.
(Danke an Olaf und guest dafür)

Und meinen ST-Link/V2 werde ich in der nächsten Zeit ebenfalls
einmal flashen - auch das ist ein guter Hinweis! (Danke an guest
und holger dafür)

Viele Grüße

Igel1

von Ruediger A. (Firma: keine) (rac)


Lesenswert?

WinIdea open mit iTAG50 (letzteren kannst Du Dir entweder selber basteln 
oder bei Amazon für 50 EUR fertig gebaut und geflasht kaufen).

von Pete K. (pete77)


Lesenswert?

Atollic Truestudio ist kostenlos und hat kein Codebeschränkung mehr.

von Andreas S. (igel1)


Lesenswert?

Auf Ruedigers Tipp hin habe ich mich auf der WinIDEA-Seite einmal 
umgeschaut - leider war auf die Schnelle keine Funktionsbeschreibung der 
IDE zu finden.
Auch sonst fand ich etwas wenig Doku dazu im Netz. Ein Youtube-Video der 
Debugging-Möglichkeiten war allerdings recht ansprechend.
Danke für den Hinweis an Ruediger.

Mit Atollic True Studio hatte ich früher meine allerersten 
STM32-Gehversuche gemacht. Gefiel mir auch recht gut. Ich mußte dann 
wegen der Codebeschränkung wechseln. Wenn diese Beschränkung inzwischen 
aufgehoben ist, wäre das in der Tat auch eine interessante Alternative. 
Danke für den Hinweis, Pete.

Viele Grüße

Igel1

von Christopher J. (christopher_j23)


Lesenswert?

Ich würde hier noch QT Creator mit "Bare Metal" Plugin einwerfen.

+ kostenlos und open source, wird garantiert auch die nächsten fünf 
Jahre noch weiterentwickelt
+ unterstützt jeden Compiler und damit natürlich auch GCC-ARM (kein 
code-size Limit)
+ cross platform (ohne Java!)
+ öffnet sich sehr schnell (bei mir in ca. 1s)
+ lässt sich sehr flüssig bedienen
+ Debugging ist sehr komfortabel mit OpenOCD oder st-flash möglich 
(öffnet sich automatisch, wenn konfiguriert)
+ unterstützt prinzipiell jeden GDB-Server, sofern zuvor manuell 
gestartet (auch J-Link)
+ Konfiguration eines OpenOCD-Targets ist absolut transparent
+ sehr gute Git-Integration (auch SVN, Mercurial, CVS, etc.)
+ Projekte lassen sich einfach kopieren/verschieben
+ exzellente semantische Analyse und Syntaxvervollständigung (wenn 
richtig konfiguriert)
+ excellente Unterstützung für CMake
+ transparente Konfiguration von Make-targets

- man muss alles manuell installieren und konfigurieren (Compiler, 
OpenOCD)
- noch kein Support für extended-remote Target (Black Magic Probe)
- kein Elf-Parser für Syntaxanalyse, d.h. #defines müssen manuell im 
Projekt gesetzt werden (wenn nicht CMake genutzt wird)

Der letzte Punkt ist meiner Meinung nach der große Vorteil von 
Eclipse-basierten IDEs. Die gibt es ja heute wie Sand am Meer und 
vielleicht wirst du ja auch mit Atollic oder SW4STM32 glücklich. Die 
werden jedenfalls beide direkt von CubeMX für Projekt-Export unterstützt 
(falls CubeMX dein Ding ist) und auch sonst findest du bei 
Beispielprojekten von ST wahrscheinlich die beste Unterstützung (von den 
kostenlosen IDEs) für Atollic. Für die gilt aber alle, dass es fraglich 
ist ob sie übermorgen noch kostenlos sind (war bei Atollic schonmal der 
Fall bzgl. einer "Lite-Version", wenn ich mich richtig erinnere) oder 
überhaupt noch weiterentwickelt werden (siehe z.B. Coocox). Es gibt auch 
noch die GNU-ARM-Eclipse Plugins mit denen du dir mit wenig Aufwand 
deine eigene IDE aus einem "normalen" Eclipse-CDT bauen kannst (mit 
OpenOCD inkl. Semihosting, usw.).

Hier noch ein paar Links zur QT-Creator Konfiguration:
https://www.bartslinger.com/cx-10-quadcopter/debugging-stm32-from-qtcreator/
https://devzone.nordicsemi.com/blogs/956/nrf52-debugging-with-qtcreator-on-windows/
https://morf.lv/starting-with-nrf51-ble-and-qt-creator
https://github.com/LieBtrau/Aiakos/wiki/STM32L053-Nucleo-toolchain-setup

von Frickelfritze (Gast)


Lesenswert?

Pete K. schrieb:
> Atollic Truestudio ist kostenlos und hat kein Codebeschränkung mehr.

Andreas S. schrieb:
> Wenn diese Beschränkung inzwischen
> aufgehoben ist, wäre das in der Tat auch eine interessante Alternative.

Aber es telefoniert nach Hause .... auch wenn du es nicht willst.
Da hilft nur DSL-Modem oder LAN-Schnittstelle ausschalten.

von C. W. (chefkoch)


Lesenswert?

Ich benutze VisualGDB weil:

Support einwandfrei
Legt mich nicht auf STM32 fest
Eine Umgebung sowohl bei uC als auch bei PC Projekten
Läuft einfach

von ui (Gast)


Lesenswert?

Auch wenn es (anscheinend) nicht sonderlich beliebt ist möchte ich doch 
noch einen Klassiker ansprechen:
Eclipse. Was werden jetzt die meisten denken? Dieses scheiß langsame 
Ding.
Ja. Ich konnte schon viele (vielleicht zu viele) IDEs ausprobieren und 
Eclipse ist einfach da schon gut. Man kann alles machen was man will, im 
Endeffekt hat man nur einen sehr guten Editor für die Bare-Metal 
Programme (also gcc und die ganze Toolchain dahinter). Debugging finde 
ich klasse gelöst, auch hovers etc. sind einfach unerreicht.
Es gibt ein gutes Plugin http://gnuarmeclipse.github.io/ speziell für 
deinen Einsatzbereich.

Ansonsten nutze ich noch gerne Codeblocks, das kann man sich auch so 
umbiegen, damit alles funktioniert. Ist aber etwas "Fleißarbeit".

Zum J-Link: Er funktioniert halt einfach immer. Flashen und Debuggen 
funktioniert gut, auch kann man die anderen "Tools" von Segger nutzen, 
die manchmal sehr schön sind (System Trace View, SWO output) etc. Ich 
mag den J-Link, man kann halt auch einfach so gut wie jeden Controller 
anstecken und das Ding funktioniert. Die ST-Links kann man alle 
kostenfrei zu nem JLink umflashen, auf der Seite von Segger gibts ein 
ST-Link Reflash Tool (oder so). Dann haste auch nen JLink Edu auf deinem 
Board!

von Andreas S. (igel1)


Lesenswert?

Ein dickes Dankeschön an Christopher und Ui, die sich ganz besonders
viel Mühe mit Ihrer Beschreibung "Ihrer" IDE gemacht haben.
(was nicht heißt, dass die Hinweise von Frickelfritze und C.W.
nicht ebenfalls sehr interessant für mich sind).

Mit QT Creator habe ich schon C++ programmiert - ist also bereits
auf meinem Rechner installiert. Dass es dafür ARM-Erweiterungen
gibt, war mir gänzlich unbekannt. Werde ich mir unbedingt genauer
angucken.

Und ja, ja - das unvermeidliche Eclipse kenne ich aus dem Java
Umfeld und mir war bekannt, dass viele damit auch ARM programmieren -
ist mir aber ehrlich gesagt zu groß/langsam.

Code:Blocks hatte ich irgendwann schon einmal beschnuppert - ist
vielleicht wirklich noch mal wieder einen Blick wert. War nicht
meine emIDE daraus hervorgegangen?

Und yep - das mit dem Umflashen von ST-Link auf J-Link werde ich
unbedingt einmal probieren - Danke auch nochmals für diesen Hinweis
(war etwas weiter oben schon von zwei anderen Teilnehmern gekommen).

In Summe bisher: dickes Dankeschön für die vielen Mühen, die Ihr
Euch mit meiner Beratung macht! Ich hoffe, die Nachwelt wird
sich auch an diesem Thread erfreuen.

Viele Grüße

Igel1

von Ruediger A. (Firma: keine) (rac)


Lesenswert?

zum Thema Eclipse nochmal - auf der Messe bin ich über Somnium's DRT 
gestossen, die auf Eclipse basiert und über ein/zwei features verfügt, 
die ich noch nirgendwo Anders gesehen habe. Kannst Dir ja mal eine Trial 
Version runterladen...

P.S. WinIdea kann "natürlich" auch ST Link und JLink. Interessanterweise 
unterstützen relativ wenige IDEs die Probe von P&E, die sich dadurch 
auszeichnet, dass sie Konnektoren für eigentlich alle auf dem Markt 
benutzten Konnektoren on board hat.

von Andreas S. (igel1)


Lesenswert?

Ich hatte in meinem letzten Beitrag geschrieben:

> Und yep - das mit dem Umflashen von ST-Link auf J-Link werde ich
> unbedingt einmal probieren - Danke auch nochmals für diesen Hinweis
> (war etwas weiter oben schon von zwei anderen Teilnehmern gekommen).

Gesagt, getan - es funktioniert.

Hier ein paar hilfreiche Links:

// Flashen von ST-Link in einen J-Link:
https://www.segger.com/jlink-st-link.html

// Einrichtung des J-Link unter emIDE:
http://emide.org/documentation_debugging.html

// Peripheral Registers im Debugger von emIDE anzeigen:
http://emide.org/documentation_debugging.html

// Semihosting - notwendige Code-Erweiterungen:
http://www.segger2.com/index.php?page=Thread&postID=4899#post4899

// Semihosting - die Kommandos:
http://www.segger.com/admin/uploads/prod…01_JLinkARM.pdf

// SWO nutzen:
http://forum.segger.com/index.php?page=Thread&postID=1135#post1135

Viele Grüße

Igel1

von Schorsch X. (bastelschorsch)


Lesenswert?

Ruediger A. schrieb:
> zum Thema Eclipse nochmal - auf der Messe bin ich über Somnium's DRT
> gestossen, die auf Eclipse basiert und über ein/zwei features verfügt,
> die ich noch nirgendwo Anders gesehen habe.

Kannst du auch verraten, welche das sind ?

von Jan K. (madengineer)


Lesenswert?

Zum Thema EmIDE, das Projekt ist doch schon länger Tod und wird als 
EmBitz aktiv weiter entwickelt.
Das Ganze basiert aif Codeblocks und funktioniert mit den ST-Devboards 
und dem STlink out-of-the box.
Bin damit sehr zufrieden, da es quasi alles kann was man so braucht und 
kostenlos ist..


https://www.embitz.org/

von Ruediger A. (Firma: keine) (rac)


Lesenswert?

Schorsch X. schrieb:
> Ruediger A. schrieb:
>> zum Thema Eclipse nochmal - auf der Messe bin ich über Somnium's DRT
>> gestossen, die auf Eclipse basiert und über ein/zwei features verfügt,
>> die ich noch nirgendwo Anders gesehen habe.
>
> Kannst du auch verraten, welche das sind ?

z.B. dass Du bei FreeRTOS im angehaltenen Zustand den call stack jeder 
task sehen kannst, nicht nur derjenigen, die z.Zt. gerade dran ist. Das 
kann extrem hilfreich in deadlock Situationen sein.

Die Anderen Sachen müsste ich mir noch etwas genauer ansehen (habe auf 
der Messe nur einen sehr flüchtigen Blick drauf werfen können).

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.