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.

[参考译文] CCS/CC1350STK:CCS 调试会话终止后 I2C 事务缓慢

Guru**** 2539500 points
Other Parts Discussed in Thread: CC1350

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/614027/ccs-cc1350stk-i2c-transactions-slow-down-after-a-ccs-debug-session-is-terminated

器件型号:CC1350STK
主题中讨论的其他器件:CC1350

工具/软件:Code Composer Studio

您好!

我 有一个 在 CC1350 sensortag 上运行的 TIRTOS 测试应用、它通过 I2C 从加速计读取数据。 此应用是使用 Simplelink cc13x0 SDK (1_40_00_10)并使用 CCS v7.1构建的。 我看到了一种奇怪的行为、当我没有使用调试器连接到目标时、通过 I2C 读取数据所需的时间会翻倍。

例如、当我从 CCS 闪存并运行代码时、我的调试输出显示大约需要1980us 来读取60字节的数据。 当我终止调试器与目标的连接时、同一调试输出显示读取相同的60字节数据大约需要3850us。 当我循环通电并 让它在没有调试器的情况下运行时、它采用相同的双速。

是否有人看到过这种情况、或者是否知道 I2C 事务速度为何会受到调试器是否连接的影响? 它可以是时钟差异还是中断延迟、还是其他方面?

我不熟悉 CCS 和 TIRTOS、这是我的第一篇文章。 如果我完全忽略了某些内容、请原谅我。

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    有趣的是、在 CCS 调试会话中、速度实际上更快(通常情况下、投诉是另一种方法)。

    现在、当您提到您终止调试器连接时、它会减慢速度、您是否意味着您启动 CCS 会话、运行目标、注意速度、然后在您按下"终止"按钮时使目标保持运行、然后注意到减慢?

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

    是的、您提到的顺序是正确的:我启动 CCS 会话、运行目标、观察速度、在按下红色"终止"按钮的同时让目标保持运行。 之后的调试输出显示了 I2C 读取的双倍时间。

    此外、如果我在不连接 CCS 调试器的情况下为电路板供电、也会观察到 I2C 的"双倍时间"。 为此、我拔下连接到 Debug_DevPack 板的 USB 电缆并将其插回。

    我同意这一点很有趣、因为在活动调试会话期间看到时序问题并不少见。 没有注意到其他任何东西会更慢。 在一个小代码块周围的时序返回相同的值、而 CPU 时钟频率在48MHz 时保持不变。 当没有调试器时、外设时钟就会减半、我怀疑这是发生的情况。

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

    [引用 USER="Raheesh Rajan">我 有一个 在 CC1350 sensortag 上运行的 TIRTOS 测试应用程序、该应用程序通过 I2C 从加速计读取数据。该应用程序是否在待机和工作功耗模式之间转换?

    原因是 《CC13x0、CC26x0 SimpleLinkTm无线 MCU 技术参考手册》下表中的注3显示,连接仿真器/调试器后,从待机唤醒到活动的时间缩短了200微秒:

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

    感谢切斯特指出这一点-有关调试器和待机的说明。  我已将电源策略设置为 PowerCC26XX_standbyPolicy () 并启用,因此系统会转换为进入和退出待机状态。 我尝试进行快速测试以禁用电源策略、然后 I2C 读取失败、但我认为这是我的代码和这个特定的 I2C 器件的组合造成的。 我需要进一步调试才能解决问题、但该信息有助于将我设置为正确的方向。 我会在我执行操作时报告我发现的内容。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Raheesh、
    我将把这个主题移至 BLE 论坛。 那里的其他专家将能够提供有关 I2C 的更多见解。

    谢谢
    Ki