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/LAUNCHXL-CC2650:4-14us 的信标延迟?

Guru**** 2589300 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/605499/rtos-launchxl-cc2650-semaphore-delay-of-4-14-us

器件型号:LAUNCHXL-CC2650
Thread 中讨论的其他器件:SYSBIOS

工具/软件:TI-RTOS

您好!

我正在测量一个帖子到一个计数信标的延迟。 我测量过200个 Xosc 时钟周期、过了700个 Xosc 时钟周期。 这似乎是很长的时间? 除 I2S DMA 外、没有其他任何内容正在运行、

stampy[stampTick].wordcount1 = HWREG (I2S0_BASE + I2S_O_STMPWCNT);
stampy[stampTick].bClocks1 = HWREG (I2S0_BASE + I2S_O_STMPXCNT);
Semaphore_post (semaphore_handle (&(object->blockComplete)));
stampy[stampTick].wordcount2 = HWREG (I2S0_BASE + I2S_O_STMPWCNT);
stampy[stampTick].bClocks2 = HWREG (I2S0_BASE + I2S_O_STMPXCNT);W

是否有任何建议可用于发现这种血腥延迟的根源?

谢谢、

Ken Koch

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

    是否确定没有发生上下文切换? SEM 上是否有一个更高优先级的任务等待处理?
    您可以在 C:\ti\simplelink_cc2640r2_sdk_1_35_00_33\kernel\tirtos\packages/ti\SysBIOS\KNL\semaphore.c 中看到 Semaphore_post 的源代码

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

    Kenneth Koch、您好!
    是否有任何其他任务正在运行?

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

    您好、Luu、

    唯一运行的任务是挂起信号量的任务。 它的优先级为1。 发出信号量的中断处理程序的优先级为~0 (FFFF)。

    谢谢、

    Ken Koch

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我还进行了检查、以确保 Semaphore_post 解除阻止挂起任务并返回。 确实如此。 除空闲循环之外、我还有1个任务正在运行、该任务会挂起 I2S 信号量。 中断处理程序的 POST 在返回前会延迟150到700个时钟周期。 所有这些时钟周期都可以转到哪里?