This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C129ENCPDT: TIVA TM4C129 with FreeRTOS and FPU enabled

Part Number: TM4C129ENCPDT


Tool/software:

Hi,

I have to include a floating-point-unit functionality into my application. The guideline to port FreeRTOS to use with TM4C129 and FPU enabled specifies to call vPortTaskUsesFPU() at the beginning of each task using floating point operations (and FPU HW enabled). The port.c file doesn't include the definition of vPortTaskUsesFPU(). I have started my code based on one of the FreeRTOS examples for this family of MCUs. I will appreciate any feedback or reference to examples with M4 and FPU with FreeRTOS.



Thanks in advance.

  • Hi,

      I'm not sure where you find vPortTaskUsesFPU in C:\ti\TivaWare_C_Series-2.2.0.295\third_party\FreeRTOS\Source\portable\CCS\ARM_CM4F\port.c file. I do not see this function in the port.c file. It is perhaps for a different processor, not CM4F. There is the vPortEnableVFP function in the portasm.asm file that enables the FPU. 

  • Hi Charles,

    Thanks for the input. This would enable the FPU. What about saving and restoring FPU registers in case a task that is using floating point context is preempted by another task with floating point context. I believe that RTOS is not aware of those registers and vPortTaskUsesFPU() seems to be a mechanism to deal with that. I have seen this being used for different TI MCUs with FPU.

    TMS570LS1224: FreeRTOS with FPU support 


    Is there any support for FreeRTOS applications on MCU from the TIVA family using FPU?

  • Hi Lukasz,

      I will suggest you reach out to FreeRTOS forum support for FPU support using vPortTaskUsesFPU and whether this function can work for M4F processor. As is today, the port.c in the app note you reference does not have the vPortTaskUsesFPU function.