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.

[参考译文] TMS320F28388D:HWBIST 微运行在 SCI RX INT 触发后卡滞

Guru**** 2538950 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1553260/tms320f28388d-hwbist-micro-run-stuck-after-sci-rx-int-trigger

器件型号:TMS320F28388D
主题:C2000WARE 中讨论的其他器件

工具/软件:

大家好、我现在将 HWBIST 微运行与我们系统的 CPU1 集成、我将诊断库与版本 C2000Ware_5_02_00_00 一起使用。

开始时、系统正在工作(TimerISR 中的至少工作计数看起来正常)、但触发 SCI FIFO RX INT 后、系统在 HWBIST 微运行期间看起来崩溃。 下图是系统崩溃时的情况。

我已经检查了 CPU1 的所有 LSRAM、从 RAMLS0 到 RAMLS5 的存储器和 RAMLS7 看起来像下图所示的损坏(RAMLS6 用于 CLA 程序)、它们都是具有相同模式的数据 (
0000 0000 0000 0000 0000 0000 0000 0000 081B 0000 0000 001F E946 003F 0001 0001)

您 对此有什么想法或暗示吗?

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

    我还在  SCI FIFO RX ISR 中添加了调试变量、ISR 实际被触发并完成。

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

    如果您禁用 HWBIST、问题是否会消失(例如,其自身的 SCI FIFO RX 中断不会导致任何问题)? 另一种方法是什么(即禁用 SCI FIFO RX 并保持 HWBIST)?

    SCI FIFO RX ISR 是否在 HWBIST 运行失败之前运行并完成? 或者在 HWBIST 运行期间是否发生 SCI 中断?

    Whitney

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

    我执行了以下一些测试:
    1.禁用 HWBIST、并且可以成功执行和完成 SCI FIFO RX。

    禁用 SCI FIFO RX INT 并保留 HWBIST、然后 HWBIST 运行良好、它没有卡在微运行中。

    3.启用 SCI FIFO RX INT 并添加一个变量以控制是否执行“STL_HWBIST_runMicro"。“。 在开始时、  不会执行“STL_HWBIST_runMicro",“,我、我发送 SCI 数据以触发一次 SCI FIFO RX INT(ISR 运行并完成)、并更改变量以执行 “STL_HWBIST_runMicro",“,然后、然后 发生“STL_HWBIST_runMicro"卡“卡滞。

    看起来像 SCI FIFO RX INT、一旦触发、然后执行 “STL_HWBIST_runMicro",“,就、就会发生卡滞情况。

    这是 SCI FIFO RX INT 的 ISR 处理程序。

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

    感谢您提供更多信息。 您能说出它被卡住了吗? 器件是正在复位还是卡在某个环路中?  您共享的屏幕截图中的 0x0003FE946 值恰好是引导 ROM 非法指令处理程序的地址。

    STL_HWBIST_runMicro 无法返回的最常见原因是位于地址 0 的上下文恢复例程存在问题。 事实上、您能够在某些时候成功调用 STL_HWBIST_runMicro ()、这使我认为设置(将“hwbist"部分“部分放在 cmd 文件中、执行 memcpy 等...) 可能还可以、但在某个时候可能会有什么东西覆盖它?

    Whitney

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

    是的、您是正确的、我发现有一个与 SCI RX ISR 相关的错误、它将覆盖 0x00000000 上的数据、我修复了这个错误并正常工作。 真的很感谢这条线索!!!