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.

[参考译文] TMS320F280039C:如何在 hwbist 测试期间生成中断、以测试 CSTCGCR3和 CSTCCRD 及寄存器

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1437900/tms320f280039c-how-do-i-generate-an-interrupt-during-hwbist-testing-to-test-cstcgcr3-and-cstccrd-and-registers

器件型号:TMS320F280039C
Thread 中讨论的其他器件:C2000WARE

工具与软件:

文件路径:C:\ti\c2000\C2000Ware_5_01_00_00\libraries\diagnostic\f28003x\source\stl_hwbist_s.asm

我需要帮助,请尽快回复我,谢谢!!!!!

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

    我认为对权变措施/代码有一些误解。  禁用计时器 ISR、因为 HWBIST IP 将运行该逻辑、并可能导致触发计时器中断、我们要忽略该中断。  因此、将在 HWBIST 期间测试该逻辑。

    此致!

    Matthew

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

    我的问题可能引起了一些误解。 我想问、我是否可以创建一个中断来测试图中以红色突出显示的两个寄存器、以便查看在 HWBIST 操作期间如何处理它们?

    为什么 Timer1和 Timer2需要特殊处理? 是否有具体原因?

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

    我认为相关的两个寄存器是 HWBIST 本身的一部分、用于在 HWBIST 运行时测试计时器的功能。  我不知道这里的确切细节、但 HWBIST 通常是更改受测区域上各种触发器的逻辑状态、在这种情况下、如果未禁用 ISR、HWBIST 练习将导致触发中断、这既不希望中断 HWBIST 流程、也不是真正的计时器中断、因为我们处于测试条件下。

    此致!

    Matthew

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

    在 CPU 测试期间、我是否可以创建中断(不包括计时器中断)来查看 HWBIST 如何处理中断?

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

    Matthew 您好、我可以通过任何方法创建中断(不包括计时器中断)、来查看 HWBIST 在 CPU 测试期间如何处理中断?

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

    您可以在器件 勘误表文档中阅读有关采用"CPU 计时器"权变措施的原因的更多信息。

    如果您尝试在 HWBIST 运行时触发中断以观察其记录和重新发出中断的方式、我认为您需要使用像 PWM 中断这样足够短的周期、您可以保证它会在 HWBIST 运行时发生。

    惠特尼

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

    大家好、我还有一些问题要问。

    1、在哪里可以找到"勘误表文档"? 有链接吗? 如果有、请将其发送给我。

    2、如何创建一个工程来同时运行 HWBIST 和中断、以便在 HWBIST 测试期间触发中断?

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

    1.我在上一篇文章中链接到它,但我会在这里再次分享: https://www.ti.com/lit/pdf/sprz496

    2.可以使用 C2000Ware 示例作为项目的起点。 您是否已查看 f28003x_test_application 项目以了解如何使用 HWBIST 代码?

    \libraries\diagnostic\f28003x\examples\test_application

    惠特尼

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

    https://www.ti.com/lit/pdf/sprz496文档中、我找到了"运行正常 HWBIST 序列:保存寄存器、启用中断记录、运行 HWBIST、恢复寄存器、结束中断记录"序列。 此序列似乎与"C:\ti\c2000\C2000Ware_5_01_00_00\libraries\diagnostic\f28003x\source\stl_hwbist_s.asm"中的序列不一致。 它似乎缺少"保存和禁用的 CPU 计时器中断"和"上下文保存例程"。

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

    是否有人可以帮助我解决此问题?

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

    stl_hwbist_s.asm 中的代码完成下面勘误表中粗体显示的步骤、我不确定与 "已保存和已禁用的 CPU 计时器中断"和"上下文保存例程"的关系。 您在上面的帖子中提到的。  第3步和第4步是为了满足勘误表而添加的内容。

    1.清除定时器中断使能位 TCR。 针对 CPU 计时器1和2进行绑定。

    2.运行正常的 HWBIST 序列:保存寄存器、启用中断记录、运行 HWBIST、 恢复寄存器、结束中断记录。

    3.检查 CPU 计时器的 TCR 是否正确。 已设置 TIF 标志。 如果标志被置位、则设置相应的 CPU IFR 位来触发中断。

    4.恢复 TCR.TIE。

    此致!

    Matthew

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

    在第2步中、"enable interrupt logging"和"run HWBIST"之间应该有一个"context save routine"。 文档中似乎缺少此步骤。

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

    我认为第2步中的"保存寄存器"和"恢复寄存器"正在获得您所需的上下文保存/恢复。

    此致!

    Matthew