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.

[参考译文] TMS570LS3137:TMS570LS3137 CPU RAM 测试

Guru**** 2589280 points
Other Parts Discussed in Thread: HALCOGEN, TMS570LS3137

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/819215/tms570ls3137-tms570ls3137-cpu-ram-test

器件型号:TMS570LS3137
主题中讨论的其他器件: HALCOGEN

您好!

我正在尝试在基于 TMS570LS3137的硬件的 HALCOGEN 生成的启动代码中实现超时。 在 后 STC()的 while 循环下面,我指的是:

PbistRun (0x08300020U、/* ESRAM 单端口 PBIST *
(uint32) PBIST_March13N_SP);

/*等待 PBIST 完成 CPU RAM */
/*SAFETYMCUSW 28 D MR:NA "硬件状态位读取检查"*/
while (pbistIsTestCompled()!= true)

}/*等待*/

在 CPU RAM 测试之前、我初始化了 RTI 模块、并尝试读取 RTI 寄存器值以实现超时、但执行会卡在超时计算中。 读取 RTI 寄存器总是读取相同的值、但我可以看到 RTI 寄存器内容按预期递增。 您能帮我理解这一点吗?

在测试 CPU RAM 时、复制表、全局变量和构造函数的初始化未发生、我正在使用 MIBSPI RAM 来存储 RTI 寄存器值。

谢谢、

Kalyan

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

    您好 Kalyan、

    向上计数器实现为影子寄存器。 在没有先读取 RTCIFRCx 的情况下读取 RTCUCx 将返回始终相同的值。 RTCUx 将只在读取 RTIFRCx 时更新。

    正确的读取顺序应为:

    必须首先读取自由运行计数器(RTIFRCx)。 这个优先级将确保在 CPU 读取 RTIFRCx 的周期内、递增计数器的值被存储在其计数器寄存器(RTCUx)中。 第二次读取必须访问递增计数器寄存器(RTCIUCx)、此寄存器保存的值与读取自由运行计数器寄存器(RTIFRCx)时已过的 RTICLK 周期数相对应。

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

    您好、Wang、

    感谢您的回答。 如果有任何问题、我会尝试该建议并返回。

    谢谢、

    Kalyan