summaryrefslogtreecommitdiffstats
path: root/uc_str912/prj_blinky_simple_startup/str91x_lib/src/91x_vic.c
diff options
context:
space:
mode:
Diffstat (limited to 'uc_str912/prj_blinky_simple_startup/str91x_lib/src/91x_vic.c')
-rw-r--r--uc_str912/prj_blinky_simple_startup/str91x_lib/src/91x_vic.c830
1 files changed, 0 insertions, 830 deletions
diff --git a/uc_str912/prj_blinky_simple_startup/str91x_lib/src/91x_vic.c b/uc_str912/prj_blinky_simple_startup/str91x_lib/src/91x_vic.c
deleted file mode 100644
index fecb890..0000000
--- a/uc_str912/prj_blinky_simple_startup/str91x_lib/src/91x_vic.c
+++ /dev/null
@@ -1,830 +0,0 @@
-/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
-* File Name : 91x_vic.c
-* Author : MCD Application Team
-* Date First Issued : 05/18/2006 : Version 1.0
-* Description : This file provides all the VIC software functions.
-********************************************************************************
-* History:
-* 05/24/2006 : Version 1.1
-* 05/18/2006 : Version 1.0
-********************************************************************************
-* 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.
-*******************************************************************************/
-
-
-/* Standard include ----------------------------------------------------------*/
-#include "91x_vic.h"
-
-/* Include of other module interface headers ---------------------------------*/
-/* Local includes ------------------------------------------------------------*/
-/* Private typedef -----------------------------------------------------------*/
-/* Private define ------------------------------------------------------------*/
-
-#define VIC_REGISTER_NUMBER 16
-#define VIC_PROTECTION_ENABLE_MASK 0x1
-#define VIC_PROTECTION_DISABLE_MASK 0xFFFFFFFE
-#define VIC_VECTOR_ENABLE_MASK 0x20
-#define VIC_IT_SOURCE_MASK 0xFFFFFFE0
-/* Private macro -------------------------------------------------------------*/
-/* Private variables ---------------------------------------------------------*/
-/* Private function prototypes -----------------------------------------------*/
-
-static void VIC_ITModeConfig(u16 VIC_Source, VIC_ITLineMode VIC_LineMode);
-static void VIC_ISRVectAddConfig(u16 VIC_Source, u16 VIC_Priority, \
- void (*VIC_VectAddress)(void));
-static void VIC_VectEnableConfig(u16 VIC_Source, u16 VIC_Priority);
-static void VIC_ITSourceConfig(u16 VIC_Source, u16 VIC_Priority);
-
-/* Interface functions -------------------------------------------------------*/
-/* Private functions ---------------------------------------------------------*/
-
-/*******************************************************************************
-* Function Name : VIC_DeInit
-* Description : Deinitialize the VIC module registers to their default reset
-* values.
-* Input : None
-* Output : None
-* Return : None
-*******************************************************************************/
-void VIC_DeInit(void)
-{
- SCU_AHBPeriphReset(__VIC, ENABLE); /* VIC peripheral is under Reset */
- SCU_AHBPeriphReset(__VIC, DISABLE); /* VIC peripheral Reset off */
-}
-
-/*******************************************************************************
-* Function Name : VIC_GetIRQStatus
-* Description : Get the status of interrupts after IRQ masking.
-* Input : VIC_Source: specifies the number of the source line.
-* This parameter can be one of the following values:
-* - WDG_ITLine : VIC source 0
-* - SW_ITLine : VIC source 1
-* - ARMRX_ITLine : VIC source 2
-* - ARMTX_ITLine : VIC source 3
-* - TIM0_ITLine : VIC source 4
-* - TIM1_ITLine : VIC source 5
-* - TIM2_ITLine : VIC source 6
-* - TIM3_ITLine : VIC source 7
-* - USBHP_ITLine : VIC source 8
-* - USBLP_ITLine : VIC source 9
-* - SCU_ITLine : VIC source 10
-* - ENET_ITLine : VIC source 11
-* - DMA_ITLine : VIC source 12
-* - CAN_ITLine : VIC source 13
-* - MC_ITLine : VIC source 14
-* - ADC_ITLine : VIC source 15
-* - UART0_ITLine : VIC source 16
-* - UART1_ITLine : VIC source 17
-* - UART2_ITLine : VIC source 18
-* - I2C0_ITLine : VIC source 19
-* - I2C1_ITLine : VIC source 20
-* - SSP0_ITLine : VIC source 21
-* - SSP1_ITLine : VIC source 22
-* - LVD_ITLine : VIC source 23
-* - RTC_ITLine : VIC source 24
-* - WIU_ITLine : VIC source 25
-* - EXTIT0_ITLine: VIC source 26
-* - EXTIT1_ITLine: VIC source 27
-* - EXTIT2_ITLine: VIC source 28
-* - EXTIT3_ITLine: VIC source 29
-* - USBWU_ITLine : VIC source 30
-* - PFQBC_ITLine : VIC source 31
-* Output : None
-* Return : The status of the IRQ interrupt after masking (SET or RESET).
-*******************************************************************************/
-FlagStatus VIC_GetIRQStatus(u16 VIC_Source)
-{
- u32 VIC_Mask = 1;
- if (VIC_Source < VIC_REGISTER_NUMBER)
- {
- if ((VIC0->ISR | VIC_Mask << VIC_Source) != RESET)
- return SET;
- else
- return RESET;
- }
- else
- {
- if ((VIC1->ISR | VIC_Mask << (VIC_Source - VIC_REGISTER_NUMBER)) != RESET)
- return SET;
- else
- return RESET;
- }
-}
-
-/*******************************************************************************
-* Function Name : VIC_GetFIQStatus
-* Description : Get the status of interrupts after FIQ masking
-* Input : VIC_Source: specifies the number of the source line.
-* This parameter can be one of the following values:
-* - WDG_ITLine : VIC source 0
-* - SW_ITLine : VIC source 1
-* - ARMRX_ITLine : VIC source 2
-* - ARMTX_ITLine : VIC source 3
-* - TIM0_ITLine : VIC source 4
-* - TIM1_ITLine : VIC source 5
-* - TIM2_ITLine : VIC source 6
-* - TIM3_ITLine : VIC source 7
-* - USBHP_ITLine : VIC source 8
-* - USBLP_ITLine : VIC source 9
-* - SCU_ITLine : VIC source 10
-* - ENET_ITLine : VIC source 11
-* - DMA_ITLine : VIC source 12
-* - CAN_ITLine : VIC source 13
-* - MC_ITLine : VIC source 14
-* - ADC_ITLine : VIC source 15
-* - UART0_ITLine : VIC source 16
-* - UART1_ITLine : VIC source 17
-* - UART2_ITLine : VIC source 18
-* - I2C0_ITLine : VIC source 19
-* - I2C1_ITLine : VIC source 20
-* - SSP0_ITLine : VIC source 21
-* - SSP1_ITLine : VIC source 22
-* - LVD_ITLine : VIC source 23
-* - RTC_ITLine : VIC source 24
-* - WIU_ITLine : VIC source 25
-* - EXTIT0_ITLine: VIC source 26
-* - EXTIT1_ITLine: VIC source 27
-* - EXTIT2_ITLine: VIC source 28
-* - EXTIT3_ITLine: VIC source 29
-* - USBWU_ITLine : VIC source 30
-* - PFQBC_ITLine : VIC source 31
-* Output : None
-* Return : The status of the FIQ interrupt after masking (SET or RESET)
-*******************************************************************************/
-FlagStatus VIC_GetFIQStatus(u16 VIC_Source)
-{
- u32 VIC_Mask = 1;
- if (VIC_Source < VIC_REGISTER_NUMBER)
- {
- if ((VIC0->RINTSR | VIC_Mask << VIC_Source) != RESET)
- return SET;
- else
- return RESET;
- }
- else
- {
- if ((VIC1->RINTSR | VIC_Mask << (VIC_Source - VIC_REGISTER_NUMBER)) != RESET)
- return SET;
- else
- return RESET;
- }
-}
-
-/*******************************************************************************
-* Function Name : VIC_GetSourceITStatus
-* Description : Get the status of the source interrupts before masking.
-* Input : VIC_Source: specifies the number of the source line.
-* This parameter can be one of the following values:
-* - WDG_ITLine : VIC source 0
-* - SW_ITLine : VIC source 1
-* - ARMRX_ITLine : VIC source 2
-* - ARMTX_ITLine : VIC source 3
-* - TIM0_ITLine : VIC source 4
-* - TIM1_ITLine : VIC source 5
-* - TIM2_ITLine : VIC source 6
-* - TIM3_ITLine : VIC source 7
-* - USBHP_ITLine : VIC source 8
-* - USBLP_ITLine : VIC source 9
-* - SCU_ITLine : VIC source 10
-* - ENET_ITLine : VIC source 11
-* - DMA_ITLine : VIC source 12
-* - CAN_ITLine : VIC source 13
-* - MC_ITLine : VIC source 14
-* - ADC_ITLine : VIC source 15
-* - UART0_ITLine : VIC source 16
-* - UART1_ITLine : VIC source 17
-* - UART2_ITLine : VIC source 18
-* - I2C0_ITLine : VIC source 19
-* - I2C1_ITLine : VIC source 20
-* - SSP0_ITLine : VIC source 21
-* - SSP1_ITLine : VIC source 22
-* - LVD_ITLine : VIC source 23
-* - RTC_ITLine : VIC source 24
-* - WIU_ITLine : VIC source 25
-* - EXTIT0_ITLine: VIC source 26
-* - EXTIT1_ITLine: VIC source 27
-* - EXTIT2_ITLine: VIC source 28
-* - EXTIT3_ITLine: VIC source 29
-* - USBWU_ITLine : VIC source 30
-* - PFQBC_ITLine : VIC source 31
-* Output : None
-* Return : The status of the source interrupt before masking
-*******************************************************************************/
-FlagStatus VIC_GetSourceITStatus(u16 VIC_Source)
-{
- u32 VIC_Mask = 1;
- if (VIC_Source < VIC_REGISTER_NUMBER)
- {
- if ((VIC0->FSR | VIC_Mask << VIC_Source) != RESET)
- return SET;
- else
- return RESET;
- }
- else
- {
- if ((VIC1->FSR | VIC_Mask << (VIC_Source - VIC_REGISTER_NUMBER)) != RESET)
- return SET;
- else
- return RESET;
- }
-}
-
-/*******************************************************************************
-* Function Name : VIC_ITModeConfig
-* Description : Select the type of interrupt (IRQ or FIQ)
-* Input1 : VIC_Source: specifies the number of the source line.
-* This parameter can be one of the following values:
-* - WDG_ITLine : VIC source 0
-* - SW_ITLine : VIC source 1
-* - ARMRX_ITLine : VIC source 2
-* - ARMTX_ITLine : VIC source 3
-* - TIM0_ITLine : VIC source 4
-* - TIM1_ITLine : VIC source 5
-* - TIM2_ITLine : VIC source 6
-* - TIM3_ITLine : VIC source 7
-* - USBHP_ITLine : VIC source 8
-* - USBLP_ITLine : VIC source 9
-* - SCU_ITLine : VIC source 10
-* - ENET_ITLine : VIC source 11
-* - DMA_ITLine : VIC source 12
-* - CAN_ITLine : VIC source 13
-* - MC_ITLine : VIC source 14
-* - ADC_ITLine : VIC source 15
-* - UART0_ITLine : VIC source 16
-* - UART1_ITLine : VIC source 17
-* - UART2_ITLine : VIC source 18
-* - I2C0_ITLine : VIC source 19
-* - I2C1_ITLine : VIC source 20
-* - SSP0_ITLine : VIC source 21
-* - SSP1_ITLine : VIC source 22
-* - LVD_ITLine : VIC source 23
-* - RTC_ITLine : VIC source 24
-* - WIU_ITLine : VIC source 25
-* - EXTIT0_ITLine: VIC source 26
-* - EXTIT1_ITLine: VIC source 27
-* - EXTIT2_ITLine: VIC source 28
-* - EXTIT3_ITLine: VIC source 29
-* - USBWU_ITLine : VIC source 30
-* - PFQBC_ITLine : VIC source 31
-* Input2 : VIC_LineMode :specifies the type of interrupt of the source
-* line. This parameter can be one of the following values:
-* - VIC_IRQ: the correspondent line is configured as IRQ.
-* - VIC_FIQ: the correspondent line is configured as FIQ.
-* Output : None
-* Return : None
-*******************************************************************************/
-static void VIC_ITModeConfig(u16 VIC_Source, VIC_ITLineMode VIC_LineMode)
-{
- u32 VIC_Mask = 1;
-
- if (VIC_Source < VIC_REGISTER_NUMBER) /* VIC0 */
- {
- if (VIC_LineMode == VIC_IRQ)
- VIC0->INTSR &= ~(VIC_Mask << VIC_Source);
- else /* VIC_LineMode == VIC_FIQ */
- VIC0->INTSR |= (VIC_Mask << VIC_Source);
- }
- else /* VIC1 */
- {
- if (VIC_LineMode == VIC_IRQ)
- VIC1->INTSR &= ~(VIC_Mask << (VIC_Source - VIC_REGISTER_NUMBER));
- else /* VIC_LineMode == VIC_FIQ */
- VIC1->INTSR |= (VIC_Mask << (VIC_Source - VIC_REGISTER_NUMBER));
- }
-}
-
-/*******************************************************************************
-* Function Name : VIC_ITCmd
-* Description : Enable or disable the interrupt request lines.
-* Input1 : VIC_Source: specifies the number of the source line.
-* This parameter can be one of the following values:
-* - WDG_ITLine : VIC source 0
-* - SW_ITLine : VIC source 1
-* - ARMRX_ITLine : VIC source 2
-* - ARMTX_ITLine : VIC source 3
-* - TIM0_ITLine : VIC source 4
-* - TIM1_ITLine : VIC source 5
-* - TIM2_ITLine : VIC source 6
-* - TIM3_ITLine : VIC source 7
-* - USBHP_ITLine : VIC source 8
-* - USBLP_ITLine : VIC source 9
-* - SCU_ITLine : VIC source 10
-* - ENET_ITLine : VIC source 11
-* - DMA_ITLine : VIC source 12
-* - CAN_ITLine : VIC source 13
-* - MC_ITLine : VIC source 14
-* - ADC_ITLine : VIC source 15
-* - UART0_ITLine : VIC source 16
-* - UART1_ITLine : VIC source 17
-* - UART2_ITLine : VIC source 18
-* - I2C0_ITLine : VIC source 19
-* - I2C1_ITLine : VIC source 20
-* - SSP0_ITLine : VIC source 21
-* - SSP1_ITLine : VIC source 22
-* - LVD_ITLine : VIC source 23
-* - RTC_ITLine : VIC source 24
-* - WIU_ITLine : VIC source 25
-* - EXTIT0_ITLine: VIC source 26
-* - EXTIT1_ITLine: VIC source 27
-* - EXTIT2_ITLine: VIC source 28
-* - EXTIT3_ITLine: VIC source 29
-* - USBWU_ITLine : VIC source 30
-* - PFQBC_ITLine : VIC source 31
-* Input2 : FMI_NewState: specifies the line status.
-* This parameter can be one of the following values:
-* - ENABLE: The line is enabled.
-* - DISABLE: The line is disabled.
-* Output : None
-* Return : None
-*******************************************************************************/
-void VIC_ITCmd(u16 VIC_Source, FunctionalState VIC_NewState)
-{
- u32 VIC_Mask = 1;
-
- if (VIC_NewState == ENABLE)
- {
- if (VIC_Source < VIC_REGISTER_NUMBER) /* VIC0 */
- VIC0->INTER |= (VIC_Mask << VIC_Source);
- else /* VIC1 */
- VIC1->INTER |= (VIC_Mask << (VIC_Source - VIC_REGISTER_NUMBER));
- }
- else /* VIC_NewState == DISABLE */
- {
- if (VIC_Source < VIC_REGISTER_NUMBER) /* VIC0 */
- VIC0->INTECR |= (VIC_Mask << VIC_Source);
- else /* VIC1 */
- VIC1->INTECR |= (VIC_Mask << (VIC_Source - VIC_REGISTER_NUMBER));
- }
-}
-
-/*******************************************************************************
-* Function Name : VIC_SWITCmd
-* Description : Generate a software interrupt for the specific source
-* interrupt.
-* Input1 : VIC_Source: specifies the number of the source line.
-* This parameter can be one of the following values:
-* - WDG_ITLine : VIC source 0
-* - SW_ITLine : VIC source 1
-* - ARMRX_ITLine : VIC source 2
-* - ARMTX_ITLine : VIC source 3
-* - TIM0_ITLine : VIC source 4
-* - TIM1_ITLine : VIC source 5
-* - TIM2_ITLine : VIC source 6
-* - TIM3_ITLine : VIC source 7
-* - USBHP_ITLine : VIC source 8
-* - USBLP_ITLine : VIC source 9
-* - SCU_ITLine : VIC source 10
-* - ENET_ITLine : VIC source 11
-* - DMA_ITLine : VIC source 12
-* - CAN_ITLine : VIC source 13
-* - MC_ITLine : VIC source 14
-* - ADC_ITLine : VIC source 15
-* - UART0_ITLine : VIC source 16
-* - UART1_ITLine : VIC source 17
-* - UART2_ITLine : VIC source 18
-* - I2C0_ITLine : VIC source 19
-* - I2C1_ITLine : VIC source 20
-* - SSP0_ITLine : VIC source 21
-* - SSP1_ITLine : VIC source 22
-* - LVD_ITLine : VIC source 23
-* - RTC_ITLine : VIC source 24
-* - WIU_ITLine : VIC source 25
-* - EXTIT0_ITLine: VIC source 26
-* - EXTIT1_ITLine: VIC source 27
-* - EXTIT2_ITLine: VIC source 28
-* - EXTIT3_ITLine: VIC source 29
-* - USBWU_ITLine : VIC source 30
-* - PFQBC_ITLine : VIC source 31
-* Input2 : FMI_NewState: specifies the software interrupt status.
-* This parameter can be one of the following values:
-* - ENABLE: The software interrupt is enabled.
-* - DISABLE: The software interrupt is disabled.
-* Output : None
-* Return : None
-*******************************************************************************/
-void VIC_SWITCmd(u16 VIC_Source, FunctionalState VIC_NewState)
-{
- u32 VIC_Mask = 1;
-
- if (VIC_NewState == ENABLE)
- {
- if (VIC_Source < VIC_REGISTER_NUMBER) /* VIC0 */
- VIC0->SWINTR |= (VIC_Mask << VIC_Source);
- else /* VIC1 */
- VIC1->SWINTR |= (VIC_Mask << (VIC_Source - VIC_REGISTER_NUMBER));
- }
- else /* VIC_NewState == DISABLE */
- {
- if (VIC_Source < VIC_REGISTER_NUMBER) /* VIC0 */
- VIC0->SWINTCR = (VIC_Mask << VIC_Source);
- else /* VIC1 */
- VIC1->SWINTCR = (VIC_Mask << (VIC_Source - VIC_REGISTER_NUMBER));
- }
-}
-
-/*******************************************************************************
-* Function Name : VIC_ProtectionCmd
-* Description : Enable or Disable the register access protection.
-* Input : FMI_NewState: specifies the protection status.
-* This parameter can be one of the following values:
-* - ENABLE: The protection is enabled.
-* - DISABLE: The protection is disabled.
-* Output : None
-* Return : None
-*******************************************************************************/
-void VIC_ProtectionCmd(FunctionalState VIC_NewState)
-{
- if (VIC_NewState == ENABLE)
- {
- VIC0->PER |= VIC_PROTECTION_ENABLE_MASK;
- VIC1->PER |= VIC_PROTECTION_ENABLE_MASK;
- }
- else
- {
- VIC0->PER &= VIC_PROTECTION_DISABLE_MASK;
- VIC1->PER &= VIC_PROTECTION_DISABLE_MASK;
- }
-}
-
-/*******************************************************************************
-* Function Name : VIC_GetCurrentISRAdd
-* Description : Get the address of the current active ISR.
-* Input : VICx: specifies the VIC peripheral
-* This parameter can be one of the following values:
-* - VIC0: To select VIC0.
-* - VIC1: To select VIC1.
-* Output : None
-* Return : The Address of the active ISR.
-*******************************************************************************/
-u32 VIC_GetCurrentISRAdd(VIC_TypeDef* VICx)
-{
- return VICx->VAR;
-}
-
-/*******************************************************************************
-* Function Name : VIC_ISRVectAddConfig
-* Description : Configuration of the ISR vector address.
-* Input1 : VIC_Source: specifies the number of the source line.
-* This parameter can be one of the following values:
-* - WDG_ITLine : VIC source 0
-* - SW_ITLine : VIC source 1
-* - ARMRX_ITLine : VIC source 2
-* - ARMTX_ITLine : VIC source 3
-* - TIM0_ITLine : VIC source 4
-* - TIM1_ITLine : VIC source 5
-* - TIM2_ITLine : VIC source 6
-* - TIM3_ITLine : VIC source 7
-* - USBHP_ITLine : VIC source 8
-* - USBLP_ITLine : VIC source 9
-* - SCU_ITLine : VIC source 10
-* - ENET_ITLine : VIC source 11
-* - DMA_ITLine : VIC source 12
-* - CAN_ITLine : VIC source 13
-* - MC_ITLine : VIC source 14
-* - ADC_ITLine : VIC source 15
-* - UART0_ITLine : VIC source 16
-* - UART1_ITLine : VIC source 17
-* - UART2_ITLine : VIC source 18
-* - I2C0_ITLine : VIC source 19
-* - I2C1_ITLine : VIC source 20
-* - SSP0_ITLine : VIC source 21
-* - SSP1_ITLine : VIC source 22
-* - LVD_ITLine : VIC source 23
-* - RTC_ITLine : VIC source 24
-* - WIU_ITLine : VIC source 25
-* - EXTIT0_ITLine: VIC source 26
-* - EXTIT1_ITLine: VIC source 27
-* - EXTIT2_ITLine: VIC source 28
-* - EXTIT3_ITLine: VIC source 29
-* - USBWU_ITLine : VIC source 30
-* - PFQBC_ITLine : VIC source 31
-* Input2 : VIC_Priority: specifies the priority of the interrupt.
-* It can be a value from 0 to 15. 0 is the highest priority.
-* Input3 : void (*VIC_VectAddress)(void): specifies the ISR vector
-* address pointer.
-* Output : None
-* Return : None
-*******************************************************************************/
-static void VIC_ISRVectAddConfig(u16 VIC_Source, u16 VIC_Priority, \
- void (*VIC_VectAddress)(void))
-{
- if (VIC_Source < VIC_REGISTER_NUMBER) /* VIC0 */
- VIC0->VAiR[VIC_Priority] = (u32)VIC_VectAddress;
- else /* VIC1 */
- VIC1->VAiR[VIC_Priority] = (u32)VIC_VectAddress;
-}
-
-/*******************************************************************************
-* Function Name : VIC_GetISRVectAdd
-* Description : Get the ISR vector address of the correspondent line.
-* Input : VIC_Source: specifies the number of the source line.
-* This parameter can be one of the following values:
-* - WDG_ITLine : VIC source 0
-* - SW_ITLine : VIC source 1
-* - ARMRX_ITLine : VIC source 2
-* - ARMTX_ITLine : VIC source 3
-* - TIM0_ITLine : VIC source 4
-* - TIM1_ITLine : VIC source 5
-* - TIM2_ITLine : VIC source 6
-* - TIM3_ITLine : VIC source 7
-* - USBHP_ITLine : VIC source 8
-* - USBLP_ITLine : VIC source 9
-* - SCU_ITLine : VIC source 10
-* - ENET_ITLine : VIC source 11
-* - DMA_ITLine : VIC source 12
-* - CAN_ITLine : VIC source 13
-* - MC_ITLine : VIC source 14
-* - ADC_ITLine : VIC source 15
-* - UART0_ITLine : VIC source 16
-* - UART1_ITLine : VIC source 17
-* - UART2_ITLine : VIC source 18
-* - I2C0_ITLine : VIC source 19
-* - I2C1_ITLine : VIC source 20
-* - SSP0_ITLine : VIC source 21
-* - SSP1_ITLine : VIC source 22
-* - LVD_ITLine : VIC source 23
-* - RTC_ITLine : VIC source 24
-* - WIU_ITLine : VIC source 25
-* - EXTIT0_ITLine: VIC source 26
-* - EXTIT1_ITLine: VIC source 27
-* - EXTIT2_ITLine: VIC source 28
-* - EXTIT3_ITLine: VIC source 29
-* - USBWU_ITLine : VIC source 30
-* - PFQBC_ITLine : VIC source 31
-* Output : None
-* Return : The correspondent ISR vector address.
-*******************************************************************************/
-u32 VIC_GetISRVectAdd(u16 VIC_Source)
-{
- if (VIC_Source < VIC_REGISTER_NUMBER) /* VIC0 */
- return VIC0->VAiR[VIC_Source];
- else /* VIC1 */
- return VIC1->VAiR[VIC_Source - VIC_REGISTER_NUMBER];
-}
-
-/*******************************************************************************
-* Function Name : VIC_VectEnableConfig
-* Description : Enable the vector interrupt.
-* Input1 : VIC_Source: specifies the number of the source line.
-* This parameter can be one of the following values:
-* - WDG_ITLine : VIC source 0
-* - SW_ITLine : VIC source 1
-* - ARMRX_ITLine : VIC source 2
-* - ARMTX_ITLine : VIC source 3
-* - TIM0_ITLine : VIC source 4
-* - TIM1_ITLine : VIC source 5
-* - TIM2_ITLine : VIC source 6
-* - TIM3_ITLine : VIC source 7
-* - USBHP_ITLine : VIC source 8
-* - USBLP_ITLine : VIC source 9
-* - SCU_ITLine : VIC source 10
-* - ENET_ITLine : VIC source 11
-* - DMA_ITLine : VIC source 12
-* - CAN_ITLine : VIC source 13
-* - MC_ITLine : VIC source 14
-* - ADC_ITLine : VIC source 15
-* - UART0_ITLine : VIC source 16
-* - UART1_ITLine : VIC source 17
-* - UART2_ITLine : VIC source 18
-* - I2C0_ITLine : VIC source 19
-* - I2C1_ITLine : VIC source 20
-* - SSP0_ITLine : VIC source 21
-* - SSP1_ITLine : VIC source 22
-* - LVD_ITLine : VIC source 23
-* - RTC_ITLine : VIC source 24
-* - WIU_ITLine : VIC source 25
-* - EXTIT0_ITLine: VIC source 26
-* - EXTIT1_ITLine: VIC source 27
-* - EXTIT2_ITLine: VIC source 28
-* - EXTIT3_ITLine: VIC source 29
-* - USBWU_ITLine : VIC source 30
-* - PFQBC_ITLine : VIC source 31
-* Input2 : VIC_Priority: specifies the priority of the interrupt.
-* It can be a value from 0 to 15. 0 is the highest priority.
-* Output : None
-* Return : None
-*******************************************************************************/
-static void VIC_VectEnableConfig(u16 VIC_Source, u16 VIC_Priority)
-{
- if (VIC_Source < VIC_REGISTER_NUMBER) /* VIC0 */
- VIC0->VCiR[VIC_Priority] |= VIC_VECTOR_ENABLE_MASK;
- else /* VIC1 */
- VIC1->VCiR[VIC_Priority] |= VIC_VECTOR_ENABLE_MASK;
-}
-
-/*******************************************************************************
-* Function Name : VIC_ITSourceConfig
-* Description : Select the interrupt source.
-* Input1 : VIC_Source: specifies the number of the source line.
-* This parameter can be one of the following values:
-* - WDG_ITLine : VIC source 0
-* - SW_ITLine : VIC source 1
-* - ARMRX_ITLine : VIC source 2
-* - ARMTX_ITLine : VIC source 3
-* - TIM0_ITLine : VIC source 4
-* - TIM1_ITLine : VIC source 5
-* - TIM2_ITLine : VIC source 6
-* - TIM3_ITLine : VIC source 7
-* - USBHP_ITLine : VIC source 8
-* - USBLP_ITLine : VIC source 9
-* - SCU_ITLine : VIC source 10
-* - ENET_ITLine : VIC source 11
-* - DMA_ITLine : VIC source 12
-* - CAN_ITLine : VIC source 13
-* - MC_ITLine : VIC source 14
-* - ADC_ITLine : VIC source 15
-* - UART0_ITLine : VIC source 16
-* - UART1_ITLine : VIC source 17
-* - UART2_ITLine : VIC source 18
-* - I2C0_ITLine : VIC source 19
-* - I2C1_ITLine : VIC source 20
-* - SSP0_ITLine : VIC source 21
-* - SSP1_ITLine : VIC source 22
-* - LVD_ITLine : VIC source 23
-* - RTC_ITLine : VIC source 24
-* - WIU_ITLine : VIC source 25
-* - EXTIT0_ITLine: VIC source 26
-* - EXTIT1_ITLine: VIC source 27
-* - EXTIT2_ITLine: VIC source 28
-* - EXTIT3_ITLine: VIC source 29
-* - USBWU_ITLine : VIC source 30
-* - PFQBC_ITLine : VIC source 31
-* Input2 : VIC_Priority: specifies the priority of the interrupt.
-* It can be a value from 0 to 15. 0 is the highest priority.
-* Output : None
-* Return : None
-*******************************************************************************/
-static void VIC_ITSourceConfig(u16 VIC_Source, u16 VIC_Priority)
-{
- if (VIC_Source < VIC_REGISTER_NUMBER) /* VIC0 */
- {
- VIC0->VCiR[VIC_Priority] &= VIC_IT_SOURCE_MASK;
- VIC0->VCiR[VIC_Priority] |= VIC_Source;
- }
- else /* VIC1 */
- {
- VIC1->VCiR[VIC_Priority] &= VIC_IT_SOURCE_MASK;
- VIC1->VCiR[VIC_Priority] |= VIC_Source - VIC_REGISTER_NUMBER;
- }
-}
-
-/*******************************************************************************
-* Function Name : VIC_Config
-* Description : Configure the ISR, the line, the mode and the priority for
-* each interrupt source line.
-* Input1 : VIC_Source: specifies the number of the source line.
-* This parameter can be one of the following values:
-* - WDG_ITLine : VIC source 0
-* - SW_ITLine : VIC source 1
-* - ARMRX_ITLine : VIC source 2
-* - ARMTX_ITLine : VIC source 3
-* - TIM0_ITLine : VIC source 4
-* - TIM1_ITLine : VIC source 5
-* - TIM2_ITLine : VIC source 6
-* - TIM3_ITLine : VIC source 7
-* - USBHP_ITLine : VIC source 8
-* - USBLP_ITLine : VIC source 9
-* - SCU_ITLine : VIC source 10
-* - ENET_ITLine : VIC source 11
-* - DMA_ITLine : VIC source 12
-* - CAN_ITLine : VIC source 13
-* - MC_ITLine : VIC source 14
-* - ADC_ITLine : VIC source 15
-* - UART0_ITLine : VIC source 16
-* - UART1_ITLine : VIC source 17
-* - UART2_ITLine : VIC source 18
-* - I2C0_ITLine : VIC source 19
-* - I2C1_ITLine : VIC source 20
-* - SSP0_ITLine : VIC source 21
-* - SSP1_ITLine : VIC source 22
-* - LVD_ITLine : VIC source 23
-* - RTC_ITLine : VIC source 24
-* - WIU_ITLine : VIC source 25
-* - EXTIT0_ITLine: VIC source 26
-* - EXTIT1_ITLine: VIC source 27
-* - EXTIT2_ITLine: VIC source 28
-* - EXTIT3_ITLine: VIC source 29
-* - USBWU_ITLine : VIC source 30
-* - PFQBC_ITLine : VIC source 31
-* Input2 : VIC_LineMode :specifies the type of interrupt of the source
-* line. This parameter can be one of the following values:
-* - VIC_IRQ: the correspondent line is configured as IRQ.
-* - VIC_FIQ: the correspondent line is configured as FIQ.
-* Input3 : VIC_Priority: specifies the priority of the interrupt.
-* It can be a value from 0 to 15. 0 is the highest priority.
-* Output : None
-* Return : None
-*******************************************************************************/
-void VIC_Config(u16 VIC_Source, VIC_ITLineMode VIC_LineMode, u8 VIC_Priority)
-{
- switch (VIC_Source)
- {
- case 0: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, WDG_IRQHandler);
- break;
-
- case 1: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, SW_IRQHandler);
- break;
-
- case 2: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, ARMRX_IRQHandler);
- break;
-
- case 3: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, ARMTX_IRQHandler);
- break;
-
- case 4: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, TIM0_IRQHandler);
- break;
-
- case 5: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, TIM1_IRQHandler);
- break;
-
- case 6: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, TIM2_IRQHandler);
- break;
-
- case 7: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, TIM3_IRQHandler);
- break;
-
- case 8: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, USBHP_IRQHandler);
- break;
-
- case 9: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, USBLP_IRQHandler);
- break;
-
- case 10: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, SCU_IRQHandler);
- break;
-
- case 11: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, ENET_IRQHandler);
- break;
-
- case 12: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, DMA_IRQHandler);
- break;
-
- case 13: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, CAN_IRQHandler);
- break;
-
- case 14: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, MC_IRQHandler);
- break;
-
- case 15: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, ADC_IRQHandler);
- break;
-
- case 16: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, UART0_IRQHandler);
- break;
-
- case 17: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, UART1_IRQHandler);
- break;
-
- case 18: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, UART2_IRQHandler);
- break;
-
- case 19: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, I2C0_IRQHandler);
- break;
-
- case 20: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, I2C1_IRQHandler);
- break;
-
- case 21: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, SSP0_IRQHandler);
- break;
-
- case 22: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, SSP1_IRQHandler);
- break;
-
- case 23: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, LVD_IRQHandler);
- break;
-
- case 24: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, RTC_IRQHandler);
- break;
-
- case 25: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, WIU_IRQHandler);
- break;
-
- case 26: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, EXTIT0_IRQHandler);
- break;
-
- case 27: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, EXTIT1_IRQHandler);
- break;
-
- case 28: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, EXTIT2_IRQHandler);
- break;
-
- case 29: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, EXTIT3_IRQHandler);
- break;
-
- case 30: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, USBWU_IRQHandler);
- break;
-
- case 31: VIC_ISRVectAddConfig(VIC_Source, VIC_Priority, PFQBC_IRQHandler);
- break;
-
- default: break;
- }
- VIC_ITModeConfig(VIC_Source, VIC_LineMode);
- VIC_VectEnableConfig(VIC_Source, VIC_Priority);
- VIC_ITSourceConfig(VIC_Source, VIC_Priority);
-}
-
-/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
OpenPOWER on IntegriCloud