Hallo Ihr, hat jemand von euch schon Erfahrung mit dem STM32Cube und Eclipse? Hab es soweit hinbekommen das ich das Plugin in Eclipse drin habe und auch schon mal aus Spaß mein Grundsystem mit RTOS zusammengeklickt habe. Der Code wird auch schön generiet.. Und wie bekomme ich den nun in ein neues Projekt rein? Hab es mal über Import versucht aber dann kann er alles mögliche nicht resolven... Hat es schonmal jemand Zustande gebracht, ohne Keil und IAR ? Also nur freie uneingeschränkte Tools?? Auf Linux hoffe ich ja schon gar nicht beim STM32Cube... aber nichtmal unter Windows gehts es mal so eben... Da ist Microchip schon bei weitem besser....(sogar Linux läuft direkt alles...) Naja gut Coocox geht soweit ganz gut.. unterstützt aber nicht das Cube und Rtos so direkt.. Das Cube ist schon nett wenn ich jetzt noch in ein Projekt eingebunden bekomme...
>hat jemand von euch schon Erfahrung mit dem STM32Cube und Eclipse? Ja. >Hab es soweit hinbekommen das ich das Plugin in Eclipse drin habe und >auch schon mal aus Spaß mein Grundsystem mit RTOS zusammengeklickt habe. > >Der Code wird auch schön generiet.. Ja, cool nich;) >Und wie bekomme ich den nun in ein neues Projekt rein? Zu Fuß neues Projekt erstellen und den erzeugten Code dort von Hand einfügen. >Hab es mal über Import versucht aber dann kann er alles mögliche nicht >resolven... Ging mir genauso. >Hat es schonmal jemand Zustande gebracht, ohne Keil und IAR ? Vermutlich diejenigen die Atollic Truestudio haben;) >Also nur freie uneingeschränkte Tools?? Da will ST scheinbar nicht so richtig. Die Projekte können nur für IAR, Keil, und Atollic erzeugt werden. Eclipse und ARM-GCC pur wollen sie wohl nicht unterstützen. Zumindest ein kleiner Lichtblick erscheint am Horizont. Mit Eclipse Keppler und dem CDT kann man jetzt ja zumindest schon mal ein Grundgerüst mit Linker Scripten und Startupcode für einige STM32 erstellen.
Das heißt leeres ARM GCC Projekt erstellen und dann alles von Hand hinzufügen? Boa... ich glaub ich überlege es mir mit ARM nochmal.. Wenn es für die PIC32MZ schon ordentliche Dev-Boards gäbe wäre es sowieso schon fest was ich nehme..
Könntest du bitte einmal genauer beschrieben was du wo reinfügen musstest??
>Das heißt leeres ARM GCC Projekt erstellen und dann alles von Hand >hinzufügen? Ja. >Könntest du bitte einmal genauer beschrieben was du wo reinfügen >musstest?? Nein, ich hatte mir das nur mal kurz angesehen und dann erst mal wieder verworfen ein komplettes Projekt mit dem erzeugten Code zu basteln.
Geht es euch hier um den Nachfolger der Standard peripheral library oder um die Peripherie-Zusammenklick-Software STM32CubeMX? Für erstere bin ich gerade dabei, einen Paketmanager zu schreiben, der das Archiv von ST runterlädt und einem die gewünschten Bestandteile (CMSIS, HAL, etc) entpackt. Funktioniert schon recht gut, muss nur noch ein wenig poliert werden, damit's vorzeigbar wird. Landet dann hoffentlich dieses Wochenende oder so auf github.
Eigentlich beides, dass KlickiBunti ist schon ganz nett. Und vor allem die einfache Configration und die Überwachung ob etwas nicht zusammenpasst. Wo ich halt nun hänge, wie bekomme ich den erstellten Code in Eclipse rein? So das ich den Compilieren kann? Atollic ist ja Eclipse und GNU GCC... Also sollte das ja eigentlich klappen. Aber ich bekomme es nicht hin..
>Geht es euch hier um den Nachfolger der Standard peripheral library oder >um die Peripherie-Zusammenklick-Software STM32CubeMX? Laut ST ist dieser Cube Kram der Nachfolger der Standard Peripheral Library. Dafür gibt es auch ein Eclipse Plugin. Das erzeugt aber nur Projekte für Atollic. Die erzeugten Projekte kann man nicht einfach so in Eclipse importieren.
holger schrieb: > Das erzeugt aber nur Projekte für Atollic. Die erzeugten > Projekte kann man nicht einfach so in Eclipse importieren. Einfach mal die erzeugten Dateien ins Projekt einwerfen und so lange HAL-Bibliotheken importieren bis es baut?
Und um sowas zu umgehen wollte ich wissen ob es schonmal jemand geschafft hat und weiß worans hängt.. Hintergrund ist auch es wird mein erstes ARM Projekt (bis auf bissel LED Blinken usw.) Da wollte ich gern direkt möglichst Komfortabel und mit dem aktuellsten (was dann hoffentlich auch länger so bleibt) einsteigen..
Ich nutze schon seit Jahren Eclipse/GCC um STM32 Programme zu erstellen. Nachteil: Man muss vieles selbst machen Vorteil: Man weiß genau welche Dateien eingebunden sind und kann jeden Codeblock genau dort hin in den Speicher schieben wie man mag. Schlussendlich hat man damit die volle Kontrolle - wenn man weiß wie es geht. Selbst der Startup-Code habe ich in C geschrieben - und der macht genau das was ich will. Zum Eclipse nutze ich das CDT Plugin und den Segger J-LINK zum debuggen, das klappt reibungslos, auch größere Projekt mit 300KB FLASH. Eclipse & STM32 nutze ich seit Gallileo, bis heute mit Keppler. Hier ein Artikel: STM32 Eclipse Installation Ein Projekt von mir: "Blink-LED, komplettes Eclipse-Workspace von MmVisual" gibt es auch in dem Artikel zum Download. Damit hätte man zumindest mal eine Grundlage und weiß wie es geht. Wer von 0 anfängt, für den ist CooCox durchaus ausreichend. Wer die absolute Freiheit mag, für den ist Eclipse die erste Wahl. Damit kann man Code für jeden µC (C, C++) erstellen, man muss nur den passenden Compiler einbinden (was im "makefile" deklariert wird).
:
Bearbeitet durch User
>Einfach mal die erzeugten Dateien ins Projekt einwerfen und so lange >HAL-Bibliotheken importieren bis es baut? Sicher kann man das so machen, und ich hätte auch kein Problem damit. Aber der Wunsch das das ohne grosse Handarbeit direkt über das Eclipse Plugin geht bleibt natürlich. Darum geht es. So wie es jetzt ist muss man sich ausser dem kopieren von Dateien auch noch die ganzen Compiler defines, die Include Pfade usw. aus dem Atollic Projekt rauspopeln. Da hatte ich bisher noch keine Lust zu.
Naja wie gesagt bisher hab ich nur mit 8bit Pic zu tun gehabt und ein wenig mit Pic32. Nun für meine Masterarbeit bin ich ins kalte Wasser geschmissen worden. Und da für spätere Projekte Platz nach oben bleiben soll, soll ich einen möglichst Leistungsfähigen µC nehmen. BeagleBone wäre eine alternative (Linux kann ich ein wenig) aber da ich außer SPI und UART auch wohl ein paar Sachen Parallel über GPIO ansprechen muss ist es mit dem PRU Gedöns nicht ganz so einfach.. Außerdem soll es in C sein (am liebsten Matlab....) und die PRU mit Assembler geht also schonmal nicht... Also würde ich halt nun auf die Cortex M4 oder Pic32MZ gehen. Pic32 wäre mir leiber aber die sind ja bisher nur schlecht verfügbar und ein geeignetes Dev-Board gibt es auch noch nicht.. Daher wird es wohl auf nen ARM rauslaufen. Die LPC4370 sind wohl die schnellsten wobei ein Dual-Core mir den Einstieg wohl nicht erleichtert... somit bin ich bei den STM32F437 gelandet. Sollten hoffentlich genug Leistung haben... Man muss dazu sagen ich bin nicht Informatiker sondern E-Techniker.. Daher bevorzuge ich einen leichten Einstieg mit Klicki-Bunti.. Zusätzlich bin ich noch an einem RTOS am überlegen was wohl sinnvoll ist bei dem Projekt aber halt nomma bissel die Anforderung an den Einstieg nach oben schraubt...
Für Deinen Einstieg empfehle ich erst mal das Board "STM32F4DISCOVERY". Kostet 12..20 EUR und ein Debugger (ST-LINK/V2) ist da auch schon mit drauf. Per Klicki-Bunti bekommst Du das Board innerhalb weniger Minuten zum Laufen: Artikel: STM32 CooCox Installation
Ja sowas hab ich ja sogar schon gemacht. Da ich immermal mit ARM anfangen wollte hab ich bereits ein paar Boards und sogar einen J-Link. Mit Coocox hab ich halt ein wenig blinken lassen und sogar mit ein wenig Code Unterstützung auch schon über Bluetooth und UART Sachen versendet. Nur jetzt wird es halt größer und da wollte ich auf die STM32Cube Unterstützung zurückgreifen. Eben weil ich auch mit FreeRTOS Einsteigen werde (wohl muss aber auch möchte...) Und da kam mir das Klicki-Bunti sehr recht.. Leider habe ich halt kein Keil/IAR/Atollic zur Verfügung...
Mit EM:Blocks kannst du ein von CubeMx erstelltes Project laden. MDK ARM als Toolchain in CubeMX einstellen. Und dann einfach in EM:Blocks laden.
GRRRECLIPSE schrieb: > Das ist sehr interessant. Werde ich morgen mal ausprobieren. Bevor du die 30Mb evtl. umsonst runterlädst, wenn du ein Keil Project in E::B importierst muss zum kompilieren der Keil Compiler installiert sein. Es lässt sich aber recht einfach ein Projekt erstellen das das gleiche Projekt Verzeichnis wie CubeMx benutzt. Dann kannst du in CubeMX den Code generieren lassen kannst und in Em::Blocks kompilieren lassen kannst. Das sollte auch mit CooCox gehen. Ich kann es dir bei Interesse aber nur für E::B erklären.
Also wenn ich mit EM:Blocks ein Projekt erstelle und mit CubeMX den Code generieren lasse kann ich den irgendwie in EM:Blocks reinbekommen und mit einem freien Compiler also GCC ohne Beschränkungen nutzen?? Wenn ja, dann erklär bitte ein wenig mehr hier. Wenn ich heut Abend zu Hause bin versuche ich es mal. Es interessiert bestimmt noch andere.
Um ein Project in E::B zu erstellen das mit CubeMX läuft. 1. ein neues Project erstellen wie hier beschrienen http://www.mikrocontroller.net/articles/STM32_-_Einstieg_mit_Em::Blocks "Das erste Projekt erstellen" nur Schritte bei 1. ausführen. 2. im E::B Project Manager rechtsklick auf den Projectnamen und 'remove files' wählen , im folgenden Auswahlfenster alle Dateien auswählen. 3. im Project Ordner die Datei startup_stm32f4xx.S aus dem /src Verzeichnis ins Project Verzeichnis verschieben. Also eine Ebene hoch. 4. In CubeMX neues Project erstellen, Verzeichnis und Namen wählen wie in E::B erstellt. 5. In CubeMX Configuration zusammenklicken und Generate Code wählen. 6. im E::B Project Manager rechtsklick auf den Projectnamen und 'add files recursively' wählen. 7. In E::B die Pfade zu den Header Dateien angeben, und Compiler #defines STM32F407xx und USE_HAL_DRIVER eingeben. Dann sollte es gehen ;)
So, ich bin bis Punkt 7 gekommen. Sieht soweit auch gut aus. Habe in CubeMX Keil genommen. Aber mit Punkt 7 komm ich nicht klar. Habe untern den Build Options #defines die 2 Sachen eingetragen. Also direkt einfach ohne was davor 1:1 reingeschrieben. Wo ich jetzt die Headerfile Pfade angeben muss erschließt sich mir gerade nicht. Naja auf jedenfall wenn ich auf "Build" klicke kommen unmengen Fehler. Der benutzt anscheinend die Falsche startup: Mein Build Log: [Code] -------------- Build: Debug in Test_Cube2 --------------- Assembling: Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s Assembling: Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xe.s Assembling: Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f405 xx.s Assembling: Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f407 xx.s Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s: Assembler messages: Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:1: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:2: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:3: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:4: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:5: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:6: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:7: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:8: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:9: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:10: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:11: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:12: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:13: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:14: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:15: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:16: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:18: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:19: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:20: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:21: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:22: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:23: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:24: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:25: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:26: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:27: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:28: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:29: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:30: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:31: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:32: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:33: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:34: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:35: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:35: Error: bad instruction `loss OF USE,DATA,OR PROFITS' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:35: Error: bad instruction `or BUSINESS INTERRUPTION)HOWEVER' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:36: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:37: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:38: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:40: Error: junk at end of line, first unrecognized character is `*' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:42: Error: bad instruction `amount of memory(in bytes)allocated for Stack' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:43: Error: bad instruction `tailor this value to your application needs' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:44: Error: junk at end of line, first unrecognized character is `<' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:45: Error: junk at end of line, first unrecognized character is `<' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:46: Error: junk at end of line, first unrecognized character is `<' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:48: Error: bad instruction `stack_size EQU 0x00000400' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:50: Error: bad instruction `area STACK,NOINIT,READWRITE,ALIGN=3' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:51: Error: bad instruction `stack_mem SPACE Stack_Size' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:52: Error: bad instruction `__initial_sp' Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f401 xc.s:55: Error: junk at end of line, first unrecognized character is `<' Process terminated with status 1 (0 minutes, 4 seconds) 50 errors, 0 warnings (0 minutes, 4 seconds) Process terminated with status 1 (0 minutes, 6 seconds) Process terminated with status 1 (0 minutes, 8 seconds) Process terminated with status 1 (0 minutes, 10 seconds)
GRRRECLIPSE schrieb: > Wo ich jetzt die Headerfile Pfade angeben muss erschließt sich mir > gerade nicht. Du solltest die #defines nicht nur fürs Debug Build setzten sondern für das gesamte Projekt. Siehe Bilder. Und c99 unter Compiler Flags -> Language standard setzen. >Naja auf jedenfall wenn ich auf "Build" klicke kommen unmengen Fehler. Du siehst wahrscheinlich im Project Manager unter ASM Sources einen Ordner 'Drivers' , entfern den mit Rechtsklick 'Remove Drivers/*' So das im Project Manager unter ASM Sources nur die Datei startup_stm32f4xx.S drin steht, die gehört zu E::B.
Bei mir findet er komischerweise die Standardbibliothek (denke ich, da er die Befehle nicht kennt) nicht, obwohl sie eingebunden sind und unter directories die includes hinzugefügt sind. Das mit dem klicken auf "Projekt" war zwar ein wichtiger hinweis den ich ebenfalls falsch gemacht habe (sollte im Tutorial ergänzt werden, da standardmäßig debug ausgeählt ist) gebracht hat es dennoch nichts :(
Kommando zurück, man muss "#include "stm32f4xx.h" anstatt "#include "stm32f4xx_hal.h" nutzen, dann geht es :)
Bin mittlerweile auch weiter gekommen. Aber jetzt komm ich mal wieder nicht weiter:
1 | -------------- Build: Debug in Test_Cube2 --------------- |
2 | |
3 | Compiling: Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c |
4 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c |
5 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_adc.c |
6 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_adc_ex.c |
7 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_can.c |
8 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c |
9 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_crc.c |
10 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cryp.c |
11 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cryp_ex.c |
12 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dac.c |
13 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dac_ex.c |
14 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dcmi.c |
15 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c |
16 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma2d.c |
17 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c |
18 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_eth.c |
19 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.c |
20 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.c |
21 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c |
22 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_hash.c |
23 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_hash_ex.c |
24 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_hcd.c |
25 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c |
26 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c |
27 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2s.c |
28 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2s_ex.c |
29 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_irda.c |
30 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_iwdg.c |
31 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_ltdc.c |
32 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_msp_template.c |
33 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_nand.c |
34 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_nor.c |
35 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pccard.c |
36 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pcd.c |
37 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c |
38 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c |
39 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c |
40 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c |
41 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rng.c |
42 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rtc.c |
43 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rtc_ex.c |
44 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sai.c |
45 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sd.c |
46 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sdram.c |
47 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_smartcard.c |
48 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c |
49 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sram.c |
50 | Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c: In function 'HAL_SPI_Receive': |
51 | Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c:465:17: warning: variable 'tmpreg' set but not used [-Wunused-but-set-variable] |
52 | Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c: In function 'HAL_SPI_TransmitReceive': |
53 | Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c:639:17: warning: variable 'tmpreg' set but not used [-Wunused-but-set-variable] |
54 | Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c: In function 'SPI_RxCloseIRQHandler': |
55 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c |
56 | Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c:1621:17: warning: variable 'tmpreg' set but not used [-Wunused-but-set-variable] |
57 | Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c: In function 'SPI_DMAReceiveCplt': |
58 | Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c:1802:17: warning: variable 'tmpreg' set but not used [-Wunused-but-set-variable] |
59 | Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c: In function 'SPI_DMATransmitReceiveCplt': |
60 | Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c:1862:17: warning: variable 'tmpreg' set but not used [-Wunused-but-set-variable] |
61 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c |
62 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c |
63 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c |
64 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_wwdg.c |
65 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_fmc.c |
66 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_fsmc.c |
67 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_sdmmc.c |
68 | Compiling: Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_usb.c |
69 | Compiling: Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.c |
70 | Compiling: Middlewares\Third_Party\FreeRTOS\Source\croutine.c |
71 | Compiling: Middlewares\Third_Party\FreeRTOS\Source\list.c |
72 | Compiling: Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_1.c |
73 | Compiling: Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_2.c |
74 | Compiling: Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_3.c |
75 | Compiling: Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_4.c |
76 | Compiling: Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c |
77 | Compiling: Middlewares\Third_Party\FreeRTOS\Source\queue.c |
78 | Compiling: Middlewares\Third_Party\FreeRTOS\Source\tasks.c |
79 | Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c:75:3: error: #error This port can only be used when the project options are configured to enable hardware floating point support. |
80 | Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c:258:7: error: expected '(' before 'void' |
81 | Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c:269:2: error: stray '#' in program |
82 | Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c:302:2: error: stray '#' in program |
83 | Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c:436:2: error: stray '#' in program |
84 | Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c:447:2: error: stray '#' in program |
85 | Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c:450:2: error: stray '#' in program |
86 | Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c:463:2: error: stray '#' in program |
87 | Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c:684:2: error: stray '#' in program |
88 | Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c:161:13: warning: 'prvStartFirstTask' declared 'static' but never defined [-Wunused-function] |
89 | Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c:166:13: warning: 'prvEnableVFP' declared 'static' but never defined [-Wunused-function] |
90 | Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c:204:24: warning: 'ucMaxSysCallPriority' defined but not used [-Wunused-variable] |
91 | Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c:205:24: warning: 'ulMaxPRIGROUPValue' defined but not used [-Wunused-variable] |
92 | Process terminated with status 1 (0 minutes, 11 seconds) |
93 | 9 errors, 9 warnings (0 minutes, 11 seconds) |
In CubeMX in den Project Settings->Code Generator 'Copy only the necessary library files' auswählen. Und es erstmal mit einem kleinen Project versuchen.
Hello First of all, sorry for my english. I'm a regular visitor of this site due to the high level of knowledge here on the forum. I'm from the Netherlands but my English is much better than my German, so that's why I will write in English. I'm Also trying to get Emblocks work together with CubeMx. I produced the steps 1 till 7 which stated above. Now I get the same error message as quoted above by: GRRRECLIPSE ||=== testcube, Debug ===| Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h|857|error: unknown type name 'RCC_PeriphCLKInitTypeDef'| Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h|858|error: unknown type name 'RCC_PeriphCLKInitTypeDef'| ||=== Build finished: 2 errors, 0 warnings (0 minutes, 0 seconds) ===| Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h|857|error: unknown type name 'RCC_PeriphCLKInitTypeDef'| Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h|858|error: unknown type name 'RCC_PeriphCLKInitTypeDef'| Gerald_G replies with: Kommando zurück, man muss "#include "stm32f4xx.h" anstatt "#include "stm32f4xx_hal.h" nutzen, dann geht es :) But I can't seem to find what Gerald means with this. Can someone or maybe Gerald himself explains what the solution for my problem is? My sincerly! Leddel
I wanted to use the HAL Drivers, so I thought I had to include the stm32f4xx_hal.h in my main c-file. But I had to use the regular stm32f4xx.h, as typed in every STM Cortex M4 code (mostly the first line)
I removed the #include "stm32f4xx_hal.h in the main file and replaced it with: #include "stm32f4xx.h" But the compiler still gives error with the RCC_PeriphClkInitTypeDef: ||=== testcube, Debug ===| Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h|857|error: unknown type name 'RCC_PeriphCLKInitTypeDef'| Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h|858|error: unknown type name 'RCC_PeriphCLKInitTypeDef'| ||=== Build finished: 2 errors, 0 warnings (0 minutes, 2 seconds) ===| Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h|857|error: unknown type name 'RCC_PeriphCLKInitTypeDef'| Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h|858|error: unknown type name 'RCC_PeriphCLKInitTypeDef'| Very strange.
In der Release Notes steht, dass nur REV C (MB997C) des STM32F4 DISCOVERY Boards unterstützt wird. Seltsam, denn der einzige dokumentierte Unterschied ist der verwendete Beschleunigungssensor. Für den alten (REV B und REV A) ist aber trotzdem noch Code vorhanden in der STM32Cube Software. Was stimmt denn nun? Ich habe nur das REV B board. REV C scheint zielich neu zu sein, und ist sicherlich noch nicht überall zu haben. Hinzu kommt, dass REV C wegen des neuen Beschleunigungssensors auch nicht mit dem alten Firmwarepaket kompatibel ist.
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.