各位TI的高手好,
我最近在做一个项目用到了C6678的PCIE,通过PCIe连接6678和一个PC主机(win7),我已经成功跑起来了pdk中PCIe的例程,在PC上用WinDriver也能发现设备。现在有几个问题想要搞明白:
1.pdk的PCIE例程中配置了bar1基地址为0x70000000,我通过WinDriver查看bar1基地址也是0x70000000,然后用WinDriver在bar1中写数据,那么该数据写在6678的DDR中的物理地址是多少?
2.我把bar1的基地址改为0x90000000后,发现数据写在了6678的DDR中0x60000000的物理地址上,这个映射可以在哪里找到?我应该怎么配置Bar1才可以让它映射在想要的物理地址上?
3.这个映射和Inbound和Outbound的配置有无关系?我改了inbound的addr_Lo后发现bar1为0x90000000使数据还是写在了DDR的0x60000000上。
Herry Leo:
回复 Thomas Yang1:
谢谢,很详细,我在Windriver上看到的的BAR1的地址和我在6678配置的一样的原因也找到了,是因为上电顺序问题,应该6678先上电,Windows才会给它分配资源