Platform Builder和Embedded visual C++簡介

來源:互聯網
上載者:User
1 Platform Builder 介紹

Platform Builder 是微軟公司提供給Windows CE 開發人員進行基於Windows CE 平台下嵌入式作業系統定製的整合式開發環境。它提供了所有進行設計、建立、編譯、測試和調試
Windows CE 作業系統平台的工具。它運行在案頭Windows 下,開發人員可以通過互動環境來設計和定製核心、選擇系統特性,然後進行編譯和調試。同時,開發人員還可以利用Platform Builder 來進行驅動程式開發和應用程式項目的開發等等。Platform Builder 的強大功能,已使其成為Windows CE 平台下嵌入式作業系統開發和定製的必備工具。其SDK 輸出模板可以將特定系統的SDK 匯出,這可以是應用程式開發人員使用EVC就可以為特定的系統開發軟體。EVC 調試的是應用程式軟體,而Platform Builder往往要編譯整個核心再調試,兩者的開發效率是不同的。

具體來說,Platform Builder 提供的主要開發特性如下。
① 平台開發嚮導(Platform Wizard)、BSP(主板支援軟體包)和開發嚮導(BSP Wizard)。開發嚮導用來引導開發人員去建立一個簡單的系統平台或BSP,然後再根據要求作進一步的修改。提高了平台和BSP 建立的效率。
② 基礎配置。為各種流行的裝置類別預置的可作業系統基礎平台,為自訂動作系統的建立提供了一個起點。開發人員可以很容易地定製並編譯出一個具備最準系統的作業系統。然後再在其上做後續的修改。
③ 特性目錄(Catalog)。作業系統可選特性均在特性目錄(Catalog)中列出,開發人員可以選擇相應的特性來定製作業系統。
④ 自動化的依靠性檢查。特性(Feature)之間的依賴關係是系統自動維護的。開發人員在選擇一個特性時,系統會自動將這一特性所依賴的特性加上;反之,當刪除一個特性時,
系統會自動檢測是否已經選擇了依賴於它之上的其他特性,如果有,系統會給出提示,通知開發人員這一特性現在不能刪除。
⑤ 系統為驅動程式開發提供了基本的測試載入器集。Windows CE Test Kit(測試載入器包).
⑥ 核心調試器。可以對自訂的作業系統映像進行調試,並且向使用者提供有關映像效能的資訊。
⑦ 匯出嚮導(Export Wizard)。可以向其他Platform Builder 使用者匯出自訂的目錄(Catalog)特性。
⑧ 匯出 SDK 嚮導(Export SDK Wizard)。使使用者可以匯出一個自訂的軟體開發套件(SDK)。即可以將客戶定製的SDK 匯出到特定的開發環境中(如EVC)去。這樣開發人
員就可以使用特定的SDK 寫出符合特定的作業系統平台要求的應用程式。
⑨ 遠程工具。可以執行同基於Windows CE 的目標裝置有關的各種調試任務和資訊收集任務。
⑩ 模擬器(Emulator)。通過硬體模擬加速和簡化了系統的開發,使使用者可以在開發工作站上對平台和應用程式進行測試,大大簡化了系統開發流程,縮短了開發時間。
     應用程式調試器。可以在自訂的作業系統映像上對應用程式進行調試。提供了對 NET FrameWork Compact Edition(即.NET 平台精簡架構)的支援。

深刻理解 Windows CE 的重要組件及系統提供的可選特性,並靈活運用Platform Builder的設定檔.REG、.BIB、.DAT、.DB 是定製適合目標平台的Windows CE 作業系統的關鍵。

2 Platform Builder 的安裝

Platform Builder 是商用軟體,因此要通過正規途徑獲得。安裝Platform Builder 至少需要4GB 的磁碟空間,建議使用512MB 以上的記憶體,1.8GHz 以上主頻的處理器。其安裝過程很簡單,如所示:

 

 

安裝完畢後的介面如下:

3 Windows CE 系統的目錄結構

在 Platform Builder 4.2 安裝以後,在安裝的目錄下會有以下5 個子目錄。
Public 目錄
這個目錄下存放了和平台硬體無關的組件和設定檔。
Private 目錄
Private 包含了Windows CE .NET 開放的原始碼。
Platform 目錄
這個目錄下存放了硬體相關的資訊。
SDK 目錄
SDK 目錄下包含了相關的工具和二進位來支援相關的平台。
Others 目錄

Others 目錄包含了各種運行時、範例程式和組件。

4 Embedded Visual C++(EVC)介紹

Embedded Visual C++(EVC)是微軟公司提供的開發嵌入式軟體的平台,它是Visual C++的子集。EVC 內建了標準的Windows CE 的SDK,如果讀者有需要,可以從Platform Builder中匯出SDK,然後安裝在EVC 中。

EVC 和Platform Builder 的不同之處在於:Platform Builder 針對的是作業系統的定製,編譯目標是整個OS 的核心,雖然Platform Builder 也能開發應用程式,但是這些應用程式是作為整個系統的一部分而存在,編譯時間還是以一個作業系統為單位;EVC 針對的是應用軟體開發,特定作業系統的SDK 就已經為它提供了系統的運行環境,因此它編譯的單位是一個應用程式,EVC 會提供虛擬器載入SDK 來運行應用程式。眾所周知,編譯核心和編譯應用程式的時間開銷是大不一樣的。

5 如何添加BSP

下面以kaola 開發板為例子,首先請從嵌入式研究網下載本書推薦的開發板BSP,為http://www.cnemb.com/CEbook/kaola.zip。解壓檔案包,得到kaola 檔案夾。
(1)將此目錄複寫到%WINDOWS CE420%\PLATFORM 下。
(2)然後開啟Platform Builder,在工具列中依次選擇File→Manage Catalog Features。
(3)在彈出的對話方塊中單擊“Import”按鈕。在彈出的檔案選擇框內,選擇kaola 目錄下的TTI255.cec 檔案,單擊“開啟”按鈕。
(4)在Platform Builder 的Catalog 目錄的ThirdParty 中就能看到kaola 的BSP 樹狀結構了,

6 如何定製平台

下面以定製模擬平台的作業系統為例子。首先在Platform Builder 主介面中依次單擊FileNew→Platform,將出現 所示的對話方塊。

Next

在 EMULATOR x86 前打勾,表示選用EMULATOR 的BSP 包,接下來在對核心提供的功能進行裁減。Windows CE 支援目前流行的多款CPU 系統,主要有x86 系列、ARM 系列、MIPS 系列、SH3 系列、SH4 系列等,每一種系列除了相應的標準開發包外,還帶有此系列中較為常用的具體CPU 的開發包,如X86 系列除標準的CEPC(對應所有的x86 系列)開發包,還帶有一個NATIONAL GEODE:X86(對應美國國半的SC1200 系列)開發包。
11 所示,在選擇一種開發包後,在對話方塊的右半部分會顯示相應開發包的說明,表明這個開發包支援哪個公司的產品,相應的晶片是什麼。
以同時選擇幾種 BSP,在編譯時間在選擇相應的開發包進行編譯,在此為了講解方便,只選擇x86 的模擬器方式(EMULATOR:X86),單擊Next 按鈕,出現圖12 所示的對話方塊。
選擇 Mobile Handheld,表示手持行動裝置,並且填寫檔案路徑。按Next,將13 所示的介面。這裡列出了核心提供的功能以及各重應用程式。按 Next,將14 所示的介面。這裡列出了核心提供的網路的設定選項。按 Next,將15 所示的介面。這是對所有功能和 BSP 的總結列表,按Next,將顯示16 所示的Platform Builder 開發介面。

7 產生作業系統鏡像

自訂了一個平台之後,可以準備用於產生一個作業系統鏡像,在介紹操作步驟之前,先介紹Platform Builder 可以產生的兩種鏡像。
一種是用於發布給使用者,被稱為Release 版,產生後的檔案存放在C:\WINCE400\PUBLIC\Kaola\ RelDir\EMULATOR_X86Release 目錄下。
另種是用於調試,被稱為 Debug 版,產生後的檔案存放在C:\WINCE400\PUBLIC\Kaola\RelDir\EMULATOR_X86Debug 目錄下。

選擇產生版本後,有以下幾步還需要進行設定。
單擊 Build 菜單,選擇Set Active Configuration 一項。從顯示的列表中選擇要編譯的版本號碼。
單擊 Platform 菜單,選擇Setting 一項。在彈出的對話方塊中選Build Options 選項卡,勾選Enable CE Target Control Support、Enable Eboot Space in Memory、Enable FullKernel Mode、Enable Images Larger than 32MB、Enable KITL 複選框。單擊“OK”關閉Platform Setting 對話方塊。

單擊 Build 菜單,選擇Build Platform 一項,系統開始產生鏡像檔案。
在系統 build 過程中,有時會出現一些對話方塊,警告現在準備將Digital Rights
Management 或.NET Compact Framework Beta Release 等加到平台,直接單擊“OK”按鈕就可以。
進行編譯的時間要根據考慮 PC 硬體條件及所定製的作業系統鏡像大小,如果定製的是一個較大的作業系統鏡像,等待時間可能較長,這段時間讀者可以看一下輸出視窗(Output
Window),它顯示的是產生系統的整個過程,這對讀者更好地理解系統有很大協助。當輸出視窗最後顯示“TEST - 0 error(s),0 warning(s)”時,表示定製的作業系統鏡像已
經產生完畢,可以使用了。
在產生的目錄下,可以看見很多的檔案,這些檔案及目錄均是在產生作業系統鏡像時所需要的檔案,Platform Builder 就是根據這些檔案來產生系統鏡像檔案。這些檔案中,有一個 NK.BIN 檔案,這個檔案就是適用於本例裝置的作業系統鏡像檔案,也就是裝置最終要用的Windows CE.NET 核心,用BootLoader 程式載入這個檔案就可以啟動Windows CE.NET 作業系統。

8 調試模擬(EMULATOR)作業系統鏡像

模擬是用與開發工具(Platform Builder)所在的相同PC 上,用軟體的方式來類比WindowsCE 運行,主要用來進行調試。在使用模擬調試前需要進行設定,在Platform Builder 主介面單擊Target 菜單,選擇Configure Remote Connection 命令,系統將啟動20 所示介面。由於是進行訪真調試,所以在“Download:”處選擇Emulator,在“Kernel:”處也選擇Emulator。

單擊“Download:”下拉框後面的“Configure...”按鈕,可以開啟設定模擬環境的對話方塊,可以看到預設的Memory 值為48,需要改為64。

配置完成遠程服務後,單擊Target 菜單,單擊Download/Initialize,系統開始運行模擬程式

11 匯出SDK

下面介紹使用Platform Builder 來建立這個平台的SDK,這樣就可以把這個SDK 提供給相應的軟體開發組,這樣他們就可以使用這個SDK 為專門為這個平台開發應用程式。
(1)首先停止與目標裝置的串連(或是模擬),停止調試工作。
(2)單擊Platform 菜單,選擇Configure SDK,啟動SDK 設定精靈程式。
(3)首先是歡迎畫面,單擊“Next”按鈕下一步即可。
(4)在Product name for MSI installation 輸入框中輸入“MyCEPCTestSDK”,在
Manufacturer name 輸入框中輸入製造廠商名字,我們這裡輸入“Test”,單擊“Next”按鈕。
(5)下一步是讓選擇這個SDK 準備支援的開發語言特性,一共有兩個選擇,一個是EVC、另一個是.NET,這裡選擇EVC,然後單擊“Next”。
(6)單擊“done”,退出配置程式,本例中,這時可以到C:\WINCE410\PUBLIC\Kaola\MakeSdk(具體目錄與建工程時的目錄有關)下查看,可以看到一個Platform.ini 檔案。
(7)單擊Platform 菜單,選擇Build SDK 功能表項目,開始產生SDK,需要等待一會兒。
(8)等完成所有過程後單擊“done”按鈕,在C:\WINCE410\PUBLIC\Kaola\SDK 目錄下的檔案就是最後產生的SDK 檔案,此時就可以將這幾個檔案提供給應用程式開發人員進行安裝了。

12 標準SDK 簡介

Windows CE.NET 的標準SDK 提供了一組公用子集特性,這個子集使編寫的應用程式符合標準SDK,以運行在基於顯示的Windows CE.NET 平台上。為了保證與標準SDK的相容,應用程式只能使用標準SDK 提供的特性。使用附加的特性會使應用程式與標準SDK 不相容。
為了在Windows CE .NET 平台上實現標準SDK,Windows CE .NET 標準SDK 這一特性必須加入到基於顯示器的核心鏡像中。標準SDK 限於用在基於顯示器的裝置中。當將標準SDK 添加到一個作業系統核心鏡像時,它會自動將與它相關的特性和依賴的特性一起添加進來。同時它還會添加一個註冊表標識到核心鏡像中,它標誌著核心已經實現了標準SDK。這確保任何利用標準SDK 編寫的應用程式都能運行在支援標準SDK 的WindowsCE .NET 平台上。
下面是標準 SDK 中所包含的組件:
AYG Shell
Authentication Services
Waveform Audio
Windows Internet Services (WinInet)
Gradient Fill Support
C++ Exception Handling (SEH)
Active Template Library (ATL)
Windows Networking API/Redirector
XML Core Services and Document Object Model
Printing
URL Moniker Services
SOAP Toolkit
Message Queuing
LDAP Client
Object Exchange Protocol
Component Services (COM and DCOM)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.