ããæ¬æä»ç»å¦ä½å¼ååæµè¯ Windows CE 5.0 设å¤é©±å¨ç¨åºãæ¬æ循åºæ¸è¿å°ä»ç»å¦ä½å建æµé©±å¨ç¨åºï¼å¦ä½å建èªå®ä¹ Windows CE Test Kit
ãã(CETK) æµè¯ï¼ä»¥åå¦ä½ç¼ååºç¨ç¨åºæ¥æµè¯é©±å¨ç¨åºãè¿è¦è±è´¹å¤§çº¦ 60 åéæ¥å®æã
ããæ¬é¡µå
容
ãã第ä¸é¨åï¼å»ºç«è®¾å¤é©±å¨ç¨åº
ãã第äºé¨åï¼æµè¯æµé©±å¨ç¨åºæµè¯ä»£ç
ãã第ä¸é¨åï¼æ£éªé©±å¨ç¨åº
ãã第åé¨åï¼ä½¿ç¨
ããWindows CE Test Kit
ãã第äºé¨åï¼å建èªå®ä¹
ããCETK æµè¯
ãã第å
é¨åï¼ç¡®å®è°æ¥ææµé©±å¨ç¨åº
ããå°ç»
ãã第ä¸é¨åï¼å»ºç«è®¾å¤é©±å¨ç¨åº
ããå¨æ¬ç»ä¹ ä¸ï¼æ¨å°ä½¿ç¨ Platform Builder æ¥æ·»å ä½ä¸ºè®¾å¤é©±å¨ç¨åºç项ç®ã
ããå¨ å¼å§ç¼å驱å¨ç¨åºä¹åï¼æ¨åºè¯¥äºè§£è®¾å¤é©±å¨ç¨åºçç¨éã驱å¨ç¨åºå°åºç¡ç¡¬ä»¶ä»æä½ç³»ç»ä¸æ½è±¡åºæ¥ï¼ä½¿ä¹æ´å¥½å°é¢å¯¹åºç¨ç¨åºå¼å人åãåºç¨ç¨åºå¼å人åæ é
ããç¥éæ¾ç¤ºç¡¬ä»¶æ串è¡ç¡¬ä»¶ç详ç»ä¿¡æ¯ â ä¾å¦ï¼ä¸²è¡è®¾å¤æ¯ç¨ Universal Asynchronous Receiver/Transmitter (UART)
ããå®ç°çè¿æ¯ç¨ field-programmable gate array (FPGA)
ããå®ç°çãå¨å¤§å¤æ°æ
åµä¸ï¼åºç¨ç¨åºå¼å人åæ ¹æ¬ä¸éè¦ç¥é硬件æ¯å¦ä½å®ç°çã
ããMicrosoft Windows 为å¼å人åå
¬å¼äºè°ç¨ç¡¬ä»¶çåºç¨ç¨åºç¼ç¨æ¥å£
ãã(API)ï¼ä»ä»¬ä¸éè¦ç¥éç©ç硬件çæ
åµãä¾å¦ï¼ä¸ºäºå串è¡ç«¯å£åå
¥æ°æ®ï¼åºç¨ç¨åºå¼å人ååªéè°ç¨ COMx ä¸ç CreateFile( )ï¼å
¶ä¸ x
ãã表示æ¨è¦æå¼ç串è¡ç«¯å£ç¼å·ï¼ä¾å¦ COM1 代表串è¡ç«¯å£ 1ï¼ï¼åè°ç¨ WriteFile( ) 以å°ä¸äºåèæ°æ®åå
¥ä¸²è¡ç«¯å£ï¼ç¶åè°ç¨
ããCloseHandle( ) 以å
³é串è¡ç«¯å£ãä¸ç®¡åºç¡ä¸²è¡ç¡¬ä»¶æ¯ä»ä¹ï¼ä¹ä¸ç®¡æ¨è¿è¡çæ¯åªä¸ª Windows æä½ç³»ç»ï¼ï¼API é½ä¼ä»¥åæ ·ç顺åºæ§è¡ã
ããç¸åçæ
åµä¹éç¨äºå
¶ä» APIï¼å¦ææ¨å¸æå¨æ¾ç¤ºè¡¨é¢ç»ä¸æ¡çº¿ï¼é£ä¹æ¨åªéè°ç¨ PolyLine( )ãMoveToEx( ) æ LineTo(
ãã)ãä½ä¸ºåºç¨ç¨åºå¼å人åï¼å¤§å¤æ°æ
åµä¸æ¨é½ä¸éè¦ç¥éæ¾ç¤ºç¡¬ä»¶çæ
åµãæ¤å¤è°ç¨ç API å°è¿åæ¾ç¤ºè¡¨é¢çç»´æ°ãé¢è²æ·±åº¦ççã
ãã好 æ¶æ¯æ¯å¼å人åå¯ä»¥è°ç¨ä¸ä¸ªä¸è´çãä¼æå¨ç¥ç API éãè¿äº API
ããå°ä»ä»¬çåºç¨ç¨åºä»åºç¡ç¡¬ä»¶ä¸æ½è±¡åºæ¥ãè¿è³å
³éè¦ï¼å 为åºç¨ç¨åºå¼å人åæ æ³ç¥éåºç¨ç¨åºæ¯è¿è¡å¨ä¾¿æºå¼è®¡ç®æºä¸ï¼è¿æ¯è¿è¡å¨ Tablet PC
ããä¸ï¼ææè¿è¡å¨æ¡é¢è®¡ç®æºä¸ãæ 论çµè以 1024Ã768 è¿æ¯ 1600Ã1200
ããçå辨çè¿è¡ï¼åºç¨ç¨åºå¼å人åé½å¯ä»¥å¨è¿è¡æ¶æ¥è¯¢å±å¹å辨çåé¢è²æ·±åº¦ï¼å æ¤ä¸éè¦æ建åªå¨ç¹å®ç¡¬ä»¶ä¸è¿è¡çåºç¨ç¨åºã
ãã驱å¨ç¨åºåªæ¯ä¸ 个å¨æé¾æ¥åº(DLL)ãå° DLL å è½½å°ç¶è¿ç¨å°å空é´ï¼ç¶åç¶è¿ç¨å°±å¯ä»¥è°ç¨ä»è¯¥ DLL å
¬å¼çä»»ä½æ¥å£ãé常ï¼ç¶è¿ç¨éè¿è°ç¨
ããLoadLibrary( ) æ LoadDriver( ) æ¥å 载驱å¨ç¨åºãLoadDriver ä¸ä»
å° DLL å è½½å°ç¶è¿ç¨å°å空é´ä¸ï¼èä¸è¿è¦ç¡®ä¿ DLL
ãã没æâpaged outâã
ããè°ç¨è¿ç¨å¦ä½ç¥éä»æ¨ç DLL æ驱å¨ç¨åºå
¬å¼äºåªäº API æå½æ°å¢ï¼ç¶è¿ç¨è°ç¨ GetProcAddress( )ï¼åè
å¯ä»¥è·åå½æ°å称åæå è½½ç
ããDLL ç hInstanceãå¦æå½æ°åå¨ï¼è°ç¨è¿å该å½æ°æéï¼å¦æ没æä» DLL å
¬å¼è¯¥å½æ°ï¼åè¿å NULLã
ããæµé©±å¨ç¨åºä¹å
¬å¼äºä¸ä¸ªä¼æå¨ç¥çå½æ°éã对äºæµé©±å¨ç¨åºï¼æ¨ä¼å¸æè½å¤å°åèæµåå
¥è®¾å¤ä¸ï¼æè
ä»è®¾å¤ä¸è¯»ååèæµãå æ¤ï¼å¨åé¢ä½¿ç¨ç串è¡ç«¯å£ç¤ºä¾ä¸ï¼æ¨å¯è½å¸æä»æ¨ç驱å¨ç¨åºå
¬å¼å¦ä¸å½æ°éï¼OpenãCloseãRead
ããå
ããWriteãæµé©±å¨ç¨åºè¿å
¬å¼ä¸äºå
¶ä»å½æ°ï¼PowerUpãPowerDownãIOControlãInit
ããå DeInitã
ããæ¨å¯ä»¥å°ç°æçæä½ç³»ç»æ åç¨äºæ¨¡æå¨å¹³å°ï¼Basic Lab MyPlatform å¹³å°æçæ³ï¼ãç¶åï¼æ¨å°±å¯ä»¥å°
ããDLL/驱å¨ç¨åºé¡¹ç®æ·»å å°è¯¥å¹³å°äºã
ããå¨æ建并ä¸è½½äºè¯¥å¹³å°ä¹åï¼è¿è¡¨ææä½ç³»ç»å¯å¨å¹¶è¿è¡è¯å¥½ï¼ï¼æ¨éè¦å建æ¨ç主干驱å¨ç¨åºãæ¨å¯ä»¥ä½¿ç¨ File èåä¸ç Platform
ããBuilder New Project or File å½ä»¤å建ä¸ä¸ª Microsoft Windows CE DLLãå建ç¨äºå
¬å¼å½æ°æèµæºç
ããDLL ä¸å建ç¨ä½é©±å¨ç¨åºç DLL ä¹é´æ²¡æä»ä¹ä¸åï¼å¯ä¸çä¸åä¹å¤å¨äº DLL å
¬å¼åªäºå½æ°ï¼ä»¥åå¦ä½å¨å¹³å°ä¸æ³¨åæä½¿ç¨ DLLã
ããæ¤ å¤ï¼ä¸ç§å建å½é
ååºç¨ç¨åºçæ¹æ³æ¯ï¼é¦å
å建å
å«ä¸ç»æ ¸å¿è¯è¨å符串ã对è¯æ¡åèµæºçåºæ¬åºç¨ç¨åºï¼ç¶åå建许å¤å¤é¨
ããDLLï¼å
¶ä¸æ¯ä¸ªé½å
å«é对ç¹å®åºå设置ç对è¯æ¡ãå符串åèµæºãç¶åï¼åºç¨ç¨åºå°±å¯ä»¥å¨è¿è¡æ¶å è½½ç¸åºçè¯è¨èµæºãåªéè¦æ·»å DLL
ããæ件ï¼æ¨å°±å¯ä»¥å°è¯è¨æ·»å å°åºç¨ç¨åºä¸ãå¨ Developing International
ããSoftware ä¸ä¹¦ä¸æè¿°äºä¸æ¤ç¸å
³ç主é¢ä»¥åå
¶ä»ä¸äºæ趣ç主é¢ï¼å¯ä»¥å¨ Microsoft Press ç½ç«ä¸è·å¾æ¤ä¹¦ã
ããæ·»å ä¸ä¸ªä½ä¸ºè®¾å¤é©±å¨ç¨åºç项ç®
ããç¨ Platform Builder æå¼ç°æç MyPlatform å·¥ä½åºã
ããå¨ File èåä¸ï¼åå» New Project or Fileã
ããéæ© WCE Dynamic-Link Libraryï¼ç»å®ä¸ä¸ªåéçå称ï¼ä¾å¦ï¼StreamDrvï¼ï¼ç¶ååå»
ããOKï¼å¦ä¸å¾æ示ã
ããå¨ä¸å¾ææ¾ç¤ºç页é¢ä¸å¤å°å¡«åä¸äºæ¨éè¦çä¿¡æ¯ï¼ç¶ååå» Nextã
ããåå» A simple Windows CE DLL projectï¼å¦ä¸å¾æ示ã
ããåå» Finish å®ææ¤å导ã
ããæ¤æ¶ï¼DLL åªå
å«ä¸ä¸ªç©ºç DllMain
ããå½æ°ãæ¨å¯ä»¥å
¬å¼ä¸äºåºç¨ç¨åºè¦è°ç¨çå½æ°ï¼å¹¶å
¬å¼ä¸äºèµæºï¼å¯è½ä½¿ä¹æ为è¯å«è¯è¨/æåçåºç¨ç¨åºçä¸é¨åï¼ï¼æè
使ä¹æ为ä¸ä¸ªè®¾å¤é©±å¨ç¨åºãå¨æ¬æä¸ï¼æ¨å°ä½¿ç¨
ããWindows CE Stream Driver Wizard å建æ¨ç主干æµé©±å¨ç¨åºã
ããå¨ Windows CE ä¸ï¼æå¼æµé©±å¨ç¨åºå°±åæå¼æ件ä¸æ ·ï¼åªéæ ¹æ®å¯ä¸çä¸åæ¯åç¼ï¼ä¾å¦ï¼COMï¼ã
ãã为æ¨ç驱å¨ç¨åºéæ©ä¸ä¸ªå¯ä¸çä¸åæ¯æ è¯ç¬¦ãå¨ Location
ããæ¡ä¸è¾å
¥æ¨ä¹åå建çæµé©±å¨ç¨åºçå®æ´è·¯å¾ãæè
使ç¨âbrowseâæé®å®ä½å° Platform Builder å®è£
ä¸ç PBWorkspaces
ããç®å½ï¼æ¾å°æ¨åé¢å建çå¹³å°ï¼ç¶åæ¾å°æµé©±å¨ç¨åºçå称ï¼å¨åé¢ç示ä¾ä¸ï¼æ¤è·¯å¾ä¸º PBWorkspaces\TuxPlat\StreamDrvï¼ã
ããå¨ Driver Filename æ¡ä¸è¾å
¥é©±å¨ç¨åºçå称ãå¦ä¸å¾æ示ï¼ä½¿ç¨ä¸æ¨åé¢ä½¿ç¨å称 (StreamDrv)
ããç¸åçå称ï¼ä»¥ç¡®ä¿æ¹åå¨ Platform Builder ä¸å建çåå§æ件ã
ããæ Goï¼å°çææµé©±å¨ç¨åºæºä»£ç ã
ããè¿å页é¦
ãã第äºé¨åï¼æµè¯æµé©±å¨ç¨åºæµè¯ä»£ç
ããç°å¨æ¨å·²ç»ç¼åäºç¨äº Windows CE çèªå®ä¹æµé©±å¨ç¨åºçåºæ¬ä»£ç ãæ¤æ¶ï¼é©±å¨ç¨åºè¿æ²¡æä¸ä»»ä½ç¡¬ä»¶è¿æ¥ã
ããå¨ ç¼åå®é©±å¨ç¨åºä¹åï¼æ¨éè¦ä¸ºå¼å人åæä¾ä¸ç§æµè¯å®çæ¹æ³ãWindows CE éå¸¦äº Windows CE Test Kit
ãã(CETK)ï¼å®æä¾äºç¨äºåç§é©±å¨ç¨åºç±»åç驱å¨ç¨åºæµè¯ï¼å
å«ç½ç»è¿æ¥ãèçã串è¡ç«¯å£ä»¥åæ¾ç¤ºãæ¨ç¼åç驱å¨ç¨åºæ¯ä¸ç§èªå®ä¹çæµé©±å¨ç¨åºï¼å®æ²¡æ
ããå
¬å¼ä¸ç°æç驱å¨ç¨åºæµè¯ä¸æ ·çåè½ï¼å æ¤æ¨éè¦ä¸ºè¯¥é©±å¨ç¨åºç¼åä¸ä¸ªèªå®ä¹æµè¯ãè½ç¶æ¨å®å
¨å¯ä»¥ç¼åä¸ä¸ªåºç¨ç¨åºæ¥æ¼ç»é©±å¨ç¨åºï¼ä½æä¾ä¸ä¸ª CETK
ãã模åæ许æ´å¥½äºï¼å¨å¼åæé´å¯ä»¥ä½¿ç¨æ¤æ¨¡åï¼å¹¶ä¸è¿å¯ä»¥å°æ¤æ¨¡åæä¾ç»å®¢æ·ï¼ä¾ä»ä»¬å¨è£
é
硬件ä¸æµè¯é©±å¨ç¨åºã
ããå¨è¿ä¸é¨åçç»ä¹ ä¸ï¼æ¨å°æ§è¡ä»¥ä¸è¿ç¨ï¼
ããå建主干 Tux 模å
ããå°èªå®ä¹é©±å¨ç¨åºçæµè¯ä»£ç æ·»å å° Tux DLL ä¸
ããéæ°æ建æä½ç³»ç»
ãã设置æç¹
ããå建主干 Tux 模å
ããå¨ Platform Builder ä¸ï¼å¨ File èåä¸åå» New Project or Fileã
ããéæ© WCE TUX Dynamic-Link Libraryï¼é®å
¥ TuxTest ä½ä¸ºé¡¹ç®å称ï¼è¾å
¥ä¸ä¸ªä½ç½®ï¼åå»
ããWorkspace Projectï¼ç¶ååå» OKï¼å¦ä¸å¾æ示ãï¼å®é
ä¸ï¼æ¨å¯ä»¥éæ©ä»»æä¸ä¸ªé¡¹ç®ç±»åï¼å¯¹äºæ¬æï¼åå»
ããWorkspace Projectï¼ã
ããå¨ä¸å¾æ¾ç¤ºç页é¢ä¸å¤å°å¡«åä¸äºæ¨éè¦çä¿¡æ¯ï¼ç¶ååå» Nextã
ããé
读ä¸å¾ææ¾ç¤ºçå±å¹ä¸çä¿¡æ¯ï¼ç¶ååå» Nextã
ããå¨æåä¸é¡µä¸ï¼æ¨å¯ä»¥éæ©éå Release Type ä¸ç
ããCETKï¼å¦ä¸å¾æ示ã该é项å
³éäºæäºäºè¿å¶çä¼åï¼ä»¥æé«è°è¯å·¥ä½æçãåå» Finishã
ããåå» View | File Viewï¼ç¶åå±å¼ Projects æ æ¾ç¤º tux
ããæºä»£ç ï¼å¦ä¸å¾æ示ã
ããåå¾ä¸éè¦æ³¨æçéè¦æ件æ¯ï¼
ããft.h â 该æ件å
å« tux DLL æç¨çå½æ°è¡¨ã
ããtest.cpp â 该æ件å
å«ä»è¯¥å½æ°è¡¨ä¸è°ç¨çæµè¯è¿ç¨ã
ããTuxStreamTest.cpp â 该æ件å
å« DLLMain å ShellProcï¼åè
æ¯ä» Tux.exe
ããè°ç¨çã
ããå°èªå®ä¹é©±å¨ç¨åºæµè¯ä»£ç æ·»å å° Tux DLL ä¸
ããæå¼æºä»£ç Test.cppã
ããä½¿ç¨ CodeClip æ¥è·å¾ Tux_Custom_Test | TuxCode æºä»£ç ã
ããç¨ CodeClip ä¸ç代ç æ¿ä»£å½æ° TestProc ä¸çå
容ã
ããæ¨ä¼æ³¨æå°ï¼Test.cpp ä¸ç代ç å è½½äºä¸ä¸ªå为 Demo.dll ç驱å¨ç¨åºã对äºæ¬æï¼æ¨å建äºä¸ä¸ªå为 StreamDrv
ããç驱å¨ç¨åºãæ¨éè¦ä¿®æ¹æºä»£ç 以å è½½æ¨ç StreamDrv.dll 驱å¨ç¨åºã
ããæ¾å° Test.cpp ä¸è°ç¨ LoadLibrary çæºä»£ç çä½ç½®ï¼ç¶åå°è¦ä» Demo.dll
ããä¸å è½½ç驱å¨ç¨åºçå称修æ¹ä¸º StreamDrv.dllã
ããå¨ Platform Builder æ件è§å¾ä¸ï¼å³é®åå» TuxTest 项ç®ï¼ç¶ååå» Build Current
ããProjectã
ããæ¨è¿éè¦ä»è¯¥ç®å½ä¸æ·»å Windows CE Test Kit ç»ä»¶ã
ããå¨ Device Drivers ä¸ï¼æ¾å°è¯¥ç®å½ä¸ Windows CE Test Kit ç»ä»¶çä½ç½®ï¼ç¶åéæ©
ããAdd the Windows CE Test Kitï¼å°è¯¥ç»ä»¶æ·»å å°æ¨çå¹³å°ä¸ã
ãã注 å°è¯¥ç»ä»¶æ·»å å°æ¨çå¹³å°ä¸å¹¶æ²¡æå°ä»»ä½æ件添å å°æåçæä½ç³»ç»æ åä¸ï¼å®å° Clientside æ件添å å° build release
ããæ件夹ä¸ãæ¨å¯ä»¥ä» Platform Builder ä¸è½½ Clientside åºç¨ç¨åºï¼å¹¶å¨ç®æ 设å¤ä¸è¿è¡è¯¥åºç¨ç¨åºã
ããç°å¨æ¨éè¦éæ°æ建æ¨çæä½ç³»ç»ï¼ä»¥ä¾¿å并è¿äºåæ´ã
ããéæ°æ建æä½ç³»ç»
ããå¨ Platform Builder ä¸ï¼éæ© Build OS | Sysgenã
ããæ建è¿ç¨å°ä¼è±å¤§çº¦ 5 åéå®æã
ããå½å 载驱å¨ç¨åºæ¶ï¼å¨æµé©±å¨ç¨åºçå
¥å£ç¹è®¾ç½®ä¸ä¸ªæç¹æ¥è§å¯é常æç¨ã
ãã设置æç¹
ããåå» File Viewï¼æå¼ StreamDrv 项ç®ï¼ç¶åæå¼ Source filesã
ããæ¾å°å¹¶æå¼ StreamDrv.cppã
ããæ¾å° DllMainï¼ç¶åæ¾å°å¹¶åå» switch è¯å¥ã
ããæ F9 设置æç¹ã
ããåå» Target | Attachï¼å°æä½ç³»ç»ä¸è½½å°æ¨¡æç¯å¢ä¸ã
ããæ¨ä¼çå°ä»¥ä¸è°è¯è¾åºï¼æç¹å°å¯ç¨ã注æï¼å¨å è½½æä½ç³»ç»çç¨æ·æ¥å£ (UI) ä¹åï¼è¿æ©å°±åçäºã
ãã4294780036 PID:23f767b6 TID:23f767e6 0x83fa6800: >>> Loading module
ããstreamdrv.dll at address 0x01ED0000-0x01ED5000
ããLoaded symbols for
ãã'C:\WINCE500\PBWORKSPACES\DRVDEMO\RELDIR\EMULATOR_X86_DEBUG\STREAMDRV.DLL'
ããåå» switch è¯å¥ï¼ç¶åæ F9 ç¦ç¨æç¹ã
ããæ F5ï¼å
许æä½ç³»ç»ç»§ç»å è½½ã
ããç°å¨ï¼æ¨å·²ç»æ建äºä¸ä¸ª Windows CE 5.0
ããæä½ç³»ç»ï¼å®å
å«ä¸ä¸ªèªå®ä¹æµé©±å¨ç¨åºï¼å¹¶ä¸æ¨å·²ç»å¨æä½ç³»ç»å¼å¯¼é¡ºåºçè¿ç¨ä¸çå°äºé©±å¨ç¨åºå è½½ã
ããè¿å页é¦
ãã第ä¸é¨åï¼æ£éªé©±å¨ç¨åº
ããå¨è¿ä¸é¨åçç»ä¹ ä¸ï¼æ¨å°æ§è¡ä»¥ä¸è¿ç¨ï¼
ãã使ç¨å½ä»¤è¡å·¥å
·æ¥çä»é©±å¨ç¨åºå
¬å¼çå½æ°
ãã使ç¨è¿ç¨ç³»ç»ä¿¡æ¯ (Remote System Information) å·¥å
·æ£éªé©±å¨ç¨åº
ããç¡®å®é©±å¨ç¨åºå·²å è½½
ããæ£éªæ¨æå建ç设å¤é©±å¨ç¨åºç第ä¸ç§æ¹æ³æ¯æ¥çä»è¯¥é©±å¨ç¨åºå
¬å¼çå½æ°ãWindows CE é带äºä¸ä¸ªå为 Dumpbin
ããçå½ä»¤è¡å·¥å
·ï¼å¯ä»¥ç¨äºæ£éªå¯¼å
¥åºç¨ç¨åºæ模åçå
容ï¼æè
ä» DLLï¼æ驱å¨ç¨åºï¼å¯¼åºçå
容ã
ãã使ç¨å½ä»¤è¡å·¥å
·æ¥çä»é©±å¨ç¨åºå
¬å¼çå½æ°
ããå¨ Platform Builder ä¸ï¼åå» Build OS | Open Release
ããDirectoryã该æä½ä¸ºå½åçå·¥ä½åºæå¼ build release æ件夹ä¸ç Command Prompt çªå£ã
ããé®å
¥ dumpbin exports StreamDrv.dll
ããä¸å¾æ¾ç¤ºè¾åºãæ¨å¯ä»¥çå°ï¼ææéè¦çæµé©±å¨ç¨åºå½æ°é½æ¯ä»é©±å¨ç¨åºå
¬å¼çï¼å½æ°æ¯ä» DLL å
¬å¼çï¼éè¿è¯¥é¡¹ç®ç .def æ件ï¼ã
ããé®å
¥ Exit å
³é Command Prompt çªå£
ããStreamDrv.def æ件çå
容å¦ä¸æ示ã
ããLIBRARY DemoDriver
ããEXPORTS
ããDEM_Init
ããDEM_Deinit
ããDEM_Open
ããDEM_Close
ããDEM_IOControl
ããDEM_PowerUp
ããDEM_PowerDown
ããDEM_Read
ããDEM_Write
ããDEM_Seek
ããCustomFunction
ããCustomFunctionEx
ããæ¨å¯ä»¥æ£éªé©±å¨ç¨åºç第äºç§æ¹æ³æ¯éè¿è¿ç¨ç³»ç»ä¿¡æ¯å·¥å
·ã
ããéè¿è¿ç¨ç³»ç»ä¿¡æ¯å·¥å
·æ£éªé©±å¨ç¨åº
ããå¨ Platform Builder ä¸ï¼åå» Tools | Remote System
ããInformationã
ããéæ© Windows CE Default Platform | Default Deviceï¼ç¶ååå»
ããOKï¼å¦ä¸å¾æ示ã
ããæ¤è¿ç¨å°è¿ç¨ç³»ç»ä¿¡æ¯åºç¨ç¨åºè¿æ¥å° Platform Builder æ£å¨ä½¿ç¨çå½åæ´»å¨å¹³å°ä¸ãä¸å¾æ¾ç¤ºäºç»æã
ããæ¨ä¹å¯ä»¥ä½¿ç¨å 载模åå表æ¥ç¡®å®å·²å è½½äºæ¨ç驱å¨ç¨åºã
ããç¡®å®é©±å¨ç¨åºå·²å è½½
ããå¨ Platform Builder ä¸ï¼ä½¿ç¨ Target Control çªå£ (gi mod) æ View |
ããDebug Windows | Modules and Symbolsã
ããä¸å¾æ¾ç¤ºäºæ¤è¿ç¨çç»æã
ããè¿å页é¦
ãã第åé¨åï¼ä½¿ç¨ Windows CE Test Kit
ããWindows CE Test Kit å
å«è®¾å¤ç«¯ç»ä»¶åæ¡é¢ç»ä»¶ã设å¤ç«¯ç»ä»¶å«å Clientside.exeï¼éè¿ä»ç®å½ä¸æ·»å CETK
ããç»ä»¶ï¼æ¨å¯ä»¥å°è®¾å¤ç«¯ç»ä»¶æ·»å å°æ¨çå·¥ä½åºä¸ã注æï¼å° Clientside.exe
ããåºç¨ç¨åºæ·»å å°å·¥ä½åºä¸å¹¶æ²¡æå°ä»»ä½æ件添å å°æç»æä½ç³»ç»æ åä¸ï¼ä½å®å´å°åºç¨ç¨åºå¤å¶å° build release æ件夹ä¸ã
ããå¨æ¡é¢è®¡ç®æºä¸è¿è¡ CETK ä¹åï¼æ¨éè¦å¯å¨è®¾å¤ä¸ç Clientside.exe åºç¨ç¨åºã没æé¾æ¥å·¥å
·ï¼æ¯å¦è¿ç¨å·¥å
·ï¼çåå å¨äºï¼CETK
ããä¹å°è¿è¡å¨è£
é
ï¼é¶å®ï¼è®¾å¤ï¼æ¯å¦ Pocket PCï¼ä¸ã
ããå¨è¿ä¸é¨åçç»ä¹ ä¸ï¼æ¨å°æ§è¡ä»¥ä¸è¿ç¨ï¼
ããæ£éª Windows CE Test Kit ç¨æ·æ¥å£
ããè¿è¡ä¸ä¸ªæ åæµè¯
ããæ£éª Windows CE Test Kit ç¨æ·æ¥å£
ããå¨ Platform Builder ä¸ï¼å¨ Tools èåä¸åå» Windows CE Test
ããKitã
ããè¿ ä¸æ¥å¯å¨ Windows CE Test Kit åºç¨ç¨åºï¼å¦ä¸å¾æ示ã注æï¼è¿ä¸æ¯ä¸ä¸ªæ åçè¿ç¨å·¥å
·ãWindows CE
ããé带ç大å¤æ°è¿ç¨å·¥å
·é½ä½¿ç¨ Kernel Independent Transport Layer
ãã(KITL)ï¼ä¸ç§å°å·¥å
·ä»åºç¡é信硬件ä¸æ½è±¡åºæ¥çä¼ è¾ï¼ä»¥ä¾¿è¿äºå·¥å
·å¯ä»¥è¿è¡å¨ä»¥å¤ªç½ã串è¡ç«¯å£ã1394ãUSB æè
å
¶ä»ä¼ è¾ä¸ã
ããè½ç¶å¯¹äº Windows CE 5.0ï¼Windows CE Test Kit é常éè¿å¥æ¥åè¿æ¥ï¼ä½æ¯ä¹å·²ç»æ´æ°äºå·¥å
·æ¥æ¯æ KITLã
ããå¨ Windows CE Test Kit ä¸ï¼åå» Connection | Start
ããClientã
ããè¿ä¸æ¥æ¾ç¤º Device Connection 对è¯æ¡ï¼å
¶ä¸æ¨å¯ä»¥éæ©æ¯éè¿å¥æ¥åè¿æ¥è¿æ¯éè¿ KITL è¿æ¥ã
ããç¡®ä¿æ¸
é¤äº Use Windows Sockets for the client/server communication
ããå¤éæ¡ï¼å¦ä¸å¾æ示ã
ããåå» Connectã
ããå¨è¿ç¨å·¥å
· (KITL) çæ åç¨æ·çé¢ä¸ï¼éæ© Windows CE Default Platform | Default
ããDeviceï¼ç¶ååå» OKï¼å¦ä¸å¾æ示ã
ãã该è¿ç¨å¨ç®æ 设å¤ä¸å¯å¨ Clientside.exeï¼å¹¶è¿æ¥å°ç®æ 设å¤ä¸ãå¨å®æè¿æ¥ä¹åï¼CETK æ举ç®æ å¹³å°ä¸æ¯æç设å¤ï¼å¹¶ç¦ç¨ CETK
ããä¸ä¸æ¯æç设å¤ã
ããå¨ CETK è¿æ¥å°ç®æ 设å¤å¹¶æ举设å¤ä¹åï¼UI å¦ä¸å¾æ示ã注æï¼ç¦ç¨äºæäºç¡¬ä»¶ç±»å«ï¼æ¯å¦ BluetoothãIR
ããPort å Modemã
ããå°èªå®ä¹æµè¯æ·»å å° CETK ä¸ä¹åï¼æ¨å¯ä»¥è¿è¡ä¸ä¸ªæ åæµè¯ï¼ä»¥æ¥çæµè¯å·¥ä½å¦ä½è¿è¡ã
ããè¿è¡æ åæµè¯
ããå¨ CETK ä¸ï¼å±å¼ Windows CE (x86)ã
ããæ¾å°å¹¶å±å¼ Serial Portã
ããå³é®åå» Serial Port Driver Testï¼ç¶ååå» Quick Startã
ããè¿ä¸æ¥åªè¿è¡äºè¿ä¸ä¸ªæµè¯ï¼è¿æ²¡æè¿è¡æéçå
¶ä»æµè¯ãUI æ示æµè¯æ£å¨è¿è¡ï¼å¦ä¸å¾æ示ã
ããCETK æä¾æµè¯è¿ç¨åæµè¯è¾åºçæ´æ°ãæ¨ä¹å¯ä»¥å¨ Platform Builder ä¸æ£éªè°è¯è¾åºï¼ä»¥ä¾¿æ¥çæµè¯è¿ç¨ï¼å¦ä¸ä¾æ示ã
ãã405910 PID:83d4ee4a TID:83ea5a8a *** Test Name: Set event mask and wait for
ããthread to close comm port handle
ãã405920 PID:83d4ee4a TID:83ea5a8a *** Test ID: 1007
ãã405920 PID:83d4ee4a TID:83ea5a8a *** Library Path: \serdrvbvt.dll
ãã405920 PID:83d4ee4a TID:83ea5a8a *** Command Line:
ãã405920 PID:83d4ee4a TID:83ea5a8a *** Result: Passed
ãã405920 PID:83d4ee4a TID:83ea5a8a *** Random Seed: 15595
ãã405930 PID:83d4ee4a TID:83ea5a8a *** Thread Count: 1
ãã405930 PID:83d4ee4a TID:83ea5a8a *** Execution Time: 0:00:05.110
ãã405930 PID:83d4ee4a TID:83ea5a8a ***
ãã^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ããå¦æ CETK UI
ããæ示模æå¨ä¸ç串è¡ç«¯å£æµè¯å·²ç»å¤±è´¥ï¼å¦ä¸å¾æ示ï¼ï¼é£ä¹å¤±è´¥å¯è½ä¸æ¯ç±äºæ¯ä¸ªæµè¯çå®å
¨å¤±è´¥è导è´çãå®å¯è½è¡¨æï¼å
¨é¨æµè¯å¥ä»¶åªæä¸é¨åå·²ç»å¤±è´¥ï¼å¹¶ä¸è¿é¨åå®é
ä¸ä¹æ¯ææçè¡ä¸ºã
ããå³é®åå» Serial Port Driver Test [Failed]ï¼ç¶ååå» View
ããResultsã
ããåºç°å¦ä¸å¾æ示ççªå£ã
ããæ¥çä¸å¾æ示çç»æï¼æ¨å¯ä»¥çå°ï¼å·²ç»è¿è¡äº 10 个åç¬çæµè¯ãé¤äº Set and verify receive timeout
ãã以å¤ï¼ææè¿äºæµè¯é½å·²ç»éè¿ã
ããè¦è·å¾æ´å¤ä¿¡æ¯ï¼æ¨å¯ä»¥åå»ä¸ªå«æµè¯ã
ããè¿å页é¦
ãã第äºé¨åï¼å建èªå®ä¹ CETK æµè¯
ããéè¿ä½¿ç¨ Platform Builder User-Defined Test Wizardï¼æ¨å¯ä»¥å建ä¸ä¸ªèªå®ä¹ CETK
ããæµè¯ã该æµè¯å°éªè¯èªå®ä¹æµé©±å¨ç¨åºï¼æ¨ä¹å·²ç»å°å
¶æ·»å å°å¹³å°ä¸ï¼ç导åºå½æ°ã
ããå¨è¿ä¸é¨åçç»ä¹ ä¸ï¼æ¨å°æ§è¡ä»¥ä¸è¿ç¨ï¼
ããååº CETK ä¸çèªå®ä¹æµé©±å¨ç¨åºæµè¯
ããè¿è¡èªå®ä¹æµé©±å¨ç¨åºæµè¯
ããååº CETK ä¸çèªå®ä¹æµé©±å¨ç¨åºæµè¯
ããå¨ CETK ä¸ï¼åå» Tests | User Definedã
ããè¿ä¸æ¥å¯å¨ User-Defined Test Wizardã该å导ç第ä¸é¡µåªæ¯ä¸äºä¿¡æ¯ã
ããåå» Nextï¼å¦ä¸å¾æ示ã
ããåå» Add a New Testï¼ç¶ååå» Nextï¼å¦ä¸å¾æ示ã
ããè¾å
¥ä¸åä¿¡æ¯ï¼ç¶ååå» Nextï¼
ãã· å¨ Name of Test æ¡ä¸é®å
¥ Custom Stream Driver Test
ãã· å¨ Tux Module (DLL) æ¡ä¸ï¼å®ä½å°
ããC:\Wince500\PBWorkspaces\MyPlatform\RelDir\Emulator_x86_Debug ç®å½ï¼ç¶åéæ©
ããtest.dll æ TuxTest.dllï¼è¿ä¾èµäºæ¨å¨ Platform Builder ä¸æ使ç¨ç Tux
ããæµè¯çå称ï¼ã
ãã· å¨ Command Line æ¡ä¸ï¼ä¿çå½åæµè¯çé»è®¤è®¾ç½®ã
ãã· å¨ Processor æ¡ä¸é®å
¥ x86
ããä¸å¾æ¾ç¤ºä¿¡æ¯å¦ä½åºç°å¨å½åçå导页ä¸ã
ããåå» Copy the files to the directory for user-defined testsï¼ç¶ååå»
ããNextï¼å¦ä¸å¾æ示ã
ããæ¨éè¦å°èªå®ä¹é©±å¨ç¨åºæµè¯ï¼æ¨ç DLLï¼å¤å¶å°ç¨æ·å®ä¹çæµè¯æ件夹ä¸ãå¦ææ¨è¦å é¤ç°æçå·¥ä½åºï¼é£ä¹èªå®ä¹é©±å¨ç¨åºæµè¯ä»ç¶ä¿æå®å¥½ã
ããåå» Nextï¼å¦ä¸å¾æ示ã
ããåå» Finishï¼å¦ä¸å¾æ示ã
ããCETK åºç¨ç¨åºä¸ä¼ç¨æ°çæµè¯è¿è¡èªå¨å·æ°ãæ¨éè¦éæ°åæ¥æ¡é¢åºç¨ç¨åºï¼ä»¥æ¥çæ°æ·»å çæµè¯ã
ããå³é®åå» Windows CE (x86)ï¼ç¶ååå» Redetect Peripheralsã
ãã该è¿ç¨æ·»å äºä¸ä¸ªå为 User Tests çæ°é©±å¨ç¨åºç±»å«ãæ¨åªæ·»å äºä¸ä¸ªæµè¯ï¼å æ¤ï¼å½æ¨å±å¼è¿ä¸ªé¡¹ç®æ¶ï¼æ¨åªè½çå° Custom
ããStream Driver Testã
ãã注 å·²ç»å°èªå®ä¹æµé©±å¨ç¨åºæµè¯ç DLL å¤å¶å°ä¸åä½ç½®ï¼ C:\Program Files\Windows CE Platform
ããBuilder\5.00\CEPB\wcetk\user\x86.
ããè¿è¡èªå®ä¹æµé©±å¨ç¨åºæµè¯
ããå¨å¯ç¨çæµè¯å表ä¸å±å¼ User Testsã
ããå³é®åå» Custom Stream Driver Testï¼ç¶ååå» Quick Startã
温馨提示:答案为网友推荐,仅供参考