请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:RM57L843 主题中讨论的其他器件:LAUNCHXL2-RM57L、 HALCOGEN
一些背景信息和问题详细信息:
- 硬件平台:LAUNCHXL2-RM57L
- HALCoGen:4.06.01。
- 问题:每次处理器完成执行__TI_auto_init()时,寄存器 ESMSR2都会更改为0x8。 这个问题可以在我的硬件平台上完全重现。
- 已检查此主题:
。 但这里的情况不同:我根本不使用 EMIF。 - 在 CCS 调试配置中、我选择了 ECC 生成。
一些测试结果:
- 我使用了 HALCoGen 生成的启动代码、其中调用了_memInit_()。
- 我在启用或未启用 MPU 的情况下进行了测试。 在这两种情况下都会出现问题。 因此它不应是 MPU 问题。
- 我在 "Memory"视图中检查了 SRAM 的一些地址、它们的值全为零。 此外、 L2RAMW 中的 RAMERRSTATUS 值为0 (通过寄存器视图)。 我想 SRAM 运行良好。
- 我尝试启用 PMU 及其事件计数器来对这3个事件进行计数:
- 事件参考0x6f -所有致命事件
- 事件参考0x70 -所有可纠正的总线故障
- 事件参考0x71 -所有致命总线故障
- 在__TI_auto_init()之后发现这3个计数器的值分别为1/2/1。
- 有时我让 CPU 自由运行一段时间(主程序执行这些操作: 使用 GPIO 调节开/关 LED、读取 RTI 自由运行计数器的值以及读取 PMU 事件计数器)、我发现3个计数器值都递增、在一次测试中分别更改为3/5/3。
问题:
- 这个问题是如何发生的? 以及如何解决?
- 我想、PMU 事件计数器计数的致命事件甚至可纠正事件的概率有点过高。 在正常情况下、所有这些是否都为0?