如何搭建Windows Embedded CE6.0開發環境
第壹步,安裝VS2k5,安裝完成後要安裝VS2k5 SP1補丁(KB926601),否則後面的Platform Builder SP1無法安裝。
第二步,安裝Windows Embedded CE 6.0,官方下載地址為:/downloads/details.aspx?familyid=7E286847-6E06-4A0C-8CAC-CA7D4C09CB56&displaylang=en
(
Windows Embedded CE 6.0 下載地址和序列號
安裝起來特麻煩
程序下載地址
/download/a/0/9/a09e587c-4ff9-4a58-a854-56fe50b862b2/Windows Embedded CE 6.0.msi
序列號:
Your product key(s) for installation are:
* Windows Embedded CE 6.0 (plug-in for Visual Studio 2005):
H8RQR-MMKRP-XFRFC-9HKGJ-82R6J* If you are also evaluating Visual Studio 2005, Visual Studio 2005 Professional Edition Trial:
M3C9X-9K3Q9-DC8PX-B3YR3-BKQR8* Other recommended downloads:
Visual Studio 2005 Service Pack 1 Beta如果上面的序列號不可用,請自己去申請
/windows/embedded/eval/trial.mspx
安裝的時候會提示需要壹個叫Data_1.cab的文件,該文件下載地址如下:
/download/a/0/9/a09e587c-4ff9-4a58-a854-56fe50b862b2/Data_1.cab
)
本文附件中提供壹個離線安裝的文件表(點擊下載),把該文件表導入迅雷可以下載完整的離線安裝包,大概有3.7G大小。CE6的安裝界面如下圖所示: 第三步安裝Windows Embedded CE 6.0 Platform Builder Service Pack 1,官方下載地址為:/downloads/details.aspx?FamilyId=BF0DC0E3-8575-4860-A8E3-290ADF242678&displaylang=en。如果沒有安裝Vs2k5 SP1補丁,需要先安裝該補丁。?
安裝完成以上三步以後,打開VS2k5, 啟動界面上我們可以看到Installed Products中增加了壹個Platform Builder for CE6.0,說明CE6已經安裝成功了,CE6是以add-on的方式安裝在VS2k5中的。 第四步安裝Microsoft Device Emulator 2.0,官方下載地址為:/downloads/details.aspx?FamilyID=dd567053-f231-4a64-a648-fea5e7061303&displaylang=en,2.0版本的模擬器是對VS2k5中默認安裝的1.0版本的升級。 第五步是安裝Virtual Machine Network Driver for Microsoft Device Emulator,這個組件保證模擬器的正常運行,如果不安裝的話模擬器啟動以後是黑屏,而且這個問題我也遇到過了,官方下載地址為:/downloads/details.aspx?FamilyID=dc8332d6-565f-4a57-be8c-1d4718d3af65&DisplayLang=en,這個下載已經被微軟關掉了,推薦下載Microsoft Virtual PC 2007,官方下載地址為:/downloads/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&DisplayLang=en,但是這裏有壹個問題,VPC2007能在Windows XP / Vista / Windows Server 2003 Standard上安裝而無法在Enterprise上安裝,Enterprise上只能裝更為高級的Virtual Server 2005。所以在選擇操作系統的時候要有所註意。因為我使用的Windows XP操作系認,所以這裏直接安裝了Virtual PC 2007。 接下來要用剛剛安裝好的PB定制壹個Windows CE 6.0系統,系統定制完成後可以加載到設備模擬器上,以便我們針對這個系統進行開發和測試。打開VS2k5,選擇新建壹個新安裝的OS Design項目模板創建,進入向導頁面。 在Board Support Packages中推薦選擇Device Emulator: ARMV4I。這是很重要的壹步,同時這裏要提到壹點,設備模擬器是ARM架構的,也就是說x86架構的CE系統是不能在模擬器上運行的,這個問題我也遇到過了,用CEPC: x86定制了壹個系統,編譯完成後附加到設備模擬器的時候報出錯誤: Invalid or missing ROM image. 不過選錯了也沒有關系,在用模板創建完成後仍然可以修改這些選項。 PB提供了壹系列可供選擇的設計模板,我選擇的是PDA Device -> Mobile Handheld,然後壹路下壹步就可以完成創建,創建的最後壹步確定後會彈出壹個Catalog Item Notification的對話框,點擊Acknolwlege確定,完成創建。Windows CE系統定制的話題會在以後的心得文章中介紹。在Vs2k5菜單中,選擇Tools->Device Emulator Manager, 打開設備模擬器管理窗口,裏面列出了現在可用的所有虛擬機,例如Pocket PC 2003, Smartphone 2003等,但是我們現在還找不到WINCE6_EMU的模擬器,接下來我們要對定制好的系統進行編譯並生成SDK。 編譯之前要提到壹點就是取消KITL(no IMGNOKITL=1),如果不取消這壹選項的話在非Debug模式下模擬器是不能啟動的。右單擊項目名稱,選擇Properties,在Build options中取消對"Enable KITL(no IMGKITL=1)"的選中。然後就可以進行編譯了,編譯的時間會相對長壹些,取決於定制功能的多少。 編譯成功之後,在RelDir對應的目錄下生成了壹個名為NK.bin的文件,這個文件就是給虛擬機使用的運行時鏡像,解下來我們要把編譯完成的系統附加到設備。在此之前要對連接屬性進行壹些設置。打開Vs2k5菜單,選擇Target -> Connectivity options, 打開目標設備連接屬性對話框,Target Device選擇CE Device, Download和Transport都選擇Device Emulator (DMA),Debugger選擇None。針對模擬器運行參數的其他設置,比如屏幕尺寸,內存大小等等,都是要在這個對話框中進行設置的. 修改完配置後點擊Apply並關閉窗口,在Vs2k5中選擇Target->Attach device開始附加到設備,這個時間也會有幾分鐘,Output窗口中會顯示添加的狀態,如果輸出窗口卡在某壹個位置上,模擬器還是黑屏的話,有可能是前面的某壹步配置出現問題。需要回過頭來檢查,模擬器正常啟動後,就可以看到壹個Windows CE系統的模擬器窗口。 接下來我們要創建並安裝SDK,安裝SDK的目的是在Vs2k5中提供對目標設備的開發支持,例如類庫,模擬器等。在Vs2k5菜單中選擇Project -> Add new SDK, 打開SDK屬性頁。在Emulator中,將Configuration修改為Device Emulator ARMV4I Debug,填寫必要的信息後點擊確定,然後在項目窗口中右單擊剛才創建的SDK,選擇編譯。編譯完成後生成壹個msi安裝文件,位於OSDesign項目文件夾下,SDKS\<SDKname>目錄中。關閉Vs2k5,並擊運行這個SDK並安裝。 安裝完成後,打開Vs2k5,選擇菜單Tools -> Device Emulator Manager, 打開設備模擬器管理窗口,我們可以看到WINCE6_EMU下已經添加了我們剛才創建的系統,右單擊這個項目選擇Connect, 彈出模擬器窗口,CE系統啟動成功。 至此已經完成了由PB定制CE6操作系統,生成SDK並安裝到開發環境的整個步驟。安裝完成後我們便可以在這個定制的CE6平臺上開發調試相關的應用程序了。續二:
通過PB6.0導出壹個SDK給VS2005用,似乎VS2008也可以用這個SDK。據說做系統的開發必須用VS2005+PB6.0,而應用的開發是可以用VS2008的。機器上沒有裝VS2008,所以不能測試了。不管怎樣,我們已經有了壹個模擬器代替實驗板,可以用這個模擬器來調試程序了。
雖然是模擬器,但基本的外圍設備都有了,包括網絡、Storage Card、調試串口,也支持同步。在使用模擬器的過程中發現壹個小技巧。如果從Device Emulator Manager中連接到該模擬器,則每次都必須重新設置網絡和***享目錄等內容。這雖然不太麻煩,但事實上是可以壹勞永逸的,不必每次都來設置。方法如下,打開VS2005——工具——選項——設備工具——設備,到如下圖所示界面,註意紅色框裏的選擇項,最後點擊“屬性”。
點擊“屬性”後彈出的對話框如下圖所示,點擊“仿真器選項”,進行配置,就不壹壹介紹了,根據自己的需求進行設定。配置完成以後,下次再從Device Emulator Manager中連接此模擬器時就默認采用這裏的配置項,無須再對其進行配置,省點時間。在調試程序時,難免要用到遠程工具。前段時間在調試2410開發板的WinCE6.0時就發現遠程工具有壹些小問題,需要手動去改文件才能用。今天在測試模擬器時又碰到了新情況。按理來說,已經同步上了,那完全可以用ActiveSync來做連接。但測試發現根本不行,截圖如下,提示說”Unable to load device side components”。
難道不能用Microsoft ActiveSync?那再試試看網絡的連接,把CEMGRC等三個文件手動拷貝到模擬器裏面,並運行了壹長串的命令,測試連接通過了,可真正連接時又不行,彈出如下提示框。以前用EVC中4.0版的Remote Tools連接WinCE5.0的設備時也出現這樣的情況。難道是Remote Tools的版本不對?查看了版本的信息,確實是6.0的,這太奇怪了。
先前曾在C:\Program Files的目錄下看到過壹個CE Remote Tools的目錄,這裏面放的應該也是遠程工具吧。進去看看,果然有幾個。但比目錄C:\Program Files\Common Files\Microsoft Shared\Windows CE Tools\Platman\bin\wce500下的少多了,文件名也不大壹樣。不是以CE打頭,而是用CC打頭。打開看看再說,跟先前用的Remote Zoomin還真不壹樣!左邊是新打開的,而右邊是從PB6.0中的Remote Tools中打開的。看起來就覺得左邊的更靠譜,畢竟能看到我們自己的模擬器。連接,等待,Downloading Bitmap,果然可以!再比較壹下這兩個版本到底哪裏不壹樣。
都成找茬的遊戲了,除了版本都是6.00外,還真有很多不壹樣的地方。^_^我很奇怪為什麽會有這個差別,兩個都是6.0啊!再試別的工具,也沒有問題。能用的連接屬性設置如下圖所示,我們可以看到它並沒有用ActiveSync或者網絡進行連接,所以可以不用去配置模擬器的網卡,也不用與主機同步。 最後補充說明壹下,妳可以從開始\程序\Microsoft Visual Studio 2005\Visual Studio Remote Tools中找到這個能用的6.0版的Remote Tools。所以是否說明隨VS2005發布的6.0的Remote Tools是真的可用的6.0版本,而隨Platform Builder 6.0發布的則不是呢?不管怎樣,我們在單機上搭建的WinCE開發環境又更接近真實壹點了。