您好!
当 PRU-ICSS 的 RAM 中发生 ECC 事件时、我将尝试激活事件生成。 根据我基于 AM335x TRM 的理解、这可以通过 PRU 的 CFG 寄存器进行配置、更具体地说是通过 ISRP、ISP、IESP 和 IECP 寄存器进行配置。
我尝试了以下代码:
/* enable all ECC error events */ PRU_CFG.IESP = 0x000FFFFF; /* read back IESP register */ uint32_t iesp = PRU_CFG.IESP; // I read back 0x00000000 /* test enabling - fake event */ PRU_CFG.ISRP = 0x000FFFFF; /* read back raw event */ uint32_t isrp = PRU_CFG.ISRP; // I read back 0x000FFFFF /* read back ecc error event */ uint32_t isp = PRU_CFG.ISP; // I read back 0x00000000
遗憾的是、配置看起来非常简单、但写入 IESP 似乎没有任何作用。 因此我进行了双校验、该寄存器(用于我的代码)位于地址0x0002601C 处、根据我可以访问的信息看起来很好。
可以有人帮助我解决这个问题吗? 我猜 ECC 错误事件在 AM263x 上的行为与在 AM335x 上的行为不同 、或者寄存器偏移在 AM335x 和 AM263x 之间发生变化。
谢谢大家、此致
Nicolas