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.

[参考译文] RTOS/EVMK2H:使用 CCS 在 TI-RTOS 中调试崩溃或挂起

Guru**** 2611705 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/655112/rtos-evmk2h-debug-a-crash-or-hang-in-ti-rtos-using-ccs

器件型号:EVMK2H

工具/软件:TI-RTOS

您好!

我有一个 K2EVM-HK 并在其中使用 TI RTOS。 我使用的是 CCS 7.3.0.00019。 我创建了两个线程并面临一些问题。 似乎其中一个线程崩溃、而另一个线程处于无限循环中。 我没有在 CCS 上获得任何崩溃日志或任何类型的通知。 如果我暂停、在"Disassembly"中、我可以看到一条指令在整个过程中重复、表明线程处于无限循环中。 我还怀疑、当这个线程在无限循环中运行时、我的另一个线程已经崩溃。

您能不能建议我使用一些调试技术来了解崩溃发生的位置以及线程在哪个循环中被挂起。

谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    团队将收到通知。 他们将直接在此处发布反馈。

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

    您好!

    CCS 提供 RTOS 对象视图(ROV)来调试使用 TI-RTOS 构建的程序。 要在 CCS 中打开它、请转至 Tools -> ROV Classic。

    您还可以通过执行 Log_print 并在 ROV 的 LoggerBuf 窗口中查看日志来添加日志。 我已经附加了一个使用此功能的程序、以供参考。

    /cfs-file/__key/communityserver-discussions-components-files/791/3007.1070.Server.c

    您还可以使用 CCS 的 RTOS 分析器跟踪内核事件。 请参阅此指南以获得有关该指南的帮助: www.ti.com/.../spruh43f.pdf

    但愿这对您有所帮助。

    最棒的
    Sahin

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

    我正在尝试使用 ROV、为了首先了解它、我引入了去引用 NULL 字符的方法。 我可以在任务部分看到以下内容:
    "目标存储器读取失败、地址0x6563784d、长度= 76。
    根据应用程序的段映射、该读取位于无效地址。 应用程序可能未初始化或已损坏。"

    我如何将其映射到我的代码、也就是说、我是否可以通过任何方式知道哪个行号文件导致了崩溃?

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

    我正在 TI-RTOS 团队中寻求帮助以回答您的问题。

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

    我首先要观看/查看此页面: training.ti.com/debugging-common-application-issues-ti-rtos

    您能否在发生不良事件之前(例如、在调用 BIOS_start 之前)查看 ROV 以确保一切正常? 常见的问题是系统和/或任务堆栈和异常。

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

    感谢您的回答。

    我已查看上述视频。 根据我的理解、要将我的崩溃映射到我的代码、我应该使用最小或增强的异常解码处理程序。 为此,我应该将 enableException 标志设置为 true。 但视频中使用的示例是针对 MCU 器件。 我有 K2H EVM、它具有 ARM 内核、HWI 模块没有任何此类标志。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Krishna、

    对于 Cortex-A15、ROV 的异常模块中有一个"异常调用栈"。 这可能是您正在寻找的内容。

    此致、
    Sahin