我正在开发基于 FPGA 的 PCIe 接口硬件。当我重新编程 FPGA 时,它会丢失其 BAR 设置(BAR0、BAR1 等)。我如何强制 Windows a) 重新扫描 PCI(以及 PCIe)总线和 b) 重新分配 BAR 设置。
这不是硬件问题,而是 Windows 问题。这大致就是热插拔卡(如果支持)所需的操作。
编辑 9/2/11:我不是软件工程师,所以我正在寻找可以在用户级别完成的事情,包括由管理员完成。
答案1
我知道 Windows 中的驱动程序可以标记为“启动时”,其中 Windows 不允许您卸载并重新安装驱动程序。如果您将pci.sys
驱动程序更改为其他类型,则可能可以从设备管理器中卸载并重新安装它。祝你好运。
答案2
在设备管理器中删除设备将导致下次启动后重新检测(如果该设备仍然存在)——启动时是唯一扫描没有热移除的总线的时间。