TI中文支持网
TI专业的中文技术问题搜集分享网站

有关PCIE和主机通信的问题,如下所示,在0x21800064上写1,通知主机产生中断,如果禁用MSI,将生成遗留中断断言消息。问题1,只要写1了之后,如果不写0的话,是不是主机的中断一直处在挂起的状态,其它的中断程序都不会执行? 问题2,后面的那句如果禁用了MSI,将产生遗留的中断断言消息,我可以理解为MSI是用来消除PCIE发向主机的中断的吗?

#define PCIE_EP_IRQ_SET 0x21800064 //EP_IRQ_SET, Endpoint Interrupt Request Set Register,Write 1 to generate assert interrupt message.
//If MSI is disabled, legacy interrupt assert message will be generated.

Void ClearInterruptToHost()
{
*((UInt32 *)PCIE_EP_IRQ_SET) = 0x0; printf("DSP clear interrupt to host.\n");
}

Shine:

是的,一次只有一个中断被挂起,请参考PCIe文档说明。
2.14.2.1 Legacy Interrupt Generation in EP Mode
Once an assert message has been generated, it cannot be generated again until a deassert message is generated. Thus, only one interrupt can be pending at a time.

user5301336:

回复 Shine:

如果我想执行其它中断服务程序,这个中断要需要禁止吗?如果需要,那要怎么禁止?

user5301336:

回复 Shine:

您好,方便给一个PCIE文档的链接吗?我在官网并没有找到

Shine:

回复 user5301336:

如果其他优先级比这个中断要低,又不想被该中断打断的话,可以禁止该中断。
4. Write 0x1 to EP_IRQ_CLR register to disable the legacy interrupt by sending a
deassert INT A/B/C/D message.

Shine:

回复 user5301336:

PCIE文档请到下面的链接下载。
www.ti.com/…/sprugs6d.pdf

user5301336:

回复 Shine:

我想执行完这个pcie的ISR,是在这个ISR中禁止这个中断吗?

赞(0)
未经允许不得转载:TI中文支持网 » 有关PCIE和主机通信的问题,如下所示,在0x21800064上写1,通知主机产生中断,如果禁用MSI,将生成遗留中断断言消息。问题1,只要写1了之后,如果不写0的话,是不是主机的中断一直处在挂起的状态,其它的中断程序都不会执行? 问题2,后面的那句如果禁用了MSI,将产生遗留的中断断言消息,我可以理解为MSI是用来消除PCIE发向主机的中断的吗?
分享到: 更多 (0)