亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        MeeGo嵌入式操作系統(tǒng)的研究及應用開發(fā)*

        2012-06-03 09:15:06韓德強馮云賀劉增輝
        電子技術應用 2012年10期
        關鍵詞:程序設置環(huán)境

        韓德強 ,馮云賀 ,劉增輝

        (1.北京工業(yè)大學 計算機學院,北京100124;2.北京電子科技職業(yè)學院,北京100029)

        MeeGo嵌入式操作系統(tǒng)由英特爾和諾基亞倡導,旨在為手機、上網(wǎng)本、平板電腦、互聯(lián)網(wǎng)電視、車載信息娛樂系統(tǒng)和多媒體電話等智能設備提供操作系統(tǒng)解決方案,并且有助于這些設備實現(xiàn)無縫集成。MeeGo融合了英特爾Moblin與諾基亞Maemo系統(tǒng)的精華,繼承了分別掌握底層架構和終端設備優(yōu)勢的兩大巨頭的優(yōu)秀基因。該嵌入式操作系統(tǒng)基于Linux架構,不僅支持所有x86處理器平臺,還跨平臺支持非x86架構的設備。面向跨平臺的多元化設備,MeeGo為開發(fā)者提供了一致性的API,選擇 Qt框架作為應用程序的開發(fā)工具[1]。MeeGo SDK1.x 中 集成了 基于 Qt 4.7.x 的 Qt Creator 2.0, 并 引進了功能強大的Qt Quick,使得應用程序更加快速流暢地在MeeGo平臺上運行。

        1 MeeGo嵌入式操作系統(tǒng)架構

        1.1 MeeGo的分層模型

        MeeGo嵌入式操作系統(tǒng)的分層結構如圖1所示,共包括三層:用戶體驗層、應用開發(fā)層、操作系統(tǒng)核心層。

        用戶體驗層為不同的終端設備提供不同的應用框架,比如上網(wǎng)本采用了Clutter和MX界面開發(fā)庫繪制界面;手持設備采用了MeeGo特有的觸控框架,包括觸摸、輸入法、手勢,為用戶提供觸控體驗。MeeGo用戶體驗層集成了個人社交網(wǎng)絡服務和底層基礎庫,全面支持網(wǎng)絡服務、多媒體服務、最新電話技術等標準。強大的工具和動畫效果簡化了用戶界面的定制。

        應用開發(fā)層涵蓋了MeeGo的應用開發(fā)接口,目前MeeGo release 版 本 包 含 了 Qt4.7、Qt mobility 1.0、Open GL ES 1.1 和 Open GL ES 2.0 相關的類和接口。

        操作系統(tǒng)核心層包含了所有中間件和操作系統(tǒng)的服務域以及硬件適配層。內核方面,MeeGo 1.0采用了Linux Kernel 2.6.33,支持多任務、本地應用開發(fā)框架、動畫效果設計的開發(fā)框架、3D加速、最新Linux文件系統(tǒng)(btrfs)等。 MeeGo 1.1 支持 Linux Kernel 2.6.35,新增支持 Intel Atom Z6xx處理器和 GCC4.5工具鏈。MeeGo 1.2支持 Linux Kernel 2.6.37, 新增 Policy開發(fā)框架和電源管理功能。

        1.2 MeeGo的域視圖

        MeeGo嵌入式操作系統(tǒng)的域視圖及各域的具體內容如圖2所示[3],共包括12個域:安全域、系統(tǒng)域、個人信息管理域、軟件管理域、數(shù)據(jù)管理域、多媒體域、定位服務域、通信域、內核域、核心組件域、Qt域和圖形域。

        內核域是應用程序和硬件層之間的橋梁,支持MeeGo的硬件平臺需要提供三類相關組件(內核驅動、核心架構組件、內核配置文件)。內核驅動是一套需要與硬件進行交互的驅動程序,例如MeeGo notebook 1.1中集成了攝像頭、USB、聲卡、顯卡、藍牙及觸摸屏等硬件驅動程序;核心架構組件是一個額外的軟件包,將它附加到內核中以支持某些硬件的相關功能(如固件);內核配置文件為特定設備提供了詳細的配置信息,包括設備架構、處理器類型、設備驅動配置菜單、網(wǎng)絡支持以及內核調制選項等。

        Qt域提供了跨平臺開發(fā)工具(Qt、Qt Mobility、Qt Webkit、Qt WebRuntime),其中Qt提供了應用程序和用戶界面的開發(fā)工具包,Qt Mobility為MeeGo提供了開發(fā)移動應用程序的接口,Qt WebKit能夠快速創(chuàng)建包含實時網(wǎng)絡內容和服務的應用程序。

        2 搭建開發(fā)環(huán)境

        2.1 Linux下安裝配置Qt Creator

        在Linux和Windows環(huán)境下均可以開發(fā)MeeGo應用程序。鑒于MeeGo操作系統(tǒng)是基于Linux內核并且是完全開源的,故選擇了在Ubuntu 10.04 LTS系統(tǒng)上搭建MeeGo應用程序的開發(fā)環(huán)境。

        為搭建MeeGo應用程序開發(fā)環(huán)境,在 Ubuntu 10.04 LTS上安裝配置QtCreator需要4個步驟,如圖3所示。

        圖 3 Ubuntu 10.04 LTS安裝配置 Qt Creator流程圖

        (1)配置軟件庫安裝源

        ①添加軟件源:1

        ②為軟件倉庫增加公鑰:

        ③更新軟件源:

        ④測試軟件源是否正確安裝:

        (2)安裝 MeeGo SDK

        如果開發(fā)基于x86架構設備的應用程序,相應的SDK需要安裝meego-sdk-ia32;如果開發(fā)基于ARM架構設備的應用程序,則相應的SDK需要安裝meegosdk-armv7l。

        (3)安裝MeeGo目標機交叉編譯環(huán)境

        ①下載并安裝目標機交叉編譯環(huán)境的壓縮文件包:

        ②檢查目標機交叉編譯環(huán)境是否正確安裝:

        ③檢查目標機交叉編譯環(huán)境是否正確運行:

        (4)配置 Qt Creator

        添加 MeeGo交叉編譯器,打開 Qt Creator,選擇 Tools>Options>Qt4>Qt Versions。點擊“添加”按鈕,路徑選擇為usr/lib/madde/linux-i686/targets/meego-netbook-ia32-1.1.2/bin/qmake,點擊Rebuild按鈕。如果不進行交叉編譯,則可以添加MeeGo SDK的Qt版本,步驟同上,但路徑選擇為/opt/meego/meego-sdk-qt/bin/qmake。

        2.2 搭建基于Atom D510嵌入式實驗平臺的開發(fā)環(huán)境

        Atom D510處理器針對MeeGo操作系統(tǒng)進行了優(yōu)化,在Atom D510嵌入式實驗平臺下搭建MeeGo應用開發(fā)環(huán)境需要4個步驟,如圖4所示。

        圖4 搭建開發(fā)環(huán)境流程圖

        (1)在Atom D510平臺上安裝MeeGo上網(wǎng)本操作系統(tǒng)

        由于Atom D510嵌入式實驗平臺提供了UBS接口,最簡單快捷的安裝方式是使用U盤安裝。首先,下載U盤鏡像制作工具Win32DiskImager.exe和MeeGo上網(wǎng)本鏡像文件;其次,制作 MeeGo上網(wǎng)本系統(tǒng)啟動 U盤;最后,用該U盤重啟實驗平臺,進入MeeGo上網(wǎng)本系統(tǒng)安裝界面進行安裝。

        (2)安裝 OpenSSH sever

        ①安裝OpenSSH sever。從主機Qt Creator向遠程實體設備部署程序時,需要進行文件拷貝,因此需要在實體設備上安裝OpenSSH服務。

        ②啟動SSH服務:

        ③將OpenSSH加入初始化序列中,開機自動啟動:

        (3)安裝 gdbserver

        如果進行遠程調試應用程序,需要安裝gdbsever。

        (4)配置實際設備連接

        打 開 Qt Creator, 選 擇 Tools→Options→Projects→MeeGo Device Configurations。點擊“添加”按鈕,添加一個程序運行的實際設備。設置Device type為Real Device、Authentication type 為 Password、Username 為 root、Password為meego。SSH使用默認端口號22,Gdb Server使用默認端口號10000(如果該端口被占用可使用其他端口)。

        除此之外,如果開發(fā)主機與實際設備使用交叉網(wǎng)線進行通信,則兩者的IP地址必須配置在同一網(wǎng)段內。如果使用局域網(wǎng)進行通信,則開發(fā)主機與實際設備接入同一局域網(wǎng)即可。

        2.3 QEMU虛擬機下搭建開發(fā)環(huán)境

        在QEMU虛擬機下搭建開發(fā)環(huán)境,需要安裝MeeGo運行時(即運行在QEMU中的MeeGo操作系統(tǒng)鏡像)。安裝配置QEMU運行時需要4個步驟,如圖5所示。

        圖5 安裝配置QEMU運行時流程圖

        (1)安裝MeeGo運行時

        如果運行時安裝成功,則執(zhí)行下述指令:

        (2)在 Qt Creator中配置 MeeGo仿真器

        打 開 Qt Creator, 選 擇 Tools→Options→Projects→MeeGo Device Configurations。點擊“添加”按鈕,為仿真器添加一個runtime(運行時)。設置 Device type為 MeeGo Emulator、Authentication type 為 Password、Username 為 root、Password為meego。SSH使用默認端口號為6666。Gdb Server使用默認端口號為13619(如果該端口被占用可使用其他端口)。

        (3)啟動MeeGo運行時

        如果運行時不能正常啟動,可能有兩個原因:①開發(fā)主機BIOS禁用了Virtualization Technology,進入主機BIOS開啟Virtualization Technology即可解決問題;②開發(fā)主機沒有加載KVM模塊。

        對于Intel處理器,執(zhí)行$sudo modprobe kvm_intel指令可加載KVM模塊

        對于AMD處理器,執(zhí)行$sudo modprobe kvm_amd指令可加載KVM模塊

        (4)用SSH登錄運行在QEMU中的MeeGo鏡像

        MADDE啟動QEMU時,完成了從主機6666端口到MeeGo鏡像SSH端口的重定向。目前MeeGo鏡像中有如下兩個帳號:①用戶名:meego 密碼:meego;②用戶名:root 密碼:meego。

        3 應用程序開發(fā)流程

        (1)新建一個Qt工程。在Qt Creator開始界面,點擊右下角Creat Project按鈕,創(chuàng)建Qt工程。

        (2)根據(jù)目標設備選擇合適的應用程序模板。開發(fā)MeeGo上網(wǎng)本應用程序,需要選擇Qt C++Program工程中的Mobile Qt Application模板。

        (3)使用工程向導,逐步設置工程的名稱、路徑、Qt版本信息、程序類信息、工程管理信息。程序類信息包括:類的名稱、基類、頭文件、源文件和Form文件。工程管理信息列出了工程的路徑和工程中所有的文件。

        (4)編寫相應的應用程序代碼,設置應用程序運行環(huán)境。如果目標設備為MeeGo虛擬機,則將Device configuration設置成meego emulator;否則將其設置為實體設備。設置完成后,依次點擊編譯和運行按鈕,應用程序即可部署到目標設備上并運行。

        4 應用程序集的設計與開發(fā)

        4.1 總體設計方案

        應用程序集總體結構如圖6所示,由主操作界面、辦公模塊、通信模塊、娛樂模塊、地圖模塊組成。通過主操作界面可啟動不同子模塊,子模塊之間不能直接互相切換,子模塊必須返回主操作界面才可啟動其他子模塊。通過子模塊界面可啟動相應的應用程序。

        4.2 設計

        (1)主操作界面的設計與實現(xiàn)

        主操作界面使用OpenGL繪制了具有3D特效、可旋轉縮放的六面體。六面體上下兩個面的紋理設置為MeeGo的LOGO圖片,前后左右4個面分別代表了辦公模塊、通信模塊、娛樂模塊和地圖模塊。通過鼠標雙擊,即可進入相應的子模塊。主操作界面的立體和展開示意圖如圖7所示。

        進入子模塊后,主操作界面切換為子模塊的操作界面。兩個模塊的主操作界面的結構完全相同,只是六面體每個面的功能不同。以辦公模塊為例,其上下兩個面的功能為返回主操作界面,前后左右4個面分別代表了文本編輯程序、表格處理程序、圖片瀏覽程序和保留的擴展程序接口。

        六面體的每個面均使用OpenGL逆時針正向繪制。六面體通過加載相應的紋理代表不同的模塊或者應用程序。首先加載用來生成紋理的圖片,然后生成紋理,最后加載紋理[4]。在繪制面之前調用glLoadName()函數(shù),使用名字棧為六面體的面設置名字。通過調用facceAtPosition()私有函數(shù)確定光標下的面。程序使用面的名字和shift_flag變量來實現(xiàn)主操作界面和子模塊操作界面的相互切換。

        (2)子模塊的設計與實現(xiàn)

        辦公模塊設計實現(xiàn)了圖片瀏覽程序、文本編輯程序、表格處理程序;通信模塊設計實現(xiàn)了新浪微博客戶端和局域網(wǎng)通信程序;娛樂模塊設計實現(xiàn)了連連看游戲、貪吃蛇游戲和拼圖游戲;地圖模塊設計實現(xiàn)了北京地鐵線路查詢程序和Google在線地圖程序。

        在此只介紹地圖模塊中的北京地鐵線路查詢程序。該程序涵蓋了北京地鐵七條干線,并實現(xiàn)了任意兩個站點之間的最短路徑查詢和動態(tài)顯示。該程序使用圖存儲地鐵線路信息。地鐵線路圖中共有115個站點,每個站點分配了唯一的ID標識為圖中的一個頂點。如果兩個站點直接相連,則將這兩個站點之間弧的權值設置為1,否則設置為10 000,表示這兩個站點沒有直接相連。程序使用著名的弗洛伊德最短路徑算法,通過圖的權值矩陣求任意兩個站點之間的最短路徑。通過定時器和變換畫刷的顏色來實現(xiàn)查詢結果的動態(tài)顯示,每0.7 s更新一次地圖,如果用戶正在進行線路查詢,則變換畫刷的顏色閃動線路上站點。

        4.3 應用程序設計舉例

        以Google在線地圖為例,本應用程序使用MeeGo Qt域的Qt WebKit進行開發(fā),總體的開發(fā)流程與本文第3節(jié)“應用程序開發(fā)流程”相同。在此,只敘述程序代碼的編寫。

        (1)為了使用 Qt WebKit,需要在工程的.pro文件中添加QT+=webkit,并在相應頭文件中添加 #include<QwebView>。

        (2)新建一個QWebView類的控件對象:

        (3)調用該控件對象的setUrl函數(shù),設置其顯示內容為Google在線地圖:

        (4)設置控件的窗口名字并將其顯示:

        本文論述了MeeGo嵌入式操作系統(tǒng)的運行機制和應用程序的開發(fā)流程,以及在Linux平臺上搭建MeeGo應用程序開發(fā)環(huán)境和使用Qt Creator開發(fā)應用程序集的方法和步驟。

        [1]英特爾開源技術中心.MeeGoTM開源項目白皮書[Z].2010.

        [2]The Linux foundation.MeeGo architecture layer view[EB/OL].[2010-10-20].https://www.meego.com/developers/meegoarchitecture/meego-architecture-layer-view.htm.

        [3]The Linux foundation.MeeGo architecture domain view[EB/OL].[2010-10-20].https://www.meego.com/developers/meego-architecture/meego-architecture-domain-view.htm.

        [4]WRIGHT R,LIPCHAK B.OpenGL 超級寶典(第四版)[M].張琪,付飛,譯.北京:人民郵電出版社,2010.

        猜你喜歡
        程序設置環(huán)境
        長期鍛煉創(chuàng)造體內抑癌環(huán)境
        中隊崗位該如何設置
        少先隊活動(2021年4期)2021-07-23 01:46:22
        一種用于自主學習的虛擬仿真環(huán)境
        孕期遠離容易致畸的環(huán)境
        試論我國未決羈押程序的立法完善
        人大建設(2019年12期)2019-05-21 02:55:44
        環(huán)境
        “程序猿”的生活什么樣
        英國與歐盟正式啟動“離婚”程序程序
        本刊欄目設置說明
        中俄臨床醫(yī)學專業(yè)課程設置的比較與思考
        久久亚洲中文字幕精品二区| 日本中文字幕不卡在线一区二区| 欧美在线观看www| 街拍丝袜美腿美女一区| 丁香五月亚洲综合在线| 久久久久久伊人高潮影院| 五月婷婷激情六月| 亚洲av熟女天堂久久天堂| 亚洲中文字幕乱码一二三区| 日本视频一区二区三区观看| 精品国产第一国产综合精品| 76少妇精品导航| 国产精品高潮无码毛片| 国产精品日本一区二区三区| 久久伊人最新网址视频| 国产丝袜在线精品丝袜| 亚洲午夜无码AV不卡| 国产裸体AV久无码无遮挡| 国产一区二区av在线免费观看| 成人精品天堂一区二区三区 | 精品国产成人亚洲午夜福利| 亚洲一区二区成人在线视频| 性色av色香蕉一区二区蜜桃| 亚洲av鲁丝一区二区三区黄| 欧美人妻日韩精品| 亚洲一区二区女优视频| 丰满少妇人妻无码| 国产zzjjzzjj视频全免费| 亚洲熟妇中文字幕日产无码| 亚洲综合中文字幕日韩| 亚洲av永久无码精品网址| 日韩在线第二页| 亚洲一区丝袜美腿在线观看| 国产性虐视频在线观看| 欧美性猛交xxxx免费看蜜桃| 亚洲综合无码一区二区| 国产免费视频一区二区| 国产最新女主播福利在线观看| 丰满岳妇乱一区二区三区| 亚洲av成人一区二区三区网址| 日韩熟女精品一区二区三区视频|