在dsp(DM642)上使用PCI_dspIntReqSet()函数,不能产生中断。在硬件仿真下测试,我使用万用表测量了INTA#脚,始终为高,但在发中断与清中断切换时,用windriver观察HSR的值在00000003和00000001之间切换,说明两条语句执行了,主要程序如下:希望大家帮我看看原因是什么?谢谢!
void main() // 主函数
{
CSL_init();//初始化CSL库
pci_ptr=(int *)_PCI_PCIIS_ADDR;
*pci_ptr=*pci_ptr|0x08;
IRQ_setVecs(vectors);//装载中断向量表
IRQ_globalEnable();//使能全局中断
IRQ_nmiEnable();
while(1)
{
PCI_dspIntReqSet();
EVMDM642_waitusec(200000);
PCI_dspIntReqClear();
}
}
Louis:
具体可以参考以下文档的相关章节:
1.TMS320C6000 Chip Support Library API Reference Guide (Rev. J) www.ti.com/…/spru401j
2.TMS320C6000 DSP Peripheral Component Interconnect (PCI) Reference Guide (Rev. C) www.ti.com/…/spru581c.pdf
谢谢!
fengzhichang feng:
回复 Louis:
您好,谢谢您得回答,您提的手册我看了,但还是不知道原因在哪,您能说的详细些吗?
TI中文支持网

