Hallo zusammen, ich möchte mir ein Basisprojekt für den STM32F030 in Keil µVision 4 anlegen und zwar mit den Standardbibliotheken von ST. Wenn ich nun aber z.B. die GPIO-Lib einbinden will, dann kommt folgende Fehlermeldung: fatal error 'stm32f0xx_gpio.h' file not found Zu meinem Vorgehen: 1) Bibliotheken von ST gedownloadet 2) (In dem Dialogfester links) die .h und .c Datei für die GPIOs in die Projektstruktur eingebunden 3) Bei den Einstellungen/C/C++/Prepocessor Symbols/Define "USE_STDPERIPH_DRIVER" eingegeben 4) Bei den Einstellungen/C/C++/Include Paths den Downloadpfad der Bibliotheken von ST eingebunden Wieso kann er die Datei trotzdem nicht finden? Muss ich noch was anderes einstellen oder habe ich etwas falsch gemacht?
Die Cube kann dir ein gesamtes Projekt mit allen includes generieren, falls es dir egal ist ob HAL oder SPL.
Wu schrieb: > HAL oder SPL. Was ist dabei der Unterschied? Wu schrieb: > Die Cube kann dir ein gesamtes Projekt mit allen includes generieren Du meinst den stm32cubemx? Wie mache ich es damit?
sdt schrieb: > Was ist dabei der Unterschied? HAL ist quasi der Nachfolger der SPL. sdt schrieb: > Du meinst den stm32cubemx? Wie mache ich es damit? CubeMX herunterladen, Pins konfiguieren und dann Code generieren. Gruß Daniel
Mit der Standardlibary gehst Du wie folgt vor: 1. Erstelle Ordner und kopiere folgende Files aus der SPL in den jeweiligen Ordner: \cmsis_Boot stm32f0xx.h stm32f0xx_conf.h system_stm32f0xx.c system_stm32f0xx.h \startup startup_stm32f0xx.s \cmsis_CoreSetup core_cm.h core_cm4_simd.h core_cmFunc.h core_cmInstr.h \StdLib_inc Deine benötigten Peripherieheaders (GPIO, RCC, USART, SPI, DMA ...) \StdLib_src Deine benötigten Peripherie-Cs (GPIO, RCC, USART, SPI, DMA ...) \user_inc Deine Headers \user_src Deine Funktionsdateien und die main.c 2. Dann diese Dateien in den Project_Items zum Projekt einfügen. 3. Option for Target, Reiter C/C++: define: USE_STDPERIPH_DRIVER 4. Include Path, die angelegten Ordner auswählen 5. Have a lot of fun! Gruß Daniel
Daniel V. schrieb: > Mit der Standardlibary gehst Du wie folgt vor: Habe das genau so nachgemacht und jetzt kommt die im Bild angezeigte Fehlermeldung, dass er uint32 nicht kennt. Wie kann ich das beheben?
Wu schrieb: > Die Cube kann dir ein gesamtes Projekt mit allen includes generieren, > falls es dir egal ist ob HAL oder SPL. Habe mir mit dem Cube nun ein Projekt erstellen lassen. Kann ich nicht einstellen, dass ich die SPL verwenden will? Denn nach kurzem Einlesen scheint es mir so, als ob SPL und HAL komplett unterschiedlich sind.
Ja, sind unterschiedlich. Nein, kannst du nicht einstellen.
Hast Du die Ordner unter C/C++ unter Include Path angelegt und hast Du auch mal
1 | #include <stm32f4xx_conf.h> |
probiert? Ich hatte auch mal das Problem und da hatte ich das Projekt mal neu aufgezogen. Anbei meine Einstellungen (ist µVersion 5, dürfte in µVersion 4 nicht anders sein) Hast Du denn mal versucht Dein Projekt in Keil µVersion 5 zu erstellen? Was spricht dagegen? Diese ist für die Cortex-M0 frei. sdt schrieb: > Habe mir mit dem Cube nun ein Projekt erstellen lassen. Kann ich nicht > einstellen, dass ich die SPL verwenden will? Das ist der offizielle Nachfolger der SPL. Ich meine sogar, das die SPL von STM gar nicht mehr weiterentwickelt wird. Du kannst jedoch die Target-Einstellungen mit Deinem und vom Cube generierten Projekt auch mal miteinander vergleichen. Gruß Daniel PS Sorry für das Doppelbild
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.


