《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 將ARM版Android用于非智能手機(jī)應(yīng)用
將ARM版Android用于非智能手機(jī)應(yīng)用
摘要: Android操作系統(tǒng)此前主要被用于智能手機(jī)和平板等移動(dòng)設(shè)備,,現(xiàn)在它將進(jìn)入更多市場(chǎng),。ARM處理器開(kāi)發(fā)者傾向于利用Android的靈活性,、性能和多功能性,。
Abstract:
Key words :

  Android操作系統(tǒng)此前主要被用于智能手機(jī)和平板等移動(dòng)設(shè)備,,現(xiàn)在它將進(jìn)入更多市場(chǎng),。ARM處理器開(kāi)發(fā)者傾向于利用Android的靈活性,、性能和多功能性,?;陂_(kāi)源Linux內(nèi)核的Android系統(tǒng)依然保留了開(kāi)源軟件的很多特性,,即便在Google收購(gòu)Android以后,它也只是蛻變?yōu)榛旌夏J?mdash;—鑒于開(kāi)源和商業(yè)之間的操作系統(tǒng),。Android1的優(yōu)勢(shì)在于沒(méi)有授權(quán)費(fèi)而且可以免于開(kāi)源社區(qū)的索取,。Android已經(jīng)預(yù)配了強(qiáng)大的功能,Google定義了該操作系統(tǒng)的中間件,、多媒體框架以及關(guān)鍵系統(tǒng)固件,,這和需要開(kāi)發(fā)者自行集成功能至開(kāi)源內(nèi)核的其它Linux系統(tǒng)不一樣。

  截至2011年10月,,Android智能手機(jī)應(yīng)用數(shù)量已經(jīng)突破40萬(wàn)個(gè),,體現(xiàn)出它的強(qiáng)勁增長(zhǎng),。Android版本的快速更新以及未來(lái)路線圖展現(xiàn)出該系統(tǒng)的持久性。最新發(fā)布的Android 4.0(又名Ice Cream Sandwich)將該系統(tǒng)的智能手機(jī)和平板版本合二為一,。

  Android的新邊疆

  Android已經(jīng)在手機(jī)領(lǐng)域取得大量市場(chǎng)份額,,并開(kāi)始向類(lèi)似市場(chǎng)進(jìn)軍。這些市場(chǎng)包括平板,、瘦客戶端個(gè)人電腦,、無(wú)線視頻會(huì)議系統(tǒng)以及采用GoogleTV的電視機(jī)。

  智能手機(jī)順滑的觸屏界面非常流行,,以至于開(kāi)始滲入日常家用,、商用產(chǎn)品。得益于其靈活性,,Android也已經(jīng)進(jìn)入耐用型PDA個(gè)人數(shù)字助理,、智能家電、醫(yī)療診斷用戶界面甚至工業(yè)系統(tǒng),。

  從功能性的角度,,上文提及的大部分應(yīng)用都有共性。所有這些都重視多媒體內(nèi)容,,并且主打健壯,、以圖形為中心的流暢觸控用戶界面以及通信組建——都是Android的強(qiáng)項(xiàng),!

  這些新產(chǎn)品的設(shè)計(jì)師在考慮將現(xiàn)有應(yīng)用與Android環(huán)境整合時(shí)應(yīng)該注意Linux和Android的區(qū)別,。這兩個(gè)系統(tǒng)有很多相近的功能,比如多媒體處理,、文件系統(tǒng)響應(yīng),、cocs、驅(qū)動(dòng)補(bǔ)丁以及其它軟件模塊,。但它們并不相同,,即便Android構(gòu)筑于Linux內(nèi)核之上。設(shè)計(jì)師在從Linux向Android遷移的階段需要重新編碼,。

ARM內(nèi)核優(yōu)化

  Android操作系統(tǒng)完全為ARM處理器內(nèi)核優(yōu)化,,特別是ARM Cortex-A系列內(nèi)核,包括ARM Cortex-A8,。該處理器擁有上網(wǎng)本級(jí)別的功能以及低功耗特性,,非常適合移動(dòng)嵌入式系統(tǒng)。ARM Cortex-A8設(shè)備通過(guò)被稱為NEON的ARM高級(jí)SIMD技術(shù)進(jìn)行編碼或圖形操作加速,,相比直接ARM或THUMB編碼性能提升顯著,。德州儀器的ARM設(shè)備集成了NEON高級(jí)SIMD引擎。ARM9內(nèi)核被廣泛用于嵌入式系統(tǒng),,但Android并未針對(duì)這些內(nèi)核進(jìn)行優(yōu)化,。它可以用于ARM9設(shè)備,,但性能表現(xiàn)會(huì)嚴(yán)重縮水。

  Android系統(tǒng)通常主打多媒體應(yīng)用,,開(kāi)發(fā)者應(yīng)該注意系統(tǒng)對(duì)視頻,、音頻和圖形的處理方式。Android預(yù)裝了很多低分辨率的多媒體編解碼器,,這是ARM Cortex-A8通用內(nèi)核的基礎(chǔ),。不過(guò)很多業(yè)界的處理器,例如德州儀器的OMAP,、DaVinci視頻處理器以及C6000 DSP + ARM 處理器合并了ARM內(nèi)核與DSP,。這么做可以幫助DSP分擔(dān)ARM內(nèi)核的處理任務(wù),提供更強(qiáng)的多媒體處理能力,。

  Android開(kāi)發(fā)工具

  Android向開(kāi)發(fā)者提供Java和C/C++開(kāi)發(fā)語(yǔ)言,。Java方面利用Android SDK(軟件開(kāi)發(fā)包)和針對(duì)移動(dòng)設(shè)備優(yōu)化的Dalvik虛擬機(jī)。Java可以運(yùn)行于任何支持Java的環(huán)境,。Android NDK(本地開(kāi)發(fā)包)則采用C/C++編碼,,將編碼限定于特定的CPU架構(gòu)。不過(guò)由于絕大部分Android設(shè)備都基于ARM,,這算不得什么嚴(yán)重限制,,對(duì)想用Android的x86廠商才是大問(wèn)題。純Java應(yīng)用可以正常運(yùn)行,,但利用NDK代碼開(kāi)發(fā)的ARM應(yīng)用就需要手動(dòng)移植到x86設(shè)備,。

  開(kāi)發(fā)者在評(píng)估Android設(shè)備時(shí)可以在搬上實(shí)體設(shè)備前先利用完整的虛擬環(huán)境構(gòu)筑應(yīng)用。該環(huán)境可以在 http://developer.android.com/sdk 下載到,,能夠運(yùn)行于蘋(píng)果,、Linux或Windows個(gè)人電腦。

圖1,,框架應(yīng)用程序編程接口(API),,調(diào)式代碼以及Android SK的工具和輸出完成后的代碼。德州儀器的Code Composer Studio v.5 IDE支持Google Android開(kāi)發(fā)工具(ADT)插件,。
圖1,,框架應(yīng)用程序編程接口(API),調(diào)式代碼以及Android SK的工具和輸出完成后的代碼,。德州儀器的Code Composer Studio v.5 IDE支持Google Android開(kāi)發(fā)工具(ADT)插件,。

  Google提供的Android開(kāi)發(fā)工具(ADT)插件支持流行的Eclipse整合開(kāi)發(fā)環(huán)境(IDE)。Eclipse被捆 綁在很多工具上以實(shí)現(xiàn)快速展開(kāi)項(xiàng)目,、應(yīng)用界面開(kāi)發(fā),、增加基于Android Framework API的組件和調(diào)式代碼、Android SK的工具以及輸出完成代碼,。德州儀器的Code Composer Studio v.5 IDE(圖1)基于Eclipse,,并擁有高級(jí)調(diào)試功能(例如Linux Aware Debug),、硬件調(diào)試、仿真等功能,。開(kāi)發(fā)者采用Code Composer Studio和ADT插件,,就能直接在同一個(gè)IDE調(diào)試Android Java和C/C++代碼、Linux內(nèi)核,、DSP代碼等等,。開(kāi)發(fā)者也可以通過(guò)Code Composer Studio和ADT插件運(yùn)行Android虛擬機(jī)。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。