STM32-Software-IDE [geschlossen]

Nach zweijähriger Erfahrung mit der SAM-MCU von ATMEL entschied ich mich, auf STM32-Mikrocontroller umzusteigen. Ich habe mich entschieden, mit STM32F410RB zu beginnen. Nach langer Suche im Internet fand ich zwei kostenlose IDEs, Atollic TrueSTUDIO und SW4STM32. Ich habe sie beide installiert und sehe keinen Unterschied zwischen ihnen. Ich habe auch die CubeMX-Erweiterung für die Codegenerierung für Hardware-Peripherietreiber installiert, ich denke, sie entspricht ATMELs ASF. An dieser Stelle habe ich zwei Fragen.

  1. Was ist der Hauptunterschied zwischen den beiden obigen IDEs, den ich noch nicht bemerkt habe?
  2. Wie kann ich die automatische Vervollständigung während der Eingabe aktivieren? AtmelStudio tut dies und ist äußerst nützlich, aber in TrueSTUDIO und SW4STM32 muss ich jedes Mal Strg + Leertaste drücken, um diese Funktion zu aktivieren, und es ist ein wenig nervig.

Antworten (2)

huh, noch nie von den beiden gehört. Im Allgemeinen benötigen Sie keine bestimmte IDE für Ihren Chiphersteller – es handelt sich nur um ARM-Mikrocontroller, und solange Ihre IDE nicht auf einen bestimmten Hersteller beschränkt ist (AtmelStudio ist dies wahrscheinlich), funktionieren sie mit jeder MCU, die eine ist ARM.

Jetzt kommen natürlich Herstellerversionen von IDEs mit Tools zum Generieren von Initialisierungscode, zum Abschätzen des Stromverbrauchs und so weiter, aber Sie finden diese Funktionen in unterschiedlichem Maße auch in den großen eingebetteten IDEs.

Hier gibt es tatsächlich eine ziemliche Auswahl. Ich bin ein bisschen altmodisch und programmiere im OS- Texteditor meiner Wahl, erstelle und flashe Images mit Makefiles und führe GDB zum Debuggen von Hand aus, aber ich denke, das ist nicht unbedingt der richtige Weg für größere Projekte.

Also, die großen Konkurrenten hier sind

  • Keil (keil kann, iirc, sogar kostenlos für STM32 verwendet werden)
  • IAR-Workshop
  • ARMs eigener DS-5

und viele kostenlose Tools, und ich denke, es wäre erwähnenswert

  • CoIDE
  • MCU auf Eclipse

Ich würde mich für Eclipse entscheiden, wenn Sie das jemals zuvor verwendet haben. Es gibt ordentliche Installations-Tutorials und es hat all die netten Autocomplete-, Type-Inspection- und Debugging-Funktionen, die bereits mit dabei sind. Eclipse ist eine sehr "mächtige" IDE-Plattform und wird sehr breit für viele verschiedene Ziele verwendet, sei es Java-Entwicklung, C++ für Server, PHP für Websites oder C für Mikrocontroller. Es ist sehr modular aufgebaut, so dass Sie einen ziemlich ausgereiften Editor mit sehr netten Code-Tools und einer netten Debugger-Integration und so weiter bekommen. Dieses spezielle Eclipse-basierte Setup enthält auch STM32-Projektvorlagen, IIRC.

Grundsätzlich kann man als Compiler jede IDE verwenden, die GCC/GDB unterstützt – die kostenlose (wie in Rede und Bier, und beides ist gut, dass es kostenlos ist) GCC-Suite ist praktisch der „native“ Compiler für die ARM-Architektur. Sie müssen nur Ihre bevorzugte IDE konfigurieren, um arm-none-eabi-gcc / -gdb anstelle der standardmäßigen GCC- und GDB-Binärdatei Ihres Hosts zu verwenden :)

TrueStudio und SW4STM32 sind nur Eclipse + GCC/GDB mit einem Windows-Installationsprogramm. Das ist wahrscheinlich der Grund, warum das OP den Unterschied nicht erkennen kann.
aaaah jetzt sehe ich. Also schlage ich im Grunde auch das gleiche vor :)
Ich stimme zu, dass das Rollen Ihres eigenen Setups jedoch besser ist. TrueStudio ist ziemlich fehlerhaft und langsam. Gut, um beim Lernen Hallo-Welt-Sachen zu machen, wird aber schnell frustrierend.

Generell würde ich SW4 (OpenSTM32) empfehlen.

  1. Einfacher Import aus CubeMx. Ich persönlich verwende HAL nicht (normalerweise nur Bare-Register-Programmierung), aber wenn ich das Cube-Projekt erstelle, erhalte ich die aktuellsten CMSIS-Dateien für mein uC.
  2. Es funktioniert sehr gut. Ich habe viele große Projekte mit dem Eclipse + Plugin ohne Probleme durchgeführt.
  3. Es ist kostenlos und hat eine große Community von Benutzern
  4. Wird offiziell von STM unterstützt.

Sie können natürlich Ihre eigene DIY-Konfiguration erstellen. Wenn Sie die neueste Toolchain benötigen, würde ich Freddy's BleedingEdge Toolchain empfehlen (aber Sie müssen gcc, Bibliotheken und und Tools kompilieren).

+1 für die Nichtverwendung von HAL-Bibliotheken, aber wer kann die von Cube Mx generierten Dateien ohne HAL-Bibliotheken verwenden? ( Das von MX erstellte Projekt zwingt die Verwendung bereits dazu, ihre Interrupt-Service-Routinen und Initialisierungsfunktionen zu verwenden.)
Warum nicht HAL-Bibliotheken verwenden? Ich habe keine anderen Bibliotheken für Low-Level-Treiber gefunden.
1. CubeMx generiert HAL-Abhängigkeiten, kann aber leicht entfernt werden (nur ein paar Klicks). Ich verwende modifiziertes HAL eigentlich nur für USB und Ethernet. Alle anderen Peripheriegeräte - es ist viel zu schwer. 2. Was für eine andere Bibliothek - für 90% der Projekte benötigen Sie keine Bibliotheken. STM32 sind sehr einfach zu programmieren, indem nur die Hardwareregister verwendet werden (einfacher als das Erlernen von HAL-Megastrukturen und -funktionen).