\r
; Call the interrupt handler\r
PUSH {r0-r3, lr}\r
- BL vApplicationIRQHandler\r
+ LDR r1, =vApplicationIRQHandler\r
+ BLX r1\r
POP {r0-r3, lr}\r
ADD sp, sp, r2\r
\r
; vTaskSwitchContext() if vTaskSwitchContext() uses LDRD or STRD\r
; instructions, or 8 byte aligned stack allocated data. LR does not need\r
; saving as a new LR will be loaded by portRESTORE_CONTEXT anyway.\r
- BL vTaskSwitchContext\r
+ LDR r0, =vTaskSwitchContext\r
+ BLX r0\r
\r
; Restore the context of, and branch to, the task selected to execute next.\r
portRESTORE_CONTEXT\r