引用: zbb9612 发表于 2018-5-25 02:54
您好,
如果要让PC枚举到C6678设备,不需要运行你所谓的exampledesign工程,只需要C6678配置成EP,PC作为RC,将EVM配置为PCIe boot之后,在Windows下就能找到C6678设备。如果windows系统复位后,如你所说,对C6678进行下电复位或者进行local reset即可让C6678被枚举到。
不太明白你最后“让6678获得windows系统分配资源”, ...
感谢您的解答,通过把6678配置成pcieboot,成功与windows链接上了,但是Windows重新启动的时候,我观察到地址是0x21800004的寄存器CMD_STATUS的最后一位ltssm_enable位(链路训练使能)变成了0,即链路训练被关掉了。并且不会自动再变成1。这样导致了重启连接不上。
计算机重新启动的过程中,一共会有两次把这个寄存器改变,从而不使能链路训练,我通过jtag手动修改这个寄存器来使能链路训练,则计算机就能成功枚举并给6678分配资源。
1.我想知道为什么使能有效位会被改变,是不是6678这边的其他什么寄存器设置不正确?
2.6678如何能知道计算机进行了重新启动呢??我的6678与计算机之通过pcie差分线相连啊,没有其他单端控制线。
3.另外1.0版本的pcieboot是不是需要进行i2c的二次引导修复bug呢?我现在没有做这一步,但是pcieboot也成功了啊
引用: zbb9612 发表于 2018-5-25 02:54
您好,
如果要让PC枚举到C6678设备,不需要运行你所谓的exampledesign工程,只需要C6678配置成EP,PC作为RC,将EVM配置为PCIe boot之后,在Windows下就能找到C6678设备。如果windows系统复位后,如你所说,对C6678进行下电复位或者进行local reset即可让C6678被枚举到。
不太明白你最后“让6678获得windows系统分配资源”, ...
感谢您的解答,通过把6678配置成pcieboot,成功与windows链接上了,但是Windows重新启动的时候,我观察到地址是0x21800004的寄存器CMD_STATUS的最后一位ltssm_enable位(链路训练使能)变成了0,即链路训练被关掉了。并且不会自动再变成1。这样导致了重启连接不上。
计算机重新启动的过程中,一共会有两次把这个寄存器改变,从而不使能链路训练,我通过jtag手动修改这个寄存器来使能链路训练,则计算机就能成功枚举并给6678分配资源。
1.我想知道为什么使能有效位会被改变,是不是6678这边的其他什么寄存器设置不正确?
2.6678如何能知道计算机进行了重新启动呢??我的6678与计算机之通过pcie差分线相连啊,没有其他单端控制线。
3.另外1.0版本的pcieboot是不是需要进行i2c的二次引导修复bug呢?我现在没有做这一步,但是pcieboot也成功了啊
举报