KEIL (RVDS) Cortex-M4 RT kernel port requires core to feature FPU

danielmicrochip wrote on Wednesday, August 31, 2016:

Hello,
it seems that, in FreeRTOS v9.0.0, at least KEIL (RVDS) Cortex-M4 RT kernel port requires core to feature floating-point unit (FPU):
FreeRTOSv9.0.0\FreeRTOS\Source\portable\RVDS\ARM_CM4_MPU

FYI, FPU is an optional feature of Cortex-M4. For instance, our SAM4C device (from Atmel now Microchip) is a dual-core device which only secondary core features FPU.

None of our customers who use KEIL can use FreeRTOS due to this.

Can KEIL use FreeRTOS on Cortex-M4 devices that don’t have an FPU?

Kind regards,
Daniel

rtel wrote on Wednesday, August 31, 2016:

If you use FreeRTOS on a Cortex-M3, or a Cortex-M4 that does not have an FPU, then use the port layer files from FreeRTOS/source/portable/[compiler]/ARM_CM3

If you use FreeRTOS on a Cortex-M4 that does have an FPU (or likewise M7), then use the port layer files from FreeRTOS/source/portable/[compiler]/ARM_CM4F

FPU support is the only difference between the two.