📄 bbu_dd_irqadl.c
字号:
IRQ_disable(IRQ_EVT_TINT2);
IRQ_disable(IRQ_EVT_DSPINT);
IRQ_disable(IRQ_EVT_VCPINT);
IRQ_disable(IRQ_EVT_TCPINT);
IRQ_disable(IRQ_EVT_RINT0);
IRQ_globalEnable();
}
/*----------------------------------------------------------------------------*/
/*******************************************************************************
* 函数名称: _IRQ_5msFrameIsr *
* 函数描述: 5ms subframe interrupt service rountine *
* 相关文档: *
* 参数描述: 无 *
* 返回值: 无 *
* 说明: *
*******************************************************************************/
interrupt void IRQ_5msFrameIsr(void)
{
gpio5msFrameIntCount++;
}
/*----------------------------------------------------------------------------*/
/*******************************************************************************
* 函数名称: _IRQ_10msSlotReadyIsr *
* 函数描述: 10ms frame, slot, uplink data ready interrupt service rountine *
* 相关文档: *
* 参数描述: 无 *
* 返回值: 无 *
* 说明: *
*******************************************************************************/
interrupt void IRQ_10msSlotReadyIsr(void)
{
gpio10msSlotReadyCount++;
}
/*----------------------------------------------------------------------------*/
/*******************************************************************************
* 函数名称: _IRQ_timer0Isr *
* 函数描述: Timer0 interrupt service rountine *
* 相关文档: *
* 参数描述: 无 *
* 返回值: 无 *
* 说明: *
*******************************************************************************/
interrupt void IRQ_timer0Isr(void)
{
timerIntCount[TIMER_DEV0]++;
}
/*----------------------------------------------------------------------------*/
/*******************************************************************************
* 函数名称: _IRQ_timer1Isr *
* 函数描述: Timer1 interrupt service rountine *
* 相关文档: *
* 参数描述: 无 *
* 返回值: 无 *
* 说明: *
*******************************************************************************/
interrupt void IRQ_timer1Isr(void)
{
timerIntCount[TIMER_DEV1]++;
}
/*----------------------------------------------------------------------------*/
/*******************************************************************************
* 函数名称: _IRQ_timer2Isr *
* 函数描述: Timer2 interrupt service rountine *
* 相关文档: *
* 参数描述: 无 *
* 返回值: 无 *
* 说明: *
*******************************************************************************/
interrupt void IRQ_timer2Isr(void)
{
timerIntCount[TIMER_DEV2]++;
}
/*----------------------------------------------------------------------------*/
/*******************************************************************************
* 函数名称: _IRQ_hpiIsr *
* 函数描述: HPI to DSP interrupt service rountine *
* 相关文档: *
* 参数描述: 无 *
* 返回值: 无 *
* 说明: *
*******************************************************************************/
interrupt void IRQ_hpiIsr(void)
{
HPI_setDspint(1); /* DSP clear DSPINT bit in HPIC */
hpiDspIntFlag = 1;
}
/*----------------------------------------------------------------------------*/
/*******************************************************************************
* 函数名称: _IRQ_vcpIsr *
* 函数描述: VCP to DSP interrupt service rountine *
* 相关文档: *
* 参数描述: 无 *
* 返回值: 无 *
* 说明: *
*******************************************************************************/
interrupt void IRQ_vcpIsr(void)
{
}
/*----------------------------------------------------------------------------*/
/*******************************************************************************
* 函数名称: _IRQ_tcpIsr *
* 函数描述: TCP to DSP interrupt service rountine *
* 相关文档: *
* 参数描述: 无 *
* 返回值: 无 *
* 说明: *
*******************************************************************************/
interrupt void IRQ_tcpIsr(void)
{
}
/*----------------------------------------------------------------------------*/
/******************************************************************************\
* EDMA Interrupt Service Function List
\******************************************************************************/
#pragma DATA_SECTION(tccFuncTableLow,".gvariable");
static EDMA_IntHandler tccFuncTableLow[32] =
{
EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler,
EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler,
EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler,
EDMA_tccXEvt0Handler, EDMA_tccREvt0Handler, EDMA_tccXEvt1Handler, EDMA_tccREvt1Handler,
EDMA_intDefaultHandler, EDMA_tccXEvt2Handler, EDMA_tccREvt2Handler, EDMA_intDefaultHandler,
EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_tccWDpramHandler, EDMA_tccRDpramHandler,
EDMA_tccWSdramHandler, EDMA_tccRSdramHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler,
EDMA_tccVcpREvtHandler, EDMA_tccVcpXEvtHandler, EDMA_tccTcpREvtHandler, EDMA_tccTcpXEvtHandler
};
#pragma DATA_SECTION(tccFuncTableHigh,".gvariable");
static EDMA_IntHandler tccFuncTableHigh[32] =
{
EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler,
EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler,
EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler,
EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler,
EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler,
EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler,
EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler,
EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler, EDMA_intDefaultHandler
};
/*******************************************************************************
* 函数名称: _IRQ_edmaIsr *
* 函数描述: EDMA interrupt service rountine *
* 相关文档: *
* 参数描述: 无 *
* 返回值: 无 *
* 说明: *
*******************************************************************************/
interrupt void IRQ_edmaIsr(void)
{
Uint32 gie;
register Uint32 intMask,tcc;
gie = IRQ_globalDisable();
intMask = EDMA_RGET(CIPRL) & EDMA_RGET(CIERL);
EDMA_RSET(CIPRL,intMask);
while (intMask)
{
tcc = 31-_lmbd(1,intMask); // Find Left-most Bit Number
tccFuncTableLow[tcc](tcc); // Call the EDMA ISR Function
intMask ^= 1<<tcc; // Clear This Bit in the intMask
}
intMask = EDMA_RGET(CIPRH) & EDMA_RGET(CIERH);
EDMA_RSET(CIPRH,intMask);
while (intMask)
{
tcc = 31-_lmbd(1,intMask); // Find Left-most Bit Number
tccFuncTableHigh[tcc](tcc+32); // Call the EDMA ISR Function
intMask ^= 1<<tcc; // Clear This Bit in the intMask
}
IRQ_globalRestore(gie);
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_intDefaultHandler(Sint32 tccNum)
{
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccXEvt0Handler(Sint32 tccNum)
{
mcbspTxIntFlag = 1;
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccXEvt1Handler(Sint32 tccNum)
{
mcbspTxIntFlag = 1;
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccXEvt2Handler(Sint32 tccNum)
{
mcbspTxIntFlag = 1;
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccREvt0Handler(Sint32 tccNum)
{
mcbspRxIntCount[0]++;
if(mcbspRxIntCount[0] > 2) mcbspRxIntCount[0] = 1;
mcbspRxIntFlag = mcbspRxIntCount[0];
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccREvt1Handler(Sint32 tccNum)
{
mcbspRxIntCount[1]++;
if(mcbspRxIntCount[1] > 2) mcbspRxIntCount[1] = 1;
mcbspRxIntFlag = mcbspRxIntCount[1];
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccREvt2Handler(Sint32 tccNum)
{
mcbspRxIntCount[2]++;
if(mcbspRxIntCount[2] > 2) mcbspRxIntCount[2] = 1;
mcbspRxIntFlag = mcbspRxIntCount[2];
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccWDpramHandler(Sint32 tccNum)
{
emifaDpramIntFlag = 1;
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccRDpramHandler(Sint32 tccNum)
{
emifaDpramIntFlag = 1;
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccWSdramHandler(Sint32 tccNum)
{
emifaSdramIntFlag = 1;
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccRSdramHandler(Sint32 tccNum)
{
emifaSdramIntFlag = 1;
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccVcpREvtHandler(Sint32 tccNum)
{
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccVcpXEvtHandler(Sint32 tccNum)
{
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccTcpREvtHandler(Sint32 tccNum)
{
}
/*----------------------------------------------------------------------------*/
CSLAPI void EDMA_tccTcpXEvtHandler(Sint32 tccNum)
{
}
/*----------------------------------------------------------------------------*/
/******************************************************************************\
* End of BBU_DD_IrqAdl.c
\******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -