在vxworks 6.8环境下,使用同步IO中断模式。但是不能进中断服务模式
问题描述:
硬件: i7处理器, PCI板卡
软件: vxworks 6.8。2
现象: 死活不进板卡的中断服务程序,但是相同的驱动程序在vxworks6.6和pentium4平台下就可以正常运行;
配置: 在i7的平台上,使用的是同步IO模式即APIC中断,在pentium4使用的8259中断,这是区别;
中断挂接方式:
pciConfigInByte(BusNo, DeviceNo, FuncNo, PCI_CLOCK_PCIILR, &ucIntNum);
ucIntNum = 0xb;
pciIntConnect(INUM_TO_IVEC(INT_NUM_GET(ucIntNum)), routine, parameter);
sysIntEnablePIC(ucIntNum);
挂接函数返回值正确,使能返回值也是正确;
在I7 的BSP里,肯定是有同步IO模式定义的;
查看资料是这样的: APIC模式并不使用bios定义的配置空间的中断号,而是在启动的时候再重新分配中断号,linux环境里面有个接口函数pci_enable_device,请教高手,vxworks是否有中断号重新定义的功能或者接口函数??
还有就是APIC使用的中断号是在16,17,18,19等,如果读取来的是11是不是说中断号错了??如何能获取正确的中断号??修改bios程序吗??
谢谢!