Forum: Mikrocontroller und Digitale Elektronik welcher Compiler für STM32


von Sebastian (Gast)


Lesenswert?

Hallo,

habe heute ein STM32 Discovery board bekommen.
Jetzt setze ich mich gerade ein wenig damit auseinander.
In den Manuals werden 3 Compiler beschrieben:

IAR-Workbench
MDK-ARM
und Atollic TrueSTUDIO

welchen würdet ihr mir empfehlen? Und mit welchem habt ihr gute 
erfahrungen gemacht. Ich möchte einen Kostenlosen einstieg mit möglichst 
wenigen Einschränkungen.
Vielen Dank für eure Tips.
Sebastian

von holger (Gast)


Lesenswert?

>welchen würdet ihr mir empfehlen? Und mit welchem habt ihr gute
>erfahrungen gemacht. Ich möchte einen Kostenlosen einstieg mit möglichst
>wenigen Einschränkungen.

Yagarto plus Eclipse. Aber viel Spaß beim einrichten
von OpenOCD usw;)

von Mehmet K. (mkmk)


Lesenswert?

Ich hatte mich jahrelang damit abgemüht, Tritt zu fassen in der 
ARM/Cortex Welt. ARM habe ich begraben. Und auch den Cortex wollte ich 
entsorgen, als ich mit IAR wie durch ein Wunder meinen ersten Erfolg 
verbuchen konnte.

MDK-ARM und Atollic TrueSTUDIO kenne ich nicht. Aber mit CrossWorks von 
Rowley Associates habe ich ernsthaft gearbeitet. Dieser basiert soweit 
ich weiss auf CodeSourcery. Für meinen Geschmack war CrossWorks einfach 
zu bunt.
Der IAR ist ganz nach meinem Geschmack. Keine Ahnung was ich mache, wenn 
ich an die 32kB stosse.

Langer Rede kurzer Sinn: den IAR kann ich empfehlen.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Schaue in den Artikel STM32
Da stehen viele Möglichkeiten drin.

http://www.mikrocontroller.net/articles/STM32#Programmierung

von Sebastian (Gast)


Lesenswert?

Wenn ich meine Möglichkeiten jetzt richtig sehe habe ich die wahl 
zwischen:
-viel Einarbeitung und isntallation bei yagahto
-32k grenze bei IAR (dafür aber professionelle umgebung)
oder
-Atollic (nicht alle funktionen und nur ein debugger aber dafür keine 
Codegrenze)

Zu mdk-arm hab ich bisher noch garkeine Meinung hat auch eine 
codegrenze.

IAR hab ich jetzt mal den Preis der vollversion gesehen... lassen wir 
dieses Thema ;)

Ich bin gerade dabei mal Atollic zu testen. Ein Blinklicht hab ich 
früher schon mal hinbekommen.

Sebastian

von Tecnologic (Gast)


Lesenswert?

Hi Sebastian,

Also ich habe Attolic, MDK/Keil, IAR, Crossworks aus probiert, habe aber 
dann eine Woche investiert um mit dem Forum und viel lesen Eclipse, mit 
Codesourcery lite und meinen J-Link zu laufen zu bekommen.

Ich muss dazusagen ich bin Eclipse verwöhnt/fan. Meiner Meinung nach 
kannst du mit IAR oder MDK/Keil nix falsch machen. Das sind beides 
standart
Editoren mit vernünftiger Bedienung und guter Unterstützung. IAR und 
Keil sind für mich ähnlich was den Editor und Debugger angeht. IAR hat 
bei dem 6er noch ein paar mehr Features im Debugger was den 
Energieverbrauch angeht. Musst du wissen ob du das brauchst.

Attolic ist für mich ausgeschieden wegen der ST-Link pflicht, da ich 
einen J-Link habe und auch andere Cortexe benutze als den STM32. 
Ansonsten Eclipse ohne viel Konfigurieren.

Wenn man sich einmal die Arbeit gemacht hat mit Eclipse ist das echt 
super und man lernt noch was über die Basics des Controllers. Mit dem 
neuen ARM Plugin brauchst du nicht mal Makefiles schreiben, also das 
hält sich auch in Grenzen.

Den Rest musst du entscheiden, wenn du Codeverfolständigung usw. was der 
Eclipse Editor so kann nicht brauchst. Dann nimm IAR oder Keil, die 
Entscheidung ist dann so wie das gelbe oder das blaue Hemd. Meiner 
Meinung nach sind das beides ausgereifte Werkzeuge, nur die Editoren 
finde ich schwach.

Corssworks finde ich etwas gewöhnungsbedürftig, das basiert so halb auf 
dem Visual Studio 2010. Ich habe mich dort nur Schwer zu recht gefunden 
was die Einrichtung usw. anging. Ansonst ist das auch keine schlechte 
IDE, nur der Editor, stört mich :), wenn ich STRG+LEER drücke erwarte 
ich eine Liste mit Befehlen. (nur ein Bsp.)



MfG

Tec

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Eigentlich ist aber nicht nach "welchem Compiler für STM32" gefragt, 
sondern nach einer Entwicklungsumgebung.

Compiler: Sicher gibt es ein paar Unterschiede zwischen GNU, ARM/Keil 
und IAR. Ist aber nichts dramatisches. Der freie Compiler aus 
GNU-Quellen (enthalten in CS G++ lite, Yagarto, DevkitARM...) ist 
ordentlich. Hat man erstmal die Zusammenhänge verstanden, ist der 
Hersteller des Compilers nicht mehr so wichtig. Habe mit IAR sehr wenig, 
ARM/Keil wenig und mit dem GNU Compiler viel gemacht, bisher nichts 
gefunden, was nicht angepasst werden konnte. Viele Hersteller, auch STM, 
bieten inzwischen Beispielcodes, für die drei Compiler (gelegentlich GNU 
"versteckt" hinter Attolic, Codesourcery, RIDE, Crossworks).

Arbeite selbst bei ARM-Entwicklungen fast ausschließlich mit 
Eclipse/makefiles/GNU-Compiler/OpenOCD. Kann aber für den Einstieg die 
Evaluierungs-Version von MDK-ARM/uVision empfehlen (Beschränkung bei 
Compiler/Debugger/Simulator auf 32kB(?)). Nicht wegen des Editors, 
Compiler oder Debuggers, die gibt es woanders genauso gut oder besser, 
sondern wegen des integrierten Simulators, der auch Peripherie (z.B. 
Interrupt-Controller, UART, Timer, GPIO) simuliert. Damit kann man die 
ersten Schritte ganz ohne Hardware machen (kein Flashen, keine 
In-System-Debugging...). Hat man auch hier die Zusammenhänge verstanden, 
bietet uVision auch die Möglichkeit einer 'sanften' Migration zu 
freien/kostenlosen Tools, sofern man sich die Vollversion nicht leisten 
kann oder will. Die IDE wird beibehalten und statt des Compilers von ARM 
der GNU-Compiler genutzt, den uVision ebenfalls unterstützt 
(Beschränkung weiterhin bei Debugger/Simulator). Später kann man dann 
auf Entwicklungsumgebungen mit netterem Editor (z.B. Eclipse evtl. mit 
den Attolic-Erweiterungen) und unbeschränktem In-System-Debugging 
umsteigen (z.B. Eclipse-Debug-View + OpenOCD od. JLINK-gdbserver).

von paule (Gast)


Lesenswert?

Hallo,

ich besitze ebenfalls dieses Board, und habe mir IAR installiert.
Jedoch bekomme ich keinen Zugriff auf den ARM. Habe ST Link eingestellt, 
jedoch wird das Board nur als Massenspeicher erkannt, wenn ich es an den 
USB Port meines Rechners hänge.

Sind da noch irgendwelche Treiber erforderlich?

VIele Grüße
paule

von Mehmet K. (mkmk)


Lesenswert?

Dass er ihn als Massenspeicher erkennt, ist schon richtig.
Zusaetzliche Treiben sind nicht erforderlich.

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.