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.

[参考译文] TMS320F2.8335万:程序与某些批次代码挂起。 删除ADC初始化或添加变量声明可修复它。 DSP中的更改?

Guru**** 2576215 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/643226/tms320f28335-program-hangs-with-certain-lot-code-remove-adc-initialization-or-adding-a-variable-declaration-fixes-it-change-in-the-dsp

部件号:TMS320F2.8335万

您好,

我有几个使用TMS320F2.8335万的主板,其批号代码为CA-68C9LHW和CA-68C9LJW,程序将挂起。

同一代码在不同的批次代码中运行正常(CA-0A...,CA-3A...,CA-88...)。

经过一些调查后,我发现如果我对AdcInit的调用进行注释,则代码将继续运行。   

如果我声明一个变量,代码也将运行(存在AdcInit)。  非常奇怪……

这在我回来的4块板上是一致的,它们都有相同的年和月批次代码(2006或2016?,8月)。

该批DSP是否有不同之处?

谢谢你。

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

    我不知道该批次代码有什么独特之处。 您能否确认其他批次追踪代码? Y/M数字对我来说不太合适。

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

    感谢您回复我的帖子。
    其他批号(工作代码)为0AA3QW和8BA5Y4W (不是88...)。 他们都是CA-

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

    6可以指2006或2016。 对于您的原始代码,我看到它是在2016年制造的。 我似乎无法从您的工作板上找到有关代码的信息。

    您是否估计有多少较新的设备会给您带来麻烦? 例如,5/50或90/100?

    程序挂起时会发生什么情况? CCS是否断开? 您是否能够在不关机的情况下恢复?

    您是否可以单步进入AdcInit()调用来查看导致问题的代码行? 在执行此操作时,您是否可以检查程序计数器以查看CPU是否在有效内存边界附近执行指令?

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

    Tommy,

    很抱歉,我在过去两天被拉去了另一个项目,现在终于能够回到这个项目。

    关于好板的批次代码,这很有趣。  我又找到了一个很好的主板 ,CA-68C9LHW。  2016年8月,但不同的批次?

    我发现的另一个问题是电源电流限制太低。  增加电流限制可挽救其中一个板,但其中两个仍不能使用“释放”代码。  我目前无法访问其他一个板。  所以我现在有2块坏板和1块好板。

    我试图了解有多少新设备(批号为68)存在问题,或者我们有多少设备存在问题,但我无法获得这些信息。

    现在,当我处于调试模式时,运行它后它会挂起(主板上有LED,其中一个LED应该闪烁,在主板损坏的情况下不会闪烁),我停止它。  停止它之后(在有效代码处停止,而不是在调用AdcInit之前停止,因此我不能在AdcInit中单步执行),我单步执行,得到的是:

    不能单步目标程序:
    错误0x0.002万/-1041</s>1041
    执行期间出错,
    设备驱动程序:仿真控制器问题。
    建议重置仿真器。 这将断开每个
    来自仿真器的目标。 然后应关闭并重新打开目标
    或硬重置,然后执行emureset,然后重新连接到每个目标。

    如果我选择"取消",我会收到以下信息:

    错误:

    错误0x0.102万/-1135</s>1135
    执行,目标,
    不可恢复的仿真错误

    我又尝试了一次,对AdcInit函数的调用进行了注释,它工作正常(LED闪烁)。

    AdcInit只是设置AdcRegs。   

    谢谢你。

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

    您的三台CA-68x设备都来自同一批。

    听起来您可能有一个异步事件干扰了操作。

    您能否检查输入时钟,电源电平和XRSn以确保它们稳定?

    您可能还需要检查PLLSTS[MCLKSTS]和WDCR[WDFLAG],以查看其中一个模块是否遇到错误情况。

    汤米