Forum: Mikrocontroller und Digitale Elektronik atollic true Studio: #error wird nicht erkannt.


von atollicer (Gast)


Lesenswert?

Hallo liebes Forum,

ich arbeite mich gerade in stm32 unter atollic true studio ein und 
möchte die lib arm_math.h einbinden.

meine main.c beginnt so:
#include "main.h"
#include "stm32f4xx_hal.h"
#include <stdio.h>
#include "arm_math.h"
...

beim Parsen/ Linken/ Kompilieren ergibt sich folgender Fehler, der 
Marker "^~~~~" steht genau unter #error:



In file included from ..\Src\main.c:4:0:
../Drivers/CMSIS/Include/arm_math.h:314:4: error: #error "Define 
according the used Cortex core ARM_MATH_CM7, ARM_MATH_CM4, ARM_MATH_CM3, 
ARM_MATH_CM0PLUS or ARM_MATH_CM0"
   #error "Define according the used Cortex core ARM_MATH_CM7, 
ARM_MATH_CM4, ARM_MATH_CM3, ARM_MATH_CM0PLUS or ARM_MATH_CM0"
    ^~~~~

Irgendwie erkennt mein Atollic die #error Direktive nicht. Habt Ihr eine 
Idee, woran das liegen kann?

Danke, atollicer


die entsprechenden Zeilen der Lib, bei #error gibt es einen Error
#if defined(ARM_MATH_CM7)
  #include "core_cm7.h"
#elif defined (ARM_MATH_CM4)
  #include "core_cm4.h"
#elif defined (ARM_MATH_CM3)
  #include "core_cm3.h"
#elif defined (ARM_MATH_CM0)
  #include "core_cm0.h"
  #define ARM_MATH_CM0_FAMILY
#elif defined (ARM_MATH_CM0PLUS)
  #include "core_cm0plus.h"
  #define ARM_MATH_CM0_FAMILY
#else
  #error "Define according the used Cortex core ARM_MATH_CM7, 
ARM_MATH_CM4, ARM_MATH_CM3, ARM_MATH_CM0PLUS or ARM_MATH_CM0"
#endif

von Johannes S. (Gast)


Lesenswert?

der Error wird absichtlich geworfen weil du das define für die Familiy 
nicht gesetzt hast, da muss noch ein #define ARM_MATH_CM4 (in den 
Compile Options) gesetzt werden.

von atollicer (Gast)


Lesenswert?

Danke für die schnelle Antwort, hat funktioniert

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.