We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
(1)If CPU1 is an in-order execution CPU, is it necessary to add DMB before ldr r0, a ? I mean if there's no DMB, r0 = 0x1 in CPU1 still should be guaranteed, right?(2)So adding DMB before ldr r0, a is because CPU1 is an out-of-order execution CPU?
global int a = 0; global int b = 0; CPU0 : str #0x1, a DMB str #0x1, b CPU1 : WAIT(b==1) ; wait on flag DMB ldr r0, a