STM32 programmieren und debuggen mit C++: Unterschied zwischen den Versionen

Aus Nicki Wiki
Zur Navigation springen Zur Suche springen
(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…“)
 
 
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Dieses Tutorial zeigt wie mit der Standard IDE Eclipse Mikrocontrollern von [http://www.st.com/content/st_com/en.html STMicroelectronics] mit C++ programmiert und debbugt werden kann. Voraussetzung ist die einrichtung von Eclipse nach dem Tutorial [https://wiki.xnick.de/index.php/Programmieren_und_Debuggen_des_STM32_mit_der_Standard_IDE_Eclipse Programmieren und Debuggen des STM32 mit der Standard IDE Eclipse].<br />
Dieses Tutorial zeigt wie mit der Standard IDE Eclipse Mikrocontrollern von [http://www.st.com/content/st_com/en.html STMicroelectronics] mit C++ programmiert und debbugt werden kann. Voraussetzung ist die Einrichtung von Eclipse nach dem Tutorial [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse].<br />
Ebenfalls wird auch hier das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] verwendet.
Ebenfalls wird auch hier das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] verwendet.


== Projektbeispiel ==
== Projektbeispiel ==
In Eclipse '''File''' -> '''New''' -> '''C++''' -> '''STM32F4xx C/C++ Project''' auswählen.
In Eclipse '''File''' -> '''New''' -> '''C++''' -> '''STM32F4xx C/C++ Project''' auswählen.
Einen Projektnamen vergeben, hier '''Project name:''' HelloWorld.
Einen Projektnamen vergeben - hier '''Project name:''' HelloWorld.
Den Ziel Prozessor auswählen, hier Target '''processor settings:''' STM32F407.
Den Zielprozessor auswählen - hier Target '''processor settings:''' STM32F407.


[[Datei:target-prozessor-settings.jpg]]
[[Datei:stm32_c++_project_processor_settings.png|300px]]


Danach '''Next''' -> '''Next''' -> '''Next'''.
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.
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]]
[[Datei:stm32_c++_project_gnu_toolchain.png|300px]]


Und mit Finish bestätigen.
und mit Finish bestätigen.


== Debugging ==
== Debugging ==
Siehe [https://wiki.xnick.de/index.php/Programmieren_und_Debuggen_des_STM32_mit_der_Standard_IDE_Eclipse Programmieren und Debuggen des STM32 mit der Standard IDE Eclipse].
Siehe [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse].


== Boardkonfiguration ==
== Boardkonfiguration ==
Die Grundlegende Bord oder Chipconfiguration wird mit CubeMX durchgeführt.
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.
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.
Im Dropdown Menü '''Toolchain/IDE''' -> '''Other Toolchain''' auswählen und mit '''OK''' bestätigen.


[[Datei:project-settings.jpg]]
[[Datei:stm32_c++_cubemx_prject_settings.png|300px]]
   
   
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.
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).
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).


Zeile 34: Zeile 34:
  static void MX_GPIO_Init(void)
  static void MX_GPIO_Init(void)


[[Datei:workspace.jpg]]
[[Datei:stm32_c++_main.png|300px]]


Die '''main.h''' kann natürlich umbenannt werden (z.B. '''_initialize_hardware.h''') damit es nicht zu Missverständnissen kommt.
Die '''main.h''' kann natürlich umbenannt werden (z.B. '''_initialize_hardware.h'''), damit es nicht zu Missverständnissen kommt.


== Quellen ==
== Quellen ==

Aktuelle Version vom 15. März 2018, 16:11 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 STM32 programmieren und debuggen 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 Zielprozessor auswählen - hier Target processor settings: STM32F407.

Stm32 c++ project processor settings.png

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

Stm32 c++ project gnu toolchain.png

und mit Finish bestätigen.

Debugging

Siehe STM32 programmieren und debuggen 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.

Stm32 c++ cubemx prject settings.png

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)

Stm32 c++ main.png

Die main.h kann natürlich umbenannt werden (z.B. _initialize_hardware.h), damit es nicht zu Missverständnissen kommt.

Quellen