STM32 mit der Standart IDE Eclipse und CubeMX

Aus Nicki Wiki
Version vom 6. Dezember 2017, 14:28 Uhr von Nick (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Kurzanleitung Nutzen der von CubeMX von STM für die Standard Eclipse IDE. Voraussetzung: TuT_STM32_eclipse_arm_openOCD Beispiel-Board: STM32F407G-DISC1 =…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Kurzanleitung

Nutzen der von CubeMX von STM für die Standard Eclipse IDE.

Voraussetzung: TuT_STM32_eclipse_arm_openOCD Beispiel-Board: STM32F407G-DISC1


Download

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

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  

Kopieren der Bibliotheken vom CubeMX Projekt zum Eclipse Projekt!

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

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

TuT_STM32_eclipse_arm_openOCD.docx

Quellen

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