二种方法加驱动--->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