Hi all!
I'm stuggling with setting of MSC1-Register on Intel StrongARM CPU. Most times it works just fine to set the desired value, but sometimes I get "data abort" oder "undefined instruction" exception.
Are there any considerations to take care of when setting MSC1-register? Eg. regarding caches, mmu, flush of pipes, ... ?
This VxWorks-testcase reproduces the problem after about 10..300 loops:
#define SA1110_MEMCTRL_BASE 0xA0000000 #define SA1110_MEMCTRL_MSC1 (SA1110_MEMCTRL_BASE + 0x14) #define SA1110_MEMCTRL_MSC1_VAL 0xf08591c4 void TestMem(void) { while (1) { *((volatile UINT32*)(SA1110_MEMCTRL_MSC1)) = SA1110_MEMCTRL_MSC1_VAL; taskDelay(1); } }
ANY help is very much appreciated!
Thanks a lot, Thomas