LPC4088(Cortex M4): port.c Assembly Failure under Crossworks for ARM

paulromero wrote on Saturday, March 28, 2015:

Hi Folks:

This problem applies to the Embedded Artists LPC4088-32 Eval board and
the Crossworks for ARM toolchain. It is specific to building FreeRTOS
V8.0.1 as an Embedded Artists “An executable for Embedded Artists LPC4088 OEM”
project.

The port.c file in the ARM_CM4F FreeRTOS porting directory doesn’t assemble properly
when the project is configured for CORE_M4 in the Crossworks GUI project
preprocessor definitions. The problem occurs regardless of how project Release -
ARM FP ABI is configured with the Crossworks GUI.

The following diagnostic is displayed when you attempt to assemble port.c.

selected processor does not support Thumb mode
`vstmdbeq r0!,{s16-s31}’

Do you have any insight about the problem or its solution ?

NOTE: This problem does not occur if the ARM_CM3 porting directory is used.

Best Regards,

Paul R.

rtel wrote on Saturday, March 28, 2015:

Some Cortex-M4s have an FPU, some don’t. Telling the compiler you are building for a Cortex-M4 is not enough to compile FPU instructions - you must also tell the compiler which FPU the chip is using as a separate command line option.

Regards.