X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=FreeRTOS%2FSource%2Fportable%2FIAR%2FARM_CA5_No_GIC%2FportASM.s;h=9fc3576720a3f857f33092972588cfb266a8b565;hb=f60b252c8f21e9198438dd0b7c7623f269aa6f1a;hp=0cb66e9d881366007c60edae8d51cdfb81311185;hpb=a0c885cd8b40e413c04232b56cea3b388f4c3283;p=freertos diff --git a/FreeRTOS/Source/portable/IAR/ARM_CA5_No_GIC/portASM.s b/FreeRTOS/Source/portable/IAR/ARM_CA5_No_GIC/portASM.s index 0cb66e9d8..9fc357672 100644 --- a/FreeRTOS/Source/portable/IAR/ARM_CA5_No_GIC/portASM.s +++ b/FreeRTOS/Source/portable/IAR/ARM_CA5_No_GIC/portASM.s @@ -1,5 +1,5 @@ ;/* -; FreeRTOS V8.1.1 - Copyright (C) 2014 Real Time Engineers Ltd. +; FreeRTOS V9.0.0rc1 - Copyright (C) 2016 Real Time Engineers Ltd. ; All rights reserved ; ; @@ -132,26 +132,24 @@ FreeRTOS_IRQ_Handler AND r2, r2, #4 SUB sp, sp, r2 - ; Obtain the address of the interrupt handler, then pass it into the ISR - ; callback. PUSH {r0-r3, lr} - LDR r1, =configINTERRUPT_VECTOR_ADDRESS - LDR r0, [r1] - LDR r1, =vApplicationIRQHandler - BLX r1 + + ; Call the port part specific handler. + LDR r0, =vApplicationIRQHandler + BLX r0 POP {r0-r3, lr} ADD sp, sp, r2 CPSID i - ; Write to the EOI register + ; Write to the EOI register. LDR r4, =configEOI_ADDRESS STR r0, [r4] ; Restore the old nesting count STR r1, [r3] - ; A context switch is never performed if the nesting count is not 0 + ; A context switch is never performed if the nesting count is not 0. CMP r1, #0 BNE exit_without_switch @@ -198,7 +196,6 @@ switch_before_exit ; Restore the context of, and branch to, the task selected to execute next. portRESTORE_CONTEXT - END