

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 基于MTK平臺移動終端應(yīng)用層軟件的設(shè)計與實現(xiàn)</p><p><b> 摘 要</b></p><p> 目前,手機已成為最廣范圍內(nèi)使用的便攜式電話終端。很多國家也成功地將本土品牌手機推向了國際市場。在手機的研發(fā)過程中,人機交互接口(MMI)給進行移動通信的人與手機提供了交往的界面,它的設(shè)計優(yōu)劣直接影響了手機銷售市場的占有率,本文對人機界面的
2、設(shè)計與實現(xiàn)進行了研究和探討。</p><p> 本文首先介紹了手機發(fā)展現(xiàn)狀和課題選題由來,闡明了課題的現(xiàn)實意義和主要任務(wù)。基于手機結(jié)構(gòu)和嵌入式操作系統(tǒng)介紹了本項目的軟件開發(fā)平臺——MTK平臺,并詳細分析了該平臺MMI層軟件結(jié)構(gòu)。其中以手機應(yīng)用層開發(fā)中的典型模塊——通訊錄應(yīng)用為例,先進行了系統(tǒng)需求分析和方案設(shè)計。然后具體實現(xiàn)了模塊的各功能與所有界面,并完成了應(yīng)用間交互的相關(guān)功能,后期根據(jù)編寫的測試用例進行了黑盒測
3、試。最終,樣機通過了軟、硬件測試,驗證了其設(shè)計的正確性和可行性,并成功投入市場。</p><p> 關(guān)鍵字:手機 人機交互接口(MMI) MTK 黑盒測試</p><p><b> Abstract</b></p><p> Nowadays, handset has become a cellular phone te
4、rminal in the most widely used field. A great many countries succeeded in designing various handsets labelled by their own brand in international market. The Man-Machine-Interface(MMI) provides such an interface that bri
5、ngs the convenience to both human and handset in the handset projects. And the advantages or not of design could make an important influence on the market share of mobile terminal products. The thesis makes the related R
6、&D to design</p><p> The thesis first introduces the present situation and background of handset, and clarifies the significance of the topic and main task. On the basis of the architecture of handset a
7、nd the embedded system, introduces the software development platform of this project, MTK platform, and the software architecture of MMI. Taking a typical application, phonebook as an example, makes the requirement analy
8、sis and practical plan design firstly. Then goes deep into the detailed realization of function and</p><p> Keyword: Handset Man-Machine-Interface(MMI) MTK </p><p> Black-box Tes
9、ting</p><p><b> 目 錄</b></p><p><b> 第一章 緒 論1</b></p><p> 1.1 手機發(fā)展現(xiàn)狀1</p><p> 1.1.1 移動通信的發(fā)展1</p><p> 1.1.2 手機軟件開發(fā)平臺1</p&g
10、t;<p> 1.1.3 手機軟件分類2</p><p> 1.2 課題的現(xiàn)實意義2</p><p> 1.3 論文的工作和結(jié)構(gòu)3</p><p> 第二章 手機系統(tǒng)結(jié)構(gòu)5</p><p> 2.1 手機硬件結(jié)構(gòu)5</p><p> 2.2 手機軟件結(jié)構(gòu)6</p>&
11、lt;p> 2.2.1 移動通信協(xié)議體系結(jié)構(gòu)6</p><p> 2.2.2 軟件設(shè)備驅(qū)動[16]8</p><p> 2.2.3 手機操作系統(tǒng)9</p><p> 2.2.4 人機交互接口MMI11</p><p> 2.3 手機嵌入式系統(tǒng)11</p><p> 2.3.1 多任務(wù)處理機制
12、11</p><p> 2.3.2 基于優(yōu)先數(shù)的任務(wù)調(diào)度12</p><p> 2.3.3 任務(wù)間的通信12</p><p> 2.3.4 任務(wù)間的同步13</p><p><b> 2.4 小結(jié)13</b></p><p> 第三章 MMI的研究與分析15</p>
13、;<p> 3.1 MTK平臺總體設(shè)計15</p><p> 3.1.1 適配層KAL15</p><p> 3.1.2 適配層L4[22]16</p><p> 3.1.3 task間的通信機制[23]17</p><p> 3.2 MMI層軟件結(jié)構(gòu)[24]18</p><p>
14、3.2.1 MMI接口介紹19</p><p> 3.2.2 MMI與L4之間的通信19</p><p> 3.3 Framework層[25]22</p><p> 3.3.1 事件處理器22</p><p> 3.3.2 歷史管理24</p><p> 3.3.3 OSL層24</p&g
15、t;<p> 3.3.4 NVRAM25</p><p> 3.3.5 文件系統(tǒng)26</p><p> 3.4 UI層27</p><p> 3.5 Application層27</p><p><b> 3.6 小結(jié)29</b></p><p> 第四章 通訊
16、錄應(yīng)用的設(shè)計與實現(xiàn)31</p><p> 4.1 初步設(shè)計與分析31</p><p> 4.1.1 系統(tǒng)需求分析31</p><p> 4.1.2 模塊設(shè)計思路33</p><p> 4.2 初始化詳細流程設(shè)計36</p><p> 4.3 界面顯示的設(shè)計與實現(xiàn)40</p><
17、p> 4.3.1 一、二級菜單設(shè)計40</p><p> 4.3.2 編輯框的設(shè)計41</p><p> 4.3.3 彈出窗口的設(shè)計42</p><p> 4.3.4 窗口繪制與History管理設(shè)計44</p><p> 4.4 核心功能的設(shè)計與實現(xiàn)46</p><p> 4.4.1 顯示
18、電話號碼列表46</p><p> 4.4.2 添加新條目48</p><p> 4.4.3 刪除已有條目49</p><p> 4.4.4 姓名查找51</p><p> 4.4.5 復(fù)制或轉(zhuǎn)存52</p><p> 4.4.6 相關(guān)設(shè)置功能52</p><p> 4.
19、5 應(yīng)用間的交互53</p><p> 4.6 高級功能快速查找54</p><p><b> 4.7 小結(jié)55</b></p><p> 第五章 手機應(yīng)用層的軟件測試57</p><p> 5.1 手機應(yīng)用層軟件測試方法[35]57</p><p> 5.2 MTK平臺軟件仿
20、真工具[36]59</p><p> 5.3 通訊錄應(yīng)用的測試用例62</p><p> 5.3.1 基本功能測試63</p><p> 5.3.2 批量測試64</p><p> 5.3.3 失敗測試65</p><p> 5.3.4 集成測試67</p><p> 5
21、.4 通訊錄應(yīng)用的測試結(jié)果67</p><p> 第六章 總結(jié)與展望71</p><p><b> 致謝73</b></p><p><b> 參考文獻75</b></p><p><b> 第一章 緒 論</b></p><p> 1
22、.1 手機發(fā)展現(xiàn)狀</p><p> 1.1.1 移動通信的發(fā)展</p><p> 從1876年貝爾發(fā)明電話以來,經(jīng)歷了長達一個多世紀的發(fā)展,電話通訊服務(wù)已走進了千家萬戶,成為國家經(jīng)濟建設(shè)、社會生活和人們交流信息所不可缺少的重要工具。在最近二十年中,通訊技術(shù)和業(yè)務(wù)發(fā)生了巨大變化,通信的地點也由固定方式轉(zhuǎn)向移動方式。隨著現(xiàn)代生活節(jié)奏越來越快,移動通訊發(fā)展迅猛,其通訊工具手機的更新?lián)Q代和市
23、場爭奪戰(zhàn)也愈演愈烈。</p><p> 國外手機生產(chǎn)企業(yè)認為質(zhì)量和信譽是品牌的保證。同時,他們針對手機這種特殊商品的特點,即科技產(chǎn)品和時尚產(chǎn)品二位一體,致力于研究創(chuàng)新,從外型、功能、質(zhì)量等方面不斷改善力求做到盡善盡美。手機不再只是用來通話的,它已經(jīng)成為一個集照相機、游戲機、音樂播放器、電影院……等強大功能為一身的電子消費品。例如,諾基亞的主要目標(biāo)消費群是中高收入的白領(lǐng)階層,摩托羅拉則是以追求潮流與時尚的年輕族為
24、目標(biāo)。同時,他們很重視促銷、售后服務(wù)等一系列提高品牌價值和產(chǎn)品附加值的營銷環(huán)節(jié)。</p><p> 國內(nèi)在營銷機理及營銷管理的研究上,無論從框架體系,還是方法手段乃至觀念都難于超越國外模式,基本上處于追趕型研究狀態(tài),但我國與國外研究的差距顯然在以遞增的速度縮小。目前,我國手機市場有30多個品牌,生產(chǎn)廠商40多家。整個手機市場保持著“寡頭”格局,諾基亞、摩托羅拉、三星、索愛、飛利浦、NEC等著名外資品牌市場份額在
25、四分之三。其余被以聯(lián)想、波導(dǎo)、夏新、TCL為龍頭的國產(chǎn)手機瓜分,他們在國家政策的扶持下,守護著國產(chǎn)品牌的尊嚴。我國部分的手機生產(chǎn)商已基本掌握了協(xié)議棧軟件、應(yīng)用軟件的開發(fā),以及整機電路、模具、造型的自主設(shè)計、大生產(chǎn)技術(shù)與產(chǎn)業(yè)化,個別企業(yè)還掌握了基帶、射頻等核心芯片設(shè)計、物理層軟件開發(fā)技術(shù),并擁有整機設(shè)計能力,我國手機及多媒體信息終端產(chǎn)品的研發(fā)技術(shù)水平得到顯著提高。手機所需的大部分元器件都可以在國內(nèi)生產(chǎn),移動通信產(chǎn)業(yè)鏈已基本形成[1]。&l
26、t;/p><p> 1.1.2 手機軟件開發(fā)平臺</p><p> 手機開發(fā)分為硬件、軟件開發(fā)。硬件就是指外觀設(shè)備、芯片等,而軟件分為底層軟件、應(yīng)用軟件。其中芯片設(shè)計是相對技術(shù)含量高的環(huán)節(jié),其市場長期為國外廠商所壟斷。國內(nèi)廠商在04-05年間起步發(fā)展,新進廠商采用降低芯片成本、芯片附贈軟件平臺的模式,逐漸占據(jù)國內(nèi)手機市場。手機芯片包含基帶處理器、射頻芯片、應(yīng)用處理器等,可為音頻、視頻等多媒
27、體配備相應(yīng)自己的芯片[2]。國外廠商有Ti、FreeScale、ARM、Intel、ADI、高通等,國內(nèi)廠商有MTK、展訊、大唐移動、凱明、鼎新等。據(jù)iSuppli公司數(shù)據(jù)顯示,2006年MTK基帶市場份額為44%。國內(nèi)手機采用MTK芯片的品牌有:聯(lián)想、天闊、普天、三新、三盟、宇宙、南方高科、諾科、康佳、科健、采星、迷你、波導(dǎo)、CECT、TCL、奧克斯、東信、長虹、托普、吉事達等。</p><p> MTK是聯(lián)
28、發(fā)科技股份有限公司的英文簡稱,它作為全球IC設(shè)計領(lǐng)導(dǎo)廠商,專注于無線通訊及數(shù)位媒體等技術(shù)領(lǐng)域。公司提供的晶片整合系統(tǒng)解決方案,包含無線通訊等在市場上居領(lǐng)導(dǎo)地位。在MTK的手機解決方案中,將手機芯片和手機軟件平臺預(yù)先整合到一起。這種方案可以使終端廠商節(jié)約成本,加速產(chǎn)品上市周期。MTK公司的產(chǎn)品因為集成較多的多媒體功能和較低的價格在大陸手機公司和手機設(shè)計公司得到廣泛的應(yīng)用。MTK的Turn-key方案(將芯片與手機開發(fā)所需的軟件平臺乃至第三
29、方軟件捆綁銷售)的巨大成功則證明了在這一領(lǐng)域平臺技術(shù)不再是TI、英飛凌這些巨頭的專屬。這一策略使得MTK在手機市場取得了驕人的業(yè)績[3]。但是并不是所有的國產(chǎn)手機都簡單的運用MTK最被人稱頌的total solution,而是“取其精華”,利用自己對市場的理解生產(chǎn)出具有自身特色的MTK手機。例如成功坐上了國產(chǎn)手機的第一把交椅的天語手機。</p><p> 1.1.3 手機軟件分類</p><
30、p> 按照軟件安裝的方式來分類,可以將手機軟件分為前裝軟件和后裝軟件。前裝軟件是指在手機用戶購買手機的時候,已經(jīng)預(yù)先安裝在系統(tǒng)內(nèi)的軟件。如通訊錄、短信息等是設(shè)計廠商捆綁在操作系統(tǒng)的前裝軟件;后裝軟件是指在用戶購買手機之后,通過下載或者與電腦連接等方式獲取并安裝的軟件。</p><p> 按照應(yīng)用類型分類,可以分為基本功能類(如通訊錄、短消息)、信息資訊類(如騰訊QQ),工具類(如地圖),娛樂類(如影院)
31、,游戲類等。</p><p> 1.2 課題的現(xiàn)實意義</p><p> 本課題來源于本人在實習(xí)公司參與的手機研發(fā)項目A302,以其中的通訊錄模塊為例,詳細闡述了GSM網(wǎng)絡(luò)中MTK平臺應(yīng)用層軟件的設(shè)計與實現(xiàn)。本項目的客戶要求是希望從界面外觀、功能操作等各方面,在MTK平臺上達到與某款手機高仿的效果。因此本課題的實踐背景是基于MTK的total solution方案,按照用戶需求并結(jié)合手
32、機應(yīng)用軟件開發(fā)平臺中的應(yīng)用層概念,在應(yīng)用層基礎(chǔ)版本上進行基本功能類、前裝軟件的MMI二次開發(fā)。</p><p> 移動終端的應(yīng)用層軟件需要嵌入式實時操作系統(tǒng)的支持,基于一定的嵌入式操作系統(tǒng)提供操作系統(tǒng)抽象層,便于上層應(yīng)用軟件的開發(fā)和移植。應(yīng)用層軟件即人機交互接口(MMI)所反映出來的界面,其操作之簡易性對于移動終端產(chǎn)品的優(yōu)劣也具有舉足輕重的作用。它是相對獨立于通信設(shè)備標(biāo)準的,有利于二次開發(fā)和項目移植,對于嵌入式
33、移動終端應(yīng)用軟件的研究具有長遠的現(xiàn)實意義。</p><p> 另外,從市場效益的角度來說,不僅給公司帶來了可觀的經(jīng)濟價值,同時又為消費者購買移動終端產(chǎn)品提供了一個更有競爭力的選擇。</p><p> 1.3 論文的工作和結(jié)構(gòu)</p><p> 在研發(fā)手機項目中,對通訊錄模塊研究與開發(fā)的工作經(jīng)歷了四個主要階段:</p><p> 第一階
34、段:學(xué)習(xí)階段。在原有移動通信的理論基礎(chǔ)上,進一步對移動通信系統(tǒng)進行深入學(xué)習(xí),閱讀大量數(shù)字移動通信系統(tǒng)的書籍,著重于對移動終端所涉及到的理論進行有針對性的學(xué)習(xí),為后續(xù)的工作奠定了良好的專業(yè)理論基礎(chǔ)。同時,為了更好的進行軟件設(shè)計,閱讀了MTK平臺軟件設(shè)計的相關(guān)文章和文檔,并參閱軟件工程的書籍,學(xué)習(xí)必要的軟件設(shè)計知識。對整個手機系統(tǒng)軟件的架構(gòu)進行把握。</p><p> 第二階段:設(shè)計階段。在了解了移動通信終端協(xié)議體
35、系和整個手機架構(gòu)的前提下,對通訊錄模塊進行了總體設(shè)計。</p><p> 第三階段:應(yīng)用階段。理論結(jié)合實踐在手機軟件平臺上設(shè)計實現(xiàn)了通訊錄模塊的基本操作(如電話條目存儲、刪除、復(fù)制等)、來電免打擾、快速撥號等全部功能和界面。</p><p> 第四階段:測試階段。通過嚴格測試,并在程序結(jié)構(gòu)上進行優(yōu)化。</p><p> 根據(jù)實習(xí)期間所完成工作,將論文結(jié)構(gòu)安排如
36、下:</p><p><b> 第一章 緒論</b></p><p> 本章通過對比國內(nèi)外手機發(fā)展先介紹了移動通訊的發(fā)展情況,然后分析了手機市場最大競爭力——軟件開發(fā)平臺,由此簡單介紹了項目應(yīng)用平臺MTK。最后闡明了本課題的實踐背景、現(xiàn)實意義和論文各章節(jié)安排。</p><p> 第二章 手機系統(tǒng)結(jié)構(gòu)</p><p>
37、; 本章分析了手機平臺的硬、軟件結(jié)構(gòu)。在軟件結(jié)構(gòu)中重點介紹了移動通信體系結(jié)構(gòu),用舉例對比的形式介紹了幾種常見的手機操作系統(tǒng)。最后著重闡述了手機嵌入式實時操作系統(tǒng)中的核心概念。</p><p> 第三章 MMI的研究與分析</p><p> 本章首先分析了MTK平臺的總體結(jié)構(gòu)。由于項目針對的是MMI層軟件開發(fā),開始重點分析MMI的軟件結(jié)構(gòu)。其中主要介紹了MMI Task運行機制、重要接
38、口,以及MMI的各個模塊。</p><p> 第四章 通訊錄應(yīng)用的設(shè)計與實現(xiàn)</p><p> 本章以通訊錄模塊為例,詳細闡述了如何對該模塊進行需求分析和設(shè)計,并在MMI層實現(xiàn)了通訊錄各功能及相應(yīng)界面。</p><p> 第五章 手機應(yīng)用層的軟件測試</p><p> 本章首先列舉了手機應(yīng)用層軟件測試方法,然后介紹了一個重要的調(diào)試工具
39、——MTK平臺提供的軟件仿真工具MoDIS。通過編寫的通訊錄應(yīng)用的黑盒測試用例完成測試,最終給出測試結(jié)果。</p><p><b> 第六章 總結(jié)與展望</b></p><p> 本章總結(jié)課題結(jié)果、不足之處以及展望。</p><p> 第二章 手機系統(tǒng)結(jié)構(gòu)</p><p> 2.1 手機硬件結(jié)構(gòu)</p>
40、;<p> 手機電路由無線收發(fā)信機、基帶信號處理電路、基帶控制電路、存儲電路、鍵盤、顯示器、外部接口等部分組成[4]其硬件結(jié)構(gòu),如圖2.1所示。</p><p> 圖2.1 手機硬件結(jié)構(gòu)</p><p><b> 1.射頻單元</b></p><p> 射頻單元的發(fā)信通路將基帶單元產(chǎn)生的270.833Kbit/s的TDMA
41、幀數(shù)據(jù)流信號按GMSK調(diào)制方法形成I、Q信號,再調(diào)制到900MHz或1800MHz射頻信號,經(jīng)射頻開關(guān)由天線發(fā)射出去,收信通路將天線接收的信號經(jīng)低噪聲放大、解調(diào)產(chǎn)生基帶I、Q信號,通過解調(diào)和均衡將模擬的I、Q信號進行數(shù)字化,恢復(fù)出數(shù)字基帶信號,送基帶電路處理。射頻單元的本振信號通常從時基電路獲得基準頻率,然后采用鎖相環(huán)技術(shù)實現(xiàn)頻率合成。</p><p> 2.基帶芯片與基帶信號處理電路</p>&
42、lt;p> 基帶芯片是通信終端產(chǎn)品的關(guān)鍵部件,現(xiàn)在流行的一般有單IC和雙IC封裝兩種形式。多家公司可以大量供應(yīng)成套的芯片組。</p><p> 基帶信號處理電路包括信道編/譯碼、加密解密、TDMA幀形成/信道分離及基準時鐘電路、話音編/譯碼、碼速適配器等。送話器的話音信號經(jīng)過8kHz抽樣及A/D變換,成為均勻量化的數(shù)據(jù)流,經(jīng)話音編碼、信道編碼、交織、加密等處理,形成270.833Kbit/s的TDMA幀
43、數(shù)據(jù)流,送調(diào)制器發(fā)送。在接收通道執(zhí)行與發(fā)信通道相反的過程。幀及信令控制以時鐘基準部分提供統(tǒng)一幀號、時隙號、1/8bits時鐘等基礎(chǔ),實現(xiàn)同步。</p><p><b> 3.控制器</b></p><p> 控制器實現(xiàn)對手機系統(tǒng)的控制,包括協(xié)議處理、射頻電路控制、基帶電路控制、鍵盤輸入、顯示器輸出、SIM卡接口及數(shù)據(jù)接口等功能。</p><p&
44、gt; 2.2 手機軟件結(jié)構(gòu)</p><p> 手機系統(tǒng)軟件主要由:移動通信協(xié)議棧、設(shè)備驅(qū)動、操作系統(tǒng)、MMI和WAP組成。</p><p> 2.2.1 移動通信協(xié)議體系結(jié)構(gòu)</p><p> GSM協(xié)議的分層原理來自于開放式系統(tǒng)互連(OSI)參考模型[5-7]。根據(jù)協(xié)議分層的概念,通信處理過程可以看作由最低層到最高層的若干有序的邏輯層次構(gòu)成,每層都存在實
45、體單元。最低層是信息在兩個遠距離實體之間的物理傳輸,要依賴物理介質(zhì),而最高層代表外部用戶的觀點。每一層向它的上層提供服務(wù),這些服務(wù)是對下一層提供服務(wù)的擴充。GSM協(xié)議棧分為三層:物理層、鏈路層、網(wǎng)絡(luò)層,如圖2.2中的L1、L2、L3。</p><p> 圖2.2 GSM協(xié)議結(jié)構(gòu)分層模型</p><p> 第一層:物理層。物理層是協(xié)議體系中的最低層,它包括各類信道,為高層信息的傳輸提供基
46、本的邏輯信道;每個邏輯信道都有自己的服務(wù)接入點(SAP),移動臺的接入方式采用多址接入方式,可以在空閑時間檢測周圍的無線電環(huán)境,把檢測結(jié)果定時的傳給基站,確定是否進行小區(qū)切換。</p><p> 第二層:鏈路層。鏈路層屬于中間層[8-10](LAPDm:Link Access Protocol for Dm Channel Dm信道鏈路連接協(xié)議)。它包括各種數(shù)據(jù)傳輸結(jié)構(gòu),對數(shù)據(jù)傳輸進行控制。LAPDm的基本功能
47、是把單個的bit構(gòu)成一個集合,以便在移動臺和基站之間提供可靠的無線數(shù)據(jù)鏈路,所有的鏈路功能都是建立在這個基本結(jié)構(gòu)單元上,這個單元稱為幀,幀的結(jié)構(gòu)采用HDLC(高層數(shù)據(jù)鏈路控制)的定義方式。鏈路層協(xié)議主要由GSM04.05、04.06系列標(biāo)準來描述[11]。</p><p> 第三層:網(wǎng)絡(luò)層。第三層實體提供在一個蜂窩移動網(wǎng)和其相連接的其他公眾移動網(wǎng)中建立、維護和終止電路交換連接的功能。還要提供必要的補充業(yè)務(wù)和短消
48、息業(yè)務(wù)的控制功能。按照第三層實體所要完成的功能可以分成無線資源管理(RR)、移動管理(MM)和連接管理(CM)三個子層(CC、SMS、SS)。</p><p> 無線資源管理子層(RR):提供的功能是完成與物理傳輸資源有關(guān)的管理。提供的服務(wù)包括:專用物理信道的建立與維持、應(yīng)網(wǎng)絡(luò)請求而進行的越區(qū)切換、信道傳輸模式的改變和質(zhì)量測量等。</p><p> 移動管理子層(MM):具有支持移動用
49、戶的移動特性所必須的功能。提供的服務(wù)包括:當(dāng)移動臺激活與去激活時,或者用戶所處定位區(qū)改變時,MM實體負責(zé)通知網(wǎng)絡(luò);MM實體不需要完成用戶身份鑒別和注冊的工作。</p><p> 連接管理子層(CM):包括呼叫控制(CC)、短消息業(yè)務(wù)(SMS)和附加業(yè)務(wù)(SS) 實體。</p><p> 呼叫控制具有為建立與拆除MS端主叫和被叫時的電路交換連接所必須的功能,提供的服務(wù)包括:發(fā)起呼叫、連接
50、呼叫和釋放呼叫等[12];短消息業(yè)務(wù)支持完成各種補充業(yè)務(wù),如:呼叫轉(zhuǎn)移、來電號碼顯示等;附加業(yè)務(wù)實體則支持完成點到點或廣播短消息內(nèi)容的接收與發(fā)送。</p><p> 我們現(xiàn)將協(xié)議體系進行必要的轉(zhuǎn)化,提出協(xié)議棧的概念,并按協(xié)議規(guī)范對協(xié)議棧的功能確定如下。所提到的協(xié)議棧是對應(yīng)與GSM標(biāo)準[13-15]的L2和L3層,同時此協(xié)議棧還實現(xiàn)L3 層之上的短消息的第四層和第五層結(jié)構(gòu),分別為中繼層(SM-RL)和傳輸層(SM
51、-TL)。此外,此協(xié)議棧還需要支持SIM卡單元和小區(qū)廣播的功能模塊。</p><p> 由協(xié)議??傮w結(jié)構(gòu)的描述可知,L3層是整個協(xié)議棧的核心,它包括了大部分的手機功能實現(xiàn)。它提供一個蜂窩移動網(wǎng)和與其相連接的其它公共移動網(wǎng)之間的建立、維護和釋放電路交換的功能;提供必要的支持補充業(yè)務(wù)、短消息業(yè)務(wù)和呼叫控制的功能;L3還包括移動管理和無線資源管理的功能。此外,最新開發(fā)的L3層應(yīng)當(dāng)能支持GPRS業(yè)務(wù),并提供相應(yīng)復(fù)雜的控
52、制功能。在軟件設(shè)計過程中,L3層主要由大量的程序模塊構(gòu)成,這些程序塊在第三層各主體之間、第三層與相鄰層以及相關(guān)層之間傳遞攜帶各種信息的消息單元。因此可以說,解決了L3層協(xié)議的設(shè)計也就基本上解決了整個協(xié)議棧軟件的設(shè)計工作。</p><p> 2.2.2 軟件設(shè)備驅(qū)動[16]</p><p> 設(shè)備驅(qū)動主要用來解釋來自MCU的命令,實現(xiàn)對外設(shè)的控制。這個模塊處理許多用戶可見的手機行為,例如
53、鍵盤處理、LCD顯示。該模塊通過函數(shù)調(diào)用或與L4實體進行消息交互的方式被引用,通過訪問設(shè)備寄存器來提供必要的控制功能。手機系統(tǒng)中的軟件設(shè)備驅(qū)動如圖2.3所示:</p><p> 圖2.3 軟件設(shè)備驅(qū)動</p><p> 外設(shè)的功能解釋如下:</p><p> SIM:用戶識別模塊,寫入用戶信息</p><p> UART:通用異步收發(fā)
54、設(shè)備</p><p><b> SPI:串口界面</b></p><p><b> LCD:液晶顯示器</b></p><p> GPIO:通用輸入輸出</p><p> RTC:實時時鐘。當(dāng)要求在某個時間鬧鈴,或者在某個時間段給MMI發(fā)送消息提示(以1秒為基準),這就由軟件clock模塊讀
55、寫RTC。</p><p> WDT:看門狗計時器</p><p> GPT:一般設(shè)定的時鐘</p><p> PWM:脈沖寬度調(diào)制</p><p> Alerter:報警設(shè)備</p><p> KeyPad:鍵盤,該模塊處理所有從鍵盤發(fā)送來的信息,處理后并把按鍵信息發(fā)給上層。</p><
56、p> PMIC:電源管理芯片</p><p> BMT:電池充/放電管理</p><p> AUX task:耳機task</p><p> USB task:USBI.1協(xié)議和驅(qū)動</p><p> IrDA task:IrDA和驅(qū)動</p><p> MSDC:內(nèi)存卡驅(qū)動,支持SD、MMC卡和內(nèi)存
57、片</p><p> Camera:照相機</p><p> JPEG Decoder:控制硬件JPEG解碼器的軟件</p><p> 2.2.3 手機操作系統(tǒng)</p><p> 現(xiàn)在市場上流行三類手機嵌入式操作系統(tǒng)[17]:</p><p> 第一類是“實時操作系統(tǒng)(RTOS)”。其目的主要是驅(qū)動硬件,任務(wù)
58、調(diào)度。這類操作系統(tǒng)一般是封閉系統(tǒng),也就是一旦手機出廠,這類手機不能直接動態(tài)加載新的軟件應(yīng)用。RTOS手機使用相對簡單,經(jīng)濟實惠。對多數(shù)只把手機當(dāng)做通訊工具的人來說,事先預(yù)裝瀏覽器、彩信、三到五款游戲也就足夠了。這類手機操作系統(tǒng)的主要代表為Nucleus、ThreadX、uC/OS、RT-Linux等。對于智能手機來說,RTOS需要借助JAVA中間件等來擴展業(yè)務(wù),運行效率問題比較突出。</p><p> 第二類是
59、“智能手機操作系統(tǒng)”。在完成第一類手機操作系統(tǒng)任務(wù)的基礎(chǔ)上,這類系統(tǒng)進一步加強人機交互的一致性體驗,強調(diào)多任務(wù)之間的協(xié)同操作,規(guī)范程序間通訊和編程模型。這類系統(tǒng)也被稱為開放式操作系統(tǒng),即手機出廠后,消費者可以借助于個人計算機,手工從因特網(wǎng)上下載新軟件、游戲等。智能手機操作系統(tǒng)的主要代表為Symbian、WinCE、PalmOS、Linux等。它們的軟件體系架構(gòu)沿用PC模式,即軟件要事先安裝到本地永久存儲器之后才能使用。</p>
60、;<p> 第三類是“網(wǎng)絡(luò)軟件運行平臺”。其目的是在第二類手機操作系統(tǒng)之上,構(gòu)建一個所謂“中間件”平臺。消費者可以很容易地、動態(tài)地、透明地下載移動電訊網(wǎng)上的一些新興增值業(yè)務(wù)、游戲等,無需個人計算機作為擴展手機業(yè)務(wù)的中介。這類手機操作系統(tǒng)有JAVA、BREW、WIPI(韓國標(biāo)準)等。由于GPRS帶寬和流量費的限制,這類手機操作系統(tǒng)現(xiàn)在還不是主流。在網(wǎng)絡(luò)軟件運行平臺上,消費者無需事先安裝軟件,軟件可以直接下載到內(nèi)存里運行。這
61、類軟件的使用和維護也比PC模式簡單很多。</p><p> 下面介紹市場上主流的手機操作系統(tǒng)[18]:</p><p> 1.Symbian系統(tǒng)</p><p> Symbian是一個實時性、多任務(wù)的純32位操作系統(tǒng),具有功耗低、內(nèi)存占用少等特點,非常適合手機等移動設(shè)備使用,經(jīng)過不斷完善,可以支持GPRS、藍牙、SyncML,以及3G技術(shù)。最重要的是它是一個標(biāo)
62、準化的開放式平臺,任何人都可以為支持Symbian的設(shè)備開發(fā)軟件。與微軟產(chǎn)品不同的是,Symbian將移動設(shè)備的通用技術(shù),也就是操作系統(tǒng)的內(nèi)核,與圖形用戶界面技術(shù)分開,能很好的適應(yīng)不同方式輸入的平臺,也可以使廠商可以為自己的產(chǎn)品制作更加友好的操作界面,符合個性化的潮流,這也是用戶能見到不同樣子的Symbian系統(tǒng)的主要原因。現(xiàn)在為這個平臺開發(fā)的java程序已經(jīng)開始在互聯(lián)網(wǎng)上盛行。用戶可以通過安裝這些軟件,擴展手機功能。</p>
63、;<p> 2.Windows CE系統(tǒng)</p><p> Windows CE系統(tǒng)包括 Pocket PC和Smartphone,前者針對無線PDA,后者專為手機,已有多個來自IT業(yè)的新手機廠商使用,增長率較快。Pocket PC 2002 推出了應(yīng)用在手機上的Phone Edition(電話版本),國內(nèi)貼牌機多普達686就使用了這個系統(tǒng)。不過它在移動通訊方面的功能并不是很全面。針對這種情況,
64、微軟于2002年底發(fā)布了專門為手機開發(fā)的操作系統(tǒng)SmartPhone2002,像Symbian Pearl一樣,是專為移動通訊設(shè)備開發(fā)的系統(tǒng)。雖然從眾多手機廠商的反應(yīng)來看,全球手機五大廠商中只有三星購買了微軟的軟件許可,故其在手機市場上占有率不高。</p><p><b> 3.Linux系統(tǒng)</b></p><p> Linux系統(tǒng)件是一個源代碼開放的操作系統(tǒng),
65、目前已經(jīng)有很多版本流行。但尚未得到較廣泛的支持,其發(fā)展的最大阻力在于它對硬件要求比較高,而且沒有一個強有力的推廣方。這樣就導(dǎo)致Linux手機的成本比較高,而且版本混亂。但Linux的優(yōu)勢也相當(dāng)明顯,首先它是免費的,其次它是開源的,每一家愿意的廠商都能夠加入到Linux操作系統(tǒng)的底層開發(fā)中。</p><p><b> 4.Palm系統(tǒng)</b></p><p> Pa
66、lm OS是Palm公司的是一種32位的嵌入式操作系統(tǒng),它的操作界面采用觸控式,差不多所有的控制選項都排列在屏幕上,使用觸控筆便可進行所有操作。作為一套極具開放性的系統(tǒng),開發(fā)商向用戶免費提供Palm操作系統(tǒng)的開發(fā)工具,允許用戶利用該工具在Palm操作系統(tǒng)的基礎(chǔ)上編寫、修改相關(guān)軟件,使支持Palm的應(yīng)用程序豐富多彩、應(yīng)有盡有。</p><p> 5.非智能手機操作系統(tǒng)</p><p>
67、低端手機也有操作系統(tǒng),但功能非常簡單,主要支持通訊錄調(diào)用等。對于非智能手機設(shè)計生產(chǎn)商來說,不追求系統(tǒng)的強擴展性和第三方軟件的添加,一般手機操作系統(tǒng)只需提供核心功能,如多任務(wù)調(diào)度、中斷、通信機制等,便于上層應(yīng)用軟件的開發(fā)和移植即可。例如:MTK平臺使用Nucleus Plus操作系統(tǒng),Brew平臺使用的是rex(Real-time Executive system)操作系統(tǒng),展訊平臺操作系統(tǒng)抽象層支持的是Threadx 操作系統(tǒng)。<
68、/p><p> Nucleus Plus是美國源代碼操作系統(tǒng)商ATI公司推出的新一代嵌入式操作系統(tǒng),屬于搶先式實時多任務(wù)操作系統(tǒng)內(nèi)核,95%的代碼使用ANSI C編寫,非常便于移植于各種處理器家族。從實現(xiàn)的角度講,不同于傳統(tǒng)嵌入式開發(fā),Nucleus Plus是以函數(shù)庫的形式鏈接到目標(biāo)應(yīng)用程序中,形成可執(zhí)行目標(biāo)代碼,下載到目標(biāo)板上或燒到ROM/FLASH ROM 中去執(zhí)行。Nucleus Plus內(nèi)核在典型的CIS
69、C體系結(jié)構(gòu)上占據(jù)大約20k空間,而在典型的RISC體系結(jié)構(gòu)上占據(jù)空間為40k左右,其內(nèi)核數(shù)據(jù)結(jié)構(gòu)占據(jù)1.5k字節(jié)的空間。</p><p> 2.2.4 人機交互接口MMI</p><p> 隨著社會的發(fā)展,人們對手機的要求越來越高,良好的通話質(zhì)量,美觀的外形,友好的人機界面,已成為人們追求的目標(biāo)。因此,手機人機界面的設(shè)計和開發(fā)無論對用戶還是對公司,都日益重要。其主要提供移動臺(手機)的
70、全面控制和手機與用戶之間的接口,功能包括:用戶鍵盤輸入、手機狀態(tài)和呼叫處理過程顯示、SIM卡和通訊錄的管理、PIN碼的控制、縮位撥號等。</p><p> 2.3 手機嵌入式系統(tǒng)</p><p> 實時操作系統(tǒng)(Real Time Operating System)是根據(jù)操作系統(tǒng)的工作特性而言的。實時是指物理進程的真實時間。實時操作系統(tǒng)是指具有實時性,能支持實時控制系統(tǒng)工作的操作系統(tǒng)。
71、首要任務(wù)是調(diào)度一切可利用的資源完成實時控制任務(wù),其次才著眼于提高系統(tǒng)的使用效率,重要特點是要滿足對時間的限制和要求。</p><p> 2.3.1 多任務(wù)處理機制</p><p> 在嵌入式實時系統(tǒng)中,進程(或任務(wù))是操作系統(tǒng)的核心,操作系統(tǒng)的存在歸根結(jié)底就是為了提供一個運行程序的空間。多任務(wù)系統(tǒng)的執(zhí)行過程實際上就是一系列任務(wù)在三種狀態(tài)中循環(huán)流動、輪流被內(nèi)核調(diào)度的過程。每個任務(wù)都是一個
72、無限的循環(huán),而且在同一時刻可運行的任務(wù)只能處于運行態(tài)、就緒態(tài)或阻塞態(tài)三種基本狀態(tài)之一[19]。如圖2.4所示:</p><p> 圖2.4 任務(wù)狀態(tài)及轉(zhuǎn)化</p><p> 在市場推動下,手機功能在不斷發(fā)展。攝像頭、MP3、藍牙這些功能可以依靠硬件,對CPU的壓力還不是很大。但java虛擬機、嵌入式瀏覽器等應(yīng)用軟件就會對CPU資源有較高的要求。不管是單CPU還是雙CPU,多任務(wù)機制在手
73、機中就顯得非常重要。在同一時間我們會有許多的事情要去做,比如進行電源管理,協(xié)處理器管理,文件系統(tǒng)管理,串口管理,顯示管理,SIM卡管理,LCD顯示管理,用戶輸入管理等等。如果是單任務(wù)串行機制,那么操作系統(tǒng)的實時性就無法保證了。</p><p> 2.3.2 基于優(yōu)先數(shù)的任務(wù)調(diào)度</p><p> 每個進程都有一個優(yōu)先數(shù),數(shù)值大的表示優(yōu)先級高,系統(tǒng)在調(diào)度時總選擇優(yōu)先數(shù)大的占用CPU。優(yōu)先
74、數(shù)的確定有兩種:</p><p> 靜態(tài)優(yōu)先數(shù)法:進程創(chuàng)建時就規(guī)定好它的優(yōu)先數(shù),這個數(shù)值在進程運行時不變。確定數(shù)值時可以考慮采讓外設(shè)進程或終端用戶進程優(yōu)先。</p><p> 動態(tài)優(yōu)先數(shù)法:進程的優(yōu)先數(shù)在執(zhí)行過程中可以根據(jù)情況而改變。</p><p> 大多數(shù)的嵌入式實時操作系統(tǒng)使用的是基于優(yōu)先級的可搶占式調(diào)度策略,應(yīng)當(dāng)采用優(yōu)先級繼承和優(yōu)先級天花板策略來解決和
75、避免優(yōu)先級反轉(zhuǎn)問題。</p><p> 手機嵌入式系統(tǒng)中,任務(wù)優(yōu)先級的概念體現(xiàn)在窗口管理機制上。設(shè)置窗口優(yōu)先級的目的是為了保護那些重要的窗口不被打斷。例如,當(dāng)手機在呼叫狀態(tài)時是處于Call窗口的,在Call的過程中不能夠出現(xiàn)被SMS或者Alarm窗口打斷的情況,否則會影響正常的Call過程。</p><p> 2.3.3 任務(wù)間的通信</p><p> 在一個
76、實時系統(tǒng)中,可能有許多任務(wù)作為一個應(yīng)用的一部分執(zhí)行。系統(tǒng)必須提供這些任務(wù)間的快速且功能強大的通信機制。兩個并行進程可以通過互相發(fā)送消息進行合作,消息是通過消息緩沖而在進程之間相互傳遞的。任務(wù)之間的通信有三種方式:信箱、隊列FIFO和管道PIPE。</p><p><b> 1.信箱</b></p><p> 信箱是任務(wù)間發(fā)送消息的接口,也是OS提供的一種機制。每個
77、任務(wù)可以定義一個信箱,其他任務(wù)可以給它發(fā)送消息。每個消息的結(jié)構(gòu)中有個是信號量,它與某一事件聯(lián)系,而此事件是由于信箱中來了消息激發(fā)的。然而如果一個任務(wù)需要從多個信箱中得到消息,它必須能夠知道事件的標(biāo)識和事件已經(jīng)發(fā)生。信箱可以看成是長度為1的隊列,它消耗的資源少于隊列,運行速度快于隊列。</p><p><b> 2.隊列FIFO</b></p><p> FIFO是
78、一種先進先出的隊列。它類似于一個管道,只允許數(shù)據(jù)的單向流動。每個FIFO都有一個名字,允許不相關(guān)的進程訪問同一個FIFO。因此也成為命名管。</p><p><b> 3.管道PIPE</b></p><p> 管道一般用于兩個不同進程之間的通信。當(dāng)一個進程創(chuàng)建一個管道,并調(diào)用fork創(chuàng)建自己的一個子進程后,父進程關(guān)閉讀管道端,子進程關(guān)閉寫管道端,這樣提供了兩個進
79、程之間數(shù)據(jù)流動的一種方式。</p><p> 2.3.4 任務(wù)間的同步</p><p> 內(nèi)核也要提供為了有效地共享不可搶占的資源或臨界區(qū)所需的同步機制。任務(wù)之間的同步有三種方式:信號量、事件組和信號。</p><p> 1.信號量(semaphore)</p><p> 信號量提供了對臨界資源的控制機制。所謂的臨界資源指的是在同一時
80、刻只能為一個用戶所使用的資源。對信號量的基本操作是得到(obtain)和釋放(release)信號量。得到信號量是信號量的值減少;釋放信號量使信號量的值增加。</p><p> 2.事件組(event group)</p><p> 事件組提供一種機制,指明了某種系統(tǒng)事件的發(fā)生。一個事件由在事件組變量中的某一位(bit)來代表,該位被稱為一個事件標(biāo)志。事件標(biāo)志的使用是同步的,任務(wù)并不知
81、道事件標(biāo)志的出現(xiàn)直到出現(xiàn)特定的服務(wù)請求。通常每個事件組中有32個事件標(biāo)志。</p><p> 3.信號(signal)</p><p> 信號以異步方式操作,當(dāng)信號出現(xiàn)時任務(wù)被中斷,一個先前被任務(wù)定義的特定的信號處理程序被執(zhí)行。每一個任務(wù)具有處理32個信號的能力。每一個信號由變量的一位(bit)代表。</p><p><b> 2.4 小結(jié)</
82、b></p><p> 在本章中首先介紹了手機的硬件結(jié)構(gòu)和軟件結(jié)構(gòu),其中詳細研究了移動通信協(xié)議體系結(jié)構(gòu),并用對比的方式介紹了流行的嵌入式實時操作系統(tǒng),最后重點對嵌入式實時系統(tǒng)的特點做了詳細的分析。</p><p> 本項目是基于GSM網(wǎng)絡(luò),從界面、功能、外觀等各角度在MTK平臺上達到高仿某款手機的效果。而該款手機采用的Symbian操作系統(tǒng)在智能移動終端上擁有強大的應(yīng)用程序以及通
83、信能力,它的特征包括文件系統(tǒng)、圖形用戶界面框架、多媒體支持、TCP/IP棧和庫,提供的軟件開發(fā)包可以供第三方應(yīng)用程序開發(fā)使用。Symbian體系中有多個可選擇的UI平臺以適應(yīng)不同的用戶需求。這些優(yōu)點是普通手機平臺難以實現(xiàn)的,當(dāng)然這也是本項目的難點所在。因此,項目的首要任務(wù)是先對原始需求進行充分評估和合理設(shè)計。</p><p> 第三章 MMI的研究與分析</p><p> 3.1 MT
84、K平臺總體設(shè)計</p><p> 手機軟件主要包括運行軟件和調(diào)試軟件兩大部分。本項目中運行軟件主要由:GSM協(xié)議棧、Nucleus操作系統(tǒng)、設(shè)備驅(qū)動、MMI和WAP模塊組成。MTK提供的調(diào)試軟件有:Catcher、META[20]。它們的作用在于監(jiān)視軟件的實時運行,加速手機運行軟件的開發(fā)。整個軟件的結(jié)構(gòu)如圖3.1所示:</p><p> 圖3.1 MTK軟件結(jié)構(gòu)</p>
85、<p> 其中,Drivers是整個系統(tǒng)外圍設(shè)備的驅(qū)動程序,WAP是無線應(yīng)用協(xié)議,JAVA是J2ME軟件。</p><p> 3.1.1 適配層KAL</p><p> MTK平臺使用了Nucleus Plus實時操作系統(tǒng)。本系統(tǒng)設(shè)計了一個操作系統(tǒng)適配層(KAL)在其上做了個內(nèi)核抽象層的封裝,使得手機軟件獨立于Nucleus操作系統(tǒng)。為了確保MMI task上所有程序能在P
86、C機上正常的運行,這層是必須的。它封裝了一些API,它們?yōu)槠渌浖峁┝撕芏嘞到y(tǒng)服務(wù)函數(shù),例如時鐘管理、任務(wù)管理(同步和通信)、資源管理,內(nèi)存管理等[21]。如圖3.2所示:</p><p> 圖3.2適配層KAL</p><p> 3.1.2 適配層L4[22]</p><p> MTK平臺中,L4層是MMI與AT和協(xié)議棧之間的一個適配層。也就是說,二者通過
87、L4層完成通信過程。一般地,我們將L4以下的部分稱為下層,上面的稱為上層或應(yīng)用層。詳細結(jié)構(gòu)如圖3.3所示:</p><p><b> 圖3.3適配層L4</b></p><p> MMI:包括RMI和FMI兩個部分。前者即遠程MMI(例如,PC端),通過UART口利用AT命令與協(xié)議棧通信;后者包括了MMI的所有特性。</p><p> L
88、4A:FMI對應(yīng)的L4適配層,F(xiàn)MI和L4A之間的服務(wù)節(jié)點是原始節(jié)點。</p><p> L4C:L4的控制實體,處理所有應(yīng)用的請求和響應(yīng)。</p><p> ATCI:AT命令解釋器,解釋來自PC端的AT命令,同時命令L4C執(zhí)行相應(yīng)的動作。</p><p> UEM:用戶設(shè)備適配。驅(qū)動的適配,如KEYPAD、LED、GPIO等。</p><
89、;p> PHB:電話本管理。處理電話本的相關(guān)操作,如存儲等。</p><p> SMU:安全管理單元。安全性管理以及STK。</p><p> CSM:電路交換協(xié)議棧管理。</p><p> RAC:注冊接入控制。包括GSM/GPRS的注冊管理等。</p><p> SMSAL:短消息服務(wù)應(yīng)用層。處理短信存儲、收發(fā)短信、小區(qū)廣
90、播等。</p><p> TCM:終端文本管理。</p><p> 3.1.3 task間的通信機制[23]</p><p> 在MTK平臺中,系統(tǒng)被劃分為若干個獨立的task,它們由操作系統(tǒng)來統(tǒng)一管理調(diào)度。一個事件的處理往往是多個task交互完成的,這就需要每個task之間都可以進行通信,它們都是通過消息隊列來接受或發(fā)送消息的。如圖3.4所示:</p&
91、gt;<p> 圖3.4 task結(jié)構(gòu)</p><p> 消息隊列可以分為三種:內(nèi)部隊列Internal queue、外部隊列External queue和循環(huán)隊列Circular queue。其中,內(nèi)部隊列是在同一個task的模塊之間進行消息交互的隊列,外部隊列是在不同的task的模塊之間進行消息交互的隊列,循環(huán)隊列是專門用于MMI模塊讀取消息的隊列,默認的大小是30。</p>
92、<p> 消息message的數(shù)據(jù)結(jié)構(gòu)定義如下:</p><p> typedef struct ilm_struct{</p><p> oslModuleType oslSrcId; // 源模塊ID</p><p> oslModuleType oslDestId; // 目的模塊ID</p><p> os
93、lMsgType oslSapId; // 服務(wù)接入點</p><p> oslMsgType oslMsgId; // 信息名ID</p><p> oslParaType *oslDataPtr; //本地參數(shù)緩沖器</p><p> oslPeerParaPtr *oslPeerBuffPtr;//peer緩沖器指針</p>
94、<p> } ilm_struct;</p><p> 進行task之間的通信之前,先創(chuàng)建task。建立task入口函數(shù),進入消息的循環(huán),從而在外部隊列中監(jiān)聽消息message,完成此步驟的函數(shù)是:</p><p> OslReceiveMsgExtQ(mmi_qid, &mmi_message);</p><p> 下面以MMI ta
95、sk向L4 task發(fā)送消息來說明task間的通信過程:</p><p> 1.建立一個本地參數(shù)的緩沖器</p><p> 2.分配需要的值到本地參數(shù)緩沖器</p><p> 3.在結(jié)構(gòu)體ilm_struct中填寫相應(yīng)信息</p><p><b> 4.發(fā)消息給L4C</b></p><p&g
96、t; MMI從L4C中接收到消息后,MMI會根據(jù)消息ID注冊一個消息響應(yīng)的處理函數(shù),完成此步驟的函數(shù)是SetProtocolEventHandler(FuncCB, msg_id)。</p><p> 以MMI向L4C發(fā)送調(diào)節(jié)音量請求為例:</p><p> void SetVolumeLevelReq(volume_type_enumvolume_type,U8 volume_le
97、vel)</p><p><b> {</b></p><p> MYQUEUE Message;</p><p> mmi_eq_set_volume_req_struct *setVolumeLevelReq;</p><p> Message.oslMsgId = MSG_ID_MMI_EQ_SET_VOL
98、UME_REQ; //消息ID</p><p> //建立本地參數(shù)緩沖器</p><p> setVolumeLevelReq = </p><p> OslConstructDataPtr(sizeof(mmi_eq_set_volume_req_struct));</p><p> setVolumeLevelReq-&g
99、t;volume_type = volume_type;</p><p> setVolumeLevelReq->volume_level = volume_level;</p><p> Message.oslDataPtr= (oslParaType*)setVolumeLevelReq; //本地參數(shù)緩沖器</p><p> Message.
100、oslPeerBuffPtr= NULL; //Peer參數(shù)緩沖器</p><p> Message.oslSrcId=MOD_MMI; //源模塊ID</p><p> Message.oslDestId=MOD_L4C; //目的模塊ID&l
101、t;/p><p> OslMsgSendExtQueue(&Message); //發(fā)送給L4 task</p><p><b> }</b></p><p> 3.2 MMI層軟件結(jié)構(gòu)[24]</p><p> MMI模塊主要由三部分組成:Application L
102、ayer(應(yīng)用層軟件)、Framework(框架)和UI Layer(圖像用戶接口)。它們之間的關(guān)系如圖3.5所示:</p><p> 圖3.5 MMI軟件結(jié)構(gòu)</p><p> Application Layer即手機應(yīng)用,就是手機提供的各功能。具體包括通訊錄、消息(短消息、增強型短消息、小區(qū)廣播)、歷史記錄、設(shè)置(電話設(shè)置、網(wǎng)絡(luò)設(shè)置、安全設(shè)置)、情景模式、娛樂游戲、WAP、快捷方式
103、等。</p><p> Framework是MMI模塊的核心,主要用于分發(fā)和解釋消息并控制向用戶提供友好界面的信息,接收到的消息按其屬性逐層解析處理。包括OS適配層、與L4 task通信的Task和與存儲設(shè)備通信的文件系統(tǒng)。</p><p> UI Layer主要負責(zé)人機界面元素,實現(xiàn)菜單的組織和屏幕的顯示。例如:主題風(fēng)格、標(biāo)題、按鈕、圖片等的組織和調(diào)用LCD驅(qū)動顯示人機界面。<
104、/p><p> 由此可以說Framework主要實現(xiàn)了調(diào)度功能;Application Layer實現(xiàn)各個服務(wù)功能,每個功能又自己組成一個模塊,設(shè)計時可根據(jù)具體需求增減模塊;UI Layer負責(zé)顯示用戶友好界面。為了增強軟件的可擴展性和靈活性,特意將Framework和Application Layer分開,利于模塊的封裝和程序的二次開發(fā)。</p><p> 3.2.1 MMI接口介紹&l
105、t;/p><p> MMI中主要接口包括:</p><p> Framework與協(xié)議棧L4層的接口,也是MMI層與應(yīng)用提供者的接口。它們之間時通過消息進行通信的,是由Task機制來完成的。</p><p> UI Layer與LCD的接口,也是MMI與硬件的接口。UI Layer先與LCD驅(qū)動通信,然后通過驅(qū)動與硬件設(shè)備連接。它們是通過接口和消息進行通信的。&l
106、t;/p><p> 3.2.2 MMI與L4之間的通信</p><p> MMI Task與L4 Task的通信過程如圖3.6所示:</p><p> 圖3.6 MMI Task與L4 Task的通信過程</p><p> MMI 隊列:協(xié)議棧或者L4將事件寫到該隊列中,然后MMI Task從這個隊列中讀取事件。</p>&
107、lt;p> 網(wǎng)絡(luò)模擬器/L4隊列:MMI Task將MMI事件寫入該隊列中,然后L4 task或者網(wǎng)絡(luò)模擬器從這個隊列中讀取事件。</p><p> MMI Task的運行過程如圖3.7所示:</p><p> 圖3.7 MMI Task運行過程</p><p> 此圖中我們可以看到該過程如下:</p><p> 1.等待發(fā)送
108、給MMI隊列的messages</p><p> 2.協(xié)議棧把messages寫入到MMI隊列中</p><p> 3.Framework層處理事件</p><p> 4.Framework層調(diào)用Application Layer中注冊過的回調(diào)函數(shù)</p><p> 5.Application Layer調(diào)用UI層的類屏幕函數(shù)來組織U
109、I元素,使之呈現(xiàn)在界面上</p><p> 下面舉例來說明MMI Task中的事件流:</p><p> 按鍵事件(向Application Layer發(fā)送)</p><p><b> 圖3.8 按鍵事件</b></p><p> 一旦有鍵按下,MMI運行機制如下步驟工作:</p><p>
110、; 協(xié)議棧將此事件寫入MMI隊列中;</p><p> MMI Task從MMI隊列中讀該事件;</p><p> Framework調(diào)用回調(diào)函數(shù),在Application Layer注冊事件;</p><p> Application Layer接收到按鍵事件給出響應(yīng)。</p><p> 播放聲音請求(Application La
111、yer向底層發(fā)送)</p><p> 圖3.9 播放聲音請求</p><p> 應(yīng)用層發(fā)送播放聲音請求時,MMI運行機制如下步驟工作:</p><p> Application Layer給Framework層發(fā)送呼叫請求,要將信息傳送給L4隊列中;</p><p> Framework層將信息寫入L4隊列;</p>&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于MTK平臺移動終端應(yīng)用層軟件的設(shè)計與實現(xiàn).pdf
- 畢業(yè)論文——基于mtk平臺移動終端應(yīng)用層軟件的設(shè)計與實現(xiàn)
- 基于mtk平臺移動終端應(yīng)用層軟件的設(shè)計與實現(xiàn)——畢業(yè)論文
- CDMA無線終端應(yīng)用層軟件系統(tǒng)的設(shè)計與實現(xiàn).pdf
- ISDN終端應(yīng)用層軟件設(shè)計.pdf
- 基于應(yīng)用層調(diào)度的移動終端能耗優(yōu)化.pdf
- 基于展訊平臺的移動終端應(yīng)用軟件的設(shè)計與實現(xiàn).pdf
- MTK平臺終端軟件動態(tài)加載技術(shù)的研究與應(yīng)用.pdf
- 基于mtk平臺通話管理軟件的設(shè)計與實現(xiàn)
- 基于MTK平臺通話管理軟件的設(shè)計與實現(xiàn).pdf
- 基于MTK平臺的養(yǎng)老監(jiān)控終端系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于MTK手機平臺的遠程移動心電監(jiān)護終端設(shè)計與研究.pdf
- 溫室大棚監(jiān)控系統(tǒng)的應(yīng)用層手持終端的設(shè)計與實現(xiàn)
- 基于Linux平臺的應(yīng)用層協(xié)議監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于MTK平臺的移動widget引擎研究與實現(xiàn).pdf
- CDMA手機應(yīng)用層軟件系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于mtk平臺通話管理軟件的設(shè)計與實現(xiàn)-畢業(yè)設(shè)計
- 基于Android平臺的移動終端設(shè)計與實現(xiàn).pdf
- 畢業(yè)論文-基于mtk平臺通話管理軟件的設(shè)計與實現(xiàn)
- 基于mtk平臺通話管理軟件的設(shè)計與實現(xiàn)-畢業(yè)論文
評論
0/150
提交評論