[X]关闭

[米联客-XILINX-H3_CZ08_7100] FPGA_PCIE通信(win)连载-01WIN系统PCIE驱动编译

文档创建者:FPGA课程
浏览次数:295
最后更新:2024-09-12
文档课程分类-AMD-ZYNQ
AMD-ZYNQ: ZYNQ-FPGA部分 » 2_FPGA实验篇(仅旗舰) » 6-FPGA PCIE通信(Win)
本帖最后由 FPGA课程 于 2024-9-12 09:26 编辑

​ 软件版本:VIVADO2021.1
操作系统:WIN10 64bit
硬件平台:适用 XILINX A7/K7/Z7/ZU/KU 系列 FPGA
实验平台:米联客-MLK-H3-CZ08-7100开发板
板卡获取平台:https://milianke.tmall.com/
登录“米联客”FPGA社区 http://www.uisrc.com 视频课程、答疑解惑!



1概述
        基于XILINX XDMA的开发应用环境需要用到以下软件或者开发包:vs2015、win10sdk、wdk10、qt。环境的搭建对于后续的开发至关重要。
        请确保你的电脑可以联网,因为很多安装包依赖互联网,如果你的电脑无法联网,可能无法完成环境的搭建。用户在我们提供的网盘里面下载vs2015、win10sdk、wdk10、qt软件开发包,如果SDK和WDK版本不匹配会造成编译失败。
        如果已经安装了VS2010,或者其他版本,建议先进行卸载,卸载过程不要使用360等软件工具卸载,而是使用VS自带的卸载工具(注意:操作过程中可能会出现问题,导致该系统无论如何都无法
        大家请注意软件的安装顺序一定要是先安装vs2015再安装WINSDK,最后安装WDK。如果一不小心顺序错了,卸载干净后重新安装,否则肯定不会成功的。
2VS2015安装
4513616be719463d98f068c50999cb32.jpg
这里一定要选择自定义,默认情况下是不安装VC++语言的。
9b4de6ec506649a7b7a22a0725d6546a.jpg
然后在编程语言里面勾选vc++,vs2015更新3也勾选上
4f7bd0e40de8482b8dbf2296ceced515.jpg
安装过程会出现几次提示安装包丢失或者损坏,选择跳过后,继续。
7b01b0b63eb64f0ca3d49b365fa61e8c.jpg
安装结束后会提示一些安装包安装失败。
找到控制面板中程序和功能,右击选择更改
0362e34097474522b6242bdefbdb7ca0.jpg
选择修复
1ce3fbc742bf42f8bb29c603cb448913.jpg
修复完成,提示重启,我们重启电脑。
1194a67ef98d4271adfe86edf47c1e63.jpg
3WIN10SDK安装
dc974feef28f40ae94e8c2a2d9376445.jpg
4WDK安装
7f295285463944f0934f79dc650cfe8e.jpg

5WINDOWS开启测试模式        接下来还有一项重要的设置,根据官方文档的说法,XDMA的驱动没有提供一个验证过的证书,所以必须让系统进入测试模式才能安装驱动。
        使用如下命令可以开关测试模式。
d28a03da5fbc4f129038b1c1590aa54b.jpg
bcdedit/settestsigningon打开测试模式
bcdedit/settestsigningoff关闭测试模式
在WIN7/WIN10系统下打开终端,
9ec3e18534e64c66a5fe75cd71f31a15.jpg
操作成功后,重启电脑,电脑桌面右下角可以看到,系统进入测试模式的提示信息。
743a2a84a55449d988773c8d4ab3eaa7.jpg
        那么有些客户问,驱动没有签名,能否让驱动有签名呢?这个当然可以花钱向微软公司购买认证签名既可。
6驱动程序编译
        默认所有测试程序和驱动已经编译好,以下为用户根据自己需要是否要重新编译
6.1驱动程序修改
        为了提高中断响应,在驱动的xdma.lib库中的中断事件派发函数中,增加清中断寄存器函数(必须配合米联客的FPGA方案,该方案是开源的)
3ff03d213c6444ba9cdb400a31a3931a.jpg
55b2a1c0a22d4f11ac7122a8314fbae5.jpg
6.2驱动编译
        驱动默认已经编译好,可以直接使用,当然用户也可以体验下如何编译驱动。Xilinx提供的XDMA驱动源码,直接编译可能会由于WPP的原因导致编译失败,WPP是驱动调试功能,用户可以自行修改,本教程中不使用WPP功能,同时对驱动源码进行了一些修改,可以直接使用,请参考我们提供的工程。工程文件如下:
        driver里面是驱动源码,其他项目都是应用程序。拿到工程以后,先进行清理,然后进行编译。可以看到编译成功6个,失败2个.
1a6c8f2b29294c57bd6333241ab984cb.jpg
解决办法如下:
右击user_event项目,选择属性
3acaa04b9aea4442ba307515c34ed882.jpg
第一个报错修改如下,在C/C++中把“将警告视为错误设置为”否””
00cefd8d4f774e089a53406249341923.jpg
之后重新编译user_event即可
b8eda1fd0907447595547352cec23607.jpg
右击XDMA_driver项目,选择属性
bd926fe1aaf8475eba680975fc70c30a.jpg
把inf2Cat中RunInf2Cat设置为否
9e83bb4ed15042dcb5f0645ffe021635.jpg
之后重新编译driver即可
默认编译出来是WIN10驱动,可以右击“解决方案XDMA”,配置属性改为win7,之后重新编译驱动

bc3c258a2ce14a8387b51eaad897f6fe.jpg
6.3编译结果
分别编译出支持win10和win7的驱动
65ec3cb23e2a406291aba43f2d982a47.jpg
编译出的测试程序
f29e04435b0b407a9318e3c42912201a.jpg
7驱动安装
        由于未购买微软认证的驱动签名,所以首先确保WINDOWS开启测试模式,开启测试模式的方法,在前文“01WIN10系统PCIE软件开发环境搭建”中已经介绍。
        为了安装驱动还需要以下的xdma.cat文件,这个文件目前已经无法用vs2015编译产生了,所以我们用之前编译好的。
34b6a25d04cf46eeb83dd5f9bad58caf.jpg
右击上图中XDMA.inf文件,安装
a6d9ceeee01c483ba431aab6cbc27bb6.jpg
4218f4b743ef424e83476a33a3a889cc.jpg




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则