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/CC1352P:ROV:任务视图:CallStacks 在第一个未初始化的任务对象处停止

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/769523/ccs-cc1352p-rov-task-view-callstacks-stop-at-first-uninitialized-task-object

器件型号:CC1352P
Thread 中讨论的其他器件: SYSBIOS

工具/软件:Code Composer Studio

您好!

我将 CCS 8.3与 XDS110调试器和 CC1352P 器件搭配使用。

如果我在调试会话中停止器件并查看 RTOS 对象视图(ROV)、我转到可视模块->任务并选择"基本"或"详细"。

现在、我可以查看所有任务、每行一个。 并非我的应用程序中的所有任务都处于活动状态、因此其中一些条目在"label"列中显示"未初始化的任务对象"。 这是可以的。

问题是、如果我切换到"CallStacks"选项卡、这些任务的 CallStacks 只会显示到第一个未初始化的任务对象。 在带有未初始化任务对象的第一行之后、不再有条目。

这意味着、如果我需要另一个未显示的任务的调用栈、我每次都必须重新编译我的应用程序、并将此"未初始化的任务对象"设置为静态、因此我无法在 ROV 和 voila 中看到它、ROV 显示更多任务的调用栈。

这是错误吗? 我可以轻松地规避该问题吗?

谢谢、

HKR

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

    HKR、

    是的、这似乎是处理非构造对象的不可预见的副作用。

    请尝试以下操作以查看它是否有助于解决此问题:

    在 BIOS 安装中、按照以下方式编辑 ti/sysBIOS/KNL/Task.xs 文件:

    更改以下行:

     if (viewCheckForNullObject (Task、taskView)){
      var nullArray = new Array();
      obj["0x"+ number (taskView.$addr).toString (16)+
      "、未初始化的任务对象"]= nullArray;
      return (OBJ);
     }

    为此:

     if (viewCheckForNullObject (Task、taskView)){
      var nullArray = new Array();
      obj["0x"+ number (taskView.$addr).toString (16)+
      "、未初始化的任务对象"]= nullArray;
      //返回(obj);

      继续;
     }

    希望这将强制调用栈解析器跳过未构建的对象、而不是完全停止处理。

    Alan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Alan、
    这太棒了! 它可以工作、并且与其他选项卡一致。
    将此更改添加到未来的 CCS 版本会怎么样?
    谢谢!
    HKR
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    HKR、

    我很高兴能够解决这个问题!

    昨天、我提出了一个解决此问题的错误、修复程序将包含在下一个版本的 BIOS 中、该版本将在本月末之前退出。

    Alan