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