本發(fā)明涉及智能手機(jī)技術(shù),尤其涉及一種面向智能手機(jī)的可定制操作系統(tǒng)組件的嵌入式系統(tǒng)。
背景技術(shù):
智能手機(jī)提供強(qiáng)大的數(shù)據(jù)處理能力和隨時隨地的移動網(wǎng)絡(luò)數(shù)據(jù)通信,可以實現(xiàn)語音和視頻通話、網(wǎng)絡(luò)瀏覽、即時通訊、拍照、多媒體播放等豐富的功能應(yīng)用,已經(jīng)成為廣大消費(fèi)者必不可少的信息化工具。高性能的硬件平臺和開放性的操作系統(tǒng)軟件體系是智能手機(jī)所具有的主要特點(diǎn)。
智能手機(jī)的硬件平臺是以處理器為核心的嵌入式系統(tǒng)。嵌入式處理器多采用arm處理器架構(gòu),將針對特定應(yīng)用場景所設(shè)計的功能部件集成在處理器內(nèi)部,從而提高了針對性和集成度,具有處理能力強(qiáng),能耗低,體積小,成本可控的優(yōu)點(diǎn)。智能手機(jī)的硬件平臺以嵌入式處理器為中心,集成移動通信模組、sdram/flash存儲器、觸控面板、顯示屏、攝像頭、音頻輸出、藍(lán)牙、紅外、外圍接口、電源適配管理等基本部件,可以支持多種功能應(yīng)用。
目前,投入智能手機(jī)研發(fā)和生產(chǎn)的企業(yè)越來越多,產(chǎn)品類型日益豐富,相應(yīng)地,智能手機(jī)的硬件平臺配置呈現(xiàn)多樣化趨勢。高端智能手機(jī)的嵌入式硬件平臺除了基本部件以外,還可以集成壓感觸控元件、指紋識別元件、輔助攝像頭、計步器芯片、gps定位芯片、近場通訊模塊等增強(qiáng)部件,以滿足用戶在移動支付、導(dǎo)航定位、運(yùn)動健康、高質(zhì)量拍照等方面實際需求。而中低端智能手機(jī)從成本考慮,一般不會在硬件平臺中加入太多的增強(qiáng)部件,而且,中低端智能手機(jī)的處理器計算能力、內(nèi)存容量等指標(biāo)也明顯低于高端智能手機(jī)。
每臺智能手機(jī)的嵌入式系統(tǒng)都必須具備相應(yīng)的硬件和軟件體系。智能手機(jī)的嵌入式系統(tǒng)軟硬件體系如圖1所示,在硬件平臺100的基礎(chǔ)上,由底層至上層依次包括操作系統(tǒng)層1001、中間件1002以及應(yīng)用層1003。操作系統(tǒng)層1001可以劃分為硬件驅(qū)動以及系統(tǒng)內(nèi)核;硬件驅(qū)動為調(diào)用硬件平臺中的各個功能部件提供驅(qū)動接口程序;系統(tǒng)內(nèi)核實現(xiàn)電源管理、操作系統(tǒng)快速啟動、進(jìn)程調(diào)度的操作。中間件1002包括圖形用戶接口(gui),無線應(yīng)用接口,媒體庫,圖形引擎、數(shù)據(jù)庫引擎,向上提供操作系統(tǒng)的運(yùn)行環(huán)境并提供核心庫的支持。應(yīng)用層1003包括一個向各個應(yīng)用程序提供可供調(diào)用功能塊的公共庫,應(yīng)用程序可調(diào)用該公共庫中的功能塊而實現(xiàn)相應(yīng)的功能。應(yīng)用層1003的應(yīng)用程序包括操作系統(tǒng)預(yù)裝應(yīng)用程序以及第三方應(yīng)用程序。目前,不同廠家、品牌、檔次的智能手機(jī)雖然紛紛推出獨(dú)立定制的操作系統(tǒng),但主要表現(xiàn)為圖形界面形式、人機(jī)交互手法和預(yù)裝應(yīng)用程序功能上的差異,各種操作系統(tǒng)均采用了如圖1所示的統(tǒng)一架構(gòu)。
出于節(jié)約開發(fā)成本、提高系統(tǒng)和服務(wù)的可靠性、簡化管理維護(hù)等方面的考慮,同一廠家針對自身不同時間推出的、不同檔次的智能手機(jī)都采用統(tǒng)一的操作系統(tǒng)版本。為了保持系統(tǒng)運(yùn)行的持續(xù)優(yōu)化、修復(fù)操作系統(tǒng)中的bug、增加新的軟件功能以及改進(jìn)界面和人機(jī)交互,智能手機(jī)廠家的服務(wù)后臺會定期向本廠家的智能手機(jī)推送操作系統(tǒng)升級包,由用戶自主選擇對操作系統(tǒng)進(jìn)行版本升級,以達(dá)到統(tǒng)一的操作系統(tǒng)版本。這就造成同一廠家不同檔次的新舊手機(jī)雖然其在硬件平臺配置方面存在明顯的差異,但經(jīng)過升級之后,所運(yùn)行的都是同一版本的操作系統(tǒng),在操作系統(tǒng)層1001、中間件1002以及應(yīng)用層1003的公共庫上均是一樣的。一般來說,當(dāng)廠家開發(fā)了新款高端手機(jī)之后,操作系統(tǒng)的新版本也會以適應(yīng)和服務(wù)于新的硬件平臺配置為主,同時保持對其它檔次手機(jī)以及原有手機(jī)軟硬件上的兼容性。
由于現(xiàn)有技術(shù)中采用上述統(tǒng)一化的操作系統(tǒng)開發(fā)和升級方式,新版本的操作系統(tǒng)又按照較高級的硬件平臺配置加以設(shè)計,對于中低端手機(jī)硬件平臺或較舊的硬件平臺來說,升級后的新版操作系統(tǒng)往往包含大量實際不需要的驅(qū)動程序、中間件、功能塊以及預(yù)裝應(yīng)用程序。這就造成新版本的操作系統(tǒng)相對于這些不適用的硬件平臺來說,占用大量的存儲空間,運(yùn)行后新開無用進(jìn)程消耗內(nèi)存和處理器的負(fù)載能力,使得手機(jī)的運(yùn)行速度緩慢,而且由于操作系統(tǒng)與硬件平臺的不匹配易于發(fā)生報錯、宕機(jī)等異常狀況。
針對不同的手機(jī)硬件平臺配置分別開發(fā)對應(yīng)版本的操作系統(tǒng)會顯著增加開發(fā)成本,操作系統(tǒng)版本過多也不利于后臺的云服務(wù)支持、信息安全保障和數(shù)據(jù)管理維護(hù)。因而,現(xiàn)有的智能手機(jī)廠商普遍沒有采取多操作系統(tǒng)的方式。當(dāng)較舊的智能手機(jī)或低端的智能手機(jī)的硬件明顯無法支持新版本操作系統(tǒng)的運(yùn)行要求時,廠家會在操作系統(tǒng)升級包當(dāng)中提示用戶不再升級。但是這也使得用戶操作系統(tǒng)不能繼續(xù)得以優(yōu)化,存在的漏洞持續(xù)影響用戶的使用過程,甚至存在信息安全方面的隱患。
可見,現(xiàn)有技術(shù)忽略了不同手機(jī)在硬件平臺配置上的差異性,造成操作系統(tǒng)缺乏可定制的特性,違背了嵌入式開發(fā)需保持靈活可裁切的原則。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的上述問題,本發(fā)明提出一種面向智能手機(jī)的可定制操作系統(tǒng)組件的嵌入式系統(tǒng)。本系統(tǒng)保持適合嵌入式系統(tǒng)的軟、硬件可裁切特性,將嵌入式系統(tǒng)劃分為基礎(chǔ)內(nèi)核和可定制組件,并且在嵌入式系統(tǒng)的寄存器中記錄硬件平臺配置參數(shù);預(yù)裝或升級操作系統(tǒng)的過程中,在加載系統(tǒng)的基礎(chǔ)內(nèi)核之后,根據(jù)對該硬件平臺配置參數(shù)的檢測,下載與嵌入式系統(tǒng)的硬件平臺相匹配的可定制組件;在運(yùn)行過程中,基礎(chǔ)內(nèi)核通過插入可定制組件的進(jìn)程來實現(xiàn)操作系統(tǒng)在硬件驅(qū)動、中間件和應(yīng)用層上面的功能;并且針對可能存在的可定制組件與硬件平臺不完全兼容的問題,通過虛擬硬件機(jī)制,降低了系統(tǒng)報錯的風(fēng)險。
具體來說,本申請?zhí)峁┮环N面向智能手機(jī)的可定制操作系統(tǒng)組件的嵌入式系統(tǒng),其特征在于,包括操作系統(tǒng)層、中間件層和應(yīng)用層的基礎(chǔ)內(nèi)核和可定制組件;
其中,操作系統(tǒng)層的基礎(chǔ)內(nèi)核包括必要硬件驅(qū)動以及系統(tǒng)內(nèi)核;必要硬件驅(qū)動包括智能手機(jī)的硬件平臺必需的移動通信模組、觸控面板、顯示屏、音頻輸出、外圍接口、電源適配管理電路等基本功能部件的驅(qū)動接口程序;系統(tǒng)內(nèi)核包括電源管理模塊、操作系統(tǒng)快速啟動模塊、進(jìn)程調(diào)用模塊、專用寄存器讀取模塊以及硬件驅(qū)動管理模塊;電源管理模塊用于通過電源適配管理電路的驅(qū)動接口實現(xiàn)電源狀態(tài)偵測及管理;操作系統(tǒng)快速啟動模塊用于實現(xiàn)在內(nèi)存中的加載和啟動;進(jìn)程調(diào)用模塊用于實現(xiàn)內(nèi)存進(jìn)程的生成、保持、調(diào)用和殺死,并且在操作系統(tǒng)的系統(tǒng)內(nèi)核在內(nèi)存中啟動后自動生成和保持系統(tǒng)內(nèi)核所具有的基本進(jìn)程,以實現(xiàn)移動通信、內(nèi)核界面顯示、電源狀態(tài)檢測、基本音頻輸出等基本功能;專用寄存器讀取模塊用于按照預(yù)先指定尋址來讀取智能手機(jī)嵌入式系統(tǒng)中的一專用寄存器,該專用寄存器專門用于保存智能手機(jī)嵌入式系統(tǒng)的硬件平臺配置參數(shù);其中,進(jìn)程調(diào)用模塊響應(yīng)專用寄存器讀取模塊獲得的硬件平臺配置參數(shù),啟動一預(yù)定的組件下載進(jìn)程;組件下載進(jìn)程用于實現(xiàn)操作系統(tǒng)層、中間件以及應(yīng)用層的可定制組件的下載;硬件驅(qū)動管理模塊用于登記和管理當(dāng)前所獲得的驅(qū)動接口程序,包括必要硬件驅(qū)動和作為可定制組件的增強(qiáng)驅(qū)動接口,以及響應(yīng)進(jìn)程調(diào)用模塊所保持的各種進(jìn)程的調(diào)用,通過驅(qū)動接口程序?qū)崿F(xiàn)與硬件平臺各種功能部件的數(shù)據(jù)與指令交互;
操作系統(tǒng)層的可定制組件包括與硬件平臺的增強(qiáng)功能部件對應(yīng)的增強(qiáng)驅(qū)動接口;
中間件層的基礎(chǔ)內(nèi)核為基本中間接口,用于向上提供操作系統(tǒng)的運(yùn)行環(huán)境,以便實現(xiàn)嵌入式系統(tǒng)在人機(jī)交互接口和無線通信功能方面的基礎(chǔ)支撐,基本中間接口包括圖形用戶接口和無線應(yīng)用接口;所述圖形用戶接口通過加載可定制圖形引擎庫的圖形引擎向應(yīng)用層提供所支持的基本輸入輸出操作集;無線應(yīng)用接口向應(yīng)用層提供所支持的通信應(yīng)用接口集;
中間件層的可定制組件是可定制基本庫,用于匹配底層硬件平臺的配置和能力而為上層各種應(yīng)用功能的實現(xiàn)提供核心庫的支持,可定制基本庫具體包括可定制媒體庫、可定制圖形引擎庫;可定制媒體庫通過圖形用戶接口向應(yīng)用層提供所支持的媒體功能集;
應(yīng)用層的基礎(chǔ)內(nèi)核包括供本層的各個應(yīng)用調(diào)用的公共功能接口集以及必要應(yīng)用程序集;公共功能接口集包括由操作系統(tǒng)層和中間件層提供的可以由應(yīng)用層的各個應(yīng)用調(diào)用的功能接口;必要應(yīng)用程序集包含操作系統(tǒng)中基礎(chǔ)性的必需應(yīng)用;
應(yīng)用層的可定制組件包括可擴(kuò)展功能接口集以及可擴(kuò)展應(yīng)用程序;可擴(kuò)展功能接口集包含了由中間件層提供的基本輸入輸出操作集、通信應(yīng)用接口集、媒體功能集;隨著中間件層可定制組件當(dāng)中與硬件適配的不同加載方案,該可擴(kuò)展功能接口集中的可調(diào)用功能接口的數(shù)量和內(nèi)容隨之更新;可擴(kuò)展應(yīng)用程序提供了與硬件平臺的不同硬件配置相適配的可加載應(yīng)用程序。
優(yōu)選的是,操作系統(tǒng)層的系統(tǒng)內(nèi)核進(jìn)一步包括:內(nèi)存管理模塊、進(jìn)程間通信模塊以及進(jìn)程調(diào)用上層接口;內(nèi)存管理模塊負(fù)責(zé)為進(jìn)程調(diào)用模塊所保持的各個進(jìn)程進(jìn)行硬件平臺內(nèi)存空間的動態(tài)識別、分配、維護(hù)和回收;進(jìn)程間通信模塊負(fù)責(zé)進(jìn)程調(diào)用模塊所保持的各個進(jìn)程之間數(shù)據(jù)相互傳輸;進(jìn)程調(diào)用上層接口負(fù)責(zé)進(jìn)程調(diào)用模塊所保持的各個進(jìn)程與中間件層和應(yīng)用層之間的數(shù)據(jù)傳輸交互,包括接受并向進(jìn)程傳遞中間件層和應(yīng)用層下達(dá)的指令和數(shù)據(jù),以及向中間件層和應(yīng)用層反饋進(jìn)程執(zhí)行的結(jié)果。
進(jìn)一步優(yōu)選的是,進(jìn)程調(diào)用模塊用于組件下載進(jìn)程啟動之后將組件下載進(jìn)程設(shè)置為具有最高優(yōu)先的級別;內(nèi)存管理模塊根據(jù)最高優(yōu)先級別而將該組件下載進(jìn)程設(shè)定為常駐內(nèi)存并分配相應(yīng)的固定內(nèi)存空間。
優(yōu)選的是,中間件層基本中間接口的圖形用戶接口具體包括:圖形設(shè)備驅(qū)動接口以及圖形引擎加載模塊;圖形設(shè)備驅(qū)動接口是面向硬件平臺中支持圖形化操作的設(shè)備的向下驅(qū)動接口,用于將中間件層的圖形化交互指令轉(zhuǎn)化為面向硬件平臺中支持圖形化操作的設(shè)備的實際操作指令;圖形引擎加載模塊用于加載可定制圖形引擎庫當(dāng)中的圖形引擎,基于可定制圖形引擎庫當(dāng)中所下載的各類圖形引擎,適應(yīng)性地進(jìn)行圖形引擎的加載和調(diào)用,并且根據(jù)圖形引擎的加載情況而生成并向應(yīng)用層提供圖形用戶接口所支持的基本輸入輸出操作集。
優(yōu)選的是,中間件層基本中間接口的無線應(yīng)用接口屏蔽硬件平臺和操作系統(tǒng)底層為了實現(xiàn)智能手機(jī)的無線通信功能而執(zhí)行的各種信令及數(shù)據(jù)處理、控制等具體的實現(xiàn)方式,而給應(yīng)用層提供了統(tǒng)一的通信應(yīng)用接口。
優(yōu)選的是,中間件層的可定制基本庫包括可定制圖形引擎庫,由所述組件下載進(jìn)程根據(jù)所述硬件平臺配置參數(shù)反映出來的硬件平臺配置狀況而下載相適應(yīng)的可以得到支持的圖形引擎。
優(yōu)選的是,中間件層的可定制基本庫包括可定制媒體庫,所述組件下載進(jìn)程根據(jù)所述硬件平臺配置參數(shù),下載能夠得到硬件平臺支持的媒體功能單元,加入該可定制媒體庫。
優(yōu)選的是,應(yīng)用層的可擴(kuò)展功能接口集包括一個可調(diào)用功能接口管理列表,應(yīng)用層的應(yīng)用可以通過查詢該可調(diào)用功能接口管理列表獲得可供調(diào)用的功能接口,并基于該可調(diào)用功能接口管理列表給出的鏈接實現(xiàn)對可擴(kuò)展功能接口集中的可調(diào)用功能接口的調(diào)用。
優(yōu)選的是,硬件驅(qū)動管理模塊包含一虛擬硬件響應(yīng)模塊,當(dāng)來自應(yīng)用層或中間件層的調(diào)用指令涉及硬件驅(qū)動管理模塊未登記的驅(qū)動接口程序時,該虛擬硬件響應(yīng)模塊響應(yīng)該調(diào)用指令而反饋一模擬硬件響應(yīng)。
本發(fā)明進(jìn)而提供了基于上述面向智能手機(jī)的可定制操作系統(tǒng)組件的嵌入式系統(tǒng)實現(xiàn)在硬件平臺裸機(jī)之上加載或更新軟件的方法,其特征在于,包括以下步驟:
步驟1,根據(jù)智能手機(jī)的硬件平臺所配置的增強(qiáng)功能部件,在硬件平臺的專用寄存器當(dāng)中寫入與增強(qiáng)功能部件的類型、型號、執(zhí)行協(xié)議標(biāo)準(zhǔn)等配置相對應(yīng)的硬件平臺配置參數(shù);
步驟2,向硬件平臺的非易失性存儲空間中保存操作系統(tǒng)層、中間件層和應(yīng)用層的基礎(chǔ)內(nèi)核;
步驟3,,通過操作系統(tǒng)快速啟動模塊向硬件平臺的內(nèi)存加載操作系統(tǒng)層的基礎(chǔ)內(nèi)核,進(jìn)而啟動進(jìn)程調(diào)用模塊建立操作系統(tǒng)運(yùn)行所需要的基本進(jìn)程;
步驟4,啟動專用寄存器讀取模塊,讀取硬件平臺配置參數(shù),將所檢測獲得的硬件平臺配置參數(shù)提供給進(jìn)程調(diào)用模塊;
步驟5,進(jìn)程調(diào)用模塊啟動一預(yù)定的組件下載進(jìn)程,組件下載進(jìn)程實現(xiàn)操作系統(tǒng)層、中間件以及應(yīng)用層的可定制組件的下載;
步驟6,實現(xiàn)操作系統(tǒng)層、中間件層以及應(yīng)用層已下載的可定制組件的加載。
可見,本申請充分保持了適合嵌入式系統(tǒng)的軟、硬件可裁切特性,使得智能手機(jī)相關(guān)軟件部分與其硬件平臺的模塊配置充分適應(yīng),避免了不能得到硬件平臺支持的系統(tǒng)層、中間件層和應(yīng)用層的軟件組件給系統(tǒng)的存儲與運(yùn)行帶來不必要的負(fù)荷;例如,在廠商為不同配置級別的智能手機(jī)采用統(tǒng)一化的操作系統(tǒng)的現(xiàn)狀下,非與最新操作系統(tǒng)完全適配的智能手機(jī)硬件平臺可以通過下載和插入與自身硬件配置相適應(yīng)的可定制組件,來實現(xiàn)操作系統(tǒng)在硬件驅(qū)動、中間件和應(yīng)用層上面的功能,從而保持操作系統(tǒng)功能的安裝和更新,同時減緩了完整版操作系統(tǒng)對智能手機(jī)平臺自身資源和處理能力的過度占用和消耗;并且針對可能存在的可定制組件與硬件平臺不完全兼容的問題,通過虛擬硬件機(jī)制,降低了系統(tǒng)報錯的風(fēng)險。
說明書附圖
圖1是現(xiàn)有技術(shù)的嵌入式系統(tǒng)軟硬件體系結(jié)構(gòu)示意圖;
圖2是本發(fā)明的智能手機(jī)嵌入式系統(tǒng)體系結(jié)構(gòu)示意圖;
圖3是本發(fā)明的嵌入式系統(tǒng)操作系統(tǒng)層系統(tǒng)內(nèi)核結(jié)構(gòu)示意圖;
圖4是本發(fā)明的嵌入式系統(tǒng)中間件層圖形用戶接口具體結(jié)構(gòu)示意圖;
圖5是在本發(fā)明的嵌入式系統(tǒng)基礎(chǔ)上執(zhí)行加載或更新必要操作系統(tǒng)軟件的過程示意圖。
具體實施方式
下面通過實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步具體的說明。
圖2是本發(fā)明提出的智能手機(jī)嵌入式系統(tǒng)體系結(jié)構(gòu)示意圖。本發(fā)明提出的智能手機(jī)嵌入式系統(tǒng)由基礎(chǔ)內(nèi)核1和可定制組件2組成。基礎(chǔ)內(nèi)核1和可定制組件2由底層至上層也分別依次包括操作系統(tǒng)層、中間件以及應(yīng)用層。
基礎(chǔ)內(nèi)核1在操作系統(tǒng)層包括必要硬件驅(qū)動10以及系統(tǒng)內(nèi)核11。必要硬件驅(qū)動10是硬件平臺中必需的基本功能部件的驅(qū)動接口程序,包括移動通信模組、觸控面板、顯示屏、音頻輸出、外圍接口、電源適配管理電路的驅(qū)動接口程序。系統(tǒng)內(nèi)核11如圖3所示,包括電源管理模塊110、操作系統(tǒng)快速啟動模塊111以及進(jìn)程調(diào)用模塊112;電源管理模塊110用于通過電源適配管理電路的驅(qū)動接口實現(xiàn)電源狀態(tài)偵測及管理;操作系統(tǒng)快速啟動模塊111用于在bootloader的調(diào)用下實現(xiàn)在內(nèi)存中的加載和啟動;進(jìn)程調(diào)用模塊112用于實現(xiàn)內(nèi)存進(jìn)程的生成、保持、調(diào)用和殺死,并且在操作系統(tǒng)的系統(tǒng)內(nèi)核11在內(nèi)存中啟動后自動生成和保持系統(tǒng)內(nèi)核11所具有的基本進(jìn)程,以實現(xiàn)移動通信、內(nèi)核界面顯示、電源狀態(tài)檢測、基本音頻輸出等功能。系統(tǒng)內(nèi)核11還包括專用寄存器讀取模塊113;專用寄存器讀取模塊113用于按照預(yù)先指定尋址來讀取智能手機(jī)嵌入式系統(tǒng)中的一專用寄存器,該專用寄存器專門用于保存智能手機(jī)嵌入式系統(tǒng)的硬件平臺配置參數(shù);硬件平臺配置參數(shù)包括除上述基本功能部件外,智能手機(jī)嵌入式系統(tǒng)硬件平臺所包括的其它增強(qiáng)功能部件的類型、型號、執(zhí)行協(xié)議標(biāo)準(zhǔn)等配置參數(shù);專用寄存器讀取模塊113將所檢測獲得的硬件平臺配置參數(shù)提供給進(jìn)程調(diào)用模塊112。進(jìn)程調(diào)用模塊112響應(yīng)專用寄存器讀取模塊113,啟動一預(yù)定的組件下載進(jìn)程;組件下載進(jìn)程用于實現(xiàn)操作系統(tǒng)層、中間件以及應(yīng)用層的可定制組件2的下載;組件下載進(jìn)程根據(jù)所獲得的硬件平臺配置參數(shù),下載與增強(qiáng)功能部件對應(yīng)的增強(qiáng)驅(qū)動接口20,這些增強(qiáng)驅(qū)動接口20作為操作系統(tǒng)層的可定制組件2;例如,增強(qiáng)驅(qū)動接口20具體包括壓感觸控元件、指紋識別元件、輔助攝像頭、計步器芯片、gps定位芯片、近場通訊模塊這些增強(qiáng)部件的硬件驅(qū)動接口程序。系統(tǒng)內(nèi)核11還包括硬件驅(qū)動管理模塊114;硬件驅(qū)動管理模塊114用于登記和管理當(dāng)前所獲得的驅(qū)動接口程序,包括必要硬件驅(qū)動10和作為可定制組件2的增強(qiáng)驅(qū)動接口;以及,響應(yīng)進(jìn)程調(diào)用模塊112所保持的各種進(jìn)程的調(diào)用,通過驅(qū)動接口程序?qū)崿F(xiàn)與硬件平臺各種功能部件的數(shù)據(jù)與指令交互。
如圖3所示,系統(tǒng)內(nèi)核11進(jìn)一步包括內(nèi)存管理模塊115、進(jìn)程間通信模塊116以及進(jìn)程調(diào)用上層接口117。內(nèi)存管理模塊115負(fù)責(zé)為進(jìn)程調(diào)用模塊112所保持的各個進(jìn)程進(jìn)行硬件平臺內(nèi)存空間的動態(tài)識別、分配、維護(hù)和回收。進(jìn)程間通信模塊116負(fù)責(zé)進(jìn)程調(diào)用模塊112所保持的各個進(jìn)程之間數(shù)據(jù)相互傳輸。進(jìn)程調(diào)用上層接口117負(fù)責(zé)進(jìn)程調(diào)用模塊112所保持的各個進(jìn)程與中間件層和應(yīng)用層之間的數(shù)據(jù)傳輸交互,包括接受并向進(jìn)程傳遞中間件層和應(yīng)用層下達(dá)的指令和數(shù)據(jù),以及向中間件層和應(yīng)用層反饋進(jìn)程執(zhí)行的結(jié)果。其中,對于實現(xiàn)操作系統(tǒng)層、中間件以及應(yīng)用層的可定制組件2下載的組件下載進(jìn)程,進(jìn)程調(diào)用模塊112將該進(jìn)程啟動之后設(shè)置為具有最高優(yōu)先的級別;內(nèi)存管理模塊115根據(jù)最高優(yōu)先級別而將該組件下載進(jìn)程設(shè)定為常駐內(nèi)存并分配相應(yīng)的固定內(nèi)存空間;該內(nèi)存空間可以用于對下載數(shù)據(jù)的暫存,以便在將下載的可定制組件2存儲至非易失性存儲卡之前實現(xiàn)完整性校驗等操作。并且,進(jìn)程調(diào)用上層接口117負(fù)責(zé)將來自中間件層和應(yīng)用層的可定制組件下載指令傳輸給組件下載進(jìn)程,并且根據(jù)組件下載進(jìn)程對中間件層和應(yīng)用層相應(yīng)的可定制組件2的下載進(jìn)度,向中間件層和應(yīng)用層反饋可定制組件下載狀態(tài)。
回到圖2,中間件層的基礎(chǔ)內(nèi)核1是基本中間接口12,具體包括圖形用戶接口121(gui)和無線應(yīng)用接口122,中間件層的基礎(chǔ)內(nèi)核1用于向上提供操作系統(tǒng)的運(yùn)行環(huán)境,以便實現(xiàn)嵌入式系統(tǒng)在人機(jī)交互接口和無線通信功能方面的基礎(chǔ)支撐。中間件層的可定制組件2是可定制基本庫22,具體包括可定制媒體庫221,可定制圖形引擎庫222,以上中間件層的可定制組件22匹配底層硬件平臺的配置和能力而為上層各種應(yīng)用功能的實現(xiàn)提供核心庫的支持。
圖形用戶接口121(gui)中間件目標(biāo)是屏蔽硬件平臺的下層差異,向上層應(yīng)用提供統(tǒng)一和易用的窗口界面控件,窗口界面控件體現(xiàn)為各種常用的窗口界面元素,應(yīng)用層生成圖形化人機(jī)交互接口的過程中可以對圖形用戶接口121(gui)所提供的窗口界面控件進(jìn)行直接應(yīng)用。為了適應(yīng)本申請根據(jù)底層硬件配置而動態(tài)加載可定制組件的特性,如圖4所示,該圖形用戶接口121(gui)具體包括圖形設(shè)備驅(qū)動接口1211以及圖形引擎加載模塊1212。圖形設(shè)備驅(qū)動接口1211是面向硬件平臺中支持圖形化操作的設(shè)備的向下驅(qū)動接口,其功能是將中間件層的圖形化交互指令轉(zhuǎn)化為面向屏幕、觸控面板的實際操作指令,從而實現(xiàn)從軟件到硬件的圖形化輸入輸出控制機(jī)能;如果硬件平臺系統(tǒng)還具有其它的支持圖形化操作的增強(qiáng)功能部件,例如觸控筆、外接圖形輸入設(shè)備等,則圖形設(shè)備驅(qū)動接口1211也能夠針對增強(qiáng)功能部件實現(xiàn)圖形化交互指令到面向硬件的實際操作指令的轉(zhuǎn)化。圖形設(shè)備驅(qū)動接口1211可以將調(diào)用硬件平臺的屏幕、觸控面板、觸控筆、外接圖形輸入設(shè)備等圖形化硬件部件的實際操作指令傳遞給操作系統(tǒng)層的系統(tǒng)內(nèi)核當(dāng)中負(fù)責(zé)響應(yīng)該類型的實際操作指令的響應(yīng)進(jìn)程,并進(jìn)而由該響應(yīng)進(jìn)程通過硬件驅(qū)動管理模塊114調(diào)用必要硬件驅(qū)動或者是增強(qiáng)驅(qū)動接口,以實際通過硬件部件實現(xiàn)圖形輸出以及圖形化的輸入采集。圖形引擎加載模塊1212用于加載可定制圖形引擎庫222當(dāng)中的圖形引擎;圖形引擎的作用是根據(jù)應(yīng)用層的點(diǎn)擊、畫線、多點(diǎn)縮放、多點(diǎn)滑動、填充區(qū)域、顏色操作、亮度操作、透明混合操作等基本輸入輸出操作而映射對應(yīng)的圖形化交互指令,并將所對應(yīng)的圖形化交互指令提供給所述圖形設(shè)備驅(qū)動接口1211以實現(xiàn)向操作系統(tǒng)層中硬件驅(qū)動接口的傳遞。由于硬件平臺不同的圖形硬件設(shè)備配置,智能手機(jī)所能夠支持的基本輸入輸出操作是與各個平臺的圖形硬件設(shè)備配置相匹配的,例如,支持多點(diǎn)觸摸識別的觸控面板才能夠支持多點(diǎn)縮放、多點(diǎn)滑動等輸入輸出操作,故需要加載與多點(diǎn)縮放和多點(diǎn)滑動對應(yīng)的圖形引擎。因而,可定制圖形引擎庫222當(dāng)中的圖形引擎可以作為中間件層的可定制組件2,由所述組件下載進(jìn)程根據(jù)所述硬件平臺配置參數(shù)反映出來的硬件平臺配置狀況而下載相適應(yīng)的可以得到支持的圖形引擎。進(jìn)而,圖形引擎加載模塊1212可基于可定制圖形引擎庫222當(dāng)中所下載的各類圖形引擎,適應(yīng)性地進(jìn)行圖形引擎的加載和調(diào)用,并且根據(jù)圖形引擎的加載情況而生成并向應(yīng)用層提供圖形用戶接口121(gui)所支持的基本輸入輸出操作集。
無線應(yīng)用接口122屏蔽硬件平臺和操作系統(tǒng)底層為了實現(xiàn)智能手機(jī)的無線通信功能而執(zhí)行的各種信令及數(shù)據(jù)處理、控制等具體的實現(xiàn)方式,而給應(yīng)用層提供了統(tǒng)一的通信應(yīng)用接口。應(yīng)用層的應(yīng)用并不必關(guān)心智能手機(jī)的無線通信部分采用了何種結(jié)構(gòu)和協(xié)議,只需通過調(diào)用統(tǒng)一的通信應(yīng)用接口就可以實現(xiàn)對無線通信功能的訪問,從而實現(xiàn)對gsm,gprs,wcdma,cdma2000,td-cdma,lte等無線通信協(xié)議的支持。無線應(yīng)用接口122具體可以分為通信應(yīng)用接口集、電話業(yè)務(wù)服務(wù)模塊和通信處理模塊三個部分。通信應(yīng)用接口集提供一組供應(yīng)用層的應(yīng)用調(diào)用的接口函數(shù),從而能夠使應(yīng)用不介入底層而實現(xiàn)無線通信功能。應(yīng)用通過消息方式與電話業(yè)務(wù)服務(wù)模塊進(jìn)行通信,電話業(yè)務(wù)服務(wù)模塊對上層應(yīng)用提供統(tǒng)一和并行的通信功能的具體實現(xiàn),一方面接受應(yīng)用的通信請求,并將通信請求轉(zhuǎn)換成相應(yīng)的控制命令發(fā)送給操作系統(tǒng)層的無線通信響應(yīng)進(jìn)程,以便調(diào)用相應(yīng)的硬件模塊進(jìn)行信號收發(fā);另一方面,電話業(yè)務(wù)服務(wù)模塊接受從操作系統(tǒng)層的無線通信響應(yīng)進(jìn)程傳入的數(shù)據(jù)和指令,進(jìn)行解析后通過標(biāo)準(zhǔn)的接口通知應(yīng)用。通信處理模塊負(fù)責(zé)對執(zhí)行通信傳輸協(xié)議的硬件設(shè)備進(jìn)行管理,從而電話業(yè)務(wù)服務(wù)模塊就可以通過一致的方式與硬件平臺的無線通信設(shè)備進(jìn)行交互,當(dāng)硬件平臺更新為采用其他無線通信設(shè)備時,只需通過通信處理模塊重新生成一個對象單位,依舊可以采用原有方式實現(xiàn)對硬件平臺的無線通信設(shè)備進(jìn)行管理,使得平臺具有很好的可擴(kuò)展性。
中間件層的可定制組件2是可定制基本庫22,具體包括可定制媒體庫221,可定制圖形引擎庫222。前文提到,可定制圖形引擎庫222當(dāng)中的圖形引擎作為中間件層的可定制組件2,可以由操作系統(tǒng)層的所述組件下載進(jìn)程根據(jù)所述硬件平臺配置參數(shù)進(jìn)行下載;圖形引擎加載模塊1212可基于可定制圖形引擎庫222當(dāng)中所下載的各類圖形引擎,適應(yīng)性地進(jìn)行圖形引擎的加載和調(diào)用,并且根據(jù)圖形引擎的加載情況而生成并向應(yīng)用層提供圖形用戶接口121(gui)所支持的基本輸入輸出操作集。
可定制媒體庫221可以提供支持流媒體編解碼及播放的媒體功能單元;相類似地,操作系統(tǒng)層的所述組件下載進(jìn)程根據(jù)所述硬件平臺配置參數(shù),下載能夠得到硬件平臺支持的媒體功能單元,加入該可定制媒體庫221;例如,在硬件平臺具有支持3d裸眼顯示或3d投影顯示的硬件配置的情況下,可以下載執(zhí)行3d媒體解碼、視差處理和播放的媒體功能單元,加入該可定制媒體庫221;并且,可定制媒體庫221允許基本中間接口12中的圖形用戶接口121對媒體功能單元的加載和調(diào)用,從而響應(yīng)應(yīng)用層的請求而向上提供流媒體形式的數(shù)據(jù);圖形用戶接口121面向應(yīng)用層提供一個對應(yīng)用可用的媒體功能集,以便通過對該媒體功能集中的媒體功能的調(diào)用而實現(xiàn)對可定制媒體庫221當(dāng)中媒體功能單元的加載和調(diào)用。
參見圖2,應(yīng)用層的基礎(chǔ)內(nèi)核包括可供本層的各個應(yīng)用調(diào)用的公共功能接口集13,以及必要應(yīng)用程序集14。應(yīng)用層的可定制組件包括彈性的可擴(kuò)展功能接口集23以及各種適應(yīng)智能手機(jī)功能的可擴(kuò)展應(yīng)用程序24。
公共功能接口集13包括由操作系統(tǒng)層和中間件層提供的可以由應(yīng)用層的各個應(yīng)用調(diào)用的功能接口(api)。應(yīng)用層的各類應(yīng)用可以通過調(diào)用公共功能接口集13當(dāng)中包含的功能接口而命令操作系統(tǒng),通過借助操作系統(tǒng)提供的一些基礎(chǔ)功能的運(yùn)行,為應(yīng)用自身的功能實現(xiàn)提供服務(wù)。必要應(yīng)用程序集14作為應(yīng)用層的基礎(chǔ)內(nèi)核,包含操作系統(tǒng)中基礎(chǔ)性的必需應(yīng)用,例如通話服務(wù)、短消息服務(wù)、電話簿服務(wù)、sim卡訪問、時鐘、文件管理和訪問系統(tǒng)、網(wǎng)絡(luò)瀏覽器、手機(jī)功能設(shè)置程序等。應(yīng)用層的基礎(chǔ)內(nèi)核在預(yù)裝或升級操作系統(tǒng)的過程中,作為操作系統(tǒng)的必要組成部分默認(rèn)加載并存儲于智能手機(jī)的存儲空間。
可擴(kuò)展功能接口集23包含了由中間件層提供的基本輸入輸出操作集、通信應(yīng)用接口集、媒體功能集,因而,可擴(kuò)展功能接口集23是一個彈性的和動態(tài)的可調(diào)用功能接口集合;隨著中間件層可定制組件當(dāng)中與硬件適配的不同加載方案的實現(xiàn),該可擴(kuò)展功能接口集23中的可調(diào)用功能接口的數(shù)量和內(nèi)容是隨之更新的。為了適應(yīng)該功能接口集動態(tài)彈性變化的特性,可擴(kuò)展功能接口集23包括一個可調(diào)用功能接口管理列表,應(yīng)用層的應(yīng)用可以通過查詢該可調(diào)用功能接口管理列表獲得可供調(diào)用的功能接口,并基于該可調(diào)用功能接口管理列表給出的鏈接實現(xiàn)對可擴(kuò)展功能接口集23中的可調(diào)用功能接口的調(diào)用。
可擴(kuò)展應(yīng)用程序24提供了與硬件平臺的不同硬件配置相適配的可加載應(yīng)用程序,例如,與硬件平臺的壓感觸控元件、指紋識別元件、輔助攝像頭、計步器芯片、gps定位芯片、近場通訊模塊等增強(qiáng)部件相適配,作為應(yīng)用層可定制組件的可擴(kuò)展應(yīng)用程序24可以包括壓力感應(yīng)應(yīng)用、指紋解鎖應(yīng)用、指紋身份識別應(yīng)用、自拍應(yīng)用、健康指數(shù)應(yīng)用、定位服務(wù)應(yīng)用、近距離支付應(yīng)用等。
圖2所示的以基礎(chǔ)內(nèi)核加載可定制組件形成的嵌入式體系結(jié)構(gòu)為基礎(chǔ),本申請的智能手機(jī)在硬件平臺裸機(jī)之上加載或更新必要操作系統(tǒng)軟件的過程如圖5所示。在步驟501中,根據(jù)智能手機(jī)的硬件平臺所配置的增強(qiáng)功能部件,在硬件平臺的專用寄存器當(dāng)中寫入與增強(qiáng)功能部件的類型、型號、執(zhí)行協(xié)議標(biāo)準(zhǔn)等配置相對應(yīng)的硬件平臺配置參數(shù)。步驟502中,向硬件平臺的非易失性存儲空間中保存操作系統(tǒng)層、中間件層和應(yīng)用層的基礎(chǔ)內(nèi)核。基礎(chǔ)內(nèi)核被保存之后,步驟503中,通過操作系統(tǒng)快速啟動模塊111向硬件平臺的內(nèi)存加載操作系統(tǒng)層的基礎(chǔ)內(nèi)核,進(jìn)而啟動進(jìn)程調(diào)用模塊建立操作系統(tǒng)運(yùn)行所需要的基本進(jìn)程。步驟504,啟動專用寄存器讀取模塊,讀取硬件平臺配置參數(shù),將所檢測獲得的硬件平臺配置參數(shù)提供給進(jìn)程調(diào)用模塊。步驟505,進(jìn)程調(diào)用模塊啟動一預(yù)定的組件下載進(jìn)程,組件下載進(jìn)程實現(xiàn)操作系統(tǒng)層、中間件以及應(yīng)用層的可定制組件的下載;具體來說,組件下載進(jìn)程通過無線應(yīng)用接口的網(wǎng)絡(luò)連接功能與預(yù)定的組件下載服務(wù)器網(wǎng)絡(luò)地址建立通信連接,內(nèi)存管理模塊為組件下載進(jìn)程分配相應(yīng)的固定內(nèi)存空間,依次實現(xiàn)操作系統(tǒng)層增強(qiáng)驅(qū)動接口、中間件層的可定制基本庫以及應(yīng)用層可擴(kuò)展應(yīng)用程序的下載。步驟506中,實現(xiàn)操作系統(tǒng)層、中間件層以及應(yīng)用層已下載的可定制組件的加載;具體來看,在操作系統(tǒng)層,通過硬件驅(qū)動管理模塊實現(xiàn)增強(qiáng)驅(qū)動接口的調(diào)用;在中間件層,通過圖形引擎加載模塊對可定制圖形引擎庫中的圖形引擎予以加載和調(diào)用,并且通過圖形用戶接口進(jìn)行可定制媒體庫中媒體功能單元的加載和調(diào)用;應(yīng)用層的可擴(kuò)展功能接口集根據(jù)中間件層對可定制組件的加載生成可調(diào)用功能接口集合并寫入可調(diào)用功能接口管理列表。進(jìn)而,在嵌入式系統(tǒng)的實際運(yùn)行中,通過各層的基礎(chǔ)內(nèi)核和可定制組件實現(xiàn)智能手機(jī)的軟硬件平臺功能。
雖然根據(jù)硬件平臺的配置參數(shù)而適應(yīng)性地進(jìn)行可定制組件的下載和加載,但鑒于硬件平臺的多樣性,可能存在可定制組件與硬件平臺不完全兼容的問題。通過虛擬硬件機(jī)制,降低了系統(tǒng)報錯的風(fēng)險。具體來說,在硬件驅(qū)動管理模塊包含一虛擬硬件響應(yīng)模塊,當(dāng)來自應(yīng)用層或中間件層的調(diào)用指令涉及硬件驅(qū)動管理模塊未登記的驅(qū)動接口程序時,該虛擬硬件響應(yīng)模塊響應(yīng)該調(diào)用指令而反饋一模擬硬件響應(yīng);例如,當(dāng)應(yīng)用層或中間件層的調(diào)用指令涉及輔助攝像頭,而智能手機(jī)的硬件平臺并未包括輔助攝像頭作為增強(qiáng)功能部件的情況下,由于硬件驅(qū)動管理模塊未登記與輔助攝像頭對應(yīng)的驅(qū)動接口程序,則由虛擬硬件響應(yīng)模塊反饋一模擬的預(yù)制圖片作為模擬硬件響應(yīng);通過這一機(jī)制,雖然不能實現(xiàn)輔助攝像頭相關(guān)的應(yīng)用功能,但可以避免相關(guān)應(yīng)用發(fā)生報錯的情況。
可見,本申請充分保持了適合嵌入式系統(tǒng)的軟、硬件可裁切特性,使得智能手機(jī)相關(guān)軟件部分與其硬件平臺的模塊配置充分適應(yīng),避免了不能得到硬件平臺支持的系統(tǒng)層、中間件層和應(yīng)用層的軟件組件給系統(tǒng)的存儲與運(yùn)行帶來不必要的負(fù)荷;例如,在廠商為不同配置級別的智能手機(jī)采用統(tǒng)一化的操作系統(tǒng)的現(xiàn)狀下,非與最新操作系統(tǒng)完全適配的智能手機(jī)硬件平臺可以通過下載和插入與自身硬件配置相適應(yīng)的可定制組件,來實現(xiàn)操作系統(tǒng)在硬件驅(qū)動、中間件和應(yīng)用層上面的功能,從而保持操作系統(tǒng)功能的安裝和更新,同時減緩了完整版操作系統(tǒng)對智能手機(jī)平臺自身資源和處理能力的過度占用和消耗;并且針對可能存在的可定制組件與硬件平臺不完全兼容的問題,通過虛擬硬件機(jī)制,降低了系統(tǒng)報錯的風(fēng)險。
以上實施例僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。