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/CCStudio:使用 DSS 时进行正确设置

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/953793/ccs-ccstudio-proper-setup-when-using-dss

器件型号:CCStudio

工具/软件:Code Composer Studio

您好 TI!

我一直在开发自己的.js 脚本、以便在 RVP-TDA3板上加载和运行程序。 该脚本主要连接到电路板和 M4、DSP1、DSP2内核。 加载程序并在完成后提取跟踪。 一切都那么好。 当我再次尝试运行相同的脚本时、会出现问题。 如果没有电路板和 JTAG (XDS200)的断电和通电、这似乎是不可能的。 这通常不是每次都有相同的问题,但我经常看到其中两个问题。 第一个是调试器无法设置 CIO 断点的位置、因为它们已经存在。 第二种情况是调试器无法连接到 DSP1内核、原因是它挂起。

我将附加脚本的启动顺序和拆卸顺序。
这些流程中是否缺少我要做的事情?

提前感谢!

此致、
版本

//初始阶段。
var env = ScriptingEnvironment.instance();

var server = env.getServer ("DebugServer.1");

server.setConfig(configurationPath);
var sessionM4 = server.openSession ("../Cortex_M4_IPU1_C0");
var sessionDSP1 = server.openSession ("../C66xx_DSP1");
var sessionDSP2 = server.SU1 ("!sessionM4




);
if connected (!sessionM4)
env.traceWrite ("[E]目标已断开连接。");
java.lang.System.exit (1);
}

sessionM4.target.halt ();
sessionM4.target.reset ();

//调用 GEL 函数
sessionM4.expression.evaluate ("GEL_Reset()");
sessionM4.expression.evaluate ("sessionM4.expression.evaluation"


)("sessionM4.Expression.aluation");sensituate.aluate.aluation.alu.alu.ap4 ("sensituation.aluation.aluation")("sessionM4.e"sensore"sensor.ale"sensor.ale"sensor.ale")("s
sessionM4.expression.evaluate ("DSP2SSClkEnable_API();");
.
。
。
。
env.traceWrite ("[i] sessionM4.target.halt ()");
sessionM4.target.halt ();
env.traceWrite ("[i] sessionDSP1.target.halt ()");
sessionDSP1.target.halt ();
env.traceWrite ("[i] sessionDSP2.target.halt (");
sessionDSP2.target.halt ();

env.traceWrite ("[i] sessionDSP1.target.disconnect();");
sessionDSP1.target.disconnect();
env.traceWrite ("[i] sessionDSP2.target.disconnect();");
sessionDSP2.target.disconnect();
env.traceWrite ("[i] sessionM4.target.disconnect();");
sessionM4.target.disconnect();

env.traceWrite ("[i] sessionDSP1.terminate();");
sessionDSP1.terminate ();
env.traceWrite ("[i] sessionDSP2.terminate();");");
sessionDSP2.terminate();
env.traceWrite ("[i] sessionM4.terminate();");
sessionM4.terminate();

env.traceWrite ("[i] server.stop();");
server.stop();
env.traceWrite ("[i] reader.close();");
reader.close();
env.traceWrite ("java.lang.System.exit (1);");
// env.traceEnd ();
java.lang.System.exit (1); 

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

    您好、Enver、

    我可以从您的脚本中看出没有什么问题。 但是、您描述的这些类型的不一致性通常非常具体针对目标/电路板。 我有类似的经验、对于某些电路板、我必须执行恒定的功率循环。

    我确实看到的一件奇怪的事情是、您调用了一系列复位:

    [引用用户="Enver Sultanov"]

      sessionM4.expression.evaluate("GEL_Reset()");
      sessionM4.expression.evaluate("GEL_AdvancedReset(\"CPU Reset\")");
      sessionM4.expression.evaluate("GEL_AdvancedReset(\"System Reset\")");

    [/报价]

    您可能只需要系统重置、因为这是最全面的重置。

    否则脚本看起来正常。  

    如果您通过 IDE 手动执行脚本中的相同步骤,是否有相同的问题?

    谢谢

    Ki

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

    你好,Ki!

    您说得对、这些复位是我尝试通过复位板来强制其进入干净状态的结果。 我将尝试仅使用系统重置。

    我刚刚尝试连接 CCS、遇到此错误:

    连接到目标时出错:
    (错误-1143 @ 0x0)
    设备内核挂起。 调试器已强制器件进入就绪状态并恢复调试控制、但您的应用程序的状态现在已损坏。 您对存储器和寄存器的访问应该有限、但您可能需要重置器件以进一步调试。
    (仿真包8.3.0.00003)

    我有一种使用 GEL 文件重新引导器件的方法吗?


    此致、
    版本

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

    该错误通常是由于应用程序或其他一些外部因素导致器件进入不良状态而导致的:

    https://software-dl.ti.com/ccs/esd/documents/ccs_debugging_jtag_connectivity_issues.html#device-hung

    您可以尝试系统重置  

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

    我在 TDA3-EVM 板上使用 XDS560V2 LAN 仿真器尝试了脚本、但得到的错误有点相同:

    严重:C66xx_DSP2:连接到目标时出错:(错误-1143 @ 0x0)设备内核挂起。 调试器已强制器件进入就绪状态并恢复调试控制、但您的应用程序的状态现在已损坏。 您对存储器和寄存器的访问应该有限、但您可能需要重置器件以进一步调试。 (仿真包8.3.0.00003)

    我猜这意味着问题未连接到仿真器或硬件、而是我们使用 DSS 和 GEL 脚本的方式?

    此致、
    版本

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

    [引用 user="Enver Sultanov"]我想这意味着问题不是与仿真器或硬件相连,而是与我们使用 DSS 和 GEL 脚本的方式有关?

    这还可能意味着正在运行的应用程序本身会将目标置于影响调试器与目标通信的状态。 这些问题可能难以调试。 检查通过 IDE 手动模拟脚本行为是否会产生相同的结果。

    Ki  

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

    您好 Ki、

    我认为我发现了我的问题。 事实证明、它是闪存中的辅助引导加载程序、通过设置一些 CIO 断点而导致问题、而不是。
    负载过程现在更加可靠。

    此致、
    版本