Gast
#3265596
Hallo zusammen,
ich programmiere für einen STM32F103 Microcontroller.
Meine Programmierumgebung besteht aus:
- Eclipse Juno
- CDT GCC Cross Compiler Support
- Codesourcery G++ arm-2013.05 oder arm-2010q1
- ST-Link GDB server 1.4.0
- ST-Link V2 Debugger
Mein Quellcode lässt sich fehlerfrei compilieren und linken.
Die Ausführung ist grundsätzlich auch kein Problem.
Lediglich bei der Ausführung einer Float-Operation bzw. beim Deklarieren
einer Float-Variablen geht der uC in den HardFault-Handler.
Der uC hat keine FPU und deshalb compiliere und linke ich mit dem Flag
-mfloat-abi=soft (ist so an verschiedenen Stellen des Webs so
beschrieben.).
Ich habe inzwischen alle Beiträge im Web gelesen, die ich zu dem Thema
finden kann. Allerdings hilft mir bisher nichts weiter. Ich habe schon
alles ausprobiert, das irgendwo beschrieben ist.
Meine Beispiel-Quellcodezeile sieht wie folgt aus:
uint32_t Var = 100;
float Result = ((float)Var / 10.0);
Meine Compiler-Flags sind:
-c -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -std=gnu99
-ffunction-sections -fdata-sections -fmessage-length=0
Meine Linker-Flags sind:
-T${ProjDirPath}\stm32_128k_20k_flash.ld -mcpu=cortex-m3
-mfloat-abi=soft -mthumb -ffunction-sections -fdata-sections
-Wl,--gc-sections -static
Hat jemand eine Idee wo das Problem liegen könnte?
Ich bin für jeden Tipp dankbar.
Viele Grüße
Marco