📄 niq32.c
字号:
/******************************************************************************
TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION
Property of Texas Instruments -- For Unrestricted Internal Use Only
Unauthorized reproduction and/or distribution is strictly prohibited. This
product is protected under copyright law and trade secret law as an
unpublished work. Created 1987, (C) Copyright 1997 Texas Instruments. All
rights reserved.
Filename : niq32.c
Description : Nucleus IQ initializations
Project : Drivers
Author : proussel@ti.com Patrick Roussel.
Version number : 1.12
Date and time : 02/19/01 14:01:50
Previous delta : 12/19/00 14:24:51
SCCS file : /db/gsm_asp/db_ht96/dsp_0/gsw/rel_0/mcu_l1/release_gprs/mod/emu_p/EMU_P_FRED_ADC/drivers1/common/SCCS/s.niq32.c
Sccs Id (SID) : '@(#) niq32.c 1.12 02/19/01 14:01:50 '
*******************************************************************************/
#include "l1_sw.cfg"
#if(!OP_L1_STANDALONE)
#include "chipset.cfg"
#include "debug.cfg"
#include "board.cfg"
#include "rv_defined_swe.h"
#include "rtc_config.h"
#endif
#include "sys_types.h"
#include "serialswitch.h"
#include "mem.h"
#include "inth.h"
#include "sim.h"
#include "abb_inth.h" // for External Interrupt
#define IQ_H
#include "iq.h"
#include "ulpd.h"
#if (defined RVM_DAR_SWE) && (defined _GSM)
extern void dar_watchdog_reset(void);
#endif
#if ((BOARD == 8) || (BOARD == 9) || (BOARD == 40) || (BOARD == 41) || (BOARD == 43) || (BOARD == 45))
#include "armio.h"
#include "uartfax.h"
#endif
/* External declaration */
extern void GAUGING_Handler(void);
extern void TMT_Timer_Interrupt(void);
extern void kpd_key_handler(void);
extern void TP_FrameIntHandler(void);
#if (!OP_L1_STANDALONE)
#if (defined RVM_MPM_SWE)
extern void MPM_InterruptHandler(void);
#endif
#if (TI_PROFILER == 1)
extern void ti_profiler_tdma_action(void);
#endif
extern void RTC_GaugingHandler(void);
extern void RTC_ItTimerHandle(void);
extern void RTC_ItAlarmHandle(void);
#endif
/* Global variables */
unsigned IQ_TimerCount1; /* Used to check if timer is incrementing */
unsigned IQ_TimerCount2; /* Used to check if timer is incrementing */
unsigned IQ_TimerCount; /* Used to check if timer is incrementing */
unsigned IQ_DummyCount; /* Used to check if dummy IT */
unsigned IQ_FrameCount; /* Used to check if Frame IT TPU*/
unsigned IQ_GsmTimerCount; /* Used to check if GSM Timer IT */
/* add this two variables for imported 188 functions, Jeffrey, 02/26/04 */
typedef struct GPIO_HISR_INFO
{
NU_HISR hisr;
char hisr_stack[1024];
} T_GPIO_HISR_INFOS;
static T_GPIO_HISR_INFOS gpio_hisr_infos = {0};
int g_interrupt = 0;
extern void Hall_OC_IntHandler( void ) ;
/*--------------------------------------------------------------*/
/* irqHandlers */
/*--------------------------------------------------------------*/
/* Parameters :none */
/* Return : none */
/* Functionality : Table of interrupt handlers */
/* These MUST be 32-bit entries */
/*--------------------------------------------------------------*/
SYS_FUNC irqHandlers[IQ_NUM_INT] =
{
IQ_TimerHandler, /* Watchdog timer */
IQ_TimerHandler1, /* timer 1 */
IQ_TimerHandler2, /* timer 2 */
IQ_Dummy, /* AIRQ 3 */
IQ_FrameHandler, /* TPU Frame It AIRQ 4 */
IQ_Dummy, /* AIRQ 5 */
#if (OP_L1_STANDALONE)
IQ_Dummy,
#else
SIM_IntHandler, /* AIRQ 6 */
#endif
#if ((CHIPSET == 2) || (CHIPSET == 3))
SER_uart_handler, /* AIRQ 7 */
#elif ((CHIPSET == 4) || (CHIPSET == 5) || (CHIPSET == 6) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 9) || (CHIPSET == 10) || (CHIPSET == 11) || (CHIPSET == 12))
SER_uart_modem_handler, /* AIRQ 7 */
#endif
#if (CHIPSET == 12)
IQ_KeypadHandler, /* AIRQ 8 */
#else
#if ((BOARD == 8) || (BOARD == 9) || (BOARD == 40) || (BOARD == 41))
IQ_KeypadGPIOHandler, /* AIRQ 8 */
#else
IQ_KeypadHandler, /* AIRQ 8 */
#endif
#endif
IQ_Rtc_Handler, /* AIRQ 9 RTC Timer*/
#if ((CHIPSET == 2) || (CHIPSET == 3))
IQ_RtcA_GsmTim_Handler, /* AIRQ 10 RTC ALARM OR ULPD GSM TIMER*/
#elif ((CHIPSET == 4) || (CHIPSET == 5) || (CHIPSET == 6) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 9) || (CHIPSET == 10) || (CHIPSET == 11) || (CHIPSET == 12))
IQ_RtcA_Handler, /* AIRQ 10 RTC ALARM */
#endif
IQ_Gauging_Handler, /* AIRQ 11 ULPD GAUGING */
IQ_External, /* AIRQ 12 */
IQ_Dummy, /* AIRQ 13 */
IQ_Dummy, /* DMA interrupt */
#if (CHIPSET == 4)
IQ_Dummy, /* LEAD */
IQ_Dummy, /* SIM card-detect fast interrupt */
IQ_Dummy, /* External fast interrupt */
SER_uart_irda_handler, /* UART IrDA interrupt */
IQ_GsmTim_Handler /* ULPD GSM timer */
#elif ((CHIPSET == 5) || (CHIPSET == 6))
IQ_Dummy, /* LEAD */
IQ_Dummy, /* SIM card-detect fast interrupt */
IQ_Dummy, /* External fast interrupt */
SER_uart_irda_handler, /* UART IrDA interrupt */
IQ_GsmTim_Handler, /* ULPD GSM timer */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy /* GEA interrupt */
#elif ((CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))
IQ_Dummy, /* LEAD */
IQ_Dummy, /* SIM card-detect fast interrupt */
IQ_Dummy, /* External fast interrupt */
SER_uart_irda_handler, /* UART IrDA interrupt */
IQ_GsmTim_Handler, /* ULPD GSM timer */
IQ_Dummy /* GEA interrupt */
#elif (CHIPSET == 9)
IQ_Dummy, /* LEAD */
IQ_Dummy, /* SIM card-detect fast interrupt */
IQ_Dummy, /* External fast interrupt */
SER_uart_irda_handler, /* UART IrDA interrupt */
IQ_GsmTim_Handler, /* ULPD GSM timer */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy /* Reserved */
#elif (CHIPSET == 12)
IQ_Dummy, /* IRQ15 - LEAD */
IQ_Dummy, /* IRQ16 - GPIO */
IQ_Dummy, /* IRQ17 - External fast interrupt */
SER_uart_irda_handler, /* IRQ18 - UART IrDA interrupt */
IQ_GsmTim_Handler, /* IRQ19 - ULPD GSM timer */
IQ_Dummy, /* IRQ20 - GEA interrupt */
IQ_Dummy, /* IRQ21 - External general Purpose interrupt IRQ1 */
IQ_Dummy, /* IRQ22 - External general Purpose interrupt IRQ2 */
IQ_Dummy, /* IRQ23 - USIM card insertion/extraction */
IQ_Dummy, /* IRQ24 - USIM */
IQ_Dummy, /* IRQ25 - LCD */
IQ_Dummy, /* IRQ26 - USB */
IQ_Dummy, /* IRQ27 - MMC/SD/Memory Stick */
SER_uart_modem2_handler,/* IRQ28 - UART_MODEM2 */
IQ_Dummy, /* IRQ29 - 2nd level interrupt handler */
IQ_Dummy, /* IRQ30 - I2C or uWIRE */
IQ_Dummy /* IRQ31 - NAND FLASH */
#else
IQ_Dummy /* LEAD */
#endif
};
#if ((CHIPSET == 4) || (CHIPSET == 5) || (CHIPSET == 6) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 9) || (CHIPSET == 10) || (CHIPSET == 11) || (CHIPSET == 12))
/*--------------------------------------------------------------*/
/* fiqHandlers */
/*--------------------------------------------------------------*/
/* Parameters :none */
/* Return :none */
/* Functionality : Table of interrupt handlers */
/* These MUST be 32-bit entries */
/*--------------------------------------------------------------*/
SYS_FUNC fiqHandlers[IQ_NUM_INT] =
{
IQ_Dummy, /* Watchdog timer */
IQ_Dummy, /* timer 1 */
IQ_Dummy, /* timer 2 */
IQ_Dummy, /* AIRQ 3 */
IQ_Dummy, /* TPU Frame It AIRQ 4 */
IQ_Dummy, /* AIRQ 5 */
IQ_Dummy, /* AIRQ 6 */
IQ_Dummy, /* AIRQ 7 */
IQ_Dummy, /* AIRQ 8 */
IQ_Dummy, /* AIRQ 9 RTC Timer */
IQ_Dummy, /* AIRQ 10 RTC ALARM */
IQ_Dummy, /* AIRQ 11 ULPD GAUGING */
IQ_Dummy, /* AIRQ 12 */
IQ_Dummy, /* AIRQ 13 Spi Tx Rx interrupt */
IQ_Dummy, /* DMA interrupt */
IQ_Dummy, /* LEAD */
#if (CHIPSET == 12)
IQ_Dummy, /* IRQ16 - GPIO */
#else
#if (OP_L1_STANDALONE)
IQ_Dummy,
#else
/* glowing, 2004-06-08, replace SIM with Hall according to 188 */
Hall_OC_IntHandler, /* glowing,2003-12-18, Hall open-close fast interrupt, it replace SIM_CD_IntHandler */
//SIM_CD_IntHandler, /* SIM card-detect fast interrupt */
#endif
#endif
IQ_Dummy, /* External fast interrupt */
IQ_Dummy, /* UART_IRDA interrupt */
#if (CHIPSET == 4)
IQ_Dummy /* ULPD GSM timer */
#elif ((CHIPSET == 5) || (CHIPSET == 6))
IQ_Dummy, /* ULPD GSM timer */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy /* GEA interrupt */
#elif ((CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11))
IQ_Dummy, /* ULPD GSM timer */
IQ_Dummy /* GEA timer */
#elif (CHIPSET == 9)
IQ_Dummy, /* ULPD GSM timer */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy, /* Not mapped interrupt */
IQ_Dummy /* Reserved */
#elif (CHIPSET == 12)
IQ_Dummy, /* IRQ19 - ULPD GSM timer */
IQ_Dummy, /* IRQ20 - GEA interrupt */
IQ_Dummy, /* IRQ21 - External general Purpose interrupt IRQ1 */
IQ_Dummy, /* IRQ22 - External general Purpose interrupt IRQ2 */
IQ_Dummy, /* IRQ23 - USIM card insertion/extraction */
IQ_Dummy, /* IRQ24 - USIM */
IQ_Dummy, /* IRQ25 - LCD */
IQ_Dummy, /* IRQ26 - USB */
IQ_Dummy, /* IRQ27 - MMC/SD/Memory Stick */
IQ_Dummy, /* IRQ28 - UART_MODEM2 */
IQ_Dummy, /* IRQ29 - 2nd level interrupt handler */
IQ_Dummy, /* IRQ30 - I2C or uWIRE */
IQ_Dummy /* IRQ31 - NAND FLASH */
#endif
};
#endif
/*--------------------------------------------------------------*/
/* IQ_Gauging_Handler */
/*--------------------------------------------------------------*/
/* Parameters :none */
/* Return : none */
/* Functionality : Handle unused interrupts */
/*--------------------------------------------------------------*/
void IQ_Gauging_Handler(void)
{
GAUGING_Handler();
#if (!OP_L1_STANDALONE)
RTC_GaugingHandler();
#endif
}
/*--------------------------------------------------------------*/
/* IQ_External */
/*--------------------------------------------------------------*/
/* Parameters : none */
/* Return : none */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -