第一步,安裝VS2k5,安裝完成後要安裝VS2k5 SP1補丁(KB926601),否則後面的Platform Builder SP1無法安裝。 第二步,安裝Windows Embedded CE 6.0,官方為: http://www.microsoft.com/downloads/details.aspx?familyid=7E286847-6E06-4A0C-8CAC-CA7D4C09CB56&displaylang=en ( Windows Embedded CE 6.0 和序號 安裝起來特麻煩 程式 http://download.microsoft.com/download/a/0/9/a09e587c-4ff9-4a58-a854-56fe50b862b2/WindowsEmbedded 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 如果上面的序號不可用,請自己去申請 http://www.microsoft.com/windows/embedded/eval/trial.mspx 安裝的時候會提示需要一個叫Data_1.cab的檔案,該檔案如下: http://download.microsoft.com/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,官方為: http://www.microsoft.com/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,官方為:http://www.microsoft.com/downloads/details.aspx?FamilyID=dd567053-f231-4a64-a648-fea5e7061303&displaylang=en,2.0版本的模擬器是對VS2k5中預設安裝的1.0版本的升級。 第五步是安裝Virtual Machine Network Driver for Microsoft Device Emulator,這個組件保證模擬器的正常運行,如果不安裝的話模擬器啟動以後是黑屏,而且這個問題我也遇到過了,官方為:http://www.microsoft.com/downloads/details.aspx?FamilyID=dc8332d6-565f-4a57-be8c-1d4718d3af65&DisplayLang=en,這個下載已經被微軟關掉了,推薦下載Microsoft Virtual PC 2007,官方為:http://www.microsoft.com/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發布的則不是呢? |