e6500 on T4240 lbz loads wrong data

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

e6500 on T4240 lbz loads wrong data

587 Views
matevzlangus
Contributor III

Hi,

I have a strange problem. T4240 e6500 loads wrong data using following code:

ld   r9, 376(r31)

lbz   r9,0(r9)

I am stepping the code segment in CW as many times and the problem stays there.

First line loads address pointing to DDR or CPC3 SRAM (issue was seen with both). So far so good, r9 gets correct value.

lbz as the next one loads 0x00 instead of 0x01.

In CW using Memory view I can se 0x01 at the location. I can repeat as several times and lbz will always read 0x00.

Dcache is disabled over that area and CW does not show this address to be present in Dcache.

If I modify the value in Memory window of CW, e6500 will then read correct value (modified) one.

The value was written to this location by another e6500. The region is uncached also on that one.

Any ideas in what circumstances this could happen?

regards,

  Matevz

Labels (1)
0 Kudos
1 Reply

436 Views
alexander_yakov
NXP Employee
NXP Employee

Please let us know how this memory location is configured in MMU. The described behavior may be a result of incorrect MMU settings.


Have a great day,
Alexander
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos