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.

[参考译文] TMS320F280025C:在软件复位后可以运行"#39;t "

Guru**** 2416110 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1120312/tms320f280025c-can-t-run-after-a-sw-reset

器件型号:TMS320F280025C

您好、香榭丽舍

我的情况如下:

硬件:F280025C LP

步骤1:使用 CCS + XDS110刷写 MCU。 我不使用调试模式。

步骤2:卸下 XDS110而不卸下电源。 MCU 正常运行。

步骤3:在通过 UART 接收命令下、MCU 通过使用 API  SYSCTL_resetDevice -> MCU 停止来自行复位。 它似乎保持在复位状态。 直至循环通电。 不是随机的、而是100%。

如果我在步骤1中使用 serial_flash_programmer 实用程序来代替 CCS 和 JTAG、例如通过 UART 刷写 MCU、则在步骤3中不会看到问题。

您是否对什么是根本原因有任何了解?

此致、

Kien Nguyen

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

    Nguyen、

    SYSCTL_resetDevice 函数向看门狗寄存器写入错误的密钥以触发看门狗复位。 这应该将 XRSn 拉低大约512tc (OSCCLK)周期、然后拉高。

    首先要尝试的是在使用 CCS 进行编程时检查程序是否独立运行。 只有当您能够在没有 JTAG 连接的情况下运行您的应用程序时、您的应用程序才会从闪存成功运行。 如果这不起作用、则说明您的应用流程中存在问题。

    此致、

    曼诺伊

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

    Manoj、

    感谢您的回复。

    是的、我的程序在独立模式下正常运行。 刷写 MCU 并断开 XDS110连接后、MCU 仍可以运行、但  如果 我尝试执行前面提到的软件复位、则 MCU 会挂起。

    此致、

    Kien Nguyen

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

    Kien、

    您是否在软件复位时找到 CPU 挂起的位置?

    此致、

    曼诺伊