hi,
I've enabled the ECC on C6678.
now, i try to check for some read/ write errors.
basically, i'm reading/ writing a byte from/ to a DDR3 addresses which should cause an error interrupt according to the DDR3 user manual.
"A write access with byte count that is not a multiple of 64-bit quanta, or with a non-64-bit-aligned address performed within the address range protected by ECC, will result in a write ECC error interrupt."
the reads/ writes is done the following way:
write loop:
write a byte to the a DDR3 address.
read Interrupt Raw Status Register and count read/ write errors (separately).
clear Interrupt Status Register.
read loop:
read a byte to the a DDR3 address.
read Interrupt Raw Status Register and count read/ write errors (separately).
clear Interrupt Status Register.
i have some questions regarding the result i get:
1. I was expecting the number of write errors to be equal to the number of iterations of the for loop, but it was equal to 0.
2. I was expecting the number of read errors to be equal to the number of iterations of the for loop, but it was less than it.
3. the most disturbing thing is - the data some of the data i see at the written addresses is different from what i wrote.
so, is that a normal behavior when enabling ECC or am i missing something?
thanks in advance,
shay.