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.

[参考译文] TMS320C6678:L2存储器在计时器达到周期后被清除

Guru**** 2587345 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/633075/tms320c6678-l2-memory-gets-cleared-after-timer-reaches-period

器件型号:TMS320C6678

大家好

我们有一个定制电路板、其中包含多个 C6678 DSP、我们已经生产了数百个 DSP、它们已使用多年。

在我们的许多应用中、我们看到了一种非常奇怪的行为。
复杂的是、同一个应用可以在大多数电路板上正常运行、但在某些电路板上、它会非常奇怪地崩溃。

当它在电路板上崩溃时、它始终崩溃(可重现)

问题:
一个内核有一个计时器(64位或未链接)、该计时器会达到其周期(错误遵循周期值)
使用调试器、我们可以看到、在计时器达到周期(CCS 中的汇编步骤)后、

-->多个内核的 L2存储器(用作存储器而不是高速缓存)(有时是全部、有时是部分、但始终至少一个、是随机的)被清除(全部为零)

经过数年的密集使用 DSP 后、我们不知道 DSP 中有任何具有此类行为的东西。

您是否对导致此问题的原因有任何想法? (硬件或软件)

我们的想法已经过时了。

此致
Clement

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

    您好 Clement、

    我怀疑出现崩溃的设备存在一些硬件问题。
    我已将您的疑问转发给硬件专家。 他们的反馈应发布在此处。

    BR
    Tsvetolin Shulev

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

    Clement、

    几个问题:

    1. 您生产了多少块电路板、有多少电路板表现出这种行为?
    2. 那些出现故障的电路板是否总是出现故障、或者是否是间歇性的?
    3. 如果电路板在较高或较低的温度下运行、则发生故障的器件的行为是否会发生变化?
    4. 您说这些平台已使用多年。  添加了哪些新的处理、导致出现这种情况?
    5. 您能否在 C6678 EVM 上重现问题?

    Tom

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

    我的答案:

    1.确认了两块板(生产的板超过150块),但仅测试了少数板(总共可能4块)
    2.总是失败,但当软件更改时,错误有时会消失
    3.仅在室温下进行测试,因此电路板的温度可能约为40°c。 未在不同温度下进行测试
    4.电路板用于各种项目,大部分仍在开发中。 只有一个项目在该项目上工作了两年,这一问题才会出现。 新功能每天都会添加、最近我们才看到这个问题。
    5.遗憾的是,应用程序太复杂,无法在 EVM 上运行

    从我们的角度来看、该错误似乎是软件和硬件的混合。
    软件中的某些内容会导致芯片或电路板的硬件中的某些内容导致 L2存储器(某些内核的)被清除。

    Clement

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

    Clement、

    需要在可重现的场景中分析此问题。  然后、我们可以分析导致问题的事件序列。  类似地、您表示问题会随着代码的变化而消失。

    如果构建的故障可重现、则也会很有用、在该构建中、您可以通过单个代码更改来导致问题消失。

    Tom

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

    Tom

    我们有这种情况:计时器到达其周期,以及在多个 L2存储器被清除后的时刻
    我们不知道它是否相关、但准备了3个 DMA 传输(DMACC0的前3个通道)。

    我忘了说、这是一个在 TI-RTOS 上运行的多核应用、其中有多个设备连接到电路板(例如光纤链路)。
    我们遵循多条路径(更改计时器、禁用此或禁用此路径以缩小范围等)

    我请求论坛帮助的原因是让内部人员了解什么可能导致芯片内部完全清除 L2存储器。
    您对什么可能导致这种情况有什么想法吗?

    Clement

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

    Clement、

    芯片中没有用于清除 L2块的硬件机制。  我的猜测是、有软件错误地覆盖 L2存储器、并且在计时器过期时会发生这种情况。

    Tom

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

    我们今天取得了突破、并且能够看到定时器9达到其周期与 EDMACC0通道2之间的直接链路(由于 EMDACC0外设的事件输入为定时器9)以错误的值被触发。
    它似乎取决于使用什么(使用参数集/选项)初始化 DSP、这可能因电路板而异。

    我们很快就会通知您。

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

    为定时器9启用 DMA 事件使能寄存器(EMDMACC0的事件/通道3)、因为 DMA 传输未完全初始化、它会在不同的 DSP 上产生不同的结果

    在 CSL 中、手动触发 DMA 通道非常令人困惑、您不需要启用它(因为启用仅适用于外设事件)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Clement、

    很高兴听到问题得到解决。

    我假设在 ProcSDK 中有用于此目的的示例程序。  我将在软件支持团队成员中循环进行评论。

    Tom