Hi all
Most of my DM6437 application runs from DDR, with all internal memory configured as cache. I want to be able to switch to running a certain part of my application (a DDR test) solely from L2 RAM. To do this, I disable all cache and HWI:
BCACHE_Size cacheSizes = {BCACHE_L1_0K,BCACHE_L1_0K,BCACHE_L2_0K};
BCACHE_setSize(&cacheSizes);
HWI_disable();
before copying my code directly to 0x00800000. I then do a forced jump:
(*((Void(*)(Void))0x00800000))();
which starts the test.
The test is a simple writing of a counter to all DDR addresses, reading these values back and comparing with the expected values. This works well, until I hit a patch of DDR that has the value 0x10801080 in stead of the counter value expected. The location of this 'bad' patch of DDR is not consistant. Also, I can see the expected counter values further along in DDR. This creates the impression that something else is still writing to L2 RAM despite HWI and cache being disabled. Does anyone have any ideas as to what this might be?
Regards
Leon de Wit