向大家请教一个问题,毕业急用!谢谢啦!
基于PMP-10D-X型PC/104定制了Linux系统(内核版本:2.6.37.6)。
现在通过PCI接口连接一个FPGA。
FPGA地址映射到内存上,Linux系统只需要对内存操作就相当于对FPGA操作。
那现在如何在Linux系统下获得PCI设备基地址?
我使用了lspci -v命令查出FPGA的信息为:Memory at e8000000 (32-bits, non-prefetchable)[size=1M],
这里的e8000000是不是就是所谓的基地址?
然后,我在Linux系统中,编了一个程序:
#include
int main()
{
int i=0;
int *p=0xe8000000;
printf("hello world ! \n");
for (i=0;i<10;i++)
{
printf("%d ", *(p+i)) ;
}
return 0;
}
编译运行显示:
hello world !
Segmentation fault !
所以现在就想请教大家:
这个地址是不是FPGA的基地址?
如果是,为什么出现这种错误?
如果不是,那如何才能获取PCI设备基地址?