MPC5748G EEE_ERR_IVOR_EXCEPTION

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

MPC5748G EEE_ERR_IVOR_EXCEPTION

跳至解决方案
1,703 次查看
skseofh
Contributor II

Hi, I'm using MPC5748G EEE module.

 

In SDK EEE example, there are codes that invalidate flash controller cache.

skseofh_0-1631514067307.png

If I not using these codes, is there any problem?

 

From what I've tested, it seems to trigger IVOR interrupt If I don't use the above codes.

skseofh_1-1631514507810.png

skseofh_2-1631514535295.png

Do I always have to invalidate the flash controller cache to use EEE?

And could you give me more details about IVOR interrupt?

 

0 项奖励
回复
1 解答
1,673 次查看
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,
the buffer is invalidated automatically by interlock write. However, as mentioned in the reference manual (https://www.nxp.com/webapp/Download?colCode=MPC5748GRM "an interlock write invalidates only the buffers associated with the system bus port on which the interlock write was issued". There are three ports on flash in case of MPC5748G. That means: if EEE code is executed on Z4A core, only buffer on PFLASH_1 port (this one is used for Z4A data bus) will be automatically invalidated. See Table 16-1 in the RM.
So, there should be no problem if you read EEE data only by Z4A core. If it is read also by other cores, it may lead to coherency issues.
It's not clear to me why IVOR1 is triggered. You can take a look at the core reference manual for more details:
https://www.nxp.com/webapp/Download?colCode=E200Z4RM&location=null
See Table 5-13. This can help to find more details about the source of problem. Core register MCSRR0 contains address of instruction which caused the error and MCSR contains the reason of this error.
Regards,
Lukas

在原帖中查看解决方案

0 项奖励
回复
5 回复数
1,674 次查看
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,
the buffer is invalidated automatically by interlock write. However, as mentioned in the reference manual (https://www.nxp.com/webapp/Download?colCode=MPC5748GRM "an interlock write invalidates only the buffers associated with the system bus port on which the interlock write was issued". There are three ports on flash in case of MPC5748G. That means: if EEE code is executed on Z4A core, only buffer on PFLASH_1 port (this one is used for Z4A data bus) will be automatically invalidated. See Table 16-1 in the RM.
So, there should be no problem if you read EEE data only by Z4A core. If it is read also by other cores, it may lead to coherency issues.
It's not clear to me why IVOR1 is triggered. You can take a look at the core reference manual for more details:
https://www.nxp.com/webapp/Download?colCode=E200Z4RM&location=null
See Table 5-13. This can help to find more details about the source of problem. Core register MCSRR0 contains address of instruction which caused the error and MCSR contains the reason of this error.
Regards,
Lukas

0 项奖励
回复
1,668 次查看
skseofh
Contributor II

Hi, thanks for the reply.

 

As you said, there are three ports on flash(MPC5748G), and each port has a read buffer.

1) Is it right that each core only can access each buffer associated with the system bus port?

   - for example, Z4a I bus only can access PFLASH_0 buffer.

                          Z4a D bus only can access PFLASH_1 buffer.

skseofh_0-1631664329024.png

 

2) In case of using EEE module only by Z2 core, is it right that I don't have to invalidate other flash controller cache(p0, p1)? (Because Z2 core only uses PFLASH_2.)

0 项奖励
回复
1,659 次查看
lukaszadrapa
NXP TechSupport
NXP TechSupport

1. Yes, that's correct.

2. If EEE runs exclusively on Z2 core only, you do not need to invalidate p0 and p1.

Regards,

Lukas

0 项奖励
回复
1,694 次查看
petervlna
NXP TechSupport
NXP TechSupport

Hello,

regarding IVOR1:

petervlna_0-1631531905351.png

 

Best regards,

Peter

0 项奖励
回复
1,690 次查看
skseofh
Contributor II

Thanks for reply!

 

I have one more question.

Do I HAVE TO invalidate flash controller cache to use EEE?

 

If I have to, why?

0 项奖励
回复