MPC5748G EEE_ERR_IVOR_EXCEPTION

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MPC5748G EEE_ERR_IVOR_EXCEPTION

Jump to solution
1,389 Views
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 Kudos
1 Solution
1,359 Views
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

View solution in original post

0 Kudos
5 Replies
1,360 Views
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 Kudos
1,354 Views
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 Kudos
1,345 Views
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 Kudos
1,380 Views
petervlna
NXP TechSupport
NXP TechSupport

Hello,

regarding IVOR1:

petervlna_0-1631531905351.png

 

Best regards,

Peter

0 Kudos
1,376 Views
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 Kudos