Some of ADuCM360's MMR doesn't change when written

I'm using a J-LINK debugger with my project. It seems that some of the memory mapped registers cannot be updated (with the "RW" property), while others can.Up to now these registers include those of USART, SPI and PWM. The two pictures below show the screen of the Keil uVision4 before and after the execution of a write instruction to the MMR of SPI0DIV (addressed at 0x4000400c). You can see the MMR should be changed from 0x00 to 0x3f, and infact it didn't.

Here's how to get to the pannel. After changing the setting in keil, did the memory contents still not update?

If not one more thing to try is to make sure that you're displaying the contents of a different memory region (for example at 0) and then after SPIDIV was written have a look at it in the memory. This should hopefully make sure that keil doesn't cache the contents.

I'm actually not sure what exactly those dlls and parameters passed to them do. Might be documented within keil or you could ask in the keil forums.

There's one thing that I've found out: when I tried to change the MMRs(with the 'RW' property as to the datasheet) in the memory window, most MMRs are changed, though not exactly to the value I have set, without the need of changing to another address and then back. Anyway, the MMRs for USART, SPI and PWM cannot be changed. They are always zero.

That's why I think something is wrong with the DLL setting, and thus the Keil cannot recognize which core it is.