Can an ARM interrupt occur in the middle of an instruction?

This question will be short and sweet.

I know that an instruction can occur between instructions, but can an interrupt be executed during an instruction? Can a load interrupt be interrupted by several instructions before loading all values ​​into registers?

mov r0, r1
                 < interrupt can happen here
ldm r0, {r1-r4}  < can an interrupt happen **during** a load multiple instruction?
+5
source share
1 answer

Many load instructions are clearly not atomic. See Section A3.5.3 of the ARM V7C Architecture Reference Guide.

LDM, LDC, LDC2, LDRD, STM, STC, STC2, STRD, PUSH, POP, RFE, SRS, VLDM, VLDR, VSTM VSTR - . 32- . , .

, , LDM/STM ( ). LDM STM , . ARMv7-A , . , , . , , . , / .

v7-M, LDM STM (. B1.5.10 ARMv7-M). , / , . ARM :

ARMv7-M , LDM STM, . LDM STM ( ICI ), .

, , LDM STM , .

+6

All Articles