STM32 programmieren und debuggen mit C++: Unterschied zwischen den Versionen
Nick (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Dieses Tutorial zeigt wie mit der Standard IDE Eclipse Mikrocontrollern von [http://www.st.com/content/st_com/en.html STMicroelectronics] mit C++ programmiert…“) |
(kein Unterschied)
|
Version vom 6. Dezember 2017, 14:40 Uhr
Dieses Tutorial zeigt wie mit der Standard IDE Eclipse Mikrocontrollern von STMicroelectronics mit C++ programmiert und debbugt werden kann. Voraussetzung ist die einrichtung von Eclipse nach dem Tutorial Programmieren und Debuggen des STM32 mit der Standard IDE Eclipse.
Ebenfalls wird auch hier das Discovery-Board: STM32F407G-DISC1 verwendet.
Projektbeispiel
In Eclipse File -> New -> C++ -> STM32F4xx C/C++ Project auswählen. Einen Projektnamen vergeben, hier Project name: HelloWorld. Den Ziel Prozessor auswählen, hier Target processor settings: STM32F407.
Datei:Target-prozessor-settings.jpg
Danach Next -> Next -> Next. Jetzt den Toolchain Pfad bis Ordner "bin" angeben, hier Toolchain path: D:\Programme\eclipse\GNU_ARM_Toolchain\5.4 2016q3\bin.
Datei:Cross-gnu-arm-toolchain.jpg
Und mit Finish bestätigen.
Debugging
Siehe Programmieren und Debuggen des STM32 mit der Standard IDE Eclipse.
Boardkonfiguration
Die Grundlegende Bord oder Chipconfiguration wird mit CubeMX durchgeführt. Nach der Konfiguration in CubeMX Project -> Settings... einen Project Namen vergeben, hier Project Namen HelloWorld, sowie einen Speicherort auswählen. Im Dropdown Menü Toolchain/IDE -> Other Toolchain auswählen und mit OK bestätigen.
Jetzt ist das Projekt unter Project –> Generate Code zu erzeugen. Im Anschluss mit Open Folder den Projekt-Ordner im Explorer öffnen. Oder Manuell zum erzeugten Projekt-Ordner navigieren. Die main.h vom CubeMX Projekt in den inc Ordner kopieren und in die _initialize_hardware.c einbinden. Die Funktionen für die Hardwarekonfiguration aus der main.c vom CubeMX Projekt in die _initialize_hardware.c kopieren (ersetzen).
Funktion Beispiel:
void SystemClock_Config(void) void Error_Handler(void) static void MX_GPIO_Init(void)
Die main.h kann natürlich umbenannt werden (z.B. _initialize_hardware.h) damit es nicht zu Missverständnissen kommt.