ddk7600驱动开发环境搭建
ddk7600官方下載頁面網址
https://www.microsoft.com/en-us/download/details.aspx?id=11800
官方下載地址?
https://download.microsoft.com/download/4/A/2/4A25C7D5-EFBE-4182-B6A9-AE6850409A78/GRMWDK_EN_7600_1.ISO
安裝之后會有一個WINDDK\7600.16385.1,官網上已經沒有ddk 7600.16385.0了(以前下載過7600.16385.0的iso的可以繼續使用)
驅動代碼不需要IDE,直接用命令行就可以編譯
打開build environment后cd到項目目錄執行build命令即可
?
項目中一般包含代碼文件、Makefile文件、sources文件
代碼文件不多贅述,就是項目代碼,
Makefile文件是所有項目通用,隨便找個項目復制就可以
#
# DO NOT EDIT THIS FILE!!! ?Edit .\sources. if you want to add a new source
# file to this component. ?This file merely indirects to the real make file
# that is shared by all the ?components of the Windows NT DDK
#
!INCLUDE $(NTMAKEENV)\makefile.def
?sources文件是關鍵,指定項目屬性如名稱、類型,引用庫,代碼文件(只需要指定c文件),
# $Id$ TARGETNAME=firstDriver TARGETPATH=obj TARGETTYPE=DRIVER# Create browse info #BROWSER_INFO=1 #BROWSERFILE=<some path>TARGETLIBS=$(DDK_LIB_PATH)\ntstrsafe.lib $(DDK_LIB_PATH)\wdmsec.lib# Additional defines for the C/C++ preprocessor C_DEFINES=$(C_DEFINES)SOURCES=firstDriver.c \commonFun.csources如上,指定TARGETNAME就是生成的文件名,類型是DRIVER,所以生成的文件是firstDriver.sys,默認路徑是objfre_win7_amd64\amd64,如果TARGETNAME設置為路徑如..\..\abc
則路徑相對于默認輸出目錄objfre_win7_amd64\amd64\..\..\abc.sys
如果嫌手動編譯太慢,可以將編譯步驟寫為一個腳本
set curPath=%~dp0 call %W7BASE%\bin\setenv.bat %W7BASE%\ fre x64 WIN7 echo curPath %curPath% echo setenv done %curPath:~0,2% cd %curPath% build注意一下名為W7BASE的環境變量,變量的值為D:\WinDDK\7600.16385.1,也就是ddk目錄,為了不寫那個長路徑才用了環境變量,可以不用環境變量,直接寫全路徑
注意%curPath:~0,2%,這個表示截取字符串的前兩個字符,也就是D:,用來進入D盤,然后cd到當前路徑,如果不寫D:直接cd到D盤的當前路徑,build執行的環境就是D:\WinDDK\7600.16385.1。
腳本核心就是調用setenv.bat然后執行build命令,看過build environment的快捷方式對應的命令后就會明白手動打開build environment也是調用setenv.bat而已
ddk7600+vs2008
估計大家都不想用記事本開發,windows上開發還是用vs比較方便,這里使用vs2008作為IDE,只是IDE而已,可以換其他的,但是注意vs2008安裝的時候要勾選x64的編譯環境,不然編譯其他項目的時候編譯不了x64的項目就尷尬了
vs中創建一個空白項目,NMAKE中設置build命令,這樣就可以右鍵build了
?runr.bat即使上面的腳本
編寫代碼的時候ddk中的頭文件可能不會自動跳轉,可以把ddk中的頭文件都配置到vs中
Tools->Options
把ddk里面的頭文件都引入進去,這個操作對項目本身并沒有影響,只是為了方便IDE跳轉,找到代碼,便于開發
以上基本可以進行編譯開發了
但是網上還流傳著ddkbuild+ddkwizard
ddkwizard免費下載鏈接,趁鏈接還沒失效趕緊的
https://master.dl.sourceforge.net/project/ddkwizard/legacy-releases/ddkwizard_setup_v1.3.0a-signed.exe?viasf=1
下載安裝之后visual studio里面的創建項目可以選擇Driver Project了,桌面會有一個pdf的快捷方式,里面介紹了ddkbuild.cmd、ddkbuild.cmd并提供了備用下載地址,
http://www.osronline.com/article.cfm%5earticle=43.htm
其中v6是ddkbuild.bat文件v7是ddkbuild.cmd文件,根據ddkwizard解釋To be honest the configuration of DDKBUILD.CMD is almost identical to the one of DDKBUILD.BAT (covered in section 1.1) except for the name of the filehttp://www.osronline.com/article.cfm%5earticle=43.htm
執行腳本
call ddkbuild.bat -W7X64 fre . %1其實也沒有簡單多少,注意把ddkbuild.bat所在目錄配置到PATH環境變量中去,或者直接把ddkbuild.bat復制到項目目錄,以免執行腳本的時候找不到命令
小貼士:
1.ioctl code對應的數值和功能如下
Windows IOCTL reference
不一定全面,但是調試的時候獲取到ioctrl code 的數值后對應哪個設備可以看看
2.windows內核中大部分未公開的數據結構如下
Windows Vista Kernel Structures
總結
以上是生活随笔為你收集整理的ddk7600驱动开发环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【操作篇】qBittorrent下载+转
- 下一篇: 安卓psp模拟器联机教程_让PSP带你回