以下是我的PCIE网络。
我的C6678(版本PG1.0)使用EMIF16加载方式,把一段PCIE配置的代码烧进了flash里,让其上电时实现PCIE的初始化。
上电时,主机会扫描外部PCIE设备,会听到主机哒哒的尝试连接设备的过程。
发现现象是:主机尝试连接几次后,链接不上DSP,但FPGA能连接上。开机后,会发现出现了FPGA设备(bar空间正常),而DSP由于链接失败也就没有DSP的设备信息。
如果我不让其上电加载PCIE的配置代码,例如上电什么也不加载(DSP空白),上电完成后,用CCS运行DSP的PCIE配置代码,然后再电脑中的设备管理器中扫描即插即用新设备,会出现DSP的设备,但没有空间信息描述(bar),因为不是上电扫描发现的设备、没有给分配地址空间嘛。
我想直接上电后正确找到设备。我应该怎么做呢?我的做法有什么不正或需要注意的地方吗?为什么链接不上?
是不是C6678的PCIE有什么问题呢?还是有什么特殊注意的地方?
Andy Yin1:
您好,
正常情况下,只需要将DSP配置成PCIe boot之后ROM code会完成PCIe的默认初始配置,之后在host端就能检测到PCIe设备。但是由于PG1.0存在bug,需要EEPROM中烧写IBL进行修复之后才能检测到PCIe。如果您的板子没有EEPROM可以直接配成PCIe boot,不需要在EMIF16中烧写程序,进行测试看看能否检测到。
从您的测试现象来看,EMIF16中烧写的程序应该是没有运行成功,很有可能是没有对应的EEPROM中烧写IBL进行修复上述提到的bug的原因。具体参考如下帖子。
www.deyisupport.com/…/7084.aspx