wince5.0自带s3c2410BSP的interrupthandle()函数当中的NKCallIntChain()作用

243663934   2010-6-7 16:04 楼主
在WinCE 5.0自带的s3c2410当中的interrupthandle()当中的
      sysIntr = NKCallIntChain((UCHAR)irq);
        if (sysIntr == SYSINTR_CHAIN || !NKIsSysIntrValid(sysIntr))
                {
            // IRQ wasn't claimed, use static mapping
            sysIntr = OALIntrTranslateIrq(irq);
        }
这段代码的看了以后,产生了以下问题,希望各位高手帮助解答下。
1.我们常说ISR到底是指什么,仅仅指ULONG OEMInterruptHandler(ULONG ra)函数吗?
2.调用NKCallIntChain((UCHAR)irq)函数的作用是返回逻辑中断号,而sysIntr = OALIntrTranslateIrq(irq)也是返回逻辑中断号,两者功能有何不同?

在Wince5.0自带的map.c函数中明明是说这个函数起把IRQ翻译成SYSINTR的作用,怎么interrupthandle()说是// IRQ wasn't claimed, use static mapping
//  Function:  OALIntrTranslateIrq
//
//  This function maps a IRQ to its corresponding SYSINTR.
//

UINT32 OALIntrTranslateIrq(UINT32 irq)
{
    UINT32 sysIntr = SYSINTR_UNDEFINED;
   
    OALMSG(OAL_FUNC&&OAL_VERBOSE, (L"+OALIntrTranslateIrq(%d)\r\n", irq));

    if (irq >= OAL_INTR_IRQ_MAXIMUM) goto cleanUp;
    sysIntr = g_oalIrq2SysIntr[irq];

cleanUp:
    OALMSG(OAL_FUNC&&OAL_VERBOSE, (
        L"-OEMTranslateIrq(sysIntr = %d)\r\n", sysIntr
    ));
    return sysIntr;
}

回复评论 (1)

强烈希望有人回贴!
点赞  2010-6-8 08:20
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复