LDR r0, [r2]\r
\r
/* Ensure bit 2 of the stack pointer is clear. r2 holds the bit 2 value for\r
- future use. */\r
+ future use. _RB_ Does this ever actually need to be done provided the start\r
+ of the stack is 8-byte aligned? */\r
MOV r2, sp\r
AND r2, r2, #4\r
SUB sp, sp, r2\r
\r
- /* Call the interrupt handler. */\r
- PUSH {r0-r3, lr}\r
+ /* Call the interrupt handler. r4 pushed to maintain alignment. */\r
+ PUSH {r0-r4, lr}\r
LDR r1, vApplicationIRQHandlerConst\r
BLX r1\r
- POP {r0-r3, lr}\r
+ POP {r0-r4, lr}\r
ADD sp, sp, r2\r
\r
CPSID i\r