S32K14x RAM_L (0x1FFF8000 - 0x1FFFFFFF) read dataflash issue with enable prefetch

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

S32K14x RAM_L (0x1FFF8000 - 0x1FFFFFFF) read dataflash issue with enable prefetch

Jump to solution
1,033 Views
jacky_Tan
NXP Employee
NXP Employee
  1. read data from 0x1000_0000. then read value is 0xFFFFFFFF

 2. program 0x01020304 at 0x1000_0000

 3. read data from 0x1000_0000. Then, read value is still 0xFFFFFFFF as same with the value at step1.

 4. read data from 0x1000_0008. Then, read data from 0x1000_0000, again. Read value got 0x01020304 as programmed value.

With the buffer enabled, you can reprogram DFlash at location X, then read another location Y and only after that read X, and the data at X should be correct.

or:

((*(volatile uint32*)(MSCM_BASE+FLS_OCMDR1_OFFSET))|= (FLS_MSCM_OCMDR1_OCMC1_U32));
((*(volatile uint32*)(MSCM_BASE+FLS_OCMDR1_OFFSET))&= (~(FLS_MSCM_OCMDR1_OCMC1_U32)));

 prefetch buffer have to be disabled when modifying the contents of flash.  This can be done by setting MSCM OCMDR both of bit #4 and #5 to '1'. read Dataflash will correct.

 

 

0 Kudos
1 Solution
987 Views
jacky_Tan
NXP Employee
NXP Employee

I give some explain if customer meet this issue when read S32K14x  Dataflash. thanks.

View solution in original post

0 Kudos
3 Replies
988 Views
jacky_Tan
NXP Employee
NXP Employee

I give some explain if customer meet this issue when read S32K14x  Dataflash. thanks.

0 Kudos
1,001 Views
davidtosenovjan
NXP TechSupport
NXP TechSupport

I see.

Could you clarify your question?

0 Kudos
889 Views
jacky_Tan
NXP Employee
NXP Employee

 

 

MSCM->OCMDR[0u] |= MSCM_OCMDR_OCM1(0x3u);
MSCM->OCMDR[1u] |= MSCM_OCMDR_OCM1(0x3u);

https://community.nxp.com/t5/S32K1-KEA-Internal-Community/S32K144-RAM-L-0x1FFF8000-0x1FFFFFFF-read-d...

0 Kudos