Hi,
I use XINTF Zone 7 to access external peripheral.
Settings:
1/2 SYSCLKOUT (75MHz)
WRBUFF = 3
L-A-T = 1-3-1
X2TIMING = 1
USEREADY=1, READYMODE=1
I do 16 consecutive writes to Zone 7 like below:
zone7buf[offset+0] = value0;
zone7buf[offset+2] = value1;
zone7buf[offset+4] = value2;
(...)
zone7buf[offset+30] = value15;
Unfortunately this values on peripheral side are more or less incorrect. Some of them are ok, some have previous value.
This not happens when I do single write to each location.
On logic analyzer when I perform consecutive 16 writes I see only 8 writes transactions with different (!?!) timings.
This not happens when I set write buffering to 0 (WRBUFF=0) and then consecutive 16 writes works fine.
Why is so?
It looks like CPU doesn't wait for finishing buffered writes and do next write which is lost.
Thanks in advance
Karol