国产精品久久久久久久久久久新郎_91久久精品国产_国内精品久久久久久_欧美激情第一页在线观看_国产欧美日韩丝袜精品一区_日韩精品成人一区二区在线观看_国产精品v片在线观看不卡_91精品国产综合久久香蕉最新版 _国产精品亚洲激情_色综合男人天堂

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

嵌入式Linux中Qt/Embedded的應(yīng)用

發(fā)布時間:  2012/9/8 16:29:58

隨著嵌入式Linux應(yīng)用的不斷發(fā)展,嵌入式處理器運算能力的不斷增強,越來越多的嵌入式設(shè)備開始采用較為復(fù)雜的GUI系統(tǒng),手持設(shè)備中的GUI系統(tǒng)發(fā)展得非常迅速。傳統(tǒng)的GUI系統(tǒng),如Microwindows等,由于項目規(guī)模較小、功能較為薄弱,缺乏等三方軟件開發(fā)的支持等諸多原因,在比較高級的手持或移動終端設(shè)備(如PDA、Smart-Phone、車載導(dǎo)航系統(tǒng))中應(yīng)用較少。-
 


  Qt/Embedded是著名的Qt庫開發(fā)商Trolltech公司開發(fā)的面向嵌入式系統(tǒng)的Qt版本,開發(fā)人員多為KDE項目的核心開發(fā)人員。許多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded上,與X11版本的Qt在最大程度上接口兼容,延續(xù)了在X上的強大功能,在底層徹底摒棄了X lib,僅采用framebuffer作為底層圖形接口。Qt/Embedded類庫完全采用C++封裝。豐富的控件資源和較好的可移植性是Qt/Embedded最為優(yōu)秀的一方面,使用X下的開發(fā)工具Qt Designer可以直接開發(fā)基于Qt/Embedded的UI(用戶操作接口)界面。越來越多的第三方軟件公司也開始采用Qt/Embedded開發(fā)嵌入式Linux下的應(yīng)用軟件。其中非常著名的Qt Palmtop Environment(Qtopia)早期是一個第三方的開源項目,并已經(jīng)成功應(yīng)用于多款高檔PDA。Trolltech公司針對Smart-Phone中的應(yīng)用需求,于2004年5月底發(fā)布了Qtopia的Phone版本。

  1 Qt/Embedded的實現(xiàn)技術(shù)基礎(chǔ)分析

  橫向來看,由于發(fā)布的版權(quán)問題,Qt/Embedded采用兩種方式進(jìn)行發(fā)布:在GPL協(xié)議下發(fā)布的free版與專門針對商業(yè)應(yīng)用的commercial版本。二者除了發(fā)布方式外,在源碼上沒有任何區(qū)別。縱向看來,當(dāng)前主流的版本為Qtopia的2.x系列與最新的3.0x系列。其中2.0版本系統(tǒng)較多地應(yīng)用于采用Qtopia作為高檔PDA主界面的應(yīng)用中;3.x版本系列則應(yīng)用于功能相對單一,但需要高級GUI圖形支持的場合,如Volvo公司的遠(yuǎn)程公交信息系統(tǒng)。圖1為Qt/Embedded的實現(xiàn)結(jié)構(gòu)。

  3.x版本系列的Qt/Embedded相對于2.x版本系統(tǒng)增加了許多新的模塊,如SQL數(shù)據(jù)庫查詢模塊等。幾乎所有2.x版本中原有的類庫,在3.x版本中都得到極大程度的增強。這就極大地縮短了應(yīng)用軟件的開發(fā)時間,擴大了Qt/Embedded的應(yīng)用范圍。

  在代碼設(shè)計上,Qt/Embedded巧妙地利用了C++獨有的機制,如繼承、多態(tài)、模板等,具體實現(xiàn)非常靈活。但其底層代碼由于追求與多種系統(tǒng)、多種硬件的兼容,代碼補丁較多,風(fēng)格稍顯混亂。

  1.1 Qt/Embedded的圖形引擎實現(xiàn)基礎(chǔ)

  Qt/Embedded的底層圖形引擎基于framebuffer。Framebuffer是在Linux內(nèi)核架構(gòu)版本2.2以后推出的標(biāo)準(zhǔn)顯示設(shè)備驅(qū)動接口。采用mmap系統(tǒng)調(diào)用,可以將framebuffer的顯示緩存映射為可連續(xù)訪問的一段內(nèi)存儲針。由于目前比較高級的ARM體系的嵌入式CPU中大多集成了LCD控制模塊,LCD控制模塊一般采用雙DMA控制器組成的專用DMA通道。其中一個DMA可以自動從一個數(shù)據(jù)結(jié)構(gòu)隊列中取出并裝入新的參數(shù),直到整個隊列中的DMA操作都已完成為止。另外一個DMA與畫面緩沖區(qū)相關(guān),這部分由兩個DMA控制器交替執(zhí)行,并每次都自動按照預(yù)定的規(guī)則改變參數(shù)。雖然使用了雙DMA,但這兩個DMA控制器的交替使用對于CPU來說是不可見的。CPU所獲得的只是由兩個DMA組成的一個“通道”而已。

  Framebuffer驅(qū)動程序的實現(xiàn)分為兩個方面:一方面是對LCD及其相關(guān)部分的初始化,包括畫在緩沖區(qū)的創(chuàng)建和對DMA通道的設(shè)置;另外一方面是對畫面緩沖區(qū)的讀寫,具體到代碼為read、write、lseek等系統(tǒng)調(diào)用接口。至于將畫面緩沖區(qū)的內(nèi)容輸出到LCD顯示屏上,則由硬件自動完成。對于軟件來說是透明的。當(dāng)對于DMA通道和畫面緩沖區(qū)設(shè)置完成后,DMA開始正常工作,并將緩沖區(qū)中的內(nèi)容不斷發(fā)送到LCD上。這個過程是基于DMA對于LCD的不斷刷新的。基于該特性,framebuffer驅(qū)動程序必須將畫面緩沖區(qū)的存儲空間(物理空間)重新映射到一個不加高緩存和寫緩存的虛擬地址區(qū)間中,這樣能才保證應(yīng)用程序通過mmap將該緩存映射到用戶空間后,對于該畫面緩存的寫操作能夠?qū)崟r的體現(xiàn)在LCD上。

  在Qt/Embedded中,Qscreen類為抽象出的底層顯示設(shè)備基類,其中聲明了對于顯示設(shè)備的基本描述和操作方式,如打開、關(guān)閉、獲得顯示能力、創(chuàng)建GFX操作對象等。另外一個重要的基類是QGfx類。該類抽象出對于顯示設(shè)備的具體操作接口(圖形設(shè)備環(huán)境),如選擇畫刷、畫線、畫矩形、alpha操作等。以上兩個基類是Qt/Embedded圖形引擎的底層抽象。其中所有具體函數(shù)基本都是虛函數(shù),Qt/Embedded對于具體的顯示設(shè)備,如Linux的framebuffer、Qt Virtual Framebuffer做的抽象接口類全都由此繼承并重載基類中的虛函數(shù)實現(xiàn)。圖2為Qt/Embedded中底層圖形引擎實現(xiàn)結(jié)構(gòu)。

  對于基本的framebuffer設(shè)備,Qt/Embedded用QlinuxFbScreen來處理。針對具體顯示硬件(如Mach卡、Voodoo卡)的加速特性,Qt/Embedded從QlinuxFbScreen和圖形設(shè)備環(huán)境模板類QgfxRaster繼承出相應(yīng)子類,并針對相應(yīng)硬件重載相關(guān)虛函數(shù)。

  Qt/Embedded在體系上為C/S結(jié)構(gòu),任何一個Qt/Embedded程序都可以作為系統(tǒng)中唯一的一個GUI Server存在。當(dāng)應(yīng)用程序首次以系統(tǒng)GUI Server的方式加載時,將建立QWSServer實體。此時調(diào)用QWSServer::openDisplay()函數(shù)創(chuàng)建窗體,在QWSServer::openDisplay()中對QWSDisplay::Data中的init()加以調(diào)用;根據(jù)QgfxDriverFactory實體中的定義(QLinuxFbScreen)設(shè)置關(guān)鍵的Qscreen指針qt_screen并調(diào)用connect()打開顯示設(shè)備(dev/fb0)。在QWSServer中所有對于顯示設(shè)備的調(diào)用都由qt_screen發(fā)起。至此完成了Qt/Embedded中QWSServer的圖形發(fā)生引擎的創(chuàng)建。當(dāng)系統(tǒng)中建立好GUI Server后,其它需要運行的Qt/Embedded程序在加載后采用共享內(nèi)存及有名管道的進(jìn)程通信方式,以同步訪問模式獲得對共享資源framebuffer設(shè)備的訪問權(quán)。


 


本文出自:億恩科技【m.czbl888.cn】

服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機 24小時售后服務(wù)電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務(wù)熱線

     
     
    国产精品久久久久久久久久久新郎_91久久精品国产_国内精品久久久久久_欧美激情第一页在线观看_国产欧美日韩丝袜精品一区_日韩精品成人一区二区在线观看_国产精品v片在线观看不卡_91精品国产综合久久香蕉最新版 _国产精品亚洲激情_色综合男人天堂
    91精品999| 国产又粗又大又爽的视频| 五月六月丁香婷婷| 又色又爽又高潮免费视频国产| 久久综合久久久久| 黄瓜视频免费观看在线观看www | 国产又粗又长又爽视频| 天天操精品视频| 一本色道久久亚洲综合精品蜜桃| 成年人黄色片视频| 国产xxxxx在线观看| 116极品美女午夜一级| 男人操女人逼免费视频| 国产九九九九九| 日韩小视频在线播放| 可以看毛片的网址| 国产 日韩 亚洲 欧美| 成人免费性视频| 一女被多男玩喷潮视频| 免费成人在线视频网站| 日本www在线播放| 免费无码国产v片在线观看| 人妻精品无码一区二区三区| 国产综合免费视频| 亚欧在线免费观看| 欧美美女性视频| 天堂在线精品视频| 免费观看中文字幕| 特级西西444| 97超碰人人澡| 女人和拘做爰正片视频| 一本久道中文无码字幕av| 在线观看的毛片| 日韩av一卡二卡三卡| 只有这里有精品| 福利视频一区二区三区四区| 青青青免费在线| 青青青在线播放| 超碰人人草人人| 特大黑人娇小亚洲女mp4| 国产精品一线二线三线| 国产精品亚洲αv天堂无码| www亚洲成人| 精品嫩模一区二区三区| 男人用嘴添女人下身免费视频| 97av视频在线观看| 热久久久久久久久| 国产精品一色哟哟| 中文字幕无码不卡免费视频| 欧美国产日韩另类| 久久亚洲a v| 动漫av免费观看| 男人的天堂成人| 日韩免费一级视频| 中文字幕 欧美日韩| 男人添女人荫蒂免费视频| 成人一区二区三| 一区二区三区四区免费观看| 欧美在线观看成人| 激情五月婷婷基地| 日韩网站在线免费观看| 黑森林精品导航| 伊人久久在线观看| 91蝌蚪视频在线观看| 中国一级黄色录像| 成人在线观看a| 99精品一级欧美片免费播放| 精品一区二区中文字幕| av在线网站免费观看| 99精品视频国产| 一级黄色香蕉视频| 看全色黄大色大片| 色呦色呦色精品| 毛片av在线播放| the porn av| 欧美乱大交xxxxx潮喷l头像| 在线观看免费黄网站| www.xxx麻豆| 不用播放器的免费av| 99视频在线免费播放| 国产精品中文久久久久久| 激情综合网婷婷| 超碰超碰超碰超碰超碰| 国产精品区在线| 干日本少妇首页| 黄色一级大片免费| 五月天激情播播| 欧美成人黑人猛交| 国产成人在线小视频| 在线看免费毛片| 九色porny91| 久久久久久久午夜| 国产成a人亚洲精v品在线观看| 自拍偷拍21p| 国产精品69页| 亚洲熟妇国产熟妇肥婆| 99国产精品白浆在线观看免费| 中文字幕日韩久久| 一区二区三区 日韩| 成人久久久久久久久| 777av视频| 久久久国内精品| 五月天国产视频| 中文字幕资源在线观看| 亚洲性图一区二区| 国产野外作爱视频播放| 91av在线免费播放| 黄色片久久久久| 3d动漫一区二区三区| 免费高清一区二区三区| 免费成人进口网站| 最新中文字幕久久| 一本—道久久a久久精品蜜桃| 永久免费的av网站| 三上悠亚av一区二区三区| 日韩一级理论片| a在线观看免费视频| 看欧美ab黄色大片视频免费| 国产精品亚洲二区在线观看| 国产一区亚洲二区三区| 青青青在线播放| 久久黄色免费看| 国产 porn| 黄色永久免费网站| 在线免费av播放| 一区二区三区视频网| 日本不卡一区在线| 91大神免费观看| www国产免费| 国产主播自拍av| 播放灌醉水嫩大学生国内精品| 无码人妻丰满熟妇区96| 国产aaa一级片| 老司机午夜av| 美女网站色免费| 一级网站在线观看| 97在线免费视频观看| 国产日韩av网站| 北条麻妃在线视频| 日韩av片专区| 中文字幕第一页亚洲| av一区二区三区免费观看| 黄页网站在线观看视频| 欧洲av无码放荡人妇网站| 超碰在线人人爱| 波多野结衣免费观看| 伊人久久在线观看| 大j8黑人w巨大888a片| 毛葺葺老太做受视频| 中文字幕资源在线观看| 无码人妻精品一区二区蜜桃百度| 男人插女人视频在线观看| 欧美国产日韩在线播放| 天天久久综合网| 婷婷五月综合缴情在线视频| 成年人在线看片| 国产精品嫩草影视| 日韩精品视频在线观看视频| 日本精品免费在线观看| 亚洲精品www.| 国产玉足脚交久久欧美| 国产又大又黄又粗的视频| 青青草影院在线观看| 国产淫片免费看| 在线黄色免费观看| 久久综合久久久久| 在线视频日韩一区| 青青草免费在线视频观看| 国产中文字幕二区| 亚洲xxx在线观看| 欧洲精品一区二区三区久久| 可以免费在线看黄的网站| 香蕉视频免费版| 丁香婷婷激情网| 国产乱子伦精品无码专区| 午夜免费一区二区| 少妇一晚三次一区二区三区| 中文字幕在线观看第三页| 黄色一级大片免费| 国产高清视频网站| 福利视频免费在线观看| 一本色道久久亚洲综合精品蜜桃| 男人天堂av片| 亚洲无在线观看| 日本成年人网址| 国产女人18毛片| 一起操在线视频| www.亚洲天堂网| 免费人成在线观看视频播放| www.超碰97.com| 99精品免费在线观看| 50度灰在线观看| av噜噜在线观看| 国产视频一区二区视频| 99在线免费视频观看| 亚洲欧美一二三| 一道本在线免费视频| 草草久久久无码国产专区| 成人在线观看毛片| 岛国av免费在线|