最近写一个sja1000的PCI can驱动,得到irq号后,通过pciIntConnect()链接中断总是返回ERROR,执行失败,通过查看pciIntLib.c中该函数的源码,知道在执行该函数前需要先执行pciIntLibInit()函数将pciIntLibInitStatus变量赋值为OK才可以。但是在BSP目录下,负责PCI设备库初始化的两个文件为pciCfgStub.c和pciCfgIntStub.c,其中pciCfgIntStub.c中调用了 pciIntLibInit()函数,可是却被#ifndef INCLUDE_VXBUS包围着,也就是说定义了 INCLUDE_VXBUS就不能执行 pciIntLibInit函数。
我在网上查说是sysPciIntInit(void)需要在syslib.c的sysHwInit函数中执行以初始化PCI中断库,可是由于我的BSP中已经定义了INCLUDE_VXBUS,因此所有这些函数都得不到运行,导致pciIntConnect执行失败,关键是INCLUDE_VXBUS这个component不能取消啊,那个大神能告诉我该怎么做???小弟不胜感激···好人一生平安