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.

[参考译文] RTOS:tirtos CMSIS

Guru**** 2591290 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/587877/rtos-tirtos-cmsis

工具/软件:TI-RTOS

你(们)好  

   我在 msp432上使用 tirtos、并希望 将其他 RTOS 应用代码迁移到 msp432。  因此、我想知道 tirtos 是否具有方便使用的 CMSIS 封装 。

此外、我只能在  msp432上找到信标示例、而不能找到互斥量示例。   由于我的旧版应用中有许多互斥量应用程序、 这让我非常疯狂。  

如果没有现有示例、您能向我提供任何建议吗?

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

    您好!

    [引用用户="Jufenghan"]因此我想知道 tirtos 是否具有 CMSIS 软件包,使其 变得方便。[/quot]

    通常、如果您从器件的 TI-RTOS 空示例开始、CMSIS 会将自己添加到项目中。 您应该能够非常轻松地导入其余代码。

    [引用 USER="Jufenghan"]此外,我只能在  msp432上找到信标示例,而不能找到互斥量示例[/quot]

    您尝试从哪个 RTOS 迁移?

    根据您过去使用的操作系统、互斥体的行为可能不同。

    例如:FreeRTOS 具有递归互斥量。 这些不能用作 TI-RTOS 中的常规互斥体。 您需要 GateMutexes。

    我建议您查看以下文档:

    TI Resource Explorer:

    打开 Software->TI-RTOS for MSP430->Documents->Documentation 链接

    在该页面上、我建议您在"内核文档"部分下查看以下内容

    • TI-RTOS 内核用户指南
    • TI-RTOS 内核运行时 API 和配置(CDOC)

    如果您有任何疑问、请随时咨询。

    此致、

    米歇尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当我浏览 Resource Explorer 时、我发现有适用于 TI-RTOS 的互斥量示例:
    遵循以下路径:
    Software->TI-RTOS for MSP430->Development Tools->MSP-EXP432Pxxx->内核示例

    然后、您可以打开任务互斥示例。

    此致、
    米歇尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    感谢你的答复。
    我可以在 simplelink_msp432_sdk_1_30_00_40中找到唯一的互斥量示例。 但是、它是由信标实现的。

    由于代理限制、我无法访问 TI Resource Explorer、这使我感到非常疯狂、因为 TI 资源几乎位于云端。 您能给我提供您提到的示例文件吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我想从 FreeRTOS 迁移。 该示例具有 CMSIS,但我找不到任何与操作系统相关的公共接口,如信号量和互斥量。 例如"osMutexId osMutexCreate (const osMutexDef_t * mutex_def)"和"osStatus osSemaphoreRelease (osSemaphoreId semaphore_id)"。
    因此、我必须使用提供的 tirtos 替换旧接口。 我是对的吗? 还有其他建议可以帮助吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    TI-RTOS 没有互斥量模块。

    互斥量基本上是二进制信标(最大计数为1)。

    我之前已将 FreeRTOS 应用程序移植到 TI-RTOS、所有这些都可以通过 TI-RTOS 完成。您需要找到相应的资源。 根据您想要实现的目标、您必须使用不同的策略、例如:

    • 如果您不需要递归获取互斥量(例如在 FreeRTOS 中)、则可以使用二进制信标。
    • 如果您确实需要以递归方式获取互斥量、则应查看 Gate_Mutex 模块。

    门互斥量允许阻止对代码的某些部分的访问。

    如果您的计算机上安装了 TI-RTOS、您应该能够在以下位置找到相同的文档(与 Resource Explorer 中的文档一样):

    C:\ \docs

    您应该有一个文档概述 html 页面。

    在该页面上、我建议您查看《内核用户指南》和《内核运行时 API》。

    此致、

    米歇尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Michel,í a
    我能不能理解一些使用 CMSIS 的与 FreeRTOS 相关的 API (例如,Semaphore create、mutex 等)不能直接映射到 tirtos,而必须使用 tirtos 提供的 API 来代替。 换句话说、tirtos 并不完全支持与 RTOS 相关的 CMSIS。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、没错。
    我不确定 TI-RTOS 用于信标和其他同步模块的机制、但您无法将应用程序从 FreeRTOS 直接迁移到 TI-RTOS。
    此致、
    米歇尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我明白了。 谢谢你。