⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bbu_dd_irqadl.c

📁 本源代码为TI 公司TMS320C6416 DSP芯片自检测程序
💻 C
📖 第 1 页 / 共 2 页
字号:
    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 + -