資源描述:
《基于android手機手電筒程序?qū)崿F(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、課程設(shè)計報告課程設(shè)計名稱:嵌入式系統(tǒng)綜合課程設(shè)計課程設(shè)計題目:基于Android手機的手電筒程序的實現(xiàn)院(系):計算機學(xué)院專業(yè):班級:學(xué)號:姓名:指導(dǎo)教師:完成日期:第1章系統(tǒng)分析11.1需求分析11.2硬件分析11.2.1實驗環(huán)境21.2.2相關(guān)硬件簡介21.3軟件分析21.3」嵌入式操作系統(tǒng)簡介31.3.2開發(fā)技術(shù)簡介4第2章系統(tǒng)設(shè)計52.1操作系統(tǒng)移植52.2系統(tǒng)模塊設(shè)計52.3關(guān)鍵流程62.3.1系統(tǒng)主流程圖62.3.2開燈流程圖72.3.3屏幕背光流程圖82.3.4SOS流程圖9第3章系統(tǒng)調(diào)試及運行103」調(diào)試分析103.2結(jié)果分析11參考文獻13附
2、錄14第1章系統(tǒng)分析1.1需求分析在現(xiàn)代社會中,手機的功能越來越豐富,給生活帶來了極大的趣味性和便捷性。手電筒是生活屮最普通的生活必需品,它在我們身處黑暗時給予我們光亮。傳統(tǒng)的手電筒體積較大,需要電池,不方便攜帶。手機與手電筒的結(jié)合恰恰可以解決傳統(tǒng)手機帶來的不便,同時還可以節(jié)約資源,保護環(huán)境。既可以讓用戶及時獲得手電筒帶來的益處,也可以讓生活更加便捷,高效。1.2硬件分析Android是一個以Linux為基礎(chǔ)的半開源操作系統(tǒng),主要用于移動設(shè)備,由Google和開放手持設(shè)備聯(lián)盟開發(fā)與領(lǐng)導(dǎo)。Android的HAL(硬件抽像層)是能以封閉源碼形式提供硬件驅(qū)動模塊。H
3、AL的目的是為了把Androidframework與Linuxkernel隔開,讓Android不至過度依賴Linuxkernel,以達成kernelindependent的概念,也讓Androidframework的開發(fā)能在不考量驅(qū)動程序?qū)崿F(xiàn)的前提下進行發(fā)展。HALstub是一種代理人(proxy)的概念,stub是以*.so檔的形式存在。Stub向HAL"提供"操作函數(shù)(operations),并
4、±
5、Androidruntime向HAL取得stub的operations,再callback這些操作函數(shù)。HAL里包含了許多的stub(代理人)。Runtim
6、e只要說明“類型匕即moduleID,就可以取得操作函數(shù)。Android本身是一個權(quán)限分立的操作系統(tǒng)。在這類操作系統(tǒng)中,每個應(yīng)用都以唯一的一個系統(tǒng)識別身份運行(Linux用戶ID與群組ID)。系統(tǒng)的各部分也分別使用各自獨立的識別方式。Linux就是這樣將應(yīng)用與應(yīng)用,應(yīng)用與系統(tǒng)隔離開。在Android開發(fā)中,我們就是通過ID來調(diào)用或更改組件的。Android平臺提供給第三方開發(fā)者一個十分寬泛、自由的環(huán)境,不會受到各種條條框框的阻擾。在本次課程設(shè)計中用到的是Android4.4.2,型號為SM-N9002的三星手機。121實驗環(huán)境1)JDK(JavaDevelop
7、mentKit)JDK是Java語言的軟件開發(fā)工具包,主要用于移動設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序。2)EclipseEclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(JavaDevelopmentKit,JDK)o3)SDK(softwaredevelopmentkit)SDK是軟件開發(fā)工具包。被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。4)ADT(A
8、bstractDataType)抽象數(shù)據(jù)類型(ADT)是一個實現(xiàn)包括儲存數(shù)據(jù)元素的存儲結(jié)構(gòu)以及實現(xiàn)基本操作的算法。其屮包括數(shù)據(jù)對彖,數(shù)據(jù)關(guān)系和基本操作。1.2.2相關(guān)硬件簡介在安卓手機上絕大多數(shù)的處理器都是ARM處理器,ARM處理器的三大特點是:耗電少功能強、16位/32位雙指令集和合作伙伴眾多。其具體體現(xiàn)是:1)體積小、低功耗、低成本、高性能;1)支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件;2)犬量使用寄存器,指令執(zhí)行速度更快;3)大多數(shù)數(shù)據(jù)操作都在寄存器中完成;4)尋址方式靈活簡單,執(zhí)行效率高;5)指令長度I古I定。1
9、.3軟件分析本次課程設(shè)計用到的軟件是Eclipse,此軟件是一個開放源代碼的軟件開發(fā)項目,專注于為高度集成的工具開發(fā)提供一個全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺。它主要由Eclipse項目、EclipseX具項冃和Eclipse技術(shù)項目三個項目組成。具體包括四個部分組成——EclipsePlatformJDT、CDT和PDE。JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE用來支持插件開發(fā),EclipsePlatform則是一個開放的可擴展IDE,提供了一個通用的開發(fā)平臺。它提供建造塊和構(gòu)造并運行集成軟件開發(fā)工具的基礎(chǔ)。EclipsePlatform允許工具建造者
10、獨立開發(fā)與他人工具無縫集成的工具從而無