;******************** (C) COPYRIGHT 2006 STMicroelectronics ******************** ;* File Name : 75x_vect.c ;* Author : MCD Application Team ;* Date First Issued : 03/10/2006 ;* Description : This file used to initialize the exception and IRQ ;* vectors, and to enter/return to/from exceptions handlers. ;******************************************************************************* ; History: ; 07/17/2006 : V1.0 ; 03/10/2006 : V0.1 ;******************************************************************************* ;* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS ;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. ;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, ;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE ;* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING ;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. ;******************************************************************************* #include "FreeRTOSConfig.h" #include "ISR_Support.h" PROGRAM ?RESET SECTION .intvec:CODE(2) CODE32 EIC_base_addr EQU 0xFFFFF800 ; EIC base address CICR_off_addr EQU 0x04 ; Current Interrupt Channel Register IVR_off_addr EQU 0x18 ; Interrupt Vector Register IPR_off_addr EQU 0x40 ; Interrupt Pending Register ;******************************************************************************* ; Import the __program_start address from 75x_init.s ;******************************************************************************* IMPORT __iar_program_start ;******************************************************************************* ; Import exception handlers ;******************************************************************************* IMPORT Undefined_Handler IMPORT SWI_Handler IMPORT Prefetch_Handler IMPORT Abort_Handler IMPORT FIQ_Handler ;******************************************************************************* ; Import IRQ handlers from 75x_it.c ;******************************************************************************* IMPORT WAKUP_IRQHandler IMPORT TIM2_OC2_IRQHandler IMPORT TIM2_OC1_IRQHandler IMPORT TIM2_IC12_IRQHandler IMPORT TIM2_UP_IRQHandler IMPORT TIM1_OC2_IRQHandler IMPORT TIM1_OC1_IRQHandler IMPORT TIM1_IC12_IRQHandler IMPORT TIM1_UP_IRQHandler IMPORT TIM0_OC2_IRQHandler IMPORT TIM0_OC1_IRQHandler IMPORT TIM0_IC12_IRQHandler IMPORT TIM0_UP_IRQHandler IMPORT PWM_OC123_IRQHandler IMPORT PWM_EM_IRQHandler IMPORT PWM_UP_IRQHandler IMPORT I2C_IRQHandler IMPORT SSP1_IRQHandler IMPORT SSP0_IRQHandler IMPORT UART2_IRQHandler IMPORT UART1_IRQHandler IMPORT vSerialISR IMPORT CAN_IRQHandler IMPORT USB_LP_IRQHandler IMPORT USB_HP_IRQHandler IMPORT ADC_IRQHandler IMPORT DMA_IRQHandler IMPORT EXTIT_IRQHandler IMPORT MRCC_IRQHandler IMPORT FLASHSMI_IRQHandler IMPORT RTC_IRQHandler IMPORT TB_IRQHandler IMPORT vPortPreemptiveTick IMPORT vPortYieldProcessor IMPORT UART0_IRQHandler ;******************************************************************************* ; Export Peripherals IRQ handlers table address ;******************************************************************************* EXPORT WAKUP_Addr ;******************************************************************************* ; Exception vectors ;******************************************************************************* LDR PC, Reset_Addr LDR PC, Undefined_Addr LDR PC, SWI_Addr LDR PC, Prefetch_Addr LDR PC, Abort_Addr NOP ; Reserved vector LDR PC, IRQ_Addr LDR PC, FIQ_Addr ;******************************************************************************* ; Exception handlers address table ;******************************************************************************* Reset_Addr DCD __iar_program_start Undefined_Addr DCD UndefinedHandler SWI_Addr DCD vPortYieldProcessor Prefetch_Addr DCD PrefetchAbortHandler Abort_Addr DCD DataAbortHandler DCD 0 ; Reserved vector IRQ_Addr DCD IRQHandler FIQ_Addr DCD FIQHandler ;******************************************************************************* ; Peripherals IRQ handlers address table ;******************************************************************************* WAKUP_Addr DCD WAKUPIRQHandler TIM2_OC2_Addr DCD TIM2_OC2IRQHandler TIM2_OC1_Addr DCD TIM2_OC1IRQHandler TIM2_IC12_Addr DCD TIM2_IC12IRQHandler TIM2_UP_Addr DCD TIM2_UPIRQHandler TIM1_OC2_Addr DCD TIM1_OC2IRQHandler TIM1_OC1_Addr DCD TIM1_OC1IRQHandler TIM1_IC12_Addr DCD TIM1_IC12IRQHandler TIM1_UP_Addr DCD TIM1_UPIRQHandler TIM0_OC2_Addr DCD TIM0_OC2IRQHandler TIM0_OC1_Addr DCD TIM0_OC1IRQHandler TIM0_IC12_Addr DCD TIM0_IC12IRQHandler TIM0_UP_Addr DCD TIM0_UPIRQHandler PWM_OC123_Addr DCD PWM_OC123IRQHandler PWM_EM_Addr DCD PWM_EMIRQHandler PWM_UP_Addr DCD PWM_UPIRQHandler I2C_Addr DCD I2CIRQHandler SSP1_Addr DCD SSP1IRQHandler SSP0_Addr DCD SSP0IRQHandler UART2_Addr DCD UART2IRQHandler UART1_Addr DCD UART1IRQHandler UART0_Addr DCD vSerialISR CAN_Addr DCD CANIRQHandler USB_LP_Addr DCD USB_LPIRQHandler USB_HP_Addr DCD USB_HPIRQHandler ADC_Addr DCD ADCIRQHandler DMA_Addr DCD DMAIRQHandler EXTIT_Addr DCD EXTITIRQHandler MRCC_Addr DCD MRCCIRQHandler FLASHSMI_Addr DCD FLASHSMIIRQHandler RTC_Addr DCD RTCIRQHandler TB_Addr DCD vPortPreemptiveTick ;******************************************************************************* ; Exception Handlers ;******************************************************************************* ;******************************************************************************* ;* Macro Name : SaveContext ;* Description : This macro used to save the context before entering ;* an exception handler. ;* Input : The range of registers to store. ;* Output : none ;******************************************************************************* SaveContext MACRO reg1,reg2 STMFD sp!,{reg1-reg2,lr} ; Save The workspace plus the current return ; address lr_ mode into the stack. MRS r1,spsr ; Save the spsr_mode into r1. STMFD sp!,{r1} ; Save spsr. ENDM ;******************************************************************************* ;* Macro Name : RestoreContext ;* Description : This macro used to restore the context to return from ;* an exception handler and continue the program execution. ;* Input : The range of registers to restore. ;* Output : none ;******************************************************************************* RestoreContext MACRO reg1,reg2 LDMFD sp!,{r1} ; Restore the saved spsr_mode into r1. MSR spsr_cxsf,r1 ; Restore spsr_mode. LDMFD sp!,{reg1-reg2,pc}^; Return to the instruction following... ; ...the exception interrupt. ENDM ;******************************************************************************* ;* Function Name : UndefinedHandler ;* Description : This function called when undefined instruction exception ;* is entered. ;* Input : none ;* Output : none ;******************************************************************************* UndefinedHandler SaveContext r0,r12 ; Save the workspace plus the current ; return address lr_ und and spsr_und. ldr r0,=Undefined_Handler ldr lr,=Undefined_Handler_end bx r0 ;Branch to Undefined_Handler Undefined_Handler_end: RestoreContext r0,r12 ; Return to the instruction following... ; ...the undefined instruction. ;******************************************************************************* ;* Function Name : SWIHandler ;* Description : This function called when SWI instruction executed. ;* Input : none ;* Output : none ;******************************************************************************* SWIHandler SaveContext r0,r12 ; Save the workspace plus the current ; return address lr_ svc and spsr_svc. ldr r0,= SWI_Handler ldr lr,= SWI_Handler_end bx r0 ;Branch to SWI_Handler SWI_Handler_end: RestoreContext r0,r12 ; Return to the instruction following... ; ...the SWI instruction. ;******************************************************************************* ;* Function Name : IRQHandler ;* Description : This function called when IRQ exception is entered. ;* Input : none ;* Output : none ;******************************************************************************* IRQHandler portSAVE_CONTEXT ; Save the context of the current task. LDR r0, =EIC_base_addr LDR r1, =IVR_off_addr LDR lr, =ReturnAddress ; Load the return address. ADD pc,r0,r1 ; Branch to the IRQ handler. ReturnAddress LDR r0, =EIC_base_addr LDR r2, [r0, #CICR_off_addr] ; Get the IRQ channel number MOV r3,#1 MOV r3,r3,LSL r2 STR r3,[r0, #IPR_off_addr] ; Clear the corresponding IPR bit. portRESTORE_CONTEXT ; Restore the context of the selected task. ;******************************************************************************* ;* Function Name : PrefetchAbortHandler ;* Description : This function called when Prefetch Abort exception is entered. ;* Input : none ;* Output : none ;******************************************************************************* PrefetchAbortHandler SUB lr,lr,#4 ; Update the link register. SaveContext r0,r7 ; Save the workspace plus the current ; return address lr_abt and spsr_abt. ldr r0,= Prefetch_Handler ldr lr,= Prefetch_Handler_end bx r0 ;Branch to Prefetch_Handler Prefetch_Handler_end: RestoreContext r0,r7 ; Return to the instruction following that... ; ...has generated the prefetch abort exception. ;******************************************************************************* ;* Function Name : DataAbortHandler ;* Description : This function is called when Data Abort exception is entered. ;* Input : none ;* Output : none ;******************************************************************************* DataAbortHandler SUB lr,lr,#8 ; Update the link register. SaveContext r0,r12 ; Save the workspace plus the current ; return address lr_ abt and spsr_abt. ldr r0,= Abort_Handler ldr lr,= Abort_Handler_end bx r0 ;Branch to Abort_Handler Abort_Handler_end: RestoreContext r0,r12 ; Return to the instruction following that... ; ...has generated the data abort exception. ;******************************************************************************* ;* Function Name : FIQHandler ;* Description : This function is called when FIQ exception is entered. ;* Input : none ;* Output : none ;******************************************************************************* FIQHandler SUB lr,lr,#4 ; Update the link register. SaveContext r0,r7 ; Save the workspace plus the current ; return address lr_ fiq and spsr_fiq. ldr r0,= FIQ_Handler ldr lr,= FIQ_Handler_end bx r0 ;Branch to FIQ_Handler FIQ_Handler_end: RestoreContext r0,r7 ; Restore the context and return to the... ; ...program execution. ;******************************************************************************* ;* Macro Name : IRQ_to_SYS ;* Description : This macro used to switch form IRQ mode to SYS mode. ;* Input : none. ;* Output : none ;******************************************************************************* IRQ_to_SYS MACRO MSR cpsr_c,#0x1F STMFD sp!,{lr} ENDM ;******************************************************************************* ;* Macro Name : SYS_to_IRQ ;* Description : This macro used to switch from SYS mode to IRQ mode. ;* Input : none. ;* Output : none ;******************************************************************************* SYS_to_IRQ MACRO LDMFD sp!,{lr} MSR cpsr_c,#0xD2 MOV pc,lr ENDM ;******************************************************************************* ;* Function Name : WAKUPIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the WAKUP_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the WAKUP_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* WAKUPIRQHandler IRQ_to_SYS ldr r0,=WAKUP_IRQHandler ldr lr,=WAKUP_IRQHandler_end bx r0 WAKUP_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : TIM2_OC2IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the TIM2_OC2_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the TIM2_OC2_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* TIM2_OC2IRQHandler IRQ_to_SYS ldr r0,=TIM2_OC2_IRQHandler ldr lr,=TIM2_OC2_IRQHandler_end bx r0 TIM2_OC2_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : TIM2_OC1IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the TIM2_OC1_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the TIM2_OC1_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* TIM2_OC1IRQHandler IRQ_to_SYS ldr r0,=TIM2_OC1_IRQHandler ldr lr,=TIM2_OC1_IRQHandler_end bx r0 TIM2_OC1_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : TIM2_IC12IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the TIM2_IC12_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the TIM2_IC12_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* TIM2_IC12IRQHandler IRQ_to_SYS ldr r0,=TIM2_IC12_IRQHandler ldr lr,=TIM2_IC12_IRQHandler_end bx r0 TIM2_IC12_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : TIM2_UPIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the TIM2_UP_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the TIM2_UP_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* TIM2_UPIRQHandler IRQ_to_SYS ldr r0,=TIM2_UP_IRQHandler ldr lr,=TIM2_UP_IRQHandler_end bx r0 TIM2_UP_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : TIM1_OC2IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the TIM1_OC2_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the TIM1_OC2_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* TIM1_OC2IRQHandler IRQ_to_SYS ldr r0,=TIM1_OC2_IRQHandler ldr lr,=TIM1_OC2_IRQHandler_end bx r0 TIM1_OC2_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : TIM1_OC1IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the TIM1_OC1_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the TIM1_OC1_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* TIM1_OC1IRQHandler IRQ_to_SYS ldr r0,=TIM1_OC1_IRQHandler ldr lr,=TIM1_OC1_IRQHandler_end bx r0 TIM1_OC1_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : TIM1_IC12IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the TIM1_IC12_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the TIM1_IC12_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* TIM1_IC12IRQHandler IRQ_to_SYS ldr r0,=TIM1_IC12_IRQHandler ldr lr,=TIM1_IC12_IRQHandler_end bx r0 TIM1_IC12_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : TIM1_UPIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the TIM1_UP_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the TIM1_UP_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* TIM1_UPIRQHandler IRQ_to_SYS ldr r0,=TIM1_UP_IRQHandler ldr lr,=TIM1_UP_IRQHandler_end bx r0 TIM1_UP_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : TIM0_OC2IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the TIM0_OC2_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the TIM0_OC2_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* TIM0_OC2IRQHandler IRQ_to_SYS ldr r0,=TIM0_OC2_IRQHandler ldr lr,=TIM0_OC2_IRQHandler_end bx r0 TIM0_OC2_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : TIM0_OC1IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the TIM0_OC1_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the TIM0_OC1_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* TIM0_OC1IRQHandler IRQ_to_SYS ldr r0,=TIM0_OC1_IRQHandler ldr lr,=TIM0_OC1_IRQHandler_end bx r0 TIM0_OC1_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : TIM0_IC12IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the TIM0_IC12_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the TIM0_IC12_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* TIM0_IC12IRQHandler IRQ_to_SYS ldr r0,=TIM0_IC12_IRQHandler ldr lr,=TIM0_IC12_IRQHandler_end bx r0 TIM0_IC12_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : TIM0_UPIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the TIM0_UP_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the TIM0_UP_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* TIM0_UPIRQHandler IRQ_to_SYS ldr r0,=TIM0_UP_IRQHandler ldr lr,=TIM0_UP_IRQHandler_end bx r0 TIM0_UP_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : PWM_OC123IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the PWM_OC123_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the PWM_OC123_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* PWM_OC123IRQHandler IRQ_to_SYS ldr r0,=PWM_OC123_IRQHandler ldr lr,=PWM_OC123_IRQHandler_end bx r0 PWM_OC123_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : PWM_EMIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the PWM_EM_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the PWM_EM_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* PWM_EMIRQHandler IRQ_to_SYS ldr r0,=PWM_EM_IRQHandler ldr lr,=PWM_EM_IRQHandler_end bx r0 PWM_EM_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : PWM_UPIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the PWM_UP_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the PWM_UP_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* PWM_UPIRQHandler IRQ_to_SYS ldr r0,=PWM_UP_IRQHandler ldr lr,=PWM_UP_IRQHandler_end bx r0 PWM_UP_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : I2CIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the I2C_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the I2C_IRQHandler function ;* termination. ;* Input : none ;* Output : none ;******************************************************************************* I2CIRQHandler IRQ_to_SYS ldr r0,=I2C_IRQHandler ldr lr,=I2C_IRQHandler_end bx r0 I2C_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : SSP1IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the SSP1_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the SSP1_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* SSP1IRQHandler IRQ_to_SYS ldr r0,=SSP1_IRQHandler ldr lr,=SSP1_IRQHandler_end bx r0 SSP1_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : SSP0IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the SSP0_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the SSP0_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* SSP0IRQHandler IRQ_to_SYS ldr r0,=SSP0_IRQHandler ldr lr,=SSP0_IRQHandler_end bx r0 SSP0_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : UART2IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the UART2_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the UART2_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* UART2IRQHandler IRQ_to_SYS ldr r0,=UART2_IRQHandler ldr lr,=UART2_IRQHandler_end bx r0 UART2_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : UART1IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the UART1_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the UART1_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* UART1IRQHandler IRQ_to_SYS ldr r0,=UART1_IRQHandler ldr lr,=UART1_IRQHandler_end bx r0 UART1_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : UART0IRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the UART0_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the UART0_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* UART0IRQHandler IRQ_to_SYS ldr r0,=UART0_IRQHandler ldr lr,=UART0_IRQHandler_end bx r0 UART0_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : CANIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the CAN_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the CAN_IRQHandler function ;* termination. ;* Input : none ;* Output : none ;******************************************************************************* CANIRQHandler IRQ_to_SYS ldr r0,=CAN_IRQHandler ldr lr,=CAN_IRQHandler_end bx r0 CAN_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : USB_LPIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the USB_LP_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the USB_LP_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* USB_LPIRQHandler IRQ_to_SYS ldr r0,=USB_LP_IRQHandler ldr lr,=USB_LP_IRQHandler_end bx r0 USB_LP_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : USB_HPIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the USB_HP_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the USB_HP_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* USB_HPIRQHandler IRQ_to_SYS ldr r0,=USB_HP_IRQHandler ldr lr,=USB_HP_IRQHandler_end bx r0 USB_HP_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : ADCIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the ADC_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the ADC_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* ADCIRQHandler IRQ_to_SYS ldr r0,=ADC_IRQHandler ldr lr,=ADC_IRQHandler_end bx r0 ADC_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : DMAIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the DMA_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the DMA_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* DMAIRQHandler IRQ_to_SYS ldr r0,=DMA_IRQHandler ldr lr,=DMA_IRQHandler_end bx r0 DMA_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : EXTITIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the EXTIT_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the EXTIT_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* EXTITIRQHandler IRQ_to_SYS ldr r0,=EXTIT_IRQHandler ldr lr,=EXTIT_IRQHandler_end bx r0 EXTIT_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : MRCCIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the MRCC_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the MRCC_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* MRCCIRQHandler IRQ_to_SYS ldr r0,=MRCC_IRQHandler ldr lr,=MRCC_IRQHandler_end bx r0 MRCC_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : FLASHSMIIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the FLASHSMI_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the FLASHSMI_IRQHandler ;* function termination. ;* Input : none ;* Output : none ;******************************************************************************* FLASHSMIIRQHandler IRQ_to_SYS ldr r0,=FLASHSMI_IRQHandler ldr lr,=FLASHSMI_IRQHandler_end bx r0 FLASHSMI_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : RTCIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the RTC_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the RTC_IRQHandler function ;* termination. ;* Input : none ;* Output : none ;******************************************************************************* RTCIRQHandler IRQ_to_SYS ldr r0,=RTC_IRQHandler ldr lr,=RTC_IRQHandler_end bx r0 RTC_IRQHandler_end: SYS_to_IRQ ;******************************************************************************* ;* Function Name : TBIRQHandler ;* Description : This function used to switch to SYS mode before entering ;* the TB_IRQHandler function located in 75x_it.c. ;* Then to return to IRQ mode after the TB_IRQHandler function ;* termination. ;* Input : none ;* Output : none ;******************************************************************************* TBIRQHandler IRQ_to_SYS ldr r0,=TB_IRQHandler ldr lr,=TB_IRQHandler_end bx r0 TB_IRQHandler_end: SYS_to_IRQ LTORG END ;******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE*****