《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于DM365平臺的Qt/Embedded移植
基于DM365平臺的Qt/Embedded移植
2015年微型機與應用第5期
舒明蕾,華驚宇,賴尚校
(浙江工業大學 浙江省通信網技術應用研究重點實驗室,浙江 杭州 310023)
摘要: 概述了基于達芬奇技術的TM320DM365的硬件環境搭建,介紹了嵌入式系統軟件架構,并詳細闡述了Qt/E的安裝移植,包括tslib1.4庫的編譯并做相應的設置,概述了嵌入式GUI開發流程。最后,使用一個簡單的應用程序對移植的情況進行了測試。
Abstract:
Key words :

  摘  要: 概述了基于達芬奇技術的TM320DM365的硬件環境搭建,介紹了嵌入式系統軟件架構,并詳細闡述了Qt/E的安裝移植,包括tslib1.4庫的編譯并做相應的設置,概述了嵌入式GUI開發流程。最后,使用一個簡單的應用程序對移植的情況進行了測試。

  關鍵詞: 達芬奇技術;Qt嵌入式系統;移植

0 引言

  隨著嵌入式系統以及圖像處理技術的發展,嵌入式監控設備已經廣泛用于視頻監控中。客戶對于視頻監控終端需要人性化的人機交互界面。Qt/Embedded是Trolltech發布的面向嵌入式系統的Qt版本[1],具有很好的跨平臺特性以及為用戶提供豐富的API接口和界面設計友好等優點[2]。但由于PC機編譯的應用程序不能直接在嵌入式系統中應用,本文針對這一問題,主要介紹了基于以TI的TMS320DM365為代表支持觸摸屏的嵌入式界面開發與移植。為類似的嵌入式Qt應用程序開發提供了參考。

1 總體設計

  1.1 硬件平臺搭建

  達芬奇技術是為數字視頻而設計的系統解決方案,采用了ARM+DSP雙核架構,ARM處理器上使用Linux操作系統來負責外圍模塊的管理,而DSP端執行音視頻編解碼算法[3]。既滿足視頻應用在控制方面、計算能力的需求,又降低了系統成本,同時也降低了系統的復雜性。TI的TMS320DM365芯片正是達芬奇平臺的典型代表。DM365芯片的優點還包括提供了豐富的外設接口,比如DDR接口、Flash接口、SD卡接口、UART串口等[4]。DM365的視頻處理后端將經視頻處理子系統處理的圖像輸出到外部顯示器上。顯示模塊選用的是一款支持觸摸屏的5.7英寸、分辨率為640×480的TFT-LCD。整體的硬件設計如圖1所示。

001.jpg

  1.2 嵌入式系統開發環境搭建

  啟動過程中,首先加載系統引導程序,包括RBL(ROM Boot Loader)、UBL、U-Boot。首先執行RBL,從NAND上讀取UBL并復制到內存中。UBL初始化系統硬件,從NAND中讀取U-Boot的內容復制到DDR里,U-Boot加載內核,完成內核的啟動。啟動后,會將NAND Flash中的yaffs2文件系統掛載到根目錄下,至此,整個系統開發環境搭建完畢。

2 Qt/Embedded-arm開發環境搭建

  嵌入式系統中常用的圖形用戶界面有MiniGui、Micro Windows和Qt。與其他軟件相比,Qt可移植性強,開發周期短;信號和槽這一機制使得用戶交互更方便。從開發周期、應用領域等多方面考慮,選用Qt設計圖形界面。但由于PC機上的系統與嵌入式Linux系統差異比較大,因此不能直接復制PC機上調試好的Qt應用程序到嵌入式系統中運行。而且針對不同的嵌入式系統,需要不同的Qt平臺開發應用程序。本文介紹了基于Qt/Embedded開發應用程序,并移植到DM365硬件平臺的方法。

  2.1 tslib庫的研究與編譯安裝

  帶觸摸屏的移動終端,電磁噪聲會導致觸摸屏出現觸摸不準確等問題。tslib為驅動處獲得原始的采樣數據提供去噪、去抖等功能,將設備坐標轉換為對應的屏幕坐標,為應用層提供接口。先下載tslib源碼包,解壓tslib1.4.tar.gz到工作目錄下。

  tslib文件夾中ts.conf配置了需要加載的插件、插件順序以及一些約束參數。由于源碼中沒有指定module_raw,而需要input模塊從輸入設備讀取數據,所以去掉module_raw input語句前注釋。同時TSLIB_PLUGINDIR一定要配置正確,使tslib找到模塊文件。驅動向應用層匯報的是絕對坐標信息,為了獲取到觸摸屏的驅動數據,應修改plugins目錄下的input-raw.c源碼。否則校準觸摸屏沒有反應。

  static int ts_input_read(…)這個函數體中,ABS_X獲取的為x坐標,ABS_Y獲取的y坐標,ABS_PRESSURE為報告觸摸事件,需定義ABS_X為0x35,ABS_Y為0x36,ABS_PRESSURE為0x30。數據為讀取的設備接口信息。

  $./autogen.sh//生成configure腳本

  $./configure--host=arm-linux--perfix==/usr/local/tslib

  配置成功生成makefile文件,make編譯生成庫文件,但是發現make的時候報錯,需要建立一個cache文件。則編譯之前需要執行如下命令:

  $echo“ac_cv_func_malloc_0_nonnull=yes”>make.cache

  編譯成功后,執行make install進行安裝。

  宿主機常用的是以X86為核心的PC機,而目標板是ARM體系結構,需要在宿主機上建立適用于在目標板上的交叉編譯環境[5]。達芬奇DVSDK為DM365提供的交叉編譯工具鏈為arm_v5t_le-gcc和arm_v5t_le-g++。修改/home/sml/QT/tslib目錄以及子目錄下所有makefile文件,將文件中所有的arm-linux-和arm-unkown-linux-用arm_v5t_le-替換。安裝完成后將/usr/local目錄下生成的tslib文件夾復制到目標板文件系統/usr/local/下。

  2.2 Qt/Embedded-arm編譯安裝與移植

  Qt/Embedded-arm是Qt嵌入式版本。為了在開發板上運行Qt程序,需利用交叉編譯器對Qt/Embedded編譯生成庫文件。解壓源碼qt-everywhere-opensource-src-4.7.2.tar.gz。進入生成的qt-embedded目錄后配置參數,參數的選擇也影響到arm資源的占用率。鍵入make會根據生成文件夾中的makefile文件進行編譯。編譯完成后生成一個QtE-4.7.2-dm365庫文件夾,鍵入make install將庫文件安裝設定的/usr/local/Trolltech目錄下。而此時僅將庫文件拷貝到內核文件系統中是不可用的,為了讓嵌入式系統找到頭文件、動態庫、設備等資源,需要設定環境變量?;谟布脚_,執行如下操作:

  $./configure-prefix/usr/local/Trolltech/QtEm-4.7.2-dm365-opensource-confirm-license-embedded arm-release-fast-qt-libpng-no-qt3support-qt-libtiff-qt-libjpeg-shared-no-webkit-make tools-no-largefile-nomake demos-nomake examples-multimedia-no-cups-xplatform qws/linux-arm-g++-nomake docs-no-qvfb-qt-mouse-pc-no-mouse-linuxtp-qt-mouse-tslib-L/usr/local/tslib1.4/lib(指定動態庫的路徑)-I/usr/local/tslib1.4/include(指定tslib的路徑)

  $make

  $make install

  $ cp-r/usr/local/Trolltech/QtE-4.7.2-dm365/home/sml/filesys/usr/local/(拷貝上位機生成庫文件到內核系統存放庫文件的路徑)

  修改/home/sml/filesys/etc/profile文件,例如指定Qt文件目錄,校準文件的存放位置,觸摸屏設備,指定幀緩沖設備,tslib庫文件路徑等。設置開發板環境變量:

  $export QTDIR=/usr/local/Trolltech/QtEm-4.7.2-dm365

  $export PATH=$QTDIR:$PATH

  $export QWS_DISPLAY=LinuxFb:/dev/fb0

  $export TSLIB_CALIBFILE=/etc/pointercal

  $export TSLIB_TSDEVICE=/dev/input/event0

  $export TSDIR=/usr/local/Trolltech/tslib

  …

  2.3 Qt/Embedded應用程序開發流程

  基于DM365硬件平臺的嵌入式GUI開發流程中,首先使用安裝好的軟件Qt Creator開發應用程序。大致步驟是創建初始化對象,對控件進行布局,然后通過建立信號連接自定義的槽函數來實現窗口動作。完成的工程利用集成開發工具和嵌入式Qt4庫進行交叉編譯。接著將編譯通過的應用程序通過NFS網絡文件系統掛載到目標板調試。調試通過后,將應用程序拷貝到文件系統中,并打包燒寫到開發板的Flash中,最后設置為目標板自啟動[5]。流程如圖2所示。

002.jpg

3 實驗測試

  ts_calibrate是一個應用程序,采集了五組點坐標,用戶點擊校準光標后獲取相應數據,對其進行一套算法變化后得到X值、Y值和scaling等共7個值,寫到校準文件中。運行tslib/bin/ts_calibrate校準程序,屏幕上會陸續出現5個光標圖,依次點擊完畢后/etc目錄下產生一個pointercal文件,證明觸摸庫已經安裝成功。終端顯示運行的結果如圖3所示。

003.jpg

  拷貝一個編譯通過的demo程序到文件系統dm365目錄下:

  $ cp /usr/local/qt-demo/home/sml/filesys/opt/dm365/

  通過串口連接目標板,文件系統掛起之后minicom執行如下操作:

  #cd/opt/dm365/

  #./qt-demo-qws&

  觸摸屏上顯示如圖4所示結果,且鼠標跟隨觸摸位置的移動而移動,移植測試成功。

004.jpg

4 結束語

  本文從硬件平臺的搭建到軟件環境搭建的介紹,重點介紹了如何移植觸摸屏的庫和闡述了Qt/E基于DM365嵌入式系統下的移植方法。在此嵌入式監控終端之上,可以進行各種各樣的嵌入式GUI開發。

參考文獻

  [1] 張春艷.基于Qt的嵌入式圖形用戶界面研究與實現[D].大連:大連海事大學,2008:11-14.

  [2] 陳敬,向偉.基于嵌入式Linux的Qt/Embedded移植與應用開發[J].電腦信息與技術,2013,21(1):57-60.

  [3] Texas Instruments. TMS320DM365 digital media system on-chip[EB/OL].(2011-07-01)[2014-10-10]. http://www.ti.com/lit/ds/symlink/tms320 dm365.pdf.

  [4] 張晨鵬.基于DM365的音視頻服務器的設計[D].武漢:武漢理工大學,2011:17-27.

  [5] 孫巍,馮偉興.Qt/Embedded應用程序在ARM-Linux系統中的開發與應用[J].自動化技術與應用,2011,30(8):37-38.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲精品一区二区网址| 一区二区欧美在线| 欧美日韩一区二区三区在线看| 伊人色综合久久天天五月婷| 亚洲综合色激情五月| 欧美日韩天堂| 猛干欧美女孩| 亚洲午夜在线观看视频在线| 洋洋av久久久久久久一区| 中文精品在线| 久久久伊人欧美| 欧美日韩一级片在线观看| 亚洲国产精品久久久久婷婷884| 国产日韩久久| 欧美高清在线一区二区| 亚洲国产二区| 亚洲精品久久久久久久久久久久| 日韩手机在线导航| 久久免费视频网| 黄色在线成人| 亚洲国产综合在线看不卡| 亚洲国产精品精华液2区45| 激情欧美丁香| 欧美日韩成人综合| 欧美日韩午夜剧场| 亚洲综合国产精品| 久久激情视频久久| 伊人成人在线| 亚洲国产日韩一区二区| 狠狠入ady亚洲精品经典电影| 国产日韩专区| 国产精品综合视频| 亚洲欧洲在线播放| 欧美精品性视频| 亚洲欧美另类久久久精品2019| 先锋影音国产一区| 国产精品国产成人国产三级| 欧美精品在线观看播放| 久久久久国产一区二区三区| 国产精品白丝av嫩草影院| 久久精品国产77777蜜臀| 亚洲图片欧美午夜| 国产麻豆午夜三级精品| 久久亚洲春色中文字幕| 久久免费国产精品| 欧美高清日韩| 亚洲人精品午夜在线观看| 国产精品三区www17con| 亚洲摸下面视频| 国产精品稀缺呦系列在线| 久久精品国产免费| 欧美伊久线香蕉线新在线| 欧美日韩人人澡狠狠躁视频| 尤物在线精品| 亚洲经典在线| 欧美精品国产一区二区| 国产精品v欧美精品v日韩| 在线视频欧美日韩精品| 亚洲一区二区欧美| 国产欧美日韩一区二区三区在线| 在线日韩欧美视频| 久久久久88色偷偷免费| 久久久蜜臀国产一区二区| 国产精品二区在线观看| 国模大胆一区二区三区| 国产精品美女久久久久久久| 一本大道av伊人久久综合| 亚洲素人在线| 亚洲视频一区二区在线观看| 先锋影音国产一区| 久久婷婷激情| 欧美一区二区视频免费观看| 欧美在线影院在线视频| 久久人人97超碰国产公开结果| 欧美全黄视频| 久久午夜国产精品| 国产精品一区在线观看你懂的| 亚洲国产综合视频在线观看| 亚洲网站啪啪| 久久精品毛片| 国产精品国产馆在线真实露脸| 欧美少妇一区| 久久久91精品国产一区二区三区| 国产精品伦一区| 欧美日韩国产综合新一区| 久久精品久久综合| 亚洲国产成人在线| 一本久久综合亚洲鲁鲁五月天| 亚洲国产精品日韩| 久久一区二区三区av| 久久久久久一区| 性刺激综合网| 美日韩精品视频| 国产视频在线观看一区| 欧美日韩一区国产| 欧美一区二区三区日韩视频| 亚洲专区一区二区三区| 欧美视频在线视频| 国产精品午夜在线| 美女999久久久精品视频| 亚洲免费成人av电影| 欧美激情在线观看| 国产一区二区三区在线观看视频| 亚洲国产精品ⅴa在线观看| 亚洲区在线播放| 黄色工厂这里只有精品| 欧美二区乱c少妇| 午夜精品一区二区三区在线视| 国产精品久久久久av| 亚洲夜晚福利在线观看| 一本色道久久综合亚洲91| 亚洲网在线观看| 艳妇臀荡乳欲伦亚洲一区| 欧美午夜激情小视频| 国产精品电影网站| 一本大道久久a久久综合婷婷| 国产日韩精品一区| 嫩草伊人久久精品少妇av杨幂| 亚洲精品国产精品乱码不99按摩| 国内精品久久久| 国产婷婷97碰碰久久人人蜜臀| 免费成人高清在线视频| 国产精品嫩草99av在线| 亚洲欧美国产三级| 欧美日韩精品免费| 巨乳诱惑日韩免费av| 欧美亚洲三级| 国产精品老牛| 久久中文字幕一区二区三区| 欧美在线观看天堂一区二区三区| 欧美不卡三区| 亚洲日韩欧美一区二区在线| 欧美日韩久久久久久| 欧美成人精品三级在线观看| 免费不卡欧美自拍视频| 国产精品大片wwwwww| 亚洲国产欧洲综合997久久| 久久久综合免费视频| 久久久久久久久久久成人| 国语精品中文字幕| 一区二区三区中文在线观看| 亚洲精品综合| 亚洲欧洲在线观看| 亚洲伦理久久| 欧美日韩国产高清| 精品91久久久久| 久久久精品五月天| 欧美高清视频一区| 裸体歌舞表演一区二区| 一区二区欧美激情| 亚洲电影自拍| 欧美专区在线播放| 国产欧美不卡| 亚洲老司机av| 欧美激情1区2区3区| 亚洲欧美国产另类| 最新国产拍偷乱拍精品| 久久成人综合网| 欧美激情视频在线播放| 国产一区二区三区久久久久久久久| 欧美成人精品不卡视频在线观看| 洋洋av久久久久久久一区| 欧美日韩国产二区| 伊人伊人伊人久久| 尤物九九久久国产精品的分类| 欧美精品日韩一区| 麻豆精品国产91久久久久久| 香蕉久久国产| 久久久久久午夜| 欧美日韩国产综合视频在线观看| 亚洲人成毛片在线播放女女| 亚洲日本免费| 亚洲精品中文字幕有码专区| 在线观看亚洲一区| 国产乱码精品一区二区三区av| 国产精品久久久久久av下载红粉| 亚洲精品免费一二三区| 亚洲综合色噜噜狠狠| 久久精品国产精品亚洲综合| 性一交一乱一区二区洋洋av| 欧美四级伦理在线| 尤物在线观看一区| 国产欧美日韩91| 亚洲网站在线| 欧美一区久久| 国产精品v一区二区三区| 欧美激情网友自拍| 久久中文字幕导航| 欧美色网一区二区| 夜夜嗨一区二区三区| 亚洲激情成人网| 欧美日韩亚洲综合在线| 欧美黄色日本| 国产精品美女久久久久av超清| 欧美a级大片| 亚洲视频自拍偷拍| 欧美日韩亚洲高清一区二区| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲欧美日本国产专区一区| 久久成人18免费观看| 国产乱码精品一区二区三区忘忧草| 欧美激情亚洲另类| 久久久久久久欧美精品| 99精品福利视频| 国产精品一区三区| 午夜精品福利一区二区三区av| 久久国产精品亚洲77777| 亚洲一区二区三区四区视频| 国产精品久久国产愉拍| 性18欧美另类| 欧美日韩成人一区二区| 欧美日韩一区二区在线观看| 亚洲视频中文| 欧美国产另类| 欧美在线精品免播放器视频| 亚洲成人资源| 亚洲精品永久免费| 亚洲高清av在线| 国产一区二区三区不卡在线观看| 亚洲欧美日韩视频一区| 亚洲第一在线综合在线| 欧美午夜在线观看| 国产亚洲制服色| 亚洲美洲欧洲综合国产一区| 欧美一区二区三区在线播放| 欧美日韩国产首页| 欧美伊人久久大香线蕉综合69| 久久精品在线播放| 欧美日产在线观看| 女人天堂亚洲aⅴ在线观看| 久久国产日韩| 国产欧美精品日韩区二区麻豆天美| 鲁大师影院一区二区三区| 国产精品久久久久久久久免费桃花| 亚洲精品乱码久久久久久按摩观| 亚洲理论在线| 午夜精品久久久久影视| 久久精品天堂| 国产日韩欧美精品综合| 久久深夜福利免费观看| 一区二区三区亚洲| 久久手机免费观看| 在线播放豆国产99亚洲| 性久久久久久久久久久久| 久久久久女教师免费一区| 久久国产精品亚洲va麻豆| 久久综合九色综合网站| 国产精品每日更新在线播放网址| 亚洲你懂的在线视频| 免费在线观看日韩欧美| 午夜免费在线观看精品视频| 欧美日韩一区二区在线视频| 久久久国产精品一区二区中文| 麻豆国产精品一区二区三区| 一本久久知道综合久久| 国产有码一区二区| 久久综合色天天久久综合图片| 欧美啪啪成人vr| 欧美中文在线免费| 亚洲观看高清完整版在线观看| 欧美电影在线观看完整版| 国产一区三区三区| 欧美xxx在线观看| 亚洲视频图片小说| 欧美激情网站在线观看| 亚洲国产精品久久久久| 国产精品久久久久久久7电影| 欧美性猛交99久久久久99按摩| 国产欧美日韩亚洲| 欧美日韩一区不卡| 国产乱人伦精品一区二区| 欧美日韩免费观看一区二区三区| 国产精品一区三区| 久久久久久亚洲精品杨幂换脸| 国内成人精品2018免费看| 91久久在线视频| 亚洲日韩欧美视频一区| 亚洲三级色网| 国产精品女人网站| 国产精品大片免费观看| 久久精品国产96久久久香蕉| 一区二区三欧美| 亚洲国产成人久久| 欧美日韩精品伦理作品在线免费观看| 久久精品一二三区| 欧美区在线观看| 欧美人成免费网站| 精品成人一区二区三区| 国产精品一区久久久久| 久久久91精品国产一区二区三区| 久久久之久亚州精品露出| 亚洲福利国产精品| 亚洲人成7777| 欧美精品一区二区三区在线看午夜| 在线播放日韩| 亚洲制服欧美中文字幕中文字幕| 亚洲视频axxx| 久久精品一区二区三区不卡牛牛| 欧美一区在线视频| 午夜久久久久久久久久一区二区| 一区二区三区四区五区精品视频| 国产精品亚洲а∨天堂免在线| 久久视频这里只有精品| 欧美日韩一区二区免费在线观看| 欧美精品一级| 欧美日韩免费观看一区=区三区| 亚洲一区二区三区视频| 国产精品外国| 一色屋精品视频在线看| 久久www成人_看片免费不卡| 先锋影院在线亚洲| 欧美在线中文字幕| 欧美日韩国产系列| 欧美呦呦网站| 欧美日韩国产a| 午夜宅男久久久| 欧美激情综合色| 欧美大片一区二区| 国产麻豆日韩| 国产精品男人爽免费视频1| 欧美欧美午夜aⅴ在线观看| av成人国产| 欧美午夜宅男影院在线观看| 亚洲电影在线看| 欧美精品日韩一本| 欧美午夜片在线观看| 欧美日韩免费视频| 欧美日韩一区二区三区在线视频|