小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

WinXP SP1+DS3.2+XP DDK+VC6.0

 JP_Morgen 2014-05-11

我使用的是WinXP SP1+DS3.2+XP DDK+VC6.0英文版,以下為DS3.2版本的安裝過程:

1.安裝英文原版Visual studio 6.0,同時要記住注冊環(huán)境變量。

2.安裝XPDDK,安裝時候注意需要將所有的組件、工具、例子等都安裝(避免出現(xiàn)hidport.h找不到的問題);

3.安裝DS3.2;

4.通過DriverStudio菜單下的DDK Build Settings子菜單啟動VC,

5.用Open Workspace打開位于DS安裝目錄的
……\DriverWorks\Source\vdwlibs.dsw。
6. 選擇VC的Build菜單,選擇batch Build,在之后的對話框中選擇"Select x86",然后點擊Rebuld all.等待編譯成功

7.打開位于……\DriverWorks\Examples\wdm\hellowdm.dsw,然后編譯(用VC的編譯和用DS增加的編譯鈕都可以)。如果你可以在其目錄中找到hellowdm.sys你就成功了。

8.使用Driver wizard生成用VC編譯的項目后,修改項目屬性中的Link,刪除ntstrsafe.lib庫的包含.
重新編譯驅(qū)動程序即可成功.(避免出現(xiàn)找不到ntstrsafe.lib庫的錯誤)

其他環(huán)境如WIN2000下的如何安裝成功等我就不太清楚了。

我把hidport.h文件和free版本的vdw_wdm.lib上傳了一下。

 

 

個星期前郭老師給我布置了一項任務(wù):開發(fā)我們自己設(shè)計的一塊板子的PCI設(shè)備驅(qū)動,并給我指出了方向,具體說就是“三步走”戰(zhàn)略:

(1)入門。熟悉基于DriverStudio開發(fā)環(huán)境的設(shè)備驅(qū)動開發(fā),同時側(cè)面了解PCI設(shè)備驅(qū)動程序的相關(guān)知識。

(2)進(jìn)階。運用純DDK進(jìn)行驅(qū)動開發(fā),著重于學(xué)習(xí)別人的實例,并能熟練進(jìn)行調(diào)試和修改。

(3)實戰(zhàn)。深入研究PCI總線標(biāo)準(zhǔn),結(jié)合具體的電路板特性開發(fā)出一套自己的設(shè)備驅(qū)動。

現(xiàn)在正在入門階段的初級,總結(jié)一下近一周以來的WINDOWS驅(qū)動程序開發(fā)學(xué)習(xí)過程中的經(jīng)驗:
我目前使用的開發(fā)環(huán)境是:WINDDK\2600 + Visual Studio 6.0 + Compuware\DriverStudio 3.2
(前兩者安裝順序不限,DriverStudio要最后安裝)。
參考的主要入門書是:《Windows 2000/XP WDM 設(shè)備驅(qū)動程序開發(fā)(第二版)》武安河 編著
-----------------------------------------
學(xué)習(xí)中遇到的問題和解決方法:
(1)拿到附書代碼,運行出了第一個驅(qū)動程序CharSample,步驟如下:先雙擊代碼光盤提供的注冊表導(dǎo)入文件
Windows2K-XP.reg,然后運行DriverStudio自帶的EzDriverInstaller工具,打開sys目錄下的驅(qū)動安裝配置文件
CharSample.inf,然后Add New Device,提示需要.sys驅(qū)動系統(tǒng)文件,找到sys\objchk\i386目錄下的
CharSample.sys文件,確定后將提示The Driver Loaded Successfully!(如果報錯,而且設(shè)備前帶!號,一般是因為忘記導(dǎo)入注冊表了)
      如此安裝好驅(qū)動以后,就可以運行exe\objchk\i386目錄下的應(yīng)用程序Test_CharSample.exe進(jìn)行測試了!
(2)運行成功后,重新編譯時卻總出現(xiàn)錯誤,編譯不過去!
錯誤是:
fatal   error   LNK1181:   cannot   open   input   file   "......\DriverStudio\DriverWorks\lib\I386\checked\vdw_wdm.lib" 通過網(wǎng)上學(xué)習(xí)和交流找到答案:原來是因為配置開發(fā)環(huán)境時,漏掉了如下一個步驟:
編譯......\Compuware\DriverStudio\DriverWorks\source目錄下的工程得到vdw_wdm.lib文件!
編譯時,注意用VC打開工程文件后,有兩個工程,要先將VdwLibs工程設(shè)為當(dāng)前Active Project,然后在工具欄上單擊右鍵選擇“組建”,在彈出的編譯工具欄中配置一下編譯平臺的設(shè)置:選擇Win32 WDM Checked平臺(因為我們用的XP),然后編譯就應(yīng)該可以了,但是還有可能出現(xiàn)編譯錯誤:
fatal error C1083: Cannot open include file: 'warning.h': No such file or directory
為啥呢?因為沒有選擇DDK環(huán)境,此時應(yīng)該在DriverStudio菜單-》DDK Build Setting...中選擇我們先前安裝的DDK的目錄,我安裝的目錄是C:\WINDDK\2600,這樣就可以編譯通過了!
編譯完后會在"......\DriverStudio\DriverWorks\lib\I386\checked\"目錄下生成vdw_wdm.lib文件,做完這些后在去編譯自己編寫的驅(qū)動程序工程就不會有上面所列的錯誤了!
當(dāng)然,也有可能會出現(xiàn)這樣的編譯錯誤:fatal error C1051: program database file, '......\compuware\driverstudio\driverworks\source\obj\i386\wdmchecked\vdw_wdm.pdb', has an obsolete format, delete it and recompile
不過編譯器提示的應(yīng)該夠清楚了,只要把連接目錄下的文件刪除再編譯一次就可以了!
(3)用向?qū)陆ㄒ粋€驅(qū)動工程,進(jìn)行編譯會產(chǎn)生如下錯誤:
Linking   with   DDK   linker...  
LINK   :   fatal   error   LNK1181:   cannot   open   input   file   'ntstrsafe.lib'  
Error   executing   link.exe.
因為這個文件在xpddk里面是沒有的,在2003 ddk里面有,拷貝一個過來就可以了,或者在工程-》設(shè)置-》連接選框中把ntstrsafe.lib這個連接項去掉(它與source文件有對應(yīng)關(guān)系,在source文件中把這個庫的鏈接去掉也可以)
在工程中的sources文件里邊,找到下面一行:
TARGETLIBS=$(DDK_LIB_PATH)\ntstrsafe.lib $(DDK_LIB_PATH)\csq.lib
直接刪除即可。有時候還會提示沒有ntstrsafe.h,#include<ntstrsafe.h>出錯,把它注釋掉即可。
(4)在重新編譯武安河這本書中DMASample這個示例程序時,出現(xiàn)了一個錯誤:
fatal error C1189: #error : Compiler version not supported by Windows DDK
這個錯誤是在前面幾個例子中不曾遇到的,原因在于wdm.h文件中有一個條件編譯語句
#if _MSC_VER < 1300
#error Compiler version not supported by Windows DDK
#endif
而VC6對應(yīng)的_MSC_VER(與版本有關(guān))為1200,因此提示如上錯誤
解決此問題是通過運用DDK sources to vcproj Converter工具把驅(qū)動工程的sources文件轉(zhuǎn)換成對VC6相適應(yīng)而解決的。
(5)關(guān)于調(diào)試。調(diào)試方法很多,一般都用DbgPrint。
check和free的區(qū)別。簡單地說,check相當(dāng)于debug,free相當(dāng)于release,前者是調(diào)試版本,后者是發(fā)布版本。你可以使用以下語句實現(xiàn)僅在check版本中輸出調(diào)試語句:
#if dug
#define dprintf DbgPrint
#else
#define dprintf(x)
#endif
然后使用dprintf代替DbgPrint。
調(diào)試工具。ds自帶的softice,DriverMonitor,等。此外,Dbgview和DriverMonitor類似,可以從網(wǎng)上下載到的。Dbgview和DriverMonitor可以看到DbgPrint的字符串。
轉(zhuǎn)換為vc工程。開始--程序--Compuware DriverStudio--develop--DDK sources to vcproj Converter,即可轉(zhuǎn)換。
編譯應(yīng)用程序時盡量用DDK編譯,不要用VC自帶的Build,否則生成的應(yīng)用程序會提示錯誤!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多