版權聲明:本文為半吊子子全棧工匠(wireless_com,同公衆号)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/5139856
BREW在手機中是一個執行環境,是一種應用架構。BREW
提供一個高效、低成本、可擴充的應用程式執行環境,着重開發可無縫植入任何實際手持終端裝置的應用程式。與建立在對記憶體空間、處理器速度和相關硬體有較高要求的作業系統之上的高端産品不同,BREW可以在各種層次的裝置類型上運作。
BREW平台提供的應用執行環境就好像PC 機上的作業系統一樣(BREW4.x的以後版本更是如此),屏蔽了底層硬體裝置和網絡協定的差異,使手持裝置可以下載下傳指定類型的應用程式或遊戲來使用,而無須關注底層硬體裝置或網絡協定的不同實作。同時,通過BREW
與平台無關的接口特性,供應商可以提供成套的完整的資訊、商務、娛樂功能。
最下面一層是硬體裝置層,主要包括手機中的硬體裝置和處理器,支援BREW運作的終端都采用基于嵌入式RISC微處理器的ARM體系結構。硬體裝置層之上是作業系統層,通常單核結構的手機都采用實時作業系統,提供如系統控制、檔案系統接入、電源管理和安全等基本的平台服務。常見的實時作業系統包括REX,實時嵌入式的Linux等等。
作業系統層之上是基礎軟體層,所有的裝置驅動以及與硬體相關的功能都在這一層實作。裝置驅動用來控制硬體,為上層開發提供一個邏輯抽象,使上層的開發者不用考慮下面的具體硬體,隻要通過驅動程式的接口就可以直接控制硬體,進而增加了系統的可擴充性。例如USB和串行口的通信功能,LCD的顯示驅動,揚聲器和麥克風的功能等等。
再往上就是和BREW相關的重要的一層,它包括兩個接口層,晶片接口層和移動接口層。晶片接口層提供了和晶片相關的API,同時支援由通信基帶處理器提供的各種擴充服務。例如藍牙功能,聲音與圖檔的編譯碼器,網絡服務,電話服務,定位服務,檔案系統服務等等。BREW移植時的OEM層,主要指的是這一層。OEM層通過回調函數和程式應用接口函數實作應用層和承載協定棧、LCD(液晶顯示器)、鍵盤、SPEAKER(喇叭)、SIM/USIM等裝置的通信。OEM層的重要工作之一就是将下層的狀态機封裝成應用要求的狀态。
移動接口層提供的功能基本上都是和晶片無關的,即除了晶片接口層之外的其他所有功能。例如位址本功能,與顯示相關的功能(如字型,顔色,圖像等),鈴聲功能,字元串處理,記憶體管理功能等等。BREW移植時的OEM層也包含這一層中的部分功能,但這一層中的決大部分功能都是由BREW執行環境中的基礎庫來實作的。
再往上就是AEE層,具體的BREW應用以及擴充類應用等等。