STM32 mit der Standart IDE Eclipse und CubeMX: Unterschied zwischen den Versionen

Aus Nicki Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
Nutzen der von CubeMX von STM für die Standard Eclipse IDE.
Dieses Tutorial zeigt wie die Hardwarekonfiguration von CubeMX in der Standard IDE Eclipse genutzt 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]. Das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] dient wieder als Beispiel.
 
Voraussetzung: TuT_STM32_eclipse_arm_openOCD
Beispiel-Board: STM32F407G-DISC1
 


== CubeMX Projekt erstellen ==
== CubeMX Projekt erstellen ==

Version vom 7. Dezember 2017, 06:14 Uhr

Dieses Tutorial zeigt wie die Hardwarekonfiguration von CubeMX in der Standard IDE Eclipse genutzt werden kann. Voraussetzung ist die Einrichtung von Eclipse nach dem Tutorial STM32 programmieren und debuggen mit der Standard IDE Eclipse. Das Discovery-Board: STM32F407G-DISC1 dient wieder als Beispiel.

CubeMX Projekt erstellen

GNU ARM Eclipse Build Tools https://github.com/gnuarmeclipse/windows-build-tools/releases

CubeMX starten und wie gewünscht für sein Board Konfigurieren Project -> Settings … -> Project Namen vergeben Speicherort auswählen Toolchain / IDE: Other Toolchain

OK Project –> Generate Code

GNU ARM Eclipse Build Tools Herunterladen und Installieren

Eclipse Projekt erstellen

Window -> Preferences -> C/C++ -> Build -> Global Tools Path Build tools folder: Pfad zu den zuvor installierten build tools (bin Ordner)

OK

Neues Projekt erstellen: File -> New -> C Project -> Hello World ARM Cortex-M C/C++ Project Projektnamen vergeben

Next -> Next Vendor CMSIS name: stm32f4xx

Finish Finish  

CubeMX Projekt in Eclipse Projekt integrieren

CubeMX Projekt: STM32F407G_CubeMX Eclipse Projekt: STM32F407G_Eclipse

VON STM32F407G_CubeMX\Drivers\STM32F4xx_HAL_Driver\Inc Kopieren Alle NACH STM32F407G_Eclipse\system\include\stm32f4xx

VON STM32F407G_CubeMX\Drivers\STM32F4xx_HAL_Driver\Src Kopieren Alle NACH STM32F407G_Eclipse\system\src\stm32f4xx

Im Ordner STM32F407G_Eclipse\system\src\cmsis Löschen „system_stm32f4xx.c“ und „vectors_stm32f4xx.c“

VON STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\ Kopieren system_stm32f4xx.c NACH STM32F407G_Eclipse\system\src\cmsis

VON STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\gcc\ Kopieren startup_stm32f407xx.s NACH STM32F407G_Eclipse\system\src\cmsis

Im Ordner STM32F407G_Eclipse\system\include\cmsis Löschen „system_stm32f4xx.h“ und „stm32f4xx.h“

VON STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Include Kopieren „system_stm32f4xx.h“, „stm32f4xx.h“ und „stm32f407xx.h“ NACH STM32F407G_Eclipse\system\include\cmsis

VON STM32F407G_CubeMX\Drivers\CMSIS\Include Kopieren Alle (ggf. ersetzen) NACH STM32F407G_Eclipse\system\include\cmsis

Im Ordner STM32F407G_Eclipse\src Löschen Alle

Im Ordner STM32F407G_Eclipse\include Löschen Alle

VON STM32F407G_CubeMX\Src Kopieren Alle NACH STM32F407G_Eclipse\src

VON STM32F407G_CubeMX\Inc Kopieren Alle NACH STM32F407G_Eclipse\include

Script Linux/Cygwin

Eclipse Projekt konfigurieren

Rechte Maustaste auf das Project -> Refresh Projekt -> ldscripts -> mem.ld Anpassen der Speicheradressen Flash: 0x08000000, LENGTH = 1024K RAM: 0x20000000, LENGTH = 128K CCMRAM: 0x10000000, LENGTH = 64K


Rechte Maustaste auf das Projekt -> Properties -> C/C++ Build -> Settings Cross ARM C Compiler -> Preprocessor Defined symbols (-D) -> auf das Plus Symbol


Den Namen (STM32F407xx) der Hinzugefügten Datei „stm32f407xx.h“ eintragen

Probleme

Kompiliert erfolgreich aber „Warnings“ verschwinden nicht: Rechte Maustaste auf Projekt -> C/C++ General -> Paths and Symbols -> Includes Add… -> Workspace… STM32F407G_Eclipse -> system -> include -> sytm32f4xx

Error „multiple definition of …“: Löschen von Header template Dateien z.B. system -> include -> stm32f4xx löschen aller Headerdateien mit der Endung „template“

Eclipse erkennt startup-script „startup_stm32f407xx.s“ nicht: - Rechte Maustaste auf „startup_stm32f407xx.s“ -> Rename - das „s“ am Ende groß schreiben -> OK

Debuggen

Siehe STM32 programmieren und debuggen mit der Standard IDE Eclipse.

Quellen

http://gnuarmeclipse.github.io/windows-build-tools/download/