日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ddk7600驱动开发环境搭建

發布時間:2023/12/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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.c

sources如上,指定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驱动开发环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。