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/TMS320F28379D:CPU2保持运行时对 CPU1进行意外复位

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/861781/ccs-tms320f28379d-undesired-reset-of-the-cpu1-while-cpu2-keeps-running

器件型号:TMS320F28379D

工具/软件:Code Composer Studio

您好!

我将使用此微控制器来控制两个电源转换器、每个转换器具有每个 CPU 及其 CLA。 CPU 负责 通信 和 状态 机、而 CLA 执行转换器的控制环路。

我的问题是 CPU1在没有顺序或明显原因的情况下自行复位、但 CPU2未复位。 首先、我在这两个 RAM 中对所有内容进行了编程、并且我能够知道 CPU1 复位 是因为它返回到 main ()(在 while (1)之前)、并且它尝试再次运行该程序、并且当它到达 EINT 时;指令它  反复复位。 我看 了 RESC 寄存      器、唯一的位设置(除了 TRSn 和 XRSn 位)是 WDRSn、但我从未配置过看门狗、实际上我一直禁用它。 然后、我 意识到 、有时当对微控制器进行编程时、该位会从头开始置位。 我还查看了 CPU2的 NMIFLG 寄存器、但一切看起来都很好、所有的位都被清除了。 问题是随机的,也许有一天发生了两次,接下来的两次没有发生。 我还要说的是、当转换器运行时、问题始终存在、而当转换器处于待机状态而没有开关时、问题从未发生。 它是否与电磁 干扰有关?

在遇到所有 这些问题 并认为这是 由.cmd 中的问题引起的情况下、我更改了它、现在我正在闪存中进行编程、但这次问题 稍有 不同、因为 CPU1失去控制、似乎没有程序。 在开关和测试转换器时、幸运的是、它会打开开关、但其输出 GPIO 会不断变化; 此外、当我进行调试时、所有变量的随机值 都会不断变化 、当我尝试停止程序以了解 正在发生的情况时、CCS 会提示 CPU 中没有符号。 问题可能是什么?  可能是电源错误吗?  

我始终调试代码而不使用实时模式。 我尝试调试启用它、但代码停止、我得到错误-1142 (请参阅下图)。这次、转换器以不必要的危险方式停止、我决定不尝试重复该错误。  

此致、  

卢卡斯 B.

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

    您好 Lucas、

    在此器件上、CPU1复位时、CPU2始终会复位。 因此、如果您没有看到 CPU2被复位、则可能是 CPU1也没有被复位、但出于某种原因跳转到 main。 您是否曾尝试在 CPU1和 CPU2的 BootROM 入口点设置断点以查看断点是否在那里暂停(而不是在 main 上)?

    此致、

    Vivek Singh

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

    您好、Vivek、  

    感谢您的回答。 最好确认、如果 CPU1复位、CPU2会复位。

    它会使程序 跳转到 main 的原因是什么?  

    否、我没有尝试在 BootROM 中设置断点、但当我仅使用 RAM 存储器时、所有变量似乎都被重置为其初始值(在声明变量时定义)。 使用闪存的问题是程序似乎消失了、所有变量开始更改其值、当我尝试停止代码时、CCS 会提示没有符号。  

    此致、

    卢卡斯 B.

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

    它只能被复位、甚至 CPU2也会被复位。 复位后、如果您未正确设置仿真启动、则器件将不会跳转到您的闪存代码。 它将保留在 BootROM 中、因此您会看到没有符号的消息。 请正确设置仿真启动、然后它应该跳转至您的闪存中的代码。 此外、在 WD 复位时、该器件上的所有 RAM 都会被清除、因此如果您从 RAM 运行代码并且发生 WD 复位、它将清除所有 RAM、因此在复位后不会出现有效代码。

    此致、

    Vivek Singh

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

    您好 Lucas、

    是否有关于此问题的进一步更新?

    此致、

    Vivek Singh