資源描述:
《android操作系統(tǒng)研究與移植》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、Android操作系統(tǒng)研究與移植王宏偉1何晉1趙繼勇1李芝21.云南民族大學(xué)電氣信息工程學(xué)院,昆明,6505002.南京郵電大學(xué)電子信息與工程學(xué)院,南京,210003摘要Android操作系統(tǒng)在嵌入式領(lǐng)域中有著越來(lái)越廣闥的前景,本文以將Android操作系統(tǒng)移植到DevKitS000開(kāi)發(fā)板上作為課題,希望通過(guò)修改Android部分代碼使其能夠在devkitS000開(kāi)發(fā)板上運(yùn)行起來(lái)。詳細(xì)論述了移植x—loader、tlt—boot、內(nèi)核及根文件系統(tǒng)的步驟,并根據(jù)deddt$000開(kāi)發(fā)板的特性對(duì)android部分源碼進(jìn)行整合性修改,比如電源管理模塊,并對(duì)移植后的系統(tǒng)進(jìn)行測(cè)
2、試,驗(yàn)證了移植的成功性。關(guān)鍵詞Andrdd,移植,操作系統(tǒng),DevKitS(X)o,OMAP,內(nèi)核,文件系統(tǒng)1前言Android是主要用于移動(dòng)設(shè)備的免費(fèi)開(kāi)放的操作系統(tǒng),包括內(nèi)核、C/C++庫(kù)、Java庫(kù)、Java虛擬機(jī)和一些關(guān)鍵的用戶(hù)應(yīng)用程序。任何廠商都可以不經(jīng)過(guò)谷歌和開(kāi)放手持設(shè)備聯(lián)盟的授權(quán)而隨意使用Android操作系統(tǒng)。Android得到了眾多廠商的積極支持,目前Android已成為開(kāi)放且完整的生態(tài)系統(tǒng),所以android系統(tǒng)移植到不同的硬件平臺(tái)將會(huì)呈現(xiàn)出很大的市場(chǎng)價(jià)值。2Android分析和android移植android作為一款基于linux內(nèi)核的開(kāi)源操作系統(tǒng)
3、,整個(gè)體系結(jié)構(gòu)從上到下分為應(yīng)用程序、應(yīng)用程序框架、本地底層庫(kù)和Android運(yùn)行時(shí)環(huán)境、內(nèi)核。(1)開(kāi)發(fā)環(huán)境的搭建硬件環(huán)境:本文的目標(biāo)開(kāi)發(fā)板是深圳市天漠科技有限公司生產(chǎn)的DevKitS000評(píng)估套件,該開(kāi)發(fā)板是基于德州儀器(1fI)的OMAP3530處理器,板載256MBLPDDRSDRAM和256MBNANDFlash,搭載一塊4.3寸的液晶模塊(帶觸摸屏)。DevKitS000提供了DVI、SD/MMC、USB、以太網(wǎng)、串口等外設(shè)接口。本文的開(kāi)發(fā)主機(jī)配置:子項(xiàng)配置0SUbtmtu11.0464bitCPUIIItel(R)Co帕(TM)i5—2430MCPU@2.
4、4GI-IzRAM6GHardDisk750G軟件環(huán)境:①Git最初是由LinusTorvalds(Linux之父)為了管理Linux內(nèi)核開(kāi)發(fā)而創(chuàng)作的版本控制工具,與常見(jiàn)的CVS、SVN等集中式版本控制工具不同的是,Git是一個(gè)分布式的版本控制工具,更具健壯性。Git已被許多有名的軟件工程用于版本控制系統(tǒng)。Git支持多種傳輸協(xié)議:Git、SSH、http/httl掐等。②JDK安裝:通過(guò)apt安裝JD硒的方法如下:MYMsudoadd—apt—repository”debhttp://archive.canonical.comAucidpartner。MYMsudoa
5、pt—getinstallStill-javm5一jdk通過(guò)“javac—version”和“javac—version”命令查看ubuntu當(dāng)前使用的JDK版本o③必要的Packages安裝。(2)源碼下載Qx—l德蛔艘正載:sudogitclonegit://gitotiom.orF,/x—load—omap3/mainline.sito②u—boot婆毋下載:8望dogitclonegit://git.denx.de/u—boot.gito③Android平臺(tái)源碼下載。本文采用reporepository管理腳本下載androdi源碼。具體步驟見(jiàn)htlp://w
6、ww.8伽瑚.a(chǎn)ndroid.咖。(3)U—boot配置與編譯按照以下步驟對(duì)U—lx,ot進(jìn)行配置和編譯:①edU—booto②makedevkit9000config。③makedistdean(如之前編譯過(guò))。(爹makeo(4)android內(nèi)核移植①內(nèi)核配置本文選用menucoRfig配置工具,執(zhí)行makemenuconfig命令時(shí),內(nèi)核配置系統(tǒng)從各級(jí)Kcon-堍文件中讀出配置菜單,用戶(hù)完成配置后配置結(jié)果被保存到源碼頂層目錄下的.config文件中。②內(nèi)核編譯內(nèi)核編譯步驟如下:·cdkernelo·makedisteleano·makeomapl一。..·。.
7、defc,o進(jìn)nfi入gmakemenuconfig配置界面,按內(nèi)核配置小結(jié)對(duì)內(nèi)核進(jìn)行配置,完成之后退出并保存到.o∞玩文件o·nMikeuImageo完成后,在arclVann/boot/目錄下生成需要的uImage鏡像文件。(5)android根文件系統(tǒng)移植Android的根文件系統(tǒng)結(jié)構(gòu)大體上類(lèi)似于普通的Linux,Android的根文件系統(tǒng)結(jié)構(gòu)圖略。①android平臺(tái)源碼編譯build/target/product/AndmidProducts.mk文件中的“PRODUCT—MAKEFILES”指定包含同目錄下的哪些.mk文件,而在那些.mk