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.

[参考译文] CC3220SF:如何在 TI-RTOS 代码中启用/禁用全局中断? 或其他最佳方法来解决关键硬件信号接口访问问题?

Guru**** 2562870 points
Other Parts Discussed in Thread: CC3220SF, SYSBIOS

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1047919/cc3220sf-how-to-enable-disable-global-interrupt-in-ti-rtos-code-or-other-best-method-to-solve-critical-hardware-signal-interface-access

器件型号:CC3220SF
Thread 中讨论的其他器件: SYSBIOS

您好、支持团队、

 

我们的产品使用 CC3220SF SoC 并使用 TI-RTOS。

我的问题:

是否可以在 TI-RTOS 代码中使用启用/禁用全局中断方法?

例如、我们通过 SPI 接口擦除/写入外部512Mbit NOR 串行闪存。 如果我想保证没有其他代码影响 SPI 读取/写入、我该怎么做?

3、如果某些应用要求硬件信号控制的关键时序并禁用所有其它软件/硬件中断源、可以参考哪一个示例代码?

 

此致、

Lishen

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

    有关如何在 TIRTOS 中禁用/启用中断、请参阅 HWI 文档(software-dl.ti.com/.../Hwi.html)。

     访问 SPI 闪存时、可以使用关键段保护(例如使用 pthread_mutex、假设通过 POSIX 使用 tirtos)。

    我不确定是否有任何示例直接禁用中断。 使用 RTOS 时、它通常通过操作系统同步 API (例如互斥量、信标等)来完成。 如果您检查 POSIX 代码。 如果您检查 POSIX 实现,您将能够找到 Hwi_disable()的用法 ,例如  在 ti_SysBIOS_posix_clock_getticks ()中,

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

    尊敬的 Kobi:

    POSIX 代码是否存在 TI-RTOS?   我不知道什么是 POSIX?

    您能否告诉我如何使用 POSIX 检查我的代码?

    此致、

    Lishen

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

    您是否通过 CC32xx SDK 中的示例使用 TIRTOS?

    SDK 中的所有示例都是通过 POSIX 接口使用 RTOS、

    POSIX 接口可通过不同的 RTOS 实现。 在我们的 SDK 中,我们为 TIRTOS 和 FreeRTOS 提供了适应方法(因此,除了在 main()中进行更改外,两个 RTOS 的应用程序代码几乎相似)。

    这意味着应用程序不使用 TIRTOS API、但它们调用将用于 TIRTOS 或 FreeRTOS 的通用 POSIX API、或将其用于项目配置。

    我上面提到的 API 是 POSIX API、并不特定于 TIRTOS。 如果您直接使用 TIRTOS (即不基于 SDK 示例)、则应使用 RIRTOS 等效项(例如信标)。

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

    尊敬的 Kobi:

    前同事说、他的代码库位于 network_terminal (路径 C:\ti\simplelink_cc32xx_sdk_4_30_00_06\examples\rtos\CC3220SF_LAUNCHXL_demos\network_terminal)上、并使用 TIRTOS 而非 FreeRTOS。

    感谢您的回答。

    此致、

    Lishen

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

    如果它基于 network_terminal 示例、则通过 POSIX 接口使用 TIRTOS。

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

    尊敬的 Kobi:

    谢谢!

    此致、

    Lishen