printf("Addr %08x\n",*((unsigned int *)164));*((unsigned int *)164) = 12;asm volatile ("dmb");printf("Addr2 %08x\n",*((unsigned int *)164));printf("Addr3 %08x\n",*((unsigned int *)164));
Addr 0008080dAddr2 0000000cAddr3 0000000c
Addr 0008080dAddr2 0000000cAddr3 0008080d
Addr 0008080d Addr2 0008080d Addr3 0008080d
You may use volatile keyword or compiler optimization level can be changed to O0
View all questions in Arm Development Studio forum