二種方法加驅動--->NK.bin
方法一:
1. dll文件放到 C:/WINCE500/PLATFORM/AT4X0BD/FILES目錄中.
2. platform.reg
;----------------------------------------------------------------------------
;MyDriver.dll //20080305
;----------------------------------------------------------------------------
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/MyDevDrv]
"Prefix"="STR"
"Dll"="MyDriver.dll"
"Order"=dword:1
3. platform.bib
;------------------------------------------------------
;MyDriver.dll //20080305
;------------------------------------------------------
MyDriver.dll $(_FLATRELEASEDIR)/MyDriver.dll NK SH
調用方法:
HANDLE hStr=CreateFile(TEXT("STR1:"), GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0);
if (INVALID_HANDLE_VALUE == hStr)
{
::MessageBox(NULL, _T("Cannot open STR1:"), _T("StringApp"), MB_OK);
return;
}
// Write a string to the driver.
DWORD dwWritten = 0;
WCHAR* pString = TEXT("This is a test of the String Driver. This is o-nly a test");
WriteFile(hStr, pString, (_tcslen(pString)+1), &dwWritten, NULL);
// Read string from driver.
WCHAR wch[BUFFER_SIZE];
DWORD dwBytesRead = BUFFER_SIZE;
memset(&wch, '/0', BUFFER_SIZE * sizeof(WCHAR));
ReadFile(hStr, wch, sizeof(wch), &dwBytesRead, NULL);
::MessageBox(NULL, wch, TEXT("StringApp"), MB_OK);
// Disconnect from driver.
CloseHandle(hStr);
方法二:
爲了讓CEPB Debug代碼.
1. 在platform/CPU's folder/drivers 下新建一個目錄,然後在drivers目錄中的dirs文件中加入以你剛 新建的目錄名.
2. 在剛新建的目錄下,新建你的C源代碼文件,在其中實現上面所述的函數,及其功能。
新建名稱分別爲sources, makefile, mydev.def的文件。
(1)
makefile: 只需要這樣一行
!INCLUDE $(_MAKEENVROOT)/makefile.def
(2)
mydriver.def
LIBRARY MyDev(這個字符串要和將要生成的動態庫的文件名一樣)
EXPORTS
XXX_Init
XXX_Deinit
XXX_Open
XXX_Close
XXX_PowerOff
XXX_Power_Down
XXX_IOControl
(3)
Sources:
TARGETNAME=MyDev (指定要生成的動態庫的名稱)
TARGETTYPE=DYNLINK (指定要生成的是一個動態庫)
(下面兩項指定需要與哪些動態庫鏈接, 一般要第一項就足夠了)
TARGETLIBS=$(_COMMONSDKROOT)/lib/$(_CPUINDPATH)/coredll.lib /
$(_COMMONOAKROOT)/lib/$(_CPUINDPATH)/ceddk.lib
DEFFILE=MyDev.def (指定def文件)
DLLENTRY=DllEntry (指定動態庫的入口函數)
SOURCES= (請在這寫上你所有源文件的名字,它們將會被編譯)
//也必須修改.bib, .reg等文件,這樣系統才能調用.
(4) platform.reg
;----------------------------------------------------------------------------
;MyDriver.dll //20080305
;----------------------------------------------------------------------------
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/MyDevDrv]
"Prefix"="STR"
"Dll"="MyDriver.dll"
"Order"=dword:1
(5) platform.bib
;------------------------------------------------------
;MyDriver.dll //20080305
;------------------------------------------------------
MyDriver.dll $(_FLATRELEASEDIR)/MyDriver.dll NK SH