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

          新聞中心

          EEPW首頁 > 消費電子 > 設計應用 > 基于S5PV210數(shù)碼相框的設計與實現(xiàn)

          基于S5PV210數(shù)碼相框的設計與實現(xiàn)

          作者: 時間:2016-10-15 來源:網(wǎng)絡 收藏

          當膠卷退出我們普通人的生活之后,拍攝-沖洗膠卷-擴印照片的經(jīng)典流程也漸漸從我們身邊消失。取而代之的是,大量的數(shù)碼相機用戶群和種類繁多的各種存儲介質(zhì)。數(shù)碼相框則是目前回放這些照片的最好途徑,作為瀏覽數(shù)字照片的核心產(chǎn)品,數(shù)碼相框正迎合了消費者的需求。

          本文引用地址:http://www.ex-cimer.com/article/201610/306929.htm

          1 系統(tǒng)需求分析

          許多人不明白數(shù)碼相框的魅力到底在哪里。時下拍攝的數(shù)碼相片開始呈現(xiàn)出了幾何級數(shù)的增長,要想再把這些相片都沖印出來回味、欣賞,浪費大量金錢不說,傳統(tǒng)的相框、相冊也無法再承擔起保存的重任。數(shù)碼相框?qū)氐捉夥拍切┓e壓下來的數(shù)碼相片,讓你人生中值得記憶的每一個瞬間從此不再被埋沒在硬盤里面。數(shù)碼相框可以用來美化家居,構(gòu)造精致生活享受。分享快樂、展示成功;帶給父母,緩解思念;或者帶入辦公室,消解工作壓力。

          而和傳統(tǒng)的相框相比,數(shù)碼相框也具備了很多的優(yōu)勢。數(shù)碼相框采用了普通相框的外形,而且更為精致,用液晶顯示屏來顯示照片,配上電源、存儲介質(zhì)等,使多張相片能夠在顯示屏上循環(huán)播放,有的數(shù)碼相框還增加了MP3和MP4等多媒體娛樂功能,比普通相框的單一功能更有優(yōu)勢。

          作為消費類電子產(chǎn)品,數(shù)碼相框必須考慮以下幾個方面的功能:

          1)用戶界面及接口友好,操作簡便。作為一個消費類電子產(chǎn)品,它的客戶是多樣化的,其中大部分都是非專業(yè)化的,甚至是老人或者是小孩,操作是否人性化、簡潔化,成為能否讓用戶迅速接受產(chǎn)品的重要因素。

          2)系統(tǒng)兼容性強,數(shù)碼相框應該能夠識別和處理當前數(shù)碼相機拍攝圖像格式,能夠訪問主流的半導體存儲外設。

          3)存儲可靠,作為存儲設備,必須通過嚴格的功能測試,以保證用戶在使用過程中不丟失信息。

          鑒于此,數(shù)碼相框產(chǎn)品的主要功能應包括以下方面:

          1)支持主流半導體存儲卡,能從中讀取圖像文件。

          2)在LCD屏中全屏循環(huán)顯示多幅圖像文件,支持各種主流格式。

          3)顯示時間和日期

          4)可通過按鈕或觸摸屏進行操作。

          2 系統(tǒng)總體設計

          基于Linux下使用Qt編寫的數(shù)碼相框架構(gòu)設計方案通過使用純C++語言開發(fā)來支持嵌入式Linux系統(tǒng),采用Qt/Eembedded作為GUI來提供強大的用戶界面,設計位于Linux用戶空間的目的是為了系統(tǒng)移植性。

          本項目的系統(tǒng)架構(gòu)由以下幾個層次組成:

          1)底層硬件。本設計采用凌陽的A8實驗箱為三星S5PV210。

          2)驅(qū)動程序

          3)操作系統(tǒng)。一臺裝有Ubuntu系統(tǒng)或裝有Ubuntu虛擬機的PC機。

          4)Qt應用程序

          本項目所設計的數(shù)碼相框主要采用Qt為主的程序設計方案,配合A8實驗箱就做成了一款數(shù)碼相框。數(shù)碼相框在初始化時會掃描指定目錄下的所有支持的圖片文件,用戶可以通過按鈕實現(xiàn)前翻或者后翻,并且可以進行放大和縮小的操作。

          3 實現(xiàn)數(shù)碼相框項目流程

          首先搭建系統(tǒng),其中包括PC平臺Linux虛擬機環(huán)境建立、ARM平臺Linux系統(tǒng)搭建。使用Qt編程實現(xiàn)。常見的Qt應用程序的開發(fā)有兩種方式:

          第一種使用文本編輯器編寫C++代碼,然后在命令行下生成工程并編譯;

          第二種使用QtCreator編寫C++代碼,并為Qt Creator安裝Qt Embedded SDK,然后利用Qt Creator編譯程序。由于Qt Creator具有良好的可視化操作界面,同時它包含了一個功能非常強大的C++代碼編輯器,所以第二種方法是我們的首選。

          1)在Qt中,點擊菜單欄File/New File or Project,新建文件類型為Qt C++Project/Qt Gui Application。在接下來的Qt Gui Applic ation對話框中輸入工程名稱QtImage和保存路徑。

          所創(chuàng)建的項目工程如圖1所示。

          基于S5PV210數(shù)碼相框的設計與實現(xiàn)

          以下是數(shù)碼相框的主程序,主要實現(xiàn)的功能是在界面上顯示widget控件。

          基于S5PV210數(shù)碼相框的設計與實現(xiàn)

          Ui顯示界面如圖2所示。

          基于S5PV210數(shù)碼相框的設計與實現(xiàn)

          通過點擊左上角的縮小控制按鈕,圖片顯示如圖3所示。

          基于S5PV210數(shù)碼相框的設計與實現(xiàn)

          通過點擊左上角的翻頁控制按鈕,顯示下一個圖片如圖4所示。

          基于S5PV210數(shù)碼相框的設計與實現(xiàn)

          2)實驗箱平臺顯示

          通常的嵌入式系統(tǒng)的軟件開發(fā)采用交叉編譯調(diào)試的方式。交叉編譯調(diào)試環(huán)境建立在宿主機上,對應的開發(fā)板成為目標板,本項目使用為凌陽的A8實驗箱為三星S5PV210,其為ARM A8架構(gòu)的處理器。GNU編譯器提供這樣的功能,在編譯器編譯時可以選擇開發(fā)所需的宿主機和目標機從而建立開發(fā)環(huán)境。所以在進行嵌入式開發(fā)前第一步的工作就是要安裝一臺裝有指定操作系統(tǒng)的PC機作宿主開發(fā)機。嵌入式開發(fā)通常要求宿主機配置有網(wǎng)絡,支持NFS(為交叉開發(fā)時mount所用)。然后要在宿主機上建立交叉編譯調(diào)試的開發(fā)環(huán)境。

          接下來編譯用于實驗箱運行的Qt應用程序,首先將實驗箱的串口和網(wǎng)線連接到PC機。

          執(zhí)行Qt Creator的Build/Clean All,清理之前生產(chǎn)的編譯文件,防止編譯嵌入式版本的程序出錯。單擊左下角所示的圖標,會彈出編譯選擇框。點擊“Build”右側(cè)的下拉列表,在彈出的四種編譯類型中,選擇“Qt for A8 Release”。點擊“Build AIl”按鈕,即可開始編譯實驗箱運行的版本,直到編譯選擇按鈕上方的進度條變成綠色,即表示編譯完成。并在工程的保存目錄下,可以找到一個名為“QtImage-build-desktop”的文件夾,如圖5所示。編譯生成的可執(zhí)行程序即在此文件夾中。

          基于S5PV210數(shù)碼相框的設計與實現(xiàn)

          將QtImage-build-desktop文件夾中的QtImage文件復制到Windows下,并按照前述中下載程序的方法,將QtImage下載到實驗箱;在超級終端中,利用chmod 777 QtImage為QtImage添加可執(zhí)行權(quán)限,并運行它。操作如圖6所示。

          基于S5PV210數(shù)碼相框的設計與實現(xiàn)

          在實驗箱上使用觸摸屏即可對應用程序進行操作。

          4 結(jié)束語

          隨著嵌入式系統(tǒng)的飛速發(fā)展,其應用已經(jīng)滲透到人們生活的每一個領(lǐng)域。大到軍事領(lǐng)域,小到小朋友的玩具,它正在以不同的形式悄悄地改變著人們的生產(chǎn)、生活方式。已經(jīng)成為當今計算機領(lǐng)域的一個熱點,因此開發(fā)和探討嵌入式系統(tǒ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); })();