我在系统中插入了多个相同的板。设备 PCIe 使用 Xilinx IP 内核实现。每个FPGA程序烧写好后,手动刷新设备管理器,检查设备和驱动是否正常工作。
我的困惑是,这种方法似乎只能同时在两个板上工作。第三块板烧好后,刷新任务管理器,系统提示资源不足,“此设备找不到足够的可用资源(代码12)”
我试图禁用其他两个板,但设备仍然提示冲突。我不知道如何查询冲突资源。
我的电路板有 2 个 BAR(BAR0:2KB,BAR1:16MB)和 1 个 IRQ。
做了几个实验,感觉是内存资源冲突造成的。冲突的一方是主板附带的 AMD 集成显卡。1st, 2nd, 3rd 都是我的板号。
3rd 由于冲突而无法识别。
关闭后,我将所有三个板子都插上电源,然后再次打开。结果,在启动过程中,系统突然断电后又重新启动,然后三块板子都正常了。这时候发现显卡的内存地址变了
我想知道如何解决冲突?修改我的驱动程序代码或 FPGA 配置?