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 中的 DSS 接口编写脚本以实现自动测试过程、当调用运行方法运行时、会报告错误超时并引发异常。

Guru**** 2578845 points
Other Parts Discussed in Thread: AWR1843

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1133011/using-the-dss-interface-in-ccs-to-write-a-script-to-realize-the-automated-test-process-when-the-run-method-is-called-to-run-an-error-timeout-is-reported-and-an-exception-is-thrown

Thread 中讨论的其他器件:AWR1843

您好,

我使用 AWR1843、XSD110调试器和 CCS 软件来构建调试环境、并使用 python 编写脚本来调用 DSS 接口中的方法以实现自动测试。 当目标板正在运行时、脚本执行会显示超时并引发异常、但当 CCS 软件用于手动操作时、开发板可以成功运行。 脚本执行内容与手动操作过程相同。 我想知道导致此错误超时的原因是什么? 请帮助每个人,谢谢!错误报告的屏幕截图和脚本的内容如下:

e2e.ti.com/.../python_5F00_script-_2800_1_2900_.pdf

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

    您好!

    [引用 userid="532634" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1133011/using-the-dss-interface-in-ccs-to-write-a-script-to-realize-the-automated-test-process-when-the-run-method-is-called-to-run-an-error-timeout-is-reported-and-an-exception-is-thrown。] 我想知道导致此错误超时的原因是什么? [/报价]

    脚本设置15秒的超时。

    target.run API 是一个阻止调用、它将一直被阻止、直到目标停止。 如果该 API 在15秒内未返回、则将触发超时并发生异常。 您可以选择处理异常以避免脚本终止、或者如果您不想超时、只需删除设置超时值的调用即可。

    谢谢

    Ki

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

    您好、感谢您的回复、此脚本是根据 CCS 官方调试教程给出的示例重写的。 您的意思是、我们有两个选择、要么处理它抛出的异常、要么取消超时设置、对吧? 正常手动操作 CCS 软件、加载两个内核后点击"resume"、AWR1843开发板的红色和绿色指示灯将交替闪烁。 此外、如果我们在脚本中添加断点、程序似乎不会在断点处停止。 如果脚本被执行、开发板将无法成功运行。 此外、我想问 CCS 软件的"恢复"按钮的功能 是否与 target.run API 等效?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="532634" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1133011/using-the-dss-interface-in-ccs-to-write-a-script-to-realize-the-automated-test-process-when-the-run-method-is-called-to-run-an-error-timeout-is-reported-and-an-exception-is-thrown/4204821 #4204821"]您是说,我们有两种选择,一种是处理抛出的异常,另一种是取消超时设置,对吧? [/报价]

    其他选项包括增加超时值(仅当您希望目标最终自行停止时才有用)或使用 runAsynch (这是一个非阻塞 API)。

    [引用 userid="532634" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1133011/using-the-dss-interface-in-ccs-to-write-a-script-to-realize-the-automated-test-process-when-the-run-method-is-called-to-run-an-error-timeout-is-reported-and-an-exception-is-thrown/4204821 #4204821"]此外,如果我们在脚本中添加断点,程序似乎不会在断点处停止。 如果执行了脚本、则开发板无法成功运行。

    在屏幕截图中、我看到您创建了一个组并进行了同步运行。 有关同步(同步)运行的示例、请参阅 CCS 用户指南的第7.6.9节:

    https://software-dl.ti.com/ccs/esd/documents/users_guide/sdto_dss_handbook.html#multiple-debug-sessions-for-multi-core-debug

    我假设当通过 CCS IDE 手动执行相同的步骤时、是否已成功到达断点?

    [引用 userid="532634" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1133011/using-the-dss-interface-in-ccs-to-write-a-script-to-realize-the-automated-test-process-when-the-run-method-is-called-to-run-an-error-timeout-is-reported-and-an-exception-is-thrown/4204821 #4204821"]此外,我想问 CCS 软件的按钮"恢复"的功能 是否与 target.run API 等效?

    运行或 runAsynch API 都与"resume"相同。 也许"runAsynch"最等效、因为该 API 调用不会被阻止-类似于在 CCS IDE 中按下"resume"按钮。但是、阻止调用通常更用于自动化。

    谢谢

    Ki

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

    非常感谢 Ki、问题得到了解决。

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

    大家好、我想问的另一个问题是、我们可以使用脚本来实现目标板的成功运行、并且可以在断点处停止、 但在断点处、我们希望目标板继续运行并运行到下一个断点以再次停止或停止在断点处、然后计算两个断点之间的代码运行时间。 应该如何做到这一点? 我检查了 API 文档、似乎没有可调用的接口使其再次运行。 在这种情况下、我只能重新打开目标板的电源、再次执行脚本并运行目标板? 我们希望它在第一个停止点后继续执行、而不是重新开始。 谢谢!

    Rui

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="532634" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1133011/using-the-dss-interface-in-ccs-to-write-a-script-to-realize-the-automated-test-process-when-the-run-method-is-called-to-run-an-error-timeout-is-reported-and-an-exception-is-thrown/4207936 #4207936">但在断点处、我们希望目标板继续运行并运行到下一个断点以再次停止或停止在断点处、然后计算两个断点之间的代码运行时间。 应该如何完成此操作?[/报价]

    在第一个断点之后、调用 clock.runBenchmark API。 这将运行到下一个断点并返回周期计数:

    对于其他问题、如果它们与上一个问题无关、请开始新主题。 这使具有相同问题的其他用户更容易、因为许多用户只是查看线程标题。 因此、我们更喜欢每个问题类型使用一个线程。

    谢谢

    Ki

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

    好的、谢谢您、我将重新启动一个新线程。