I have a question for the ISB instruction usage in GCC ARM_CM4F port [FreeRTOS v9.0.0].
It is used inside xPortPendSVHandler() after:
" mrs r0, psp \n" " isb
" msr psp, r0 \n" " isb
In constrast, ISB is not used in the GCC ARM_CM4_MPU port when PSP is loaded/stored.
Is there any reason for why this is required in one case and not to the other? I just need to verify that i am not missing something.
I am also curious about the ISB in the fist scenario, after “mrs r0, psp”. Why it is needed?