Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


Loading

FreeRtos, native Floats and Task switching

Posted by cdebrebisson on April 24, 2017

Hello,

I am working with an ARM Cortex A7 running FreeRTOS and I am having a problem. I have 2 tasks, running in parallel, computing different parts of mandelbrot set. It does not work -:( Note that running only one of the 2 tasks works perfectly!

However, if I change the code for my task so that it uses ints (with 12 bit fixed point arithmetics), then there is no issues and I can do both calculations in parallel...

It feels that FreeRTOS does not task switch the FPU registers. Is this assumption correct? If yes, what other registers are not switched (NEON, ...)

Regards, Cyrille


FreeRtos, native Floats and Task switching

Posted by rtel on April 24, 2017

See the section "using the floating point unit" on the following page: http://www.freertos.org/Using-FreeRTOS-on-Cortex-A-Embedded-Processors.html

Exactly what you need to do depends on the compiler you are using and the version of FreeRTOS you are using.


FreeRtos, native Floats and Task switching

Posted by glenenglish on April 24, 2017

I can't find configUSETASKFPU_SUPPORT anywhere in any source files.... using 9.0..... ?


FreeRtos, native Floats and Task switching

Posted by rtel on April 24, 2017

There are a few different Cortex-A ports, some with GIC support some with proprietary interrupt controller support, and for different compilers. configUSETASKFPUSUPPORT is in this version: FreeRTOSSourceportableGCCARMCA9


FreeRtos, native Floats and Task switching

Posted by glenenglish on April 25, 2017

ta. that's why I am not seeing it, it's in one of the ports. very good. thanks.


FreeRtos, native Floats and Task switching

Posted by cdebrebisson on April 25, 2017

Hello,

Thanks for your help, I did discover the configUSETASKFPU_SUPPORT define and the vPortTaskUsesFPU(); function call.

It does work now!

Thanks!

Cyrille


[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]


Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

Meet Richard Barry and learn about running FreeRTOS on RISC-V at FOSDEM 2019

Version 10.1.1 of the FreeRTOS kernel is available for immediate download. MIT licensed.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


Careers

FreeRTOS and other embedded software careers at AWS.



FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Renesas

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner