Add configCLEAR_TICK_INTERRUPT() to the IAR and RVDS Cortex-A9 ports.

Replace LDMFD with POP instructions in IAR and RVDS Cortex-A9 ports.
Replace branch to address with indirect branch and exchange to address in register in the IAR and RVDS Cortex-A9 ports.
This commit is contained in:
Richard Barry 2014-02-04 17:02:52 +00:00
parent 9a8da3ff38
commit d12ec14160
9 changed files with 27 additions and 10 deletions

View file

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