Hallo,
ich bin es gewohnt, mit Renesas Synergy und E²Studio von Renesas
(basiert auf Eclipse) zu arbeiten. Es gibt aber einige interessante
Aspekte, die mich momentan dazu verleiten, bei STM32 einzusteigen. Der
große Vorteil von Synergy ist das ohne zusätzliche Kosten oder Lizenzen
nutzbare ThreadX als RTOS. Insgesamt nimmt diese IDE mir sehr viel
Tipparbeit ab, da man sämtliche Module grafisch konfigurieren kann und
diese dann automatisch in Quellcode umgesetzt werden. Insofern ist diese
Software relativ bequem zu benutzen. Die große Frage ist nun: Ist eine
derartige IDE für STM32 ebenfalls vollumfänglich verfügbar? Wichtig ist
mir der Pin-Konfigurator, sowie die Möglichkeit, ein RTOS bequem zu
benutzen, sowie die Möglichkeit, die gesamte Peripherie grafisch zu
konfigurieren, sodass ich mich auf das wesentliche konzentrieren kann.
Jain,
Grafische Programmierung hab ich bei stm noch nicht gesehen.
Die Konfiguration der Pins, Peripherie und des clock-trees kannst Du
grafisch mit CubeMX machen.
Das ist auch frei verfügbar und läuft sowohl unter Windows als auch
unter Linux.
Stephan K. schrieb:> Grafische Programmierung hab ich bei stm noch nicht gesehen.
Das meine ich nicht. Mir geht es um die Konfiguration der Peripherie.
Den eigentlichen Quelltext meiner Anwendung schreibe ich nach wie vor
komplett selbst. Kostenlose Verfügbarkeit ist mir wichtig, da ich damit
kein geld verdiene. Bei E²Studio ist ThreadX bereits dabei, ich brauche
mich da um nichts kümmern. Etwas ähnliches suche ich für STM32.
Natürlich muss es nicht ThreadX sein, wahrscheinlich dann eher FreeRTOS.
Ich habe nur keine Lust, mich um den gesamten Overhead zu kümmern, wie
z.B. das Erstellen von Threads etc. Diese gesamte Konfiguration, wie das
Erstellen von Thread, Hinzufügen von Timers, CAN-Bus Treiber, UART,
RGB-Video, USB etc.pp. geht bei E2Studio grafisch.
Tagsüberarbeitender schrieb:> Ist eine derartige IDE für STM32 ebenfalls vollumfänglich verfügbar?
Ja, da hast du (mindestens) zwei zur Wahl, beide basieren auf Eclipse:
- Atollic TrueStudio (inzwischen von ST übernommen)
- System Workbench for STM32 von AC6
> Wichtig ist mir der Pin-Konfigurator, sowie die Möglichkeit,> ein RTOS bequem zu benutzen
Dazu installierst du neben der IDE zusätzlich CubeMX von ST.
Eventuell helfen Dir meine Notizen zu STM32F1 und F3:
http://stefanfrings.de/stm32/index.html
Tagsüberarbeitender schrieb:> Kostenlose Verfügbarkeit ist mir wichtig, da ich damit> kein geld verdiene. Bei E²Studio ist ThreadX bereits dabei, ich brauche> mich da um nichts kümmern.
Bei E²Studio / Synergy ist ThreadX nicht kostenlos. Die Lizenzkosten
sind nur auf die Bauteilkosten umgelegt und somit nicht klar ersichtlich
;-)
Nur mal zur Klarstellung:
SW4STM32 ist ein totes Pferd.
Das wurde von AC6 im Auftrag von ST entwickelt, ist inzwischen durch den
Zukauf von Atollic durch ST obsolet und wird auch durch ST selbst nicht
mehr supported.
Laut einer Info aus einem der letzten HandsOn-Workshops von ST wird
Atollic ebenfalls sehr zeitnah (noch in diesem Jahr) durch ein neues
Produkt mit dem Namen CubeStudio abgelöst.
Aktuell bietet Atollic die bessere Unterstützung für das STM32-System.
Damit kann man u.A. auch RTOS-Threads debuggen.
Das war/ist mit SW4STM32 nicht möglich.
Harry L. schrieb:> SW4STM32 ist ein totes Pferd
Dafür, dass SW4STM32 ein totes Pferd ist, ist die Unterstützung im Cube
für das STM32MP157C-DK2 aber recht gut und wenn ich mich recht erinnere
auch einzigartig, da aktuell keine andere Toolchain für das DK2
unterstützt wird.
Und sooo alt ist das Board ja nun auch wieder nicht ;-)
Michael F. schrieb:> Harry L. schrieb:>> SW4STM32 ist ein totes Pferd>> Dafür, dass SW4STM32 ein totes Pferd ist, ist die Unterstützung im Cube> für das STM32MP157C-DK2 aber recht gut und wenn ich mich recht erinnere> auch einzigartig, da aktuell keine andere Toolchain für das DK2> unterstützt wird.>> Und sooo alt ist das Board ja nun auch wieder nicht ;-)
Geht ebenfalls mit Atollic
Til S. schrieb:> Oder alternativ sich unabhängig vom Chiphersteller machen und Produkte> benutzen, die mit jedem Device funktionieren:
Eine Abhängigkeit durch eine andere ersetzen? Du machst ein bisschen
viel Werbung für deinen Brötchengeben. Eine bessere Wahl ist es sich z.
B. im Opensourcebereich umzuschauen.
Markus schrieb:> Eine Abhängigkeit durch eine andere ersetzen? Du machst ein bisschen> viel Werbung für deinen Brötchengeben.
Jain, klar ist das irgendwie auch Werbung aber ich war schon Fan von
Embedded Studio bzw. besser gesagt Rowley Crossworks bevor SEGGER mein
Brötchengeber war ;-). Ich kann das halt schwer trennen. Ich hoffe man
sieht mir das nach.
Harry L. schrieb:> SW4STM32 ist ein totes Pferd.
Ach herrje, schon wieder ein totes Pferd?
Ich denke du irrst. Das Projekt wird aktuell weiter gepflegt. Ich finde,
man muss nicht immer dem neuesten Produkt hinterher laufen. Wie lange ST
das zugekaufte Programm weiter pflegt, wird sich noch zeigen.
Ich bevorzuge die System Workbench, weil man damit Projekte ohne
"Firmware" (also HAL und SPL) anlegen kann. Ansonsten sind mir zwischen
diesen beiden IDEs keine für mich relevanten Unterschiede aufgefallen.
Du hast einen genannt: Debuggen von RTOS Threads. Sollte man im
Hinterkopf behalten.
> wird auch durch ST selbst nicht mehr supported.
Das ist nicht korrekt.
Markus schrieb:> Eine bessere Wahl ist es sich z.> B. im Opensourcebereich umzuschauen.
Attolic ist bis auf wenige Teile OpenSource.
Die Toolchain basiert vollständig auf GCC
Random .. schrieb:> Ist dieses ganze Hardware-ZusammenclickiBunti wirklich sinnvoll?
Ja, da man damit einiges an Arbeitszeit sparen kann.
Das befreit einen aber keinesfalls davon, zu verstehen was man tut.
Walter T. schrieb:> Kann man in Embedded Studio Targets für Windows bauen und debuggen?
Mit Atollic geht das (ja, ich weis, das war nicht die Frage).
Alle erforderlichen Komponenten lassen sich problemlos im TrueStudio
nachinstallieren.
Ich nutze zwar kein Windows, aber hab aktuell in meinem TrueStudio die
Unterstützung für 8bit-AVR nachgerüstet.
Da das auf Eclipse basiert war das auch kein grösseres Problem.
Stefanus F. schrieb:> Ich bevorzuge die System Workbench, weil man damit Projekte ohne> "Firmware" (also HAL und SPL) anlegen kann.
Das geht auch mit Atollic!
Diese Unterstützung war bei Atollic 9.1 kaputt.
Aktuell ist 9.3, und ob das repariert wurde kann ich nicht sagen.
Das ggf. nachzurüsten ist jedoch genauso kein Problem (s.o)
Allerdings setzt das natürlich voraus, daß man sich mit Eclipse
auskennt.
Harry L. schrieb:> Aktuell ist 9.3, und ob das repariert wurde kann ich nicht sagen.
Ist immer noch kaputt. Ich habe es vor ein paar Tagen ausprobiert.
> Das ggf. nachzurüsten ist jedoch genauso kein Problem (s.o)
Notfalls kann man ein HAL Projekt anlegen und den unerwünschten Ballast
wieder raus löschen.
Stefanus F. schrieb:> Harry L. schrieb:>> Aktuell ist 9.3, und ob das repariert wurde kann ich nicht sagen.>> Ist immer noch kaputt. Ich habe es vor ein paar Tagen ausprobiert.>>> Das ggf. nachzurüsten ist jedoch genauso kein Problem (s.o)>> Notfalls kann man ein HAL Projekt anlegen und den unerwünschten Ballast> wieder raus löschen.
Dann installier dir die ARM-Tools im Truestudio und der Drops ist
gelutscht.
Dauert keine 5min.
Stefanus F. schrieb:> Bei mir geht es immer noch nicht. Wenn ich ein CMSIS Projekt> anlege, ist> der gezeigte Dialog immer noch leer.>> Die ARM-Tools sind drin.
K.A. woran das liegt.
Das Thema interessiert mich pers. nicht, und daher musst du selbst
herausfinden woran das liegt.
Vermutung: Das CMSIS Projekt-Template basiert auf dem Atollic-Template.
Die ARM-GNU-Tools bringen eigene Templates mit, die man auch nutzen
sollte.
Harry L. schrieb:> Das Thema interessiert mich pers. nicht, und daher musst du selbst> herausfinden woran das liegt.
Ist Ok, ich habe ja einen Workaround.
Til S. schrieb:> Walter T. schrieb:>> Kann man in Embedded Studio Targets für Windows bauen und debuggen?>> Nö, ist nur für Embedded gedacht.
Schade. Aber danke für die schnelle Antwort. Ich habe mir in der
tausendseitigen Doku schon einen Wolf gesucht.
Laut diesem Beitrag kann man mit der System Workbench doch RTOS Threads
debuggen, man muss nur eine Kleinigkeit konfigurieren:
http://www.openstm32.org/forumthread7432
Ich arbeite auch mit SW4STM32... Keine Frickelei, alles läuft und ich
bin nicht auf spezielle Progger gezwungen (Segger).
Und da als Unterbau halt Eclipse ist... ist ein
Walter T. schrieb:> Til S. schrieb:>> Oder alternativ ...>> Kann man in Embedded Studio Targets für Windows bauen und debuggen?
Ist dann übrigens unter SW4STM32 auch kein Problem, da dies ja auf
Eclipse basierend ist.
Für kleines Geld: VisuaGDB mit Visual Studio! Geht einfach, ist nicht
auf einen Hersteller festgelegt und der Support ist spitze! Meine letzte
Anfrage heute morgen um 5:50 wurde nach genau 34 Minuten beantwortet!!
C. W. schrieb:> Für kleines Geld: VisuaGDB mit Visual Studio! Geht einfach, ist nicht> auf einen Hersteller festgelegt und der Support ist spitze!
Dafür ist man auf Windoof festgelegt und das ist noch viel schlimmer.
Ein "Zusammengeklicker" der Hardwareconfig eines STM32 habe ich bisher
nur bei KEIL (uVision) gesehen. War ganz praktisch, allerdings sind
Lizenzkosten und Lizenzbedingungen bei KEIL nicht akzeptabel.
Rowley Crossworks fand ich ganz o.k.. Auch die Lizenzbedingungen fand
ich gut und praktikabel. Ein OS ist auch mit dabei. Man kann es auch
einige Zeit kostenlos testen. Ich konnte die Testzeit 3 mal verlängern!
Es lässt sich komfortabel und fix installieren und man ist schnell
einsatzbereit. Allerdings kein "Zusammenklickern" der Hardware.
Ich meine aber, das ST sowas unter "STM32Cube" anbietet. Wäre dann halt
nicht integriert, aber "klickibunti" :-)
Gruß
Ralf
Ralf schrieb:> Ein "Zusammengeklicker" der Hardwareconfig eines STM32 habe ich bisher> nur bei KEIL (uVision) gesehen. War ganz praktisch, allerdings sind> Lizenzkosten und Lizenzbedingungen bei KEIL nicht akzeptabel.
Gibt auch noch Arduino for STM32 und Bluepill Boards mit 64k
Flash/16PWM/etc/etc.
Und gegen solche Tools ist nichts einzuwenden, meiner Meinung nach.
Ein Beispiel, wofür ich es kürzlich brauchte:
Im Garten ist eine kleine Solaranlage, weil durch den Hof kann/darf ich
nicht so leicht ein Kabel legen.
Für die Beleuchtung wollte meine Frau schon lange einen Timer, weil sie
das Ausschalten auch mal vergisst und dann immer an tiefentladene
Batterien denken muss.
Der Tiefentladeschutz hilft nur den Batterien - nicht ihr...
Bluepill $2
4x ULN2803 und 7805 aus einer Schrottplatine geholt
20 Meter Silikon-LED Schlauch war schon verlegt, nur eben mit Schalter.
1x Aussentaster im Baumarkt (Restposten) 3,50€.
Mit dem Arduino für STM32 dann in ca. 30 Minuten 9 PWM erzeugt (10m, 5m,
5m) und einen Sanft-Start-Stopp implementiert.
Ideen gibt's noch ein paar, aber da kam ich noch nicht zu.
Klar könnte ich auch einen tiny2313 oder einen MSP430 nehmen, in
Assembler Soft-PWM implementieren, eine Platine machen, ...
Für viele Sachen reicht das aber so wie es jetzt ist dicke.
Seit wenigen Tagen kann "STM32CubeIDE" von ST runtergeladen werden. Wie
Atollic auf Eclipse basierend, aber nur noch für ST-MCUs gedacht.
Da gibt es jetzt die V1.0.0 der IDE. Benutzt die jemand, oder hat die
schon jemand ausprobiert?
Also, ich kann CubeMX nicht (wie unten im Werbevideo gezeigt) aus der
IDE starten. Habe auch in der Kürze nicht gleich gefunden, wie die
GIT-Plugins zu installieren sind.
ST bewirbt die CubeIDE auf Youtube:
https://youtu.be/eumKLXNlM0U
Ich habe keine Lust, jedes Jahr eine neue IDE zu probieren, nur weil da
das eine oder andere Pillepalle-Feature drin ist oder die Farben
moderner sind.
Also nein, ich habe diese IDE noch nicht ausprobiert.
So, ich hatte mich wohl bei der Installation vertan, und habe nochmals
die IDE 1.0.0 neu installiert.
Die Integration von (Cube-)MX in der (Cube-)IDE läuft jetzt einwandfrei.
Die Git Integration lässt sich aus dem Eclipse Marketplace
nachinstallieren.
Da ich zunächst in meinen Hobby-Projekten nur STM32 verwende, werde ich
die CubeIDE für die nächste Zeit benutzen.
:-)
UB8820M schrieb:> Da ich zunächst in meinen Hobby-Projekten nur STM32 verwende, werde ich> die CubeIDE für die nächste Zeit benutzen.
Mal sehen, wie lange. Ich wette, dass innerhalb der nächsten 3 Jahre
wieder eine "neue" IDE angeboten wird. Vermutlich zusammen mit einem
neuen HAL Framework und einem noch "intelligenteren" Codegenerator, der
das RAM noch schneller voll macht und die CPU Takte verbraucht.
Irgendwie muss man ja die 400 MHz Boliden unter Volk bringen.
Stefanus F. schrieb:> Irgendwie muss man ja die 400 MHz Boliden unter Volk bringen.
Dies jetz auch schon für 5€ statt 20€ gibt -> STM32H750
Bisher hab ich diese Rechenleistung aber noch nicht gebraucht obwohl ich
beim LED Panel Display kurz davor war.
Aber du weist ja, dass ich die HAL, wie du, eh nicht nutze.
Allerdings haben die alle einen Haken, eine ganze Pinseite ist um 1 nach
links/rechts verrutscht wodurch die Pinkompatibilität zu den F1/2/3/4
fürn Poppes ist.
Stefanus F. schrieb:> Mal sehen, wie lange. Ich wette, dass innerhalb der nächsten 3 Jahre> wieder eine "neue" IDE angeboten wird. Vermutlich zusammen mit einem> neuen HAL Framework und einem noch "intelligenteren" Codegenerator, der> das RAM noch schneller voll macht und die CPU Takte verbraucht.
Deswegen nur mit Registern programmieren!
Mw E. schrieb:> Allerdings haben die alle einen Haken, eine ganze Pinseite ist um 1 nach> links/rechts verrutscht wodurch die Pinkompatibilität zu den F1/2/3/4> fürn Poppes ist.
Dafür ist er kompatibel zum F7xx.
Um diese Teile kommt man nicht herum, wenn man hohe Geschwindigkeit und
viel internes RAM braucht (und nicht viel Geld ausgeben möchte).
Der Installer von CubeIDE hat Probleme mit Leerzeichen im
Instalations-Pfad.
In die Falle sind schon Einige getappt.
Ansonsten läuft das Teil hier ziemlich rund (unter Linux)
Harry L. schrieb:> Der Installer von CubeIDE hat Probleme mit Leerzeichen im> Instalations-Pfad.
Schon wieder, bzw. immer noch?
Wie lang ist es her, dass Leerzeichen in Verzeichnisnamen zugelassen
wurden? Ich verstehe das nicht.
Schon wieder, oder immer noch?
Kann der Stefan nicht einfach mal die Finger still halten, wenn er
nichts zu sagen hat?
@Steafan: https://www.youtube.com/watch?v=5KT2BJzAwbU
m.n. schrieb:> Mw E. schrieb:>> Allerdings haben die alle einen Haken, eine ganze Pinseite ist um 1 nach>> links/rechts verrutscht wodurch die Pinkompatibilität zu den F1/2/3/4>> fürn Poppes ist.>> Dafür ist er kompatibel zum F7xx.
Ja mit den F7 wurde das "Problem" eingeführt.
Da das ganz schöne Schluckspechte sind brauchte es einen Versorgungspin
mehr.
Harry L. schrieb:> Der Installer von CubeIDE hat Probleme mit Leerzeichen im> Instalations-Pfad.
Nich im Ernst?
Diese Zeiten sollten eigentlich schon lange vorbei sein.
Aber das bestätigt mal wieder meine Meinung über die Kompetenz der
Programmierer bei ST ;)
Schließlich haben die ja auch den HAL verbrochen.
Mw E. schrieb:> Aber das bestätigt mal wieder meine Meinung über die Kompetenz der> Programmierer bei ST ;)
CooCox hat/hatte ein ähnliches Problem. Ich würde deshalb eher Eclipse
als Ursache vermuten.