Forum: Mikrocontroller und Digitale Elektronik STM32 HAL Driver


von Stammler (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin neu in der STM32 Welt und versuche mich an einem STM32L053R8.
Ich habe mir von der ST Homepage die Cube Lib geladen und versuche sie 
zu verwenden. Ganz einfach wollte ich beginnen mit dem GPIO-Toggle 
Beispiel. Ich verwende übrigens IAR Embedded Workbench. Wenn ich das 
fertige Beispielprogramm lade funktioniert alles einwandfrei. Compile 
ohne error und debug auch problemlos.
Das wollte ich also einmal selbst ausprobieren. Mein vorgehen:

Neuen Ordner erstellen und Cube/Drivers reinkopieren
Neues leeres Projekt erstellen
Optionen -> Device "ST STM32L053R8" aus der Liste wählen
   -> C/C++ Compiler -> Preprozessor -> includes:
           $PROJ_DIR$\
           $PROJ_DIR$\CMSIS\Device\ST\STM32L0xx\Include
           $PROJ_DIR$\CMSIS\Include
           $PROJ_DIR$\STM32L0xx_HAL_Driver\Inc
        defines:
           STM32L053xx
           USE_HAL_DRIVER
   -> Debugger -> Setup -> ST-Link
   -> Debugger -> Download -> Verify download + Use flash loaders
   -> ST-Link -> Interface -> SWD
   -> Linker -> stm32l053xx_flash.icf auswählen
Sourcen einbinden wie in Bild 1
main.c und main.h wie im Beispiel erstellen/kopieren

Wenn ich dann Make anklicke bekomme ich 34 errors:
Error[Pe020]: identifier "FLASH_PECR_FIX" is undefined 
...\stm32l0xx_hal_flash_ex.c 789
Error[Pe020]: identifier "FLASH_OPTR_RDPROT" is undefined 
...\stm32l0xx_hal_flash_ex.c 840
.........................
Error[Pe020]: identifier "RCC_ICSCR_MSITRIM_Pos" is undefined 
...\stm32l0xx_hal_rcc.c 306
Error[Pe020]: identifier "RCC_ICSCR_MSIRANGE_Pos" is undefined 
...\stm32l0xx_hal_rcc.c 506
.........................
Error[Pe020]: identifier "RCC_CFGR_PLLMUL_Pos" is undefined 
...\stm32l0xx_hal_rcc_ex.c 479
Error[Pe020]: identifier "RCC_CFGR_PLLDIV_Pos" is undefined 
...\stm32l0xx_hal_rcc_ex.c 480
.........................

Kann mir jemand erklären was ich falsch mache?

von Jan D. (nbg)


Lesenswert?

#include "stm32l0xx_hal.h"

Ansonsten nutze ich CubeMX um mir ein erstes Grundgerüst zu 
konfigurieren.

von Nop (Gast)


Lesenswert?

Mach ne Volltextsuche auf die Sachen, die angeblich nicht definiert 
sind. Guck Dir bei deren Definition an, ob da ifdefs vorstehen, die 
nicht aktiv sind.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Jan D. schrieb:
> Ansonsten nutze ich CubeMX um mir ein erstes Grundgerüst zu
> konfigurieren.

 Ja.
 Und der TO kriegt ein fertiges (Grund)Projekt für EWARM.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.