mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-09-02 04:13:54 -04:00
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:
parent
9a8da3ff38
commit
d12ec14160
9 changed files with 27 additions and 10 deletions
|
@ -130,7 +130,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
|
||||
|
||||
|
@ -184,7 +185,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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue