做出來有一段時間了,本來找個時間好好整理一下再放上來,一直抽不出空。前兩天有個意大利哥們兒寫信來問有沒有CE 6 for VMWare的網卡驅動,他折騰了半天沒搞定。這讓我覺得這東西或許還是有人需要的,因此先放上來再說了。
CE 6.0和以前的版本最大的區別在於虛擬記憶體管理,其他方面的調整大多由此而起。我本來以為升級的CE 6.0後以前的驅動程式都不能用了,這對我做CE 6.0 for VMWare會很麻煩,因為我沒有網卡驅動的原始碼(我在5.0 BSP裡提供的那份原始碼是不能工作的)。試著做了一個kernel後我驚喜的發現,原來的網路卡驅動程式居然還能工作,這就省卻了不少麻煩。要改的地方只 有一點,必須把網卡驅動指定為kernel mode driver,也就是說在latform.bib裡得這麼改一下(比CE 5多一個K):view plaincopy to clipboardprint?
- pcntn4m.dll $(_TARGETPLATROOT)"files"pcntn4m.dll NK SH<span style="color: rgb(255, 0, 0);">K<br></span>
VMWare workstation 6.0支援了USB 2.0 host (EHCI),不過CE 6.0的EHCI driver不能工作,初步研究的結果是USB裝置插上去後它能覺察到,但在初始化的時候在GetDescpritor這一步失敗了。因此這個 KERNEL用的還是USB 1.1 host (UHCI)。
另外我還在這個KERNEL裡添加了Core Connectivity支援,用Visual Studio 2005做過CE 5.0或6.0應用程式開發的應該知道這個東西。具體用法可以看MSDN的這篇文章。同時我也寫了一個小工具(corecon.exe)方便使用。如果你的VS2005沒有打SP1補丁,在虛擬機器的命令列輸入:
">corecon
如果你的VS2005大了SP1補丁,則輸入:
">corecon /sp1
想殺掉corecon,輸入:
">corecon /k
:
- Windows CE 6.0 for VMWare workstation 6.0虛擬機器:part 1,part 2
- Windows CE 6.0 for VMWare的BSP
用VMWare Workstation 6.0或VMWare Player 2.0或以上版本開啟壓縮包裡的虛擬機器組態檔,運行後可以自動引導到Windows CE案頭。Windows CE runtime kernel支援:
- 64MB記憶體
- 音頻
- 2GB IDE硬碟
- USB 1.1 HOST (UHCI)
- 網卡
- RS232串口(輸出到檔案)
- Core Connectiviy Support
沒有VMWare的可以到VMWare的首頁下載VMware Player,免費的。