<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM Linux QT的掌上多媒體系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

          基于ARM Linux QT的掌上多媒體系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

          作者: 時(shí)間:2011-06-18 來(lái)源:網(wǎng)絡(luò) 收藏
          0 引言
          隨著人們生活水平的提高,消費(fèi)結(jié)構(gòu)發(fā)生了巨大變化,消費(fèi)者用于娛樂(lè)方面的支出在總支出中所占的比例正在不斷擴(kuò)大。可以滿足人們對(duì)于試聽(tīng)以及便攜的需求,另外還可以實(shí)現(xiàn)一些其他功能,如圖片瀏覽、網(wǎng)絡(luò)下載、以及影音錄制等。目前市場(chǎng)上的多是Windows CE、Symbian、Palm OS等商用操作系統(tǒng),其開(kāi)放的程序不夠高,而且價(jià)格偏高,不適于第三方應(yīng)用軟件的移植。體系作為專用嵌入式系統(tǒng)設(shè)計(jì)的通用處理器內(nèi)核,具備高性能、低功耗、易擴(kuò)展的特點(diǎn)。本系統(tǒng)基于9、嵌入式操作系統(tǒng)設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)更為開(kāi)放的嵌入式平臺(tái),來(lái)實(shí)現(xiàn)的諸多功能。


          1 多功能掌上媒體播放器系統(tǒng)的硬件設(shè)計(jì)
          多功能掌上媒體播放器系統(tǒng)的硬件設(shè)計(jì)如圖1所示。LCD采用的是Sharp的TFT屏,3.52in,分辨率240×320;音頻控制器是IIS接口的音頻控制器,解碼芯片是UDA1314TS;另外擴(kuò)展了用于視頻錄制的Philips的視頻解碼芯片SAA7113和ADI的JPEG壓縮芯片。視頻錄制的框圖如圖2所示。

          2 多功能掌上媒體播放器系統(tǒng)的軟件設(shè)計(jì)
          系統(tǒng)設(shè)計(jì)和軟件設(shè)計(jì)是本系統(tǒng)的難點(diǎn)。系統(tǒng)軟件設(shè)計(jì)的總體框架如圖3所示。
          2.1 嵌入式操作系統(tǒng)
          最初由Linux Torvalds編寫(xiě),后來(lái)在網(wǎng)絡(luò)上被眾多的Linux愛(ài)好者加以修改和維護(hù),具有內(nèi)核高效穩(wěn)定、開(kāi)源、可移植性強(qiáng)、內(nèi)核可定制可裁剪、多線程多任務(wù)等特點(diǎn),因此選擇其作為本媒體播放器系統(tǒng)的操作系統(tǒng)。圖1多功能掌上多媒體系統(tǒng)的硬件設(shè)計(jì)圖2多功能掌上多媒體系統(tǒng)的視頻錄制系統(tǒng)的框圖圖3多功能掌上多媒體系統(tǒng)的軟件設(shè)計(jì)總體框架
          首先定制裁剪并移植了Linux2.6的內(nèi)核,然后為使各硬件能正常工作編寫(xiě)了鍵盤驅(qū)動(dòng)、LCD驅(qū)動(dòng)、觸摸屏驅(qū)動(dòng)、音頻驅(qū)動(dòng)、USB驅(qū)動(dòng)等驅(qū)動(dòng)。多功能掌上多媒體系統(tǒng)的正常工作首先是進(jìn)入-Linux操作系統(tǒng),然后加載各個(gè)硬件的驅(qū)動(dòng)程序并初始化各外圍設(shè)備,接著就進(jìn)入基于/Embedded庫(kù)的Qtopia桌面系統(tǒng)編寫(xiě)的GUI圖形界面程序的播放器,最后選擇要進(jìn)行的操作。
          對(duì)于Linux內(nèi)核的移植首先要移植bootloader,系統(tǒng)采用的是VIVI,其功能包括:分區(qū)管理、參數(shù)管理、啟動(dòng)Linux操作系統(tǒng)、文件系統(tǒng)管理、支持網(wǎng)絡(luò)、通過(guò)串口下載程序到Flash或者RAM等。建立嵌入式開(kāi)發(fā)環(huán)境,使得能夠交叉編譯源代碼,對(duì)VIVI的源代碼進(jìn)行交叉編譯,生成能在ARM Linux上運(yùn)行的bin文件,通過(guò)開(kāi)發(fā)板的JTAG口將其燒寫(xiě)到開(kāi)發(fā)板的Flash中。
          對(duì)內(nèi)核的移植首先要對(duì)內(nèi)核進(jìn)行修改MAKEFILE文件指定編譯器以及目標(biāo)平臺(tái),然后配置內(nèi)核,交叉編譯生成內(nèi)核鏡像,通過(guò)UART口(串口)下載到開(kāi)發(fā)板上。移植相應(yīng)的文件系統(tǒng)。文件系統(tǒng)中的文件是數(shù)據(jù)的集合,不僅包含著文件中的數(shù)據(jù),而且還有文件系統(tǒng)的結(jié)構(gòu),所有Linux用戶和程序看到的文件、目錄、軟連接及文件保護(hù)信息等都存儲(chǔ)在其中。在設(shè)計(jì)過(guò)程中把文件系統(tǒng)設(shè)置為可讀寫(xiě),這樣操作性強(qiáng)一些,在投入到生產(chǎn)中的時(shí)候應(yīng)該把文件系統(tǒng)設(shè)置為只讀的,這樣整個(gè)掌上多功能媒體播放器的操作系統(tǒng)就加載好了。
          2.2 驅(qū)動(dòng)程序的設(shè)計(jì)
          本系統(tǒng)共涉及到鍵盤驅(qū)動(dòng)、觸摸屏驅(qū)動(dòng)、LCD驅(qū)動(dòng)、音頻驅(qū)動(dòng)和USB驅(qū)動(dòng)等驅(qū)動(dòng)。因?yàn)槎嗝襟w功能是本系統(tǒng)的重點(diǎn),所以播放器部分很重要,這里主要介紹音頻驅(qū)動(dòng)的編寫(xiě)。
          目前Linux下常用的音頻驅(qū)動(dòng)程序主要有兩種類型:OSS(Open Sound System) 和ALSA。最早出現(xiàn)的Linux上的編程接口是OSS,它由一套完整的內(nèi)核驅(qū)動(dòng)程序模塊組成,可為大多數(shù)音頻芯片驅(qū)動(dòng)提供統(tǒng)一的編程接口。在嵌入式系統(tǒng)中,對(duì)于特定的處理器(如本系統(tǒng)采用的S3C2410),可以按照OSS接口標(biāo)準(zhǔn)來(lái)編寫(xiě)音頻驅(qū)動(dòng)程序,以滿足Linux上的應(yīng)用程序。OSS接口已經(jīng)足夠簡(jiǎn)單,需要完成的主要的工作就是對(duì)音頻設(shè)備(本系統(tǒng)采用的是Philips的UDA1314TS)的read,write和ioctl等操作。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();