mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-25 07:52:12 -04:00
48 lines
1.2 KiB
Plaintext
48 lines
1.2 KiB
Plaintext
RSEG ICODE:CODE
|
|
|
|
EXTERN vUARTRxISRHandler
|
|
EXTERN vUARTTxISRHandler
|
|
|
|
PUBLIC vUARTRxISRWrapper
|
|
PUBLIC vUARTTxISRWrapper
|
|
|
|
; Wrappers for the serial port interrupt service routines. These can cause a
|
|
; context switch so requires an assembly wrapper.
|
|
|
|
; Defines the portSAVE_CONTEXT and portRESTORE_CONTEXT macros.
|
|
#include "ISR_Support.h"
|
|
|
|
vUARTRxISRWrapper:
|
|
|
|
portSAVE_CONTEXT ; Save the context of the current task.
|
|
|
|
jarl vUARTRxISRHandler, lp ; Call the ISR routine.
|
|
|
|
portRESTORE_CONTEXT ; Restore the context of the current task -
|
|
; which may be different to the task that
|
|
; was interrupted.
|
|
|
|
vUARTTxISRWrapper:
|
|
|
|
portSAVE_CONTEXT ; Save the context of the current task.
|
|
|
|
jarl vUARTTxISRHandler, lp ; Call the ISR routine.
|
|
|
|
portRESTORE_CONTEXT ; Restore the context of the current task -
|
|
; which may be different to the task that
|
|
; was interrupted.
|
|
|
|
|
|
COMMON INTVEC:CODE:ROOT(2)
|
|
ORG 2c0H
|
|
`??vUARTRxISRWrapper??INTVEC 2c0`:
|
|
JR vUARTRxISRWrapper
|
|
|
|
COMMON INTVEC:CODE:ROOT(2)
|
|
ORG 2d0H
|
|
`??vUARTTxISRWrapper??INTVEC 2d0`:
|
|
JR vUARTTxISRWrapper
|
|
|
|
END
|
|
|