I am finding a small section of SDRAM (48 bytes) is getting corrupted. When execution reaches this location an exception occurs.
I can view this memory in the Memory Browser and observe that it changes, but cannot locate any specific code that writes to it. (It's in program memory, so there shouldn't be) Single stepping through code, I can observe the change, but it is not consistent about when it changes. I set a "Data Access Count" breakpoint which shows 0 accesses to that address. I note that the corrupted RAM always changes to the same new values.
CPU = C6746
CPU CLK = 312 MHZ
SDRAM clock = 156 MHz
BIOS 4.21.01.09
I have recalculated the timing parameters for the SDTIMR registers (part # MT48LC16M16A2-6A)
SDCR = 0x00004721
SDRCR = 0x000004C2 64 msec refresh
SDTIMR = 0x4A216910
SDRETR = 0x0000000A
I also tied changing the SDRAM clock to 104 MHz.
I have set the priority of the thread that is running when these changes happen to 15.
Small changes to the code move this object to another area, and the corruption does not happen.
I am most baffled as to why the Data Access Count breakpoint does not show any access to this address, yet the memory is changed?
Any thoughts would be appreciated.
Mary