阅读:2172回复:1
VxWorks的设备枚举问题
我现在所用的平台是一块X86的板卡。上面有一个CPCI的桥片PCI6466。在BIOS进行枚举的时候已经给这个设备分配了大小和基地址,我现在想通过软件来修改其配置的空间的大小,所以要对总线重新进行一次扫描。利用函数pciAutoConfig()。但是里面的对于X86平台下对PCI设备的基地址分配不知道如何去做。比如结构体(定义在pciAutoConfig.h中):
typedef struct pciSystem /* PCI_SYSTEM, auto configuration info */ { UINT pciMem32; /* 32 bit prefetchable memory location */ UINT pciMem32Size; /* 32 bit prefetchable memory size */ UINT pciMemIo32; /* 32 bit non-prefetchable memory location */ UINT pciMemIo32Size; /* 32 bit non-prefetchable memory size */ UINT pciIo32; /* 32 bit io location */ UINT pciIo32Size; /* 32 bit io size */ UINT pciIo16; /* 16 bit io location */ UINT pciIo16Size; /* 16 bit io size */ 中的这几个地址应该如何去分配,我现在不是很清楚。 希望那位大哥给予指点。谢谢! |
|
沙发#
发布于:2008-05-18 15:41
为什么要自己枚举呢?这些地址的Size是根据硬件决定的,基地址在4G空间内随意放置,通常大于物理内存。映射时VxWorks会帮你决定是否映射成功,映射成功后即可将基地址写回到板卡上。
|
|