STM32 mit der Standart IDE Eclipse und CubeMX: Unterschied zwischen den Versionen
Nick (Diskussion | Beiträge) |
Nick (Diskussion | Beiträge) |
||
| Zeile 5: | Zeile 5: | ||
In CubeMX '''Project''' -> '''Settings…''' -> '''Project Namen''' vergeben und den Speicherort '''Project Location''' bestimmen.<br /> | In CubeMX '''Project''' -> '''Settings…''' -> '''Project Namen''' vergeben und den Speicherort '''Project Location''' bestimmen.<br /> | ||
Unter '''Toolchain/IDE''' im Dropdown-Menü '''Other Toolchain (GPDSC)''' auswählen und mit '''OK''' bestätigen. | Unter '''Toolchain/IDE''' im Dropdown-Menü '''Other Toolchain (GPDSC)''' auswählen und mit '''OK''' bestätigen. | ||
[[Datei:Beispiel.jpg]] | |||
Der Code wird unter '''Project''' –> '''Generate Code''' generiert. Entweder man geht direkt über die Option '''Open Folder''' oder navigiert manuell in das Projektverzeichnis. | Der Code wird unter '''Project''' –> '''Generate Code''' generiert. Entweder man geht direkt über die Option '''Open Folder''' oder navigiert manuell in das Projektverzeichnis. | ||
== Eclipse Projekt erstellen == | == Eclipse Projekt erstellen == | ||
Window -> Preferences -> C/C++ -> Build -> Global Tools Path | Vor der Erstellung des Projektes müssen noch die [https://github.com/gnu-mcu-eclipse/windows-build-tools/releases GNU MCU Eclipse Windows Build Tools] heruntergeladen und installiert werden. | ||
Build tools folder: Pfad | Und in Eclipse '''Window''' -> '''Preferences''' -> '''C/C++''' -> '''Build''' -> '''Global Tools Path''' unter '''Build tools folder:''' der Pfad bis zum '''bin''' Ordner den zuvor installierten '''GNU MCU Eclipse Windows Build Tools''' eingetragen werden. | ||
OK | OK | ||
Version vom 7. Dezember 2017, 06:34 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
Download und Installation von CubeMX. Im Anschluss wird CubeMX gestartet und entsprechend für sein Chip oder Board Einstellungen vorgenommen.
In CubeMX Project -> Settings… -> Project Namen vergeben und den Speicherort Project Location bestimmen.
Unter Toolchain/IDE im Dropdown-Menü Other Toolchain (GPDSC) auswählen und mit OK bestätigen.
Der Code wird unter Project –> Generate Code generiert. Entweder man geht direkt über die Option Open Folder oder navigiert manuell in das Projektverzeichnis.
Eclipse Projekt erstellen
Vor der Erstellung des Projektes müssen noch die GNU MCU Eclipse Windows Build Tools heruntergeladen und installiert werden. Und in Eclipse Window -> Preferences -> C/C++ -> Build -> Global Tools Path unter Build tools folder: der Pfad bis zum bin Ordner den zuvor installierten GNU MCU Eclipse Windows Build Tools eingetragen werden.
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/