STM32-Mikrocontroller und OpenSTM32-IDE

© Sergey Nivens, 123RF

Kerngeschäft

Der Einstieg in die Welt der Mikrocontroller fällt nicht ganz leicht. Mit dem Nucleo F401RE haben Sie jedoch ein Entwicklerboard samt abgestimmter Entwicklungsumgebung an der Hand.

Das Nucleo F401RE [1] ist ein vom europäischen Halbleiterhersteller STMicroelectronics vertriebenes Entwicklungsboard zum Ausprobieren von Ideen und zum Aufbau von Prototypen (Abbildung 1). Der Preis im deutschen Online-Handel liegt bei etwa 18 Euro zuzüglich Versandkosten [2].

Abbildung 1: Das Pin-Layout des Nucleo F401RE von STMicroelectronics gleicht dem von Arduino-Boards.

Bei einem Blick auf das Pinout des Boards (Abbildung 2) fällt Kundigen sofort auf, dass das Nucleo F401RE pinkompatibel zum Arduino ist (Abbildung 3). Dadurch lassen sich alle für den Arduino erhältlichen Shields auch für das Nucleo verwenden. Im Vergleich zum Original-Arduino verfügt das Nucleo-Board jedoch über erheblich mehr Schnittstellen. Eine Übersicht über die Hardware bietet die Tabelle "Technische Daten".

Abbildung 2: Das Pinout des Nucleo F401RE, Teil 1: STM32.
Abbildung 3: Das Pinout des Nucleo F401RE, Teil 2: Arduino.

Technische Daten

Gehäuse

LQFP64

CPU/FPU

ARM Cortex-M4, 32 Bit, 84 MHz

Betriebsspannung

1,7 V bis 3,6 V

Flash

512 KByte

SRAM

96 KByte

GPIOs

50

AD-Wandler

16 x 12 Bit

Echtzeituhr

erweiterte Timer-Funktionen

Watchdog-Timer

2

USART/UART

4

I2C

3

SPI

3

SDIO

1

USB 2.0

1

Installation

Wir verwenden für die Beispielinstallation auf dem PC das Betriebssystem Ubuntu 18.04 LTS. Für andere Betriebssysteme läuft die Installation ähnlich ab. Achten Sie immer darauf, dass das Nucleo-Entwicklungsboard beim Starten des Rechners am USB-Port hängt. Im Test ließ sich beobachten, dass es sonst nicht richtig erkannt wird. Um später Programme zu kompilieren, benötigen Sie nun eine Reihe von Tools und Bibliotheken.

Das Paket build-essential fasst alle für das Bauen von Software wichtigen Programme zusammen. Damit der Debugger der System Workbench fehlerfrei arbeitet, benötigen Sie zusätzlich noch das Paket libncurses5:i386 – das Anhängsel :i386 bezeichnet die 32-Bit-Version. Unter Ubuntu spielen Sie die Pakete mit dem Kommando aus der ersten Zeile von Listing 1 ins System ein.

Listing 1

 

$ sudo apt install build-essential libncurses5:i386
[...]
$ bash install_sw4stm32_linux_64bits-latest.run
[...]
$ cd ~/Ac6/SystemWorkbench/
$ ./eclipse

Die System Workbench [3] dient ausschließlich der Entwicklung von Programmen für die STM32-Mikrocontroller-Familie. Das Programm basiert auf der Entwicklungsumgebung Eclipse, daher liegt auch der Quelltext offen. Die System Workbench lässt sich somit auch kostenlos herunterladen und verwenden. Sie müssen sich allerdings dafür auf der Homepage mit E-Mail-Adresse und Anschrift registrieren.

Die Navigation zum Download-Bereich des Projekts fällt nicht gerade leicht, verwenden Sie daher nach Möglichkeit den direkten Link [4]. Sie wählen dann die für ihr Betriebssystem passende Installationsdatei aus. Die Anwendung unterstützt mit Linux, Mac OS X und Windows alle gängigen Plattformen. Um für Ubuntu die passende Paketdatei zu finden, müssen Sie auf der Seite ans Ende scrollen.

Nach dem Herunterladen der Datei starten Sie die Installation auf dem System (Listing 1, Zeile 3). Das Installationsskript stellt ziemlich viele Fragen, die Sie in der Regel guten Gewissens bejahen dürfen. Interessanterweise gibt es unterschiedliche Varianten, Ja zu sagen – Sie müssen tatsächlich etwas aufpassen, um keine Fehler bei der Eingabe zu machen.

Bei den meisten Fragen bedeutet 1 Ja, bei einigen müssen Sie O für OK oder Y für Yes eingeben. Mitten in der Installation fragt das Skript das administrative Passwort ab. Haben Sie sich durch den Fragenwald gehangelt und die Installation abgeschlossen, lässt sich die System Workbench dann starten (Listing 1, Zeile 4 und 5).

Als Erstes möchte das Programm von Ihnen einen Speicherort für den Workspace wissen. Darunter versteht die Entwicklungsumgebung die Stelle im Dateisystem, an der es die Projekte abspeichert. Im Zweifel übernehmen Sie einfach vorgegebene Standardeinstellung.

Erstes Projekt

Um ein neues Projekt für das Nucleo-Board zu erstellen, klicken Sie in der Navigationsleiste auf File | New | C Projekt. Im neuen Fenster wählen Sie dann ein leeres Projekt mit der Ac6 STM32 MCU GCC Toolchain aus (Abbildung 4). Jedes Projekt benötigt einen eindeutigen Namen, in unserem Beispiel heißt es der Einfachheit halber Blink. Sobald Sie alle Eingaben vorgenommen haben, klicken Sie auf Next.

Abbildung 4: Projekt erstellen, Schritt 1: Die Toolchain auswählen.

Auf dem nächsten Schirm (Abbildung 5) definieren Sie die Projekteinstellungen. Hier dürfen Sie getrost die Vorgaben übernehmen und Next klicken. Im folgenden Fenster wählen Sie dann das Board aus, für das Sie Ihr Programm kompilieren wollen. Dazu suchen Sie aus der Auswahlliste die STM32F4-Serie heraus. Danach lässt sich dann im zweiten Feld das NUCLEO-F401RE-Board wählen (Abbildung 6).

Abbildung 5: Projekt erstellen, Schritt 2: Deploy-Einstellungen treffen.
Abbildung 6: Projekt erstellen, Schritt 3: Das Board auswählen.

Wenn man die Auswahlmöglichkeiten in den Ausklappfeldern etwas näher betrachtet, wird einem erst bewusst, wie viele unterschiedliche Mikrocontroller es in der STM-Familie gibt. Abschließend klicken Sie auf Next, um zur nächsten Seite zu gelangen. Hier lassen sich noch zusätzliche Firmware-Bibliotheken einbinden. Wählen Sie Hardware Abstraction Layer (Cube HAL) aus.

Momentan befinden sich die nötigen Dateien noch nicht auf dem Rechner; die Bibliotheken lassen sich allerdings direkt aus der Entwicklungsumgebung heraus aus dem Netz laden. Klicken Sie also auf den Schalter Download target firmware. Vorab müssen Sie noch die Lizenzbedingungen annehmen, das Herunterladen der rund 660 MByte großen Bibliothek benötigt dann je nach Internet-Verbindung ein wenig Zeit (Abbildung 7). Klicken Sie jetzt auf Finish, legt das System das neue Projekt mit den getroffenen Einstellungen an.

Abbildung 7: Projekt erstellen, Schritt 4: Zusätzliche Bibliotheken und Firmware auswählen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Aktuelle Ausgabe

10/2019
Raspberry Pi 4B

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Sonnige Zeiten

    UV-Strahlung ist für das menschliche Auge unsichtbar, was sie umso gefährlicher macht. Die Höhe der tatsächlichen Belastung verrät Ihnen das Selbstbauprojekt UV-Sensor.

  • Gut verpackt

    Für das Ansteuern kleiner Displays gibt es keine Programme von der Stange. Mit Python und einer Pygame-Bibliothek erstellen Sie trotzdem im Handumdrehen Anwendungen.

  • Macro-Mini-Micro-Bit

    Was dem Raspberry Pi für die Computerwelt gelungen ist, versucht der BBC Micro:bit für Mikrocontroller zu wiederholen. Das für Schüler entwickelte Kit hilft beim Einstieg in die hardwarenahe Programmierung.

  • Vorhang auf

    Mit dem modernen Video-Codec HEVC (H.265) erstellte Filme spielen bisherige RasPi-Modelle oft nur ruckelnd ab. Wir testen, ob der neue Raspberry Pi 4B das besser kann.

  • Überraschung!

    Eine optimierte Architektur und mehr RAM beschleunigen den RasPi 4B deutlich. Wir prüfen, wie gut sich der Neuling als Desktop-Rechner schlägt.

  • Durchgestartet

    Ein Stresstest zeigt, wie sich der neue Raspberry Pi 4 Modell B gegenüber den älteren Modellen abhebt.

  • Vierte Generation

    Eine schnellere CPU, USB 3.0 und Gigabit-Ethernet sind nur die Highlights des Raspberry Pi 4B: Das Board bringt viele weitere Neuerungen mit.

  • Tiefenmesser

    Um die Pumpe in einem Brunnenschacht möglichst genau zu positionieren, brauchen Sie dessen Tiefe. Die ermitteln Sie mithilfe eines präzisen Messgeräts aus einem Luftdrucksensor und einem Mikrocontroller.

  • Faktencheck

    Das via DVB-T2 ausgestrahlte Digital-TV liefert Bilder in HD-Qualität. Der dabei eingesetzte H.265-Standard überfordert allerdings kleine Mini-Rechner wie den Raspberry Pi – oder geht es doch?

  • Zugriff von außen

    React Native erlaubt es, Apps mit wenigen Zeilen Code zu programmieren. Mit einem entsprechenden Server sprechen Sie so den RasPi vom Smartphone aus an.