2008-06-23 日 星期一 天氣 晴
很久沒(méi)有來(lái)這里寫東西了,感覺(jué)真有點(diǎn)對(duì)不起這個(gè)空間.
過(guò)年到現(xiàn)在一直都忙于工作.(項(xiàng)目一個(gè)接一個(gè).報(bào)告一個(gè)接一個(gè))
驅(qū)動(dòng)開(kāi)發(fā)我關(guān)注很久了.就是沒(méi)有實(shí)際行動(dòng).終于有一天不知道怎么了下定了決心搞了.
首先要搞的是編譯和編輯環(huán)境,個(gè)人感覺(jué)網(wǎng)上有很多DDK 與Visual Studio6的配置很多都是有問(wèn)題的,而且都是幾年前寫的.不知道是我理解能力有問(wèn)題還是作者表達(dá)能力有問(wèn)題老是弄不好.最后弄雖然弄好也是轉(zhuǎn)了一個(gè)大圈.但是用起來(lái)實(shí)在是不敢恭謹(jǐn).也許是我用慣了delphi 和vs2005的緣故.vs2005的代碼編輯和智能排版功能可以說(shuō)是very Good ! 最后我還是決定把ddk和vs2005給掛上關(guān)系.花了我一個(gè)上午的時(shí)間也弄出來(lái)了.用起來(lái)比vs6.0爽了很多.效果也達(dá)到了之前設(shè)想的.我寫這些出來(lái)是為了減少步我后塵的同志們對(duì)驅(qū)動(dòng)的恐懼.
步驟:
1.首先前期準(zhǔn)備: 安裝xp ddk 和vs2005 (vs2005只要安裝c/c++就可以了) 安裝的步驟我就不在這里說(shuō)了.
2.準(zhǔn)備一個(gè)驅(qū)動(dòng)源代碼(用ddk內(nèi)的例子也可以)
3.vs2005建立一個(gè)makeFile 工程.
4.把源碼拷貝倒vs2005目錄內(nèi)(包括*.c , *.h,還有source 和makefile)
5.在vs2005工程目錄建立一個(gè)MakeDriver.bat 文件里面內(nèi)容是:
@echo off
if "%1"=="" goto usage1
if "%3"=="" goto usage2
if not exist %1\bin\setenv.bat goto usage3
echo params1: %1
echo params2: %2
echo params3: %3
echo call %1\BIN\setenv %1 %3
call %1\BIN\setenv %1 %3
echo cd /d %2
cd /d %2
build
goto ok
:usage1
echo Error: the first parameter is NULL!
goto exit
:usage2
echo Error: the third parameter is NULL!
goto exit
:usage3
echo Error: %1\bin\setenv.bat not exist!
goto exit
:ok
echo MakeDriver %1 %2 %3
:exit
5. 設(shè)置 vs2005 工程的屬性
編譯分 debug 和 release 兩個(gè)版本
在 NMke 設(shè)置里面設(shè)置 ( 我用的是 vs2005 繁體版 )
releasee 版本.只要將” 建置命令列 ” 內(nèi)容改成 MakeDriver %DDKROOT% $(ProjectDir) fre 就可以了.
我的 ddk 是安裝在 c 盤 .IntelliSense 是為了能在編輯代碼的時(shí)候彈出輸入的列表 . 比如結(jié)構(gòu)體內(nèi)的成員等等
建置命令列 : 是調(diào)用 MakeDriver.bat 文件編譯源代碼 .
如果加上 vss 代碼管理 . 一個(gè)驅(qū)動(dòng)代碼工程管理就算完善了 .
寫到這里了 .
順便提下要了解 MakeDriver.bak 內(nèi)的作用就要了解一些批處理的 dos 命令 . 上網(wǎng)找吧 . 網(wǎng)上什么都有關(guān)鍵是看你怎么找 .