I am using a STM32H753. I have an ISR that adds up some values in a 32 bit RAM location. The code adds the values and stores in a volatile RAM location. The STR instruction executes but the value is never written to RAM. Attached debugger shows state immediately after the STR instruction wrote to address 0x2400ad7c. Is there something wrong with this code?
Disable cache and try again.
I disabled data cache and that solved the problem. So data cache on this processor cannot be used?
No, it means, you should not expect data to appear in the dump window directly after write.
The way you "measure" things is wrong.
BTW: Remember to mark the question as "answered"! (In case it is.)
Thanks.
Huh. Is there a way to get the debugger to flush caches at breakpoints/etc, or is retaining the same sort of memory coherence as it would under non-debug conditions?
As for Lauterbach: yes. For others? Check back with the respective manufacture ;-)