正如前幾篇博客所說,使用WDF開發(fā)PCIe驅動程序是我本科畢業(yè)設計的主要工作。在讀研的兩年,我也分別為所在課題組移植了自己編寫的驅動程序,在Windows 32位和64位平臺下的PXI、PXIe、PCI、PCIe板卡分別得到了驗證。
這篇文章根據(jù)自己最新編寫的驅動代碼(源代碼請找博主索?。饕v述如何為自己的硬件板卡移植驅動程序,并簡單講述如何使用Altera系列FPGA配置PCI IP核,然后對INF文件作簡要描述,最后描述如何使用Qt編寫上位機軟件調用底層驅動。
準備去讀博了,這一篇將作為這個系列的完結,之后將把更多精力放到機器學習上來。
1概述
所編寫的驅動代碼程序包括7個源代碼文件,分別是Device.h, Driver.h, Public.h, Trace.h, Device.c,Driver.c, Queue.c。其中Device.h 定義了與硬件相關的地址偏移;Public.h定義了DeviceIoControl 用到的用戶自定義命令字, 此頭文件由上層應用程序和驅動程序共同使用;Queue.c定義了I/O回調例程,分別使用了read、write和I/O Control 三個隊列。 除了這三個文件外, 不建議更改其他4個文件的代碼。三個源文件函數(shù)列表分別如圖 1-1、1-2、1-3所示: