mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-20 05:21:59 -04:00
Cortex-A5 IAR port:
- Removed SAMA5 specifics from the port layer, and instead call a generic ISR callback as per Cortex-A9 ports.
This commit is contained in:
parent
b2e739495a
commit
47f895cb34
|
@ -58,6 +58,7 @@
|
||||||
EXTERN vTaskSwitchContext
|
EXTERN vTaskSwitchContext
|
||||||
EXTERN ulPortYieldRequired
|
EXTERN ulPortYieldRequired
|
||||||
EXTERN ulPortInterruptNesting
|
EXTERN ulPortInterruptNesting
|
||||||
|
EXTERN vApplicationIRQHandler
|
||||||
|
|
||||||
PUBLIC FreeRTOS_SWI_Handler
|
PUBLIC FreeRTOS_SWI_Handler
|
||||||
PUBLIC FreeRTOS_IRQ_Handler
|
PUBLIC FreeRTOS_IRQ_Handler
|
||||||
|
@ -126,15 +127,13 @@ FreeRTOS_IRQ_Handler
|
||||||
AND r2, r2, #4
|
AND r2, r2, #4
|
||||||
SUB sp, sp, r2
|
SUB sp, sp, r2
|
||||||
|
|
||||||
; Obtain the address of the interrupt handler, then call it.
|
; Obtain the address of the interrupt handler, then pass it into the ISR
|
||||||
|
; callback.
|
||||||
PUSH {r0-r3, lr}
|
PUSH {r0-r3, lr}
|
||||||
LDR r1, =configINTERRUPT_VECTOR_ADDRESS
|
LDR r1, =configINTERRUPT_VECTOR_ADDRESS
|
||||||
LDR r0, [r1]
|
LDR r0, [r1]
|
||||||
STR r1, [r1] ; [SAMA5] Write to IVR in case protect mode is being used.
|
LDR r1, =vApplicationIRQHandler
|
||||||
DSB
|
BLX r1
|
||||||
ISB
|
|
||||||
CPSIE i
|
|
||||||
BLX r0
|
|
||||||
POP {r0-r3, lr}
|
POP {r0-r3, lr}
|
||||||
ADD sp, sp, r2
|
ADD sp, sp, r2
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue