您好!
这是有关 ESM3.12和互连自检的问题。
我们现在在评估板上测试 TMS570 MCU 的 ESM 功能。
我们可以使用根据 SPNU563A 的第4.3.4节创建的测试代码来成功执行互连自检。
对于已选中的 ESM3.12通知、互连自检需要失败。
请告诉我如何通过互连自检?
谢谢、
好的
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.
您好!
这是有关 ESM3.12和互连自检的问题。
我们现在在评估板上测试 TMS570 MCU 的 ESM 功能。
我们可以使用根据 SPNU563A 的第4.3.4节创建的测试代码来成功执行互连自检。
对于已选中的 ESM3.12通知、互连自检需要失败。
请告诉我如何通过互连自检?
谢谢、
好的
您好、Charles-San、
感谢你的答复。
互连自检成功、我们希望验证 ESM3.12的通知。
我的代码序列如下(使用 Hercules SafeTI 诊断库 V.2.4.0);
1) sl_SelfTest_MemoryInterconnect (MEMINTRCNT_seltest)
2) 2) CPU 复位
3) sl_SelfTest_Status_MemIntertSelftest()
ESM 和 SDC 的每个状态寄存器都没有错误。
μ・ESM
ESMSR1:0x00000000
ESMSR2:0x00000000
ESMSR3:0x00000000
ESMSR4:0x00000000
ESMSR7:0x00000000
・SDC
SDC_STATUS:0x0A000000 - NT_OK (3)和 PT_OK (1)
请告诉我生成 ESM3.12的技术吗?
请提供建议。
谢谢、
好的
Kobori-San、
我认为 ESM3.12只有在自检失败时才有效。 由于自检未失败、ESM 模块没有发出错误信号。 您应该读取 PT_OK 和 NT_OK 位。 如果它们被置位、这意味着自检是在没有错误的情况下完成的。
4.3.4互连自检
CPU 互连子系统可进行自检。 在自检时、自检逻辑将应用测试
每个主器件和从器件接口的激励源。 如果检测到错误、则对应的错误类型
接口已记录。 如果自检未成功完成、ESM 组3将发出一个错误。
注意:应用程序只能在没有总线时启动 CPU 互连子系统自检
来自任何主器件的事务、包括 CPU 内核。 在自检中、互连
无法处理任何请求。 总线主控请求可能丢失或损坏。 建议您使用
在任何主器件初始化之前、自检仅作为器件初始化的一部分进行
由 CPU 设置。
要启动自检、适用的必须遵循以下顺序:
1.将0xA 密钥写入 SCM 模块中 SCMCNTRL 寄存器的 DTC_ERROR_RESET 位。
2. CPU 执行 WFI 指令将自身置于空闲状态。 自检开始由的空闲状态进行控制
CPU。
3.当同时满足步骤1和2时,将开始自检。 在进行自检时、CPU 内核是
强制复位。 请注意、复位仅保留到 CPU 内核、而系统的其余部分则不保留。
完成自检后、DTC 错误_RESET 位会自动恢复为0x5、如所示
复位值。
5.自检完成后,对16 HCLK 的 CPU 互连子系统应用复位
周期。 在此期间、CPU 也保持在复位状态。
6.互连和 CPU 从复位中退出后,正常的代码执行就可以开始。 CPU
可以通过读取 NT_OK 位和 SDC_STATUS 的 PT_OK 位来检查自检状态
寄存器。 这两个位指示负测试和正自检序列是否通过。 在中
此外、如果自检失败、错误被置为 ESM 模块。