Hallo zusammen, ich versuche die CMSIS DSP_Lib in Eclipse mit der OpenSTM32-Toolchain für einen STM32F4 einzubinden. Hab die Library in meinen Projektordner kopiert und die Header- und Source-Pfade in den Properties ergänzt. Hab das Symbol ARM_MATH_CM4 definiert. Danach wurde ein Error generiert, dass __FPU_PRESENT nicht gesetzt sei. Habs nun per Hand definiert und es kompiliert soweit. Es kommt jetzt nur noch die Warnung: "__FPU_PRESENT" redefined da es ja im Header für den STM definiert wird. Gibts hierfür eine andere Lösung, als das per Hand zu definieren? Meine Vermutung ist, dass der Preprozessor zuerst über die core_cm4.h drüberläuft und dann erst über die stm32f4xx.h. Kann man das irgendwie einstellen?
Schau mal an die Stelle an der "__FPU_PRESENT redefined" angemeckert wird. Vermutlich wird "__FPU_PRESENT" abhängig vom Controller-Typ definiert, der per Preprozessor-Define angegeben wird.
Genau, das wird es auch. Nur wie kann ich bei Eclipse dem Preprozessor mitteilen, dass der zuerst die STM-Header bearbeitet?
>Nur wie kann ich bei Eclipse dem Preprozessor mitteilen, dass der zuerst >die STM-Header bearbeitet? Gar nicht. Das hängt allein von der Reihenfolge der #includes ab.
Gibt es in Eclipse irgendwie die Möglichkeit die Reihenfolge festzulegen, in welcher Source-Datei der Preprozessor startet? Wenn dieser nämlich in einer Datei startet, in welcher zuerst arm_math.h inkludiert wird, dann geht es logischerweise mit dem __FPU_PRESENT nicht. Ich möchte, dass der in der main.c mit inkludieren anfängt. Weiß da jemand was?
mh schrieb: > Danach wurde ein Error generiert, dass __FPU_PRESENT nicht gesetzt sei. > Habs nun per Hand definiert und es kompiliert soweit. Es kommt jetzt nur > noch die Warnung: "__FPU_PRESENT" redefined > da es ja im Header für den STM definiert wird. > Gibts hierfür eine andere Lösung, als das per Hand zu definieren? Vincent H. schrieb: > Einfach in den Settings einfügen. Damit kompiliert es zwar, es generiert nur ein Warning (s.o.). Gibt es dafür keine "elegantere" Lösung?
Du arbeitest hier mit einem 40(?) Jahre alten Tool. Viel "eleganter" als via GUI Unterstützung und automatisch generiertem Make File wirds leider nicht.
Ich meinte "eleganter" in dem Sinne, dass es für das Problem mit dem __FPU_PRESENT eine Lösung gibt, die kein Warning generiert.
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.