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