Forum: Compiler & IDEs CubeMX STM32 cmake


von Operator S. (smkr)


Angehängte Dateien:

Lesenswert?

Ich habe mir mit CubeMX für einen Stm32f103c8t6 code generiert, der 
FreeRTOS benutzt und einen Pin als output definiert.

Nun wollte ich für den buildprozess cmake verwenden, komme aber an einem 
Punkt nicht weiter.

Bei 'make' kommt folgende Fehlermeldung:
1
~/M3/stm32/build $ make
2
Scanning dependencies of target stm32
3
[  5%] Building C object CMakeFiles/stm32.dir/Src/freertos.c.o
4
[ 11%] Building C object CMakeFiles/stm32.dir/Src/stm32f1xx_it.c.o
5
[ 16%] Building C object CMakeFiles/stm32.dir/Src/stm32f1xx_hal_msp.c.o
6
[ 22%] Building C object CMakeFiles/stm32.dir/Src/stm32f1xx_hal_timebase_TIM.c.o
7
[ 27%] Building C object CMakeFiles/stm32.dir/Src/main.c.o
8
[ 33%] Building C object CMakeFiles/stm32.dir/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c.o
9
[ 38%] Building C object CMakeFiles/stm32.dir/Middlewares/Third_Party/FreeRTOS/Source/timers.c.o
10
[ 44%] Building C object CMakeFiles/stm32.dir/Middlewares/Third_Party/FreeRTOS/Source/list.c.o
11
[ 50%] Building C object CMakeFiles/stm32.dir/Middlewares/Third_Party/FreeRTOS/Source/croutine.c.o
12
[ 55%] Building C object CMakeFiles/stm32.dir/Middlewares/Third_Party/FreeRTOS/Source/queue.c.o
13
[ 61%] Building C object CMakeFiles/stm32.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3/port.c.o
14
[ 66%] Building C object CMakeFiles/stm32.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_3.c.o
15
[ 72%] Building C object CMakeFiles/stm32.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c.o
16
[ 77%] Building C object CMakeFiles/stm32.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_1.c.o
17
[ 83%] Building C object CMakeFiles/stm32.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_2.c.o
18
[ 88%] Building C object CMakeFiles/stm32.dir/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_5.c.o
19
[ 94%] Building C object CMakeFiles/stm32.dir/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c.o
20
[100%] Building C object CMakeFiles/stm32.dir/Middlewares/Third_Party/FreeRTOS/Source/tasks.c.o
21
Linking C executable stm32
22
arm-none-eabi-gcc: error: unrecognized command line option '-rdynamic'
23
make[2]: *** [stm32] Error 1
24
make[1]: *** [CMakeFiles/stm32.dir/all] Error 2
25
make: *** [all] Error 2

Ich vermute ich einen fehlenden parameter für den Linker. Könnte mir 
jemand einen Vorschlag geben was fehlt oder geändert werden muss? Aus 
anderen Projekten konnte ich leider nichts finden.

von edgar S. (hbl333)


Lesenswert?

-opt wusel

von Operator S. (smkr)


Lesenswert?

edgar S. schrieb:
> -opt wusel

Was ist das? Ich finde dazu nichts

von Jojo S. (Gast)


Lesenswert?

Das cmake ist für Linux? Auf dem ARM wird -rdynamic wohl nicht 
unterstützt, kann man das irgendwo abschalten? Sonst schau dir mal die 
Tipps hier an: 
http://stackoverflow.com/questions/10599038/can-i-skip-cmake-compiler-tests-or-avoid-error-unrecognized-option-rdynamic

von Operator S. (smkr)


Lesenswert?

Danke für den Link mit diesen drei Zeilen konnte ich das beheben:
1
SET(CMAKE_SYSTEM_NAME Generic)
2
SET(CMAKE_SYSTEM_PROCESSOR arm)
3
SET(CMAKE_CROSSCOMPILING 1)
Jetzt gehts erstmal weiter mit neuen Fehlern.

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.