myavr.CHKRonline.de

Informationen und Projekte Rund um die Mikrocontroller-Programmierung
von myAVR (ATmega8), STM32 (Cortex-M3/4) und Raspberry Pi (ARM11)

Der Autor

Christian KrügerChristian Krüger, ursprünglich aus dem Altenburger Land stammend, wohnt heute in Nürnberg. Nach seinem Studium der Informations­technik an der West­sächsischen Hochschule in Zwickau, ist er heute Software Entwickler für ein­gebettete Systeme. Seine Berufung fand er im Dienst für seine Kollegen als Teamleiter bei ISCUE.

Die größte Leidenschaft Christians ist es, die Schönheit unserer Welt einzufangen und weiter­zuerzählen. Dies gelingt ihm mit Hilfe seiner Kamera. Seine Fotos und Videos sind auf Instagram und seiner Webseite zu betrachten.

Für seine Zukunft freut sich Christian auf erinnerungs­würdige Reisen, begeisterungs­fähige Menschen und viele neue Erfahrungen.

CHKRonline.de

Facebook Profil

Twitter Profil

XING Profil

STM32-Eclipse Tutorial

Windows Seite 2

Letzte Änderung: Montag, 26.09.2016 11:04

Standard Peripheral Library

Für die Entwicklung von Software für STM32 Mikrocontroller stellt der Hersteller ST Microelectronics eine umfangreiche Treiber-Bibliothek, bestehend aus Cortex Microcontroller Software Interface Standard (CMSIS), Geräte-Treibern, Kommunikations-Bibliotheken und Beispiel-Projekten zur Verfügung. Diese vereinfachen die Entwicklung von Software. Einige Teile des CMSIS sind außerdem notwendig, um Projekte zu kompilieren und zu linken. Die Standard Peripheral Library wird daher zum Workspace der STM32-Eclipse Toolkette.

Die Standard Peripheral Library kann von der ST-Webseite heruntergeladen werden. Neben ihr stehen noch andere Bibliotheken zum Download. Darunter auch eine LwIP TCP/IP Demonstration und die USB on-the-go Host Library. Diese zusätzlichen Bibliotheken lassen sich verwenden, um die Standard Peripheral Library zu erweitern.
Der Download besteht aus einem Zip-Archiv, welches entpackt werden muss. Innerhalb finden sich 4 Ordner:

_htmresc    -    Teil der Hilfe-Dokumente
Libraries   -    CMSIS und die Standard Peripheral Library
Project     -    Beispiel-Projekte
Utilities   -    Zusatz-Tools wie Evaluation-Board Unterstützung

Alle weiteren Downloads enthalten ebenfalls diese Ordnerstruktur, weshalb die Erweiterung der Bibliothek einfach möglich ist. Es genügt andere Bibliotheken in die Standard Peripheral Library zu kopieren. Dabei sollten jedoch keine Dateien überschrieben werden. Andernfalls kann es vorkommen, dass Teile von CMSIS oder der Treiber-Bibliothek mit älterer Software überschrieben werden. Dies lässt sich am besten gewährleisten, indem man die Standard Peripheral Library als letztes entpackt. Sie enthält in der Regel den aktuellsten Software-Stand. Die Bibliothek kann so nach eigenen Wünschen erweitert werden. Dabei ist es auch möglich die Bibliotheken für andere STM32 Mikrocontroller einfließen zu lassen. Im Beispiel wird dies für die STM32F4-Serie durchgeführt. Dies erlaubt eine einfache Migration von Software aus der STM32F2- in die STM32F4-Serie.

Achtung: Das Beispiel-Projekt "STM32F2_7 in-applciation programming (IAP) over Ethernet (AN3376)" hält sich nicht vollständig an die Ordner-Konvention sondern entpackt sein Beispiel-Projekt direkt in den Ordner Project anstatt in einen Unterordner, z.B. STM32F2xx_ETH_IAP. Dies sollte manuell korrigiert werden. Die Schreibrechte der einzelnen Dateien sollten nicht verändert werden. STM hat sie bereits sinnvoll vergeben, so dass Bibliotheken nicht editierbar sind.

Die entpackte Standard Peripheral Library wird in folgenden Ordner kopiert:

C:\STM32-Workspace

Entwicklungsumgebung

Die letzte Komponente in der Toolkette ist der Editor. Dieser ermöglicht alle Komponenten zentral aufzurufen, visualisiert das Debugging und erleichtert zudem die Editierung des Quellcodes durch eine Reihe von Automatismen. Als kompatible IDE bietet sich Eclipse an. In diesem Beispiel wurde die aktuelle Version "Eclipse Mars.2" verwendet. Dies spielt vor allem bei der Kompatibilität der Eclipse-Plugins eine wichtige Rolle. Vor der Verwendung einer neueren Version sollte daher deren Kompatibilität überprüft werden. Welche Plugins genau verwendet werden, steht unter "Download". Optimalerweise wird die Eclipse IDE in der Version "Eclipse IDE for C/C++ Developers" heruntergeladen. Diese enthält bereits den CTD-Plugin, der für die C-Programmierung auf STM32-Mikrocontrollern notwendig ist. Alternativ kann der Plugin aber auch separat heruntergeladen und installiert werden. Darauf wird im Folgenden jedoch nicht näher eingegangen.

Eclipse steht als gepacktes Zip-Archiv zur Verfügung. Es genügt den Inhalt in das Ziel-Verzeichnis STM32-Eclipse zu entpacken.

C:\STM32-Eclipse

Da Eclipse in Java programmiert ist, benötigt es die Java Runtime Enviroment um ausgeführt zu werden. Ist diese nicht installiert, muss es vor der Ausführung von Eclipse nachgeholt werden. Das Programm startet andernfalls nicht.

Beim ersten Start von Eclipse fordert es zur Erstellung eines Workspaces auf. In diesem legt Eclipse fortan alle erstellten Projekte und zugehörige Verwaltungs-Daten ab. Um ein optimales Zusammenspiel mit der Standard Peripheral Library zu gewährleisten, bildet der Eclise Workspace einen Teil von ihr, indem der Ordner

C:\STM32-Workspace\Project

als Workspace ausgewählt wird. Der Unterordner Project wird verwendet, weil er die Beispiel-Projekte enthält.

Eclipse Plugins

Nach dem Start von Eclipse müssen einige zusätzliche Plugins installiert werden, um die Toolkette aufzubauen. Zu diesem Zweck ist der Menüpunkt

Help > Install New Software...

zu öffnen. Dort müssen unter "Add..." drei neue Software-Pfade hinzugefügt werden. Für den Download der Plugins ist eine Internet-Verbindung notwendig.

Nach erneutem Aufrufen des Dialogs, stehen die drei neuen Pfade unter "Work with:" zur Verfügung. Begonnen wird mit CDT. Aus dem Software-Archiv wird das Plugin "C/C++ GDB Hardware Debugging" unter "CDT Optional Features" benötigt. Zur Installation muss es im unteren Fenster angehackt werden, mit "Next" und "Finish" wird die Installation gestartet. Nach einem Neustart von Eclipse folgen die GNU ARM Eclipse Plugins, mit vollem Namen "GNU ARM C/C++ Cross Development Tools". Aus der Auswahl werden alle Plugins installiert. Warnungen, dass einigen Dateien nicht signiert sind, sollten übergangen werden. Einen weiteren Neustart später folgt das Register View Plugin, genannt "Embedded Systems Register View (SFR)" und "EmbSysRegView Data" unter "embsysregview". Diese Plugins sind optional, da sie von Haus aus weder die STM32F2, noch die STM32F4-Serie unterstützen. Es ist jedoch möglich, eigene Register-Karten in XML zu schreiben und damit eine Kompatibilität herzustellen. Warnungen, dass einigen Dateien nicht signiert sind, sollten wieder übergangen werden.

Projekt-Template Erstellung

Nun kann mit der Erstellung eines Projekt-Templates begonnen werden. Zu diesem Zweck muss Eclipse gestartet werden und unter

File > New > C Project

ein neues Projekt erstellt werden. In dem aufgehenden Dialog sollten die Projekttypen "ARM Cross Target Application" und "ARM Cross Target Static Library" erscheinen. Für ein Projekt-Template für die STM32-Eclipse Toolkette muss "Cross ARM GCC" unter "Executable" > "Empty Project" gewählt werden.

Executable > Empty Project > Cross ARM GCC

Oben im Fenster ist ein Projektname einzugeben. Dieser soll zunächst STM32F2xx_StdPeriph_Template lauten. Sinn dessen ist, dass das Eclipse-Projekt Teil eines schon bestehenden Template-Projekts der Standard Peripheral Library wird. Die STM32-Eclipse Umgebung fügt sich dadurch nahtlos neben anderen Entwicklungsumgebungen wie MDK-ARM und RIDE im Verzeichnisbaum ein.

Entgegen der Workspace-Konfiguration sollte das Projekt unter folgendem Pfad gespeichert werden. Der Pfad muss manuell angegeben werden, indem das Häckchen bei "Use default location" entfernt wird.

C:\STM32-Workspace\Project\STM32F2xx_StdPeriph_Template\STM32-Eclipse

Mit einem Klick auf Next können die zu erstellenden Builds festgelegt. Im nächsten Dialog wird die verwendete GNU Toolchain ausgewählt:

GNU Tools for ARM Embedded Processors (arm-none-eabi-gcc)

Darunter ist der Toolchain Pfad anzugeben, wie im Beispiel:

C:\DevTools\STM32-Eclipse\GCC_ARM_Embedded\bin

Mit Finish das Projekt erstellt werden. Wenn nicht schon geschehen ist jetzt ein guter Zeitpunkt, den Eclipse-Welcome-Screen zu schließen, um den Blick auf das eben erzeugte Projekt frei zu machen.

Zurück Seite 2 von 4 Weiter