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.

[参考译文] TMS320C6657:对 L1D 外部异常的无效访问

Guru**** 2582405 points
Other Parts Discussed in Thread: CCSTUDIO

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/632083/tms320c6657-invalid-access-to-l1d-external-exception

器件型号:TMS320C6657
Thread 中讨论的其他器件:CCStudio

你(们)好 我正在运行 C6657 DSP、并且正在运行到外部异常中。

我查看了这个描述存储器保护错误的 wiki、我认为我要点击以下内容:
http://processors.wiki.ti.com/index.php/MemoryProtectionOnKeystoneDevices?keyMatch=SMPFSR&tisearch=Search-EN-Everything


L1DMPFAR 寄存器(0x0184ac00)显示了地址(00C37BCB)。   

通过查看事件寄存器(EVTFLAG0-3)、我可以看到:

我认为 EVTFLAG3显示了事件122、这就是我得出结论认为这是 DSP 上的存储器保护故障的原因。
查看上面的 Wiki 页面、事件122似乎是"对 L1D 无效访问的内核"。


然后、我使用 RTOS 对象视图中的信息将 PC、SP 和 B3放入 CCStudio 中的寄存器中、以便看到更多有用的信息。 反汇编将这些指令显示为外部异常的位置:

您是否有任何可疑之处? 我该怎么做才能发现 L1D 无效访问问题?

外部异常似乎发生在 Release 而不是 Debug 中。  


谢谢、
Kim

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

    您使用的是哪个 SDK 和 CCS 版本?

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

    Yordan、您好!

    我使用的是 CCS 5.4.0和 EZSDK 5.05.02.00。

    谢谢、

    Kim

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

    您能否分享一下在什么情况下您遇到了此无效访问? 总结您尝试执行哪些操作来解决此错误?

    除了您找到的 wiki、还有一份 C66x 内核包用户指南:
    www.ti.com/.../sprugw0c.pdf
    请看一下它、了解有关存储器访问和保护的进一步说明。

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

    Yordan、您好!

    我向异常处理程序添加了一个硬件断点。  然后、我查看了这些寄存器、发现对 L1D 的访问无效。  异常指向发生时使用某些内在函数(_dotp、_loll、_mem8、_mem4)的代码。  异常有时是外部异常、有时是内部异常:

    任何想法

    谢谢、

    Kim

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

    我不是很好。 我已向工厂团队寻求帮助。 他们的反馈将在此处发布。

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

    "我使用的是 CCS 5.4.0和 EZSDK 5.05.02.00。" ===>您能解释什么是 EZSDK 软件吗? 这是一个 software-dl.ti.com/.../index_FDS.html、 但它在 C6657中使用的 DM814/6x SOC 上运行。 我不知道应用程序代码是什么样子的、它适用于某些 C6657驱动程序吗? 您是否可以对迁移到 C6657处理器 SDK RTOS 中的任何代码库进行编程? software-dl.ti.com/.../index_FDS.html。

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

    尊敬的 Eric:

    我运行的是 DM8148和 C6657。  EZSDK 用于 ARM 端(Linux)。  C6657 DSP 使用 SYS/BIOS 6.35.1.29。  很抱歉、您感到困惑。  我看到的问题是在 DSP 方面。  我得到一个外部异常、原始帖子中的图像显示了异常发生时看到的反汇编。  您是否在反汇编中看到会导致外部异常的任何内容?  我有时也会收到内部例外情况、但我针对该问题提交了一个新 TT:

    https://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/633214/2336181#2336181

    我正在使用 CGtools 7.4.2、但也尝试过7.4.20、发现外部异常也存在相同的问题。  如果您可以帮助解释外部异常、以及为什么我看到 L1D (内核到 L1D)无效访问代码、这也很好。

    谢谢、

    Kim