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/CC1310:有些函数调用的步进被卡住

Guru**** 2535590 points
Other Parts Discussed in Thread: CC1350, CC1310

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/566403/ccs-cc1310-step-over-is-getting-stuck-for-some-function-calls

部件号:CC1310
主题中讨论的其他部件:CC1350

工具/软件:Code Composer Studio

您好,

此线程中的一位客户 遇到CCS中的步进功能问题:

  1. 使用CCS 7.0 或较早的6.1 .x或6.2 .x发行版
  2. 从CC13xx或CC13x0 SimpleLink SDK 1.0 的TI-RTOS 2.21 构建rfEasyLinkTx示例
  3. 在CC1310或CC1350启动板上调试应用程序
  4. 在rfEasyLinkTx.c第131行(EasyLink_init())中设置断点,然后将程序运行到该位置。
  5. 单击"Step Over (步过)"

在EasyLink_init()之后,程序不会停止,但会被内核空闲循环卡住。 在下一行设置附加断点并使用“恢复”时,一切正常。 下一行EasyLink_setPwr()也是如此。 我想我在其他情况下也看到了同样的行为。

这可能是CCS调试器中的一个错误吗? 如果是,请您在此处提交错误报告并监控进度吗? 谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Richard:
    原因似乎是RFCC26XX_multimone.c.线路3187上的semaphore_pend()调用 进入/超过将使它永远等待(阻止)。 我不确定差异的原因是什么。 单步执行时可能会出现一些实时问题?

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

    RFCC26XX_multimone.c.的线路3187上的semaphore_pend()呼叫似乎是罪魁祸首 进入/超过将使它永远等待(阻止)。 我不确定差异的原因是什么。 单步执行时可能会出现一些实时问题?

    这可能是由于在源步执行时禁用中断的默认CCS行为引起的-请参阅 CCS 6.1 (CCS代码)技术.........1调试器在基于TI-RTOS的AM4378程序挂起时对阻塞函数调用的步进。

    在这种情况下,当源步进应允许“步进”工作时,取消选择禁用中断。

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

    这可能是由于源步进时禁用中断的默认CCS行为引起的-请参阅 CCS 6.1 (CCS调试器) 3-1调试器在基于TI-RTOS的AM4378程序挂起时对阻塞函数调用的步进。

    在这种情况下,当源步进应允许“步进”工作时,取消选择禁用中断。

    [/引述]

    完美 这确实解决了问题。 我不知道源步进会禁用中断。 在TI-RTOS项目中默认禁用此选项是否有意义?