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.

[参考译文] AM263P4-Q1:xTaskDelayUntil () API 无源代码修改

Guru**** 2374090 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1531320/am263p4-q1-xtaskdelayuntil-api-no-source-modification

器件型号:AM263P4-Q1

工具/软件:

您好:Nilabh、

我正在重新打开此主题、因为客户无法更改源文件。  

SDK 中是否有替代 API 支持类似的使用?

此致、

Mari Tunnoda

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mari:

    选项 01

    如果客户想要使用 xTaskDelayUntil ()、则需要通过在 FreeRTOSConfig.h 文件中包含“include_xTaskDelayUntil “宏、然后使用命令行 make 命令重新构建 FreeRTOS 堆栈、从而重新构建 FreeRTOS 库。

    请问修改 FreeRTOSConfig.h 文件和重新编译 lib 时有什么问题? 这仅是一次性活动、无需每次都使用应用程序重新构建。

    选项–02.

    如果客户无法修改 FreeRTOSConfig.h 并重新构建库

    此处的唯一选项是使用 vTaskDelayUntil 等备用延迟 API (但默认情况下也不启用)

    或者、如果客户只能使用 vTaskDelay () 函数、则支持该函数并可以使用、但该函数与 xTaskDelayUntil 稍有不同

    vTaskDelay 将在一定数量的周期内将调用任务置于 blocked 状态、而 xTaskDelayUntil 将在绝对时间内将其置于 blocked 状态(作为函数论证传递)。 如果客户可以事先处理计算并可以使用 vTaskDelay、则不会阻止我们。

    但是、如果需要超过绝对时间、我们必须继续执行选项 1

    此致、
    Shaunak

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Shaunak:

    感谢您的详细回答以及您的快速响应!

    要使用 vTaskDelayUntil、他们必须类似地更改源代码才能启用此 API 权限? (这是您的意思,默认情况下未启用,对吗?)

    此致、

    Mari Tunnoda

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mari:

    vTaskDelay — 在开箱即用 SDK 中提供

    xTaskDelayUntil — 不可用,需要更改源代码并重新编译 FreeRTOS Lib  

    vTaskDelayUntil — 不可用,需要更改源代码并重新编译  FreeRTOS Lib  

    此致、
    Shaunak