Forum: Compiler & IDEs Frage zu Migration von SW4STM zu STM32CubeIDE


von Markus R. (freehawk)


Lesenswert?

Hallo zusammen,

vorsicht es kommt eine totale Anfängerfrage, aber ich muss sie stellen, 
dass alles ausprobieren mich nicht weiter gebracht hat und auch Google 
mir zwar Ergebnisse bring aber mir nicht weiterhilft. Entschuldigung 
schonmal dafür.

Also ich habe ein Projekt, dass führer in SW4STAM bearbeitet wurde in 
die STM32CubeIDE importiert. Mein Rechner ist in die Brüche gegangen, 
deshalb ist eine Neuinstallation nötig gewesen.

Nun habe ich den Workspace importiert und die Projekte darin in die neue 
IDE importiert. Nur kann ich das Projekt nicht bauen, da scheinbar die 
HAL nicht gefunden wird, so wie ich es interpretiere.

15:30:11 **** Incremental Build of configuration Debug for project 
03_SolarController ****
make all
arm-none-eabi-gcc -mcpu=cortex-m4 -g3 -c -x assembler-with-cpp -MMD -MP 
-MF"startup/startup_stm32f429xx.d" -MT"startup/startup_stm32f429xx.o" 
--specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o 
"startup/startup_stm32f429xx.o" "../startup/startup_stm32f429xx.s"
arm-none-eabi-gcc "../Src/ethernetif.c" -mcpu=cortex-m4 -std=gnu11 -g3 
-c -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP 
-MF"Src/ethernetif.d" -MT"Src/ethernetif.o" --specs=nano.specs 
-mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Src/ethernetif.o"
../Src/ethernetif.c:51:10: fatal error: stm32f4xx_hal.h: No such file or 
directory
 #include "stm32f4xx_hal.h"
          ^~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Src/subdir.mk:72: Src/ethernetif.o] Error 1
"make all" terminated with exit code 2. Build might be incomplete.

15:30:13 Build Failed. 2 errors, 0 warnings. (took 1s.303ms)

Hier die Ausgabe von meinem Build. Kann mir jemand helfen wo ich die 
Buildpath bearbeiten muss damit das wieder geht? Die Datei liegt unter 
Drives.... müsste also da sein.

Hätte mir jemand einen Tipp, manchmal sieht man einfach vor lauter 
Bäumen und Einstellmöglichkeiten nicht die richtige....

Danke

Gruß
Markus

von Harry L. (mysth)


Lesenswert?

1.: make clean
2. ioc-Datrei öffnen und CubeMX (das in der CubeIDE integrierte) den 
Code neu generieren lassen
3. rebuild Index (meist gar nicht erforderlich)

von pegel (Gast)


Lesenswert?

Eigentlich sollte ein AC6 Import alles richtig zusammenstellen.
Auch Dateien aus anderen Pfaden.

von Markus R. (freehawk)


Lesenswert?

Schonmal danke für die Tipps.

Da fällt mir ein weiteres Problem auf:
Wenn ich das .ioc File öffnen möchte, dann geht nur eine weiße Seite auf 
und sonst nicht. Sprich ich kann den Code nicht neu bauen lassen.

Hat da jemand Tipps für mich?

von pegel (Gast)


Lesenswert?

Ist die CubeIDE die neueste Version 1.4.2?
Leere Seite ist mir nur passiert, wenn eine .ioc mit einer neueren 
CubeMX Version erstellt wurde als der, mit der geöffnet werden soll.

von Markus R. (freehawk)


Lesenswert?

Nein die CubeIDE ist die 1.4.0

Das IOC File wurde allerdings mit einem uralten CubeMX erstellt. 
Versuche das gerade neu zu speichern vielleicht klappt das ja...

von pegel (Gast)


Lesenswert?

Bei Problemen kannst Du deine .ioc hier anhängen.
Dann probiere ich mal ...

von Markus R. (freehawk)


Lesenswert?

Danke fürs Angebot.

Bin noch am Ausprobieren. Habe nun nochmal CubeMX installiert und die 
.ioc neu gespeichert. Jetzt kommt in der CubeIDE eine Fehlermeldung mit 
der neueren Version.

Wenn ich nicht mehr weiterkomme poste ich meine .ioc

von Markus R. (freehawk)


Lesenswert?

So nun konnte ich den Code aus dem .ioc frisch generieren lassen. Vorher 
hab ich den clean ausgeführt.

Leider geht der build weiterhin nicht weil er Dateien nicht finden:


17:51:06 **** Incremental Build of configuration Debug for project 
03_SolarController ****
make all
arm-none-eabi-gcc "../Src/ethernetif.c" -mcpu=cortex-m4 -std=gnu11 -g3 
-DUSE_HAL_DRIVER -DDEBUG -DSTM32F429xx -c -I../Core/Inc 
-I../Drivers/STM32F4xx_HAL_Driver/Inc 
-I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy 
-I../Drivers/CMSIS/Device/ST/STM32F4xx/Include 
-I../Drivers/CMSIS/Include -I../LWIP/App -I../LWIP/Target 
-I../Middlewares/Third_Party/LwIP/src/include 
-I../Middlewares/Third_Party/LwIP/system 
-I../Middlewares/Third_Party/FreeRTOS/Source/include 
-I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 
-I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F 
-I../Middlewares/Third_Party/LwIP/src/include/netif/ppp 
-I../Middlewares/Third_Party/LwIP/src/include/lwip 
-I../Middlewares/Third_Party/LwIP/src/include/lwip/apps 
-I../Middlewares/Third_Party/LwIP/src/include/lwip/priv 
-I../Middlewares/Third_Party/LwIP/src/include/lwip/prot 
-I../Middlewares/Third_Party/LwIP/src/include/netif 
-I../Middlewares/Third_Party/LwIP/src/include/compat/posix 
-I../Middlewares/Third_Party/LwIP/src/include/compat/posix/arpa 
-I../Middlewares/Third_Party/LwIP/src/include/compat/posix/net 
-I../Middlewares/Third_Party/LwIP/src/include/compat/posix/sys 
-I../Middlewares/Third_Party/LwIP/src/include/compat/stdc 
-I../Middlewares/Third_Party/LwIP/system/arch -I../FATFS/Target 
-I../FATFS/App -I../Middlewares/Third_Party/FatFs/src -O0 
-ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP 
-MF"Src/ethernetif.d" -MT"Src/ethernetif.o" --specs=nano.specs 
-mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Src/ethernetif.o"
../Src/ethernetif.c:21:10: fatal error: main.h: No such file or 
directory
 #include "main.h"
          ^~~~~~~~
compilation terminated.
make: *** [Src/subdir.mk:69: Src/ethernetif.o] Error 1
"make all" terminated with exit code 2. Build might be incomplete.

17:51:08 Build Failed. 2 errors, 0 warnings. (took 1s.317ms)


Die Import Pfade sehen nun aber besser aus.

Gibt es weitere Tipps zu dem Problem?

Danke

Gruß
Markus

von pegel (Gast)


Lesenswert?

AC6 importiert?

von Markus R. (freehawk)


Lesenswert?

Ich habe das Projekt importiert. Was nun AC6 ist ist mir nicht bekannt. 
Google spuckt für mich im Moment nichts brauchbares aus, oder ich 
erkenne es auf jeden Fall nicht.

Hast du mir nen Tipp?

von pegel (Gast)


Angehängte Dateien:

Lesenswert?

AC6 ist der Hersteller von SW4STM32.

Siehe Anhang:

von Markus R. (freehawk)


Lesenswert?

Aha ok, wieder was gelernt.

Ja genau über diesen Dialog hab ich da Projekt importiert.

Dabei wurde folgendes Log erstellt:

Project: 03_SolarController
Converter: ST System Workbench for STM32 project converter
Date: 20201031

Unknown value type "" for id gnu.c.link.option.libs on tool 
fr.ac6.managedbuild.tool.gnu.cross.c.linker
Unknown value type "" for id gnu.c.link.option.paths on tool 
fr.ac6.managedbuild.tool.gnu.cross.c.linker
Option fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.noexceptions is no 
longer supported
Option fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.nortti is no longer 
supported
Unknown value type "" for id gnu.both.asm.option.include.paths on tool 
fr.ac6.managedbuild.tool.gnu.cross.assembler

von pegel (Gast)


Lesenswert?

Vielleicht wurde das Projekt schon vom vorherigen Import verändert?
Probier mal ein anderes.

von Markus R. (freehawk)


Lesenswert?

Vor dem Import sehe ich keine Veränderungen an den Project Files laut 
git, keine Ahnung wo das auf einmal herkommt.

Ich hab nun angefangen meine Quellcode Dateien umzuziehen in ein neu 
erstelltes Projekt. Hoffe das führt zu Ziel.

Danke für die Tipps!

von Markus R. (freehawk)


Lesenswert?

So ich habs jetzt hinbekommen, dass die Software wieder übersetzt wird.

Hab nun alle Stellen wiedergefunden an denen ich doch noch was geändert 
habe. Vermutlich lag mein größtes Problem daran, dass src und inc im 
alten Projekt direkt im Projektverzeichnis liegen und im neuen unter 
/Core. Vermutlich hat mir das die Pfade verhagelt und dadurch den Import 
nicht so einfach gemacht.

Jetzt läuft es aber so wie es aussieht!!

Gruß
Markus

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.