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/TMS320C6678:6678 HelloWorld 测试、ti.sysbios.KNL.Semaphore:第290行:断言失败:A_overflow:计数已超过65535并回滚。

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/663151/ccs-tms320c6678-6678-helloworld-test-ti-sysbios-knl-semaphore-line-290-assertion-failure-a_overflow-count-has-exceeded-65535-and-rolled-over

器件型号:TMS320C6678

工具/软件:Code Composer Studio

大家好、我从 D:\CCS73\mcsdk_2_01_02_06\examples\NDK 开发 HelloWorld (请参阅附件)。 DSP 6678 Core0首先运行 GE_fzg20180207 pjt、然后运行 HelloWorld_zc6678_20180206。

我们的6678网络不能正常工作:(1)速度慢且不稳定、最大速度约为20MB (千兆网络速度不快);(2)我们以前运行 PC 程序并连续发送数据、PC 的 SEND()函数可能会遇到 WSACONNRESET 错误并在几分钟内失败。 在 ge_fzg20180207中、我们对 PHY 芯片 BCM5464执行一些配置、从 EVM6678中删除。 在 HelloWorld_zc6678_20180206中、DSP Core0是 TCP 服务器。 以下是 PC 向 DSP 发送()数据时的 Wireshark 数据。

e2e.ti.com/.../20180208_2D00_1150_2D00_PC-to-DSP-32MB.rar

今天、我们使用 Spirent 来帮助测试问题:

在 ge_fzg20180207中、我们对 PHY 芯片 BCM5464执行一些配置、从 EVM6678中删除。 在 HelloWorld_zc6678_20180206 DSP Core0中、DSP Core0是 TCP 服务器、它只是侦听、接受和从客户端恢复。 我们使用 Spirent 设备作为客户端运行、并将数据发送到 DSP。 然后 DSP 打印以下错误信息。 出什么问题了?

谢谢!e2e.ti.com/.../GE_5F00_fzg20180207.rar

 e2e.ti.com/.../helloWorld_5F00_zc6678_5F00_20180206.rar

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

    我已通知 NDK 团队。 他们将直接在此处发布反馈。

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

    MCSDK 2.1.2.6已停产、请在有机会时升级到 Processor SDK RTOS (最新版本为4.2)。

    信标有一个内部计数字段、用于跟踪信标已被发布的次数。 当持续发出计数信标且信标计数超过数据类型可以表示的最大值(在本例中为65535)时、会引发此错误。 这意味着您的应用程序调用 Semaphore_post()的次数多于实际调用 Semaphore_pend()的次数。

    您需要检查您的应用程序并确定调用 Semaphore_post ()的确切位置以及为什么这么频繁。 如果您的代码使用信标来阻止/保护单个资源、您可能还需要考虑使用二进制信标(这些信标不会溢出)。

    有关错误、请检查以下内容是否有帮助:
    e2e.ti.com/.../286102
    e2e.ti.com/.../224959

    此致、Eric