基於PB的Windows CE類比環境的配置及調試

來源:互聯網
上載者:User

 
       嵌入式系統被用于越來越多的場合,不僅僅是PDA和手持式電腦,許多手機、遊戲機、數字播放器、數位相機和車載電腦也開始使用標準的CE嵌入式系統,甚至連保守的傳統AV裝置--DVD和MPEG-4 Player也不例外。例如,多普達的手機,裝有WindowsCE系統,不僅能打手機、管理連絡人和收發電子郵件,還能運行Windows軟體,上網ICQ、玩遊戲和播放數字音樂。不難想象,那種粗大的單色液晶螢幕,顯示醜陋的鋸齒形漢字的商X通和電子詞典很快就會從櫃檯上消失,取而代之的色彩豔麗,珠圓玉潤,裝備有CE或Palm等標準作業系統的InforWare。

  但是由於WindowsCE的裝置種類繁多,給軟體的編寫和測試帶了極大的不便,任何一個軟體公司也不可能擁有所有類型的CE裝置。這個問題在CE 2.0和3.0開發中尤為突出,例如,一個CE軟體製作人在一台手持電腦上開發了一個應用軟體,但是發行後很快就發現軟體在CE的PDA上幾乎不能使用,因為手持電腦的螢幕為640X240像素,而PDA的確是240X320,這樣,程式菜單根本無法全部顯示。

  為瞭解決這個問題Microsoft Windows CE .NET 提供了一個全能的、廉價的模擬環境。他能在PC上模擬各種CE裝置,為不同的環境定製CE軟體,還共用絕大多數原始碼,可以從網上直接下載。軟體公司不需要擁有所有類型的CE裝置也可以在不同平台上調試CE軟體,甚至為了需要還可自行改寫CE核心,完全開放代碼的CE.NET,不僅有Windows的簡單易用,還有Linux的高度可塑性,使開發CE時得心應手。

  和其他的模擬器相比,Windows CE .NET 對電腦的要求不算太高:推薦配置550Mhz以上的CPU,192M記憶體,多達2.3G的硬碟空間。但是筆者在實際開發時發現,推薦配置遠遠不夠,尤其是建立Rom時奇慢無比,模擬終端居然可以輕易把1G記憶體吃光。筆者感覺,1Ghz的CPU ,1G記憶體,5-10G的硬碟空間可以滿足要求。相信大多是朋友還是有這個條件的。

  一、配置模擬平台(以Windows CE.NET  4.2為例,下同)

  利用Windows CE .NET 我們可以"製造"出各種CE裝置。步驟如下:

  1. 啟動Windows CE.NET Platform Builder (簡稱PB),開啟 File 菜單, 選擇 New Platform(新平台), 這時會出現New Platform Wizards(建立嚮導),選擇 Next。

   2. 選擇模擬處理器,預設為EMULATOR: X86 ,即x86相容型,利用你的x86處理器模擬CE處理器,選好後,點擊 Next。

 

 

  3. 選者要模擬的裝置類型,CE可以在很多裝置上運行,模擬器可以模擬這些裝置,在這裡就選擇Mobile Handheld。然後給你的平台起一個名字,如EmulatorDemo,點Next。

 

  4. 配置要整合的軟體環境,根據自己的需要,如是否需要網路瀏覽器和收件匣或者其他什麼的,選好後, 點擊。 Next。

 

 

  5. 添加所需的網路通訊協定, 然後點擊Next。

  6. 後面的視窗有一些注意事項, 閱讀後,點擊Next。

  7. 點擊Done開始建立環境。

 

  二、產生CE的作業系統ROM

  眾所周知,使用Windows CE等系統的裝置一般都把CE儲存在ROM裡,CE .NET中的Platform Builder 也是會將產生的CE放在一個ROM的映像檔案裡,預設檔案名稱為(nb.bin),建立步驟如下:

  1. 在 Build菜單中, 選擇Set Active Configuration。

  2. 在模擬平台列表中, 選擇EmulatorDemo - EMULATOR: X86 Win32 (WCE emulator) Debug, 點擊OK確定。

 

  3. 在Platform菜單中選擇Settings。

  4. 在 Settings的Build Options 標籤中, 確保選中Enable Full Kernel Mode選項和其他的一些選項。這對偵錯工具非常重要。

 

  5.可以根據自己的需要在Catalog中選擇一些選項(如對MFC的支援或者USB滑鼠之類的)添加到自己定製的平台。

        6. 在 Build 菜單中, 選擇Build Platform。

 

     7. 在建立過程中會出現一些Warning點擊OK即可。

  建立ROM會很花掉一些時間,一個32M的ROM可能需要十幾分鐘或者幾十分鐘,完成後,在Output視窗會出現0 error(s), XX warning(s)的資訊。

  三、使用模擬器運行CE的作業系統ROM

  建立ROM後,就可以建立與模擬器的串連,將ROM調入模擬器運行:

  首先必須配置模擬器

  1. 在Target菜單中, 選擇Configure Remote Connection。

  2. 選擇Services 標籤。在Services for active named connection的Download 選項框中, 選擇Emulator。點擊Configure。

  3. 設定你想要的終端解析度Screen Size (WxHxD): 如一個典型的PDA大小 320x240x16。或者乾脆定製個自己舒服的比如800x600x16。

 

 

  4. 在使用記憶體大小Memory (MB) 中, 輸入 64。

  5. 在 Kernel Transport 選項框中, 選擇Emulator。

  6. 選擇Settings 標籤。 點擊Download / Initialize Device, 確保Download Image, Initialize (Jump to Image)和Connect to Device被選中, 點擊OK繼續。
  
  現在已經配置完模擬器,可以調入ROM運行了

  7. 在 Target 菜單中, 點擊 Download / Initialize。

  8. 會出現KITL Security Warning 對話方塊和一些提示, 全部選擇 Yes。

  9. 等待一段時間後,名為EmulatorDemo- Emulator for Windows CE 的模擬器終端出現了。

 

 

  模擬器上的WindowsCE完全和真正的WindwosCE裝置一樣,可以運行軟體,聽音樂,上網ICQ、看網頁、收發郵件。

      同時出現的Debug工具箱還可以,對CE進行Debug 。

  四、使用Debug程式

  模擬器終端有兩種運行模式,Release和Debug模式。Release是用來測試準備發布的ROM,而在Debug模式下則可以用kernel debugger 對CE的核心進行調試。例如對滑鼠事件的Debug:

  1. 在 Debug 菜單中, 選擇 Break。

  2. 在 File 菜單中, 選擇 Open。在 %_WINCEROOT%\Platform\Emulator\Drivers\ Kbdmouse\Emulkbms路徑下, 找到 ps2mouse。cpp, 選擇 Open。 這是關於滑鼠驅動的原始碼。

  3. 在 Edit 菜單中, 選擇 Find,在Find what中, 輸入_move, 選擇 Find Next。
現在就可以修改關於Move事件的代碼。

  4. 按 F9鍵插入如一個斷點代碼的一側會顯示一個紅點。

  5. 在 Debug 菜單中, 選擇 Go。

  6. 在工作列上,選擇 EmulatorDemo-Emulator for Windows CE 顯示EmulatorDemo- Emulator for Windows CE 視窗。

  7. 將滑鼠指標放在EmulatorDemo- Emulator for Windows CE 視窗上。這時,你會發現模擬器的運行暫停在剛才設定的斷點處,這樣你就可即時的修改、編寫代碼。

 *筆者強烈建議:在改寫原始碼前備份,不然如果改壞了就不好了

  8. 在 Edit 菜單中, 選擇 Breakpoints。

  9. 去掉所有的斷點, 選擇 Remove All,選擇 OK。

  10. 在 Debug 菜單中, 選擇 Stop Debugging結束Debug。

  在 Debug 菜單中, 選擇 Go。對其他部分,如鍵盤,串口的Debug與此相仿。

  五、為模擬終端環境定製不同的語言

  Windows CE .NET 可以產生不同語言的介面的CE,就像WindowsXP下的地區設定,不僅是介面語言,貨幣符號,使用習慣也隨之改變。例如產生一個日文的ROM

  1. 在 Target 菜單中, 選擇 Disconnect, 點擊OK確定。

  2. 在模擬器終端的Emulator菜單中, 選擇 Shut Down。

  3. 出現Shut Down 對話方塊, 選擇Turn off Emulator, 選擇 OK完全關閉模擬器終端。

  4. 在 Platform 菜單中, 選擇 Settings。 確保Settings For 下的 EMULATOR-X86 Win32 (WCE emulator) Debug 被選定。

  5. 選擇Locale 標籤。 Default Language 列表中, 選擇Japanese。 關閉 Platform Settings ,選擇 OK。

  6. 在 Build 菜單中, 選擇 Rebuild Platform。在建立過程中會出現一些Warning點擊OK即可。(圖13)

 

  7. 重新建立CE的ROM後,在 Target 菜單中, 選擇 Download/Initialize。開啟模擬器,你就會看到日文版CE.net 4.1

  *註:CE.net支援多語言,日文介面的CE也可以顯示簡體和繁體中文

  六、建立簡單的"Hello World" 程式

  下面,我們來建立一個測試用的簡單的CE程式,並放在模擬器上運行。

  1. 在 Target 菜單中 in the IDE, 選擇 Disconnect,點擊OK確定。

  2. 在顯示的Warning中,點擊確定回到整合式開發環境。

  3. 在模擬器終端的Emulator菜單中, 選擇 Shut Down。

  4. 出現Shut Down 對話方塊, 選擇Turn off Emulator, 選擇 OK完全關閉模擬器終端。

  5. 在 File 菜單中, 選擇 New Project or File。

  6. 選擇Projects 標籤, 選者 WCE Application。

  7. 在 Project name文字框中, 輸入 Hello, 選擇 OK 確定。

  8. 選擇 A typical "Hello World!" application, 選擇 Finish。

 

 

  9. 在 Build 菜單中, 選擇 Build Hello.exe 建立程式。

  當建立完成時你會看到: Hello.exe - 0 error(s), 0 warning(s)。 的訊息,代表建立成功了。

  七、在模擬環境中運行程式

  運行使用者建立的程式,可以不需重建立立CE ROM。

  1. 在 Target 菜單中 in the IDE, 選擇 Download/Initialize,開啟模擬終端。在出現的KITL Security Warning 上點擊OK確定。

  2. 在 Target 菜單中, 選擇 Run Programs。

  3. 在 Available Programs 列表中, 選擇剛才建立的Hello.exe, 並選擇 Run。

  4. Hello.exe會被下載到終端上運行。

  5. 在工作列上, 選擇 EmulatorDemo - Emulator for Windows CE 你會看到"Hello World"已經在終端上出現。

 

 

  八、建立eMbedded Visual C++的SDK

  知道了如何建立配置模擬平台,產生CE的作業系統ROM,使用Debug程式和在模擬環境中運行程式,我們就可以建立用於開發的eMbedded Visual C++的SDK

  1. 在 Target 菜單中, 選擇 Disconnect, 點擊OK確定。

  2. 在模擬器終端的Emulator菜單中, 選擇 Shut Down。

  3. 出現Shut Down 對話方塊, 選擇Turn off Emulator, 選擇 OK完全關閉模擬器終端。

  4. 在 Platform 菜單中, 選擇 Configure SDK。

  5. 出現Export SDK Wizard 嚮導, 點擊Next繼續。

  6. 在Product name for MSI installation 文字框中, 輸入EmulatorDemo_SDK。

  *注意:不能在ROM、原始碼、程式、對象裝置的名字中使用空格。

  7. 在 Manufacturer name 文字框中, 填入EmulatorDemoCompa。

 

  8. 選擇eMbedded Visual C++ 4.0 support , 點擊Next繼續。

  9. 在Congratulations頁面中點擊Customized SDK , 選擇Modify the SDK configuration settings。

  10. 選擇License File 標籤, 並選擇Append End User License Agreement 。

  11. 在End User License Agreement Path 文字框中, 輸入你想作為《終端使用者協議書》(End User License Agreement (EULA))的文檔案名稱。-

  12. 選擇 OK 關閉視窗。

  13. 在 Platform 菜單中, 選擇 Build SDK。

  14. 後面的視窗有一些注意事項, 閱讀後,點擊Next,最後點擊 Done開始建立SDK。

  產生的SDK開發包EmulatorDemo_sdk.msi將放在%_WINCEROOT%\Public\MyPlatform\SDK 檔案夾裡。

  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.