AM263P4-Q1: floating point in lwip

Part Number: AM263P4-Q1


Tool/software:

Hi Support team,

When using lwip, the following tasks are expected to be triggered:
C:\TI\MCU_plus_SDK_am263px_09_02_00_56\source\networking\lwip\lwip-stack\src\API\tcpip.C.
Tcpip_thread()

can this task assume "calling portTASK_uses_floating_point()" is not necessary?

https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/11_00_00_19/exports/docs/api_guide_am263px/KERNEL_FREERTOS_IMPORTANT_GUIDELINES_PAGE.html#autotoc_md666

Thanks,
Nakano

  • Hi Nakano-san,

    Is the customer expecting that the tasks in tcpip.c to not require portTASK_uses_floating_point() ?

    That is, Is it okay to call the tasks without portTASK_uses_floating_point() ?

    Regards,

    Aswin

  • Hi Aswin,

    I got feedback from customer as follow. Please continue to support.

    ---

    Yes, I have checked whether it is acceptable to use tcpip_thread() without calling portTASK_USES_FLOATING_POINT() at the beginning.
    (This is based on TI's response stating that "please call portTASK_USES_FLOATING_POINT() at the entry point of each task.")
    Additionally, after reviewing the behavior of portTASK_USES_FLOATING_POINT(), I found that its processing is such that it only needs to be called once in the system. Therefore, if other tasks have already called portTASK_USES_FLOATING_POINT(), I believe it should be fine to omit the call at the beginning of tcpip_thread().
    Could you please confirm if this understanding is correct?

    ----

    Best Regards

  • Hi Konishi-San,

    There is a minor change in the understanding. The function needs to be called only if that task requires FPU. If another task requires the FPU then this needs to be called again.

    Regards,

    Aswin

  • Hi Aswin,

    Based on the response, “There is a minor change in the understanding. The function needs to be called only if that task requires FPU. If another task requires the FPU then this needs to be called again,” I understand that portTASK_USES_FLOATING_POINT() does not need to be called for tasks that do not use the FPU.
    The tcpip_thread() task is included in the SDK:
    C:\ti\mcu_plus_sdk_am263px_09_02_00_56\source\networking\lwip\lwip-stack\src\api\tcpip.c
    Since this task does not use the FPU, is it correct to assume that TI has determined there is no need to call portTASK_USES_FLOATING_POINT() for it?

    Regards,

  • Hi Imaoka-San,

    The understanding is correct regarding portTASK_USES_FLOATING_POINT.

    The tcpip_thread is a part of the lwip_stack, not a written by TI. 

    Regards,

    Aswin