Content originally posted in LPCWare by g_mocken on Fri Jun 26 11:06:59 MST 2015
Quote: lpcxpresso-support
But another possibility is that your project is configured to use hardware floating point - but the LPC4074 (unlike most LPC40xx parts) doesn't actually implement hardware FP.
Thus check your project settings
I am using "SoftABI". What should I use instead? "HardABI" crashes in the same way. "None" does not compile with FreeRTOS.
"None" does however solve the problem for a minimal test project without FreeRTOS!
Assuming that "None" is the way to go, do you have any additional hint on how to deal with FreeRTOS' compilation errors:
arm-none-eabi-gcc -std=c99 -D__MULTICORE_NONE -DDEBUG -D__CODE_RED -DCORE_M4 -D__USE_LPCOPEN -D__REDLIB__ -DCR_PRINTF_CHAR -I"/home/guido/lpc_workspace/lpc_chip_40xx/inc" [various other source files] -Og -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -fsingle-precision-constant -mcpu=cortex-m4 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"freertos/src/port.d" -MT"freertos/src/port.o" -MT"freertos/src/port.d" -o "freertos/src/port.o" "../freertos/src/port.c"
/tmp/ccQgaxFT.s: Assembler messages:
/tmp/ccQgaxFT.s:306: Error: selected processor does not support Thumb mode `vstmdbeq r0!,{s16-s31}'
/tmp/ccQgaxFT.s:308: Error: instruction not allowed in IT block -- `stmdb r0!,{r4-r11,r14}'
/tmp/ccQgaxFT.s:329: Error: selected processor does not support Thumb mode `vldmiaeq r0!,{s16-s31}'
/tmp/ccQgaxFT.s:331: Error: instruction not allowed in IT block -- `msr psp,r0'
make: *** [freertos/src/port.o] Fehler 1
?
On closer inspection , I noticed this line in port.c (the #error did not trigger, though):
#ifndef __VFP_FP__
#error This port can only be used when the project options are configured to enable hardware floating point support.
#endif
So is there any FreeRTOS port that can be used on lpc4074?