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/PROCESSOR-SDK-OMAPL138:DSS 多核

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/754773/ccs-processor-sdk-omapl138-dss-multicore

器件型号:PROCESSOR-SDK-OMAPL138

工具/软件:Code Composer Studio

CCSv7

我有两个项目、一个是 ARM 端代码、另一个是 DSP 端代码。  我正在尝试编写 DSS 脚本、以将它们加载到存储器中并在 ARM 上开始调试。

debugSession=debugServer.openSession("../ARM9_0");
debugSession.target.connect();
debugSession.memory.loadProgram ("dspside。out");
debugSession.memory.loadProgram ("armsion.out");
debugSession.target.run();

我得到误差

ARM9_0:GEL:文件:dspside。out 与目标类型不匹配、未加载。

如果我颠倒这两者的顺序、则会加载 armside、我立即在 main 处断开调试器、而 DSP 代码从未加载。

如何解决这个问题?  如何将两个程序都放入内存中以便开始调试?

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

    尊敬的 Adam:

    您将需要为每个 CPU 创建一个调试会话实例:

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

    示例:

    debugSessionARM = debugServer.openSession ("../ARM9_0");
    debugSessionDSP = debugServer.openSession ("../C674x_0");
    debugSessionARM.target.connect();
    debugSessionDSP.target.connect();
    debugSessionARM.memory.loadProgram ("dspside。out");
    debugSessionDSP.memory.loadProgram ("armsion.out");

    debugSessionARM.target.run();
    debugSessionDSP.target.run();

    //或者您可以使用同步运行 API 同时运行它们
    var dsArray =新阵列();
    dsArray[0]= debugSessionARM;
    dsArray[1]= debugSessionDSP;

    debugServer.simultaneous.run(dsArray);//同时运行 CPU 1和2

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    工作正常、但脚本控制台在我停止调试后挂起。 我已尝试关闭脚本控制台并重新打开它,但它只是显示“正在初始化.......................................................................... "如何在脚本控制台中获得控制权? 到目前为止唯一有效的事情是关闭并重新打开 CCS。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果脚本从未终止、那么是的、您会看到您看到的行为。 这是脚本控制台的已知限制-无法强制终止正在执行的脚本

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有时我会看到
    "armside.out"中的"foo.c"行493没有相关代码
    断点时的中断
    (有时甚至当我以前能够在同一调试会话中设置断点时!)

    我已将 armside 选择为活动项目。 导致此错误的原因是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果没有更多详细信息(测试用例)、很难肯定。 该消息的常见原因通常是调试器无法将指定源文件的路径与加载到调试器中生成的调试符号中包含的路径相关联。 我假设您在通过 GUI 手动设置断点时能够成功设置该断点?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    源代码与.out 不同步;是否有脚本命令将在我载入程序之前进行构建?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果从命令行(CCS 之外)运行脚本、我们建议使用以下命令:
    software-dl.ti.com/.../ccs_projects-command-line.html

    如果从脚本控制台运行、则可以使用脚本控制台"buildProject"命令(假设工程已导入到工作区中)。 请注意、只要脚本从脚本控制台运行、您就可以从脚本内部调用控制台命令(否则将失败)