我的硬件平台是一块C6678 evm和一块AMC转PCIE的适配器,我按照论坛里的方法烧写了IBL,把switch设置为pcie bootmode。插在PC的PCIE槽上,然后开机,结果是没有发现设备。我的IBL应该烧写正确了,因为我SPI boot是正常的。 然后我转换成no boot模式,利用PDK里的PCIE例程,运行程序后停到 /* Wait for link to be up */ pcieWaitLinkUp(handle);就无法运行下去,这表示link不上PCIE。 我想请问一下,这种情况该如何解决。适配器本身有问题的几率大吗?
Andy Yin1:
1. 在No boot 下运行STK中的PCIe例程测试看能否通过;
2 根据如下链接重新烧写IBL:
http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/6490.aspx
建议使用最新的MCSDK中的IBL进行测试:http://www.ti.com/tool/bioslinuxmcsdk
lester zhang:
回复 Andy Yin1:
andy 你好,感谢你的回复。我看了那个IBL Build Burn文档,其中关于load memory地址的问题。我在其他地方看到的load地址为0x0c000000。而文档中提到的地址是0x80000000。究竟哪个为准啊
lester zhang:
回复 Andy Yin1:
我用STK的例子试了试,还是不行。打印完PCIE start link training…,就无法继续执行了
while(LTSSM_STAT_L0 != ((gpPCIE_CAP_implement_regs->DEBUG0 &CSL_PCIE_CFG_SPACE_ENDPOINT_DEBUG0_LTSSM_STATE_MASK) >>CSL_PCIE_CFG_SPACE_ENDPOINT_DEBUG0_LTSSM_STATE_SHIFT));
是不是可以确定是适配器的问题了,如果是,我就要去换了
Andy Yin1:
回复 lester zhang:
不接AMC转PCIe的子卡,使用STK测试loopback时可以通过么?
lester zhang:
回复 Andy Yin1:
测试了STK 例子的loopback,可以正常通过
Andy Yin1:
回复 lester zhang:
你是将EVM与转接板连接在一起进行的测试么? 这样测试PCIe link应该会失败。
你可以重新下载最新MCSDK中的IBL,将板卡设置为PCIe boot,然后将EVM通过AMC2PCIE卡插到PC上测试看看。
lester zhang:
回复 Andy Yin1:
我测loopback的时候是连接在一起的,测试并没有失败。
更新IBL有意义吗?我用例程也无法link上,难道用boot的方法就可以?
Andy Yin1:
回复 lester zhang:
你用例程测试的时候硬件是怎么连接的,EVM与AMC2PCIe连接,然后插在PC主板上,然后通过仿真器下载程序测试么?
为何建议更新IBL,主要是由于我们之前也遇到过类似问题,EVM中烧写的IBL版本太旧,更新之后就ok了,所以建议更新IBL试试,如果不行可以考虑换个AMC2PCIe子卡。
lester zhang:
回复 Andy Yin1:
我用例程测试的步骤是
1.先把EVM与AMC2PCIe相连
2.插入PC的PCIE槽内
3.开机
4通过EVM上的仿真器将.out文件下载进去运行
这样操作有问题吗?