This repository has been archived on 2023-11-05. You can view files and clone it, but cannot push or open issues or pull requests.
FreeRTOS-Kernel/FreeRTOS/Demo/NEC_V850ES_IAR/serial/serialISR.s85

48 lines
1.2 KiB
Plaintext
Raw Normal View History

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