在UP-TECH S3C2410 DVK1.1 開發(fā)平臺下,提出了一個觸摸式的嵌入式掌上娛樂系統(tǒng)設計方案。本系統(tǒng)主要包括多媒體播放器和游戲的基本功能。本系統(tǒng)可以播放現(xiàn)有的大多數(shù)的音頻視頻文件;設計了嵌入式游戲,增加了系統(tǒng)的娛樂性。使用觸摸屏方便作為人機交互的平臺。采用跨平臺性能良好的Qt4 設計了應用程序和人機界面,界面友好,漢化顯示,美觀,操作簡便,運行流暢。整個系統(tǒng)模塊化設計,充分考慮了軟件系統(tǒng)自身所占的存儲空間以及可擴展性,具有廣闊的市場前景。
嵌入式系統(tǒng)是以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。近年來,隨著微處理器技術、DSP 技術、多媒體編解碼技術以及嵌入式技術的發(fā)展,多媒體娛樂終端已經(jīng)成為消費性電子產(chǎn)品的熱點。同時,逐漸成熟的市場隨著MP3 在市場上取得的巨大成功,以及MP4、數(shù)字電視、3G 通訊等相關技術的起步,在未來幾年內(nèi)都將會得到快速發(fā)展。多媒體終端正是數(shù)字信息產(chǎn)業(yè)的一個重要組成部分, 所以在這個背景下,MultimediaTerminal 蘊含著極大地發(fā)展?jié)摿?。本文是基?a target="_blank">Linux 嵌入式操作系統(tǒng)在UP-TECHS3C2410 DVK1.1 開發(fā)平臺下設計并實現(xiàn)了一個高性能、低功耗、低成本的嵌入式掌上娛樂系統(tǒng)。
1 系統(tǒng)概述
本系統(tǒng)以UP-TECH S3C2410 DVK1.1 為開發(fā)平臺,使用嵌入式linux 作為操作系統(tǒng)。
本系統(tǒng)的實現(xiàn)包括兩個方面,一是底層系統(tǒng)的搭建。本系統(tǒng)是在通用的嵌入式Linux 操作系統(tǒng)上進行適當?shù)牟眉簦蛊浞舷到y(tǒng)的硬件平臺,并且初始化開發(fā)底層的驅(qū)動,實現(xiàn)了對系統(tǒng)的控制以及數(shù)據(jù)的存儲和傳輸。二是應用層的實現(xiàn)。
系統(tǒng)的底層包括文件系統(tǒng)的搭建以及各種接口部件的驅(qū)動程序,這些驅(qū)動程序通過嵌入式Linux 操作系統(tǒng)進行調(diào)用,然后完成應用的功能,為上層的接口層和應用層提供服務[5]。
中間的嵌入式GUI 為接口層,采用QT4 作為用戶GUI 的界面庫。QT4 是基于服務器-客戶端的一種用戶界面中間件,提供了豐富的功能控件和精美的界面設計功能,可以便捷的設計出所需要的各種功能模塊。
系統(tǒng)的最上層就是直接面向用戶的應用層。該層采用QT4 設計,向用戶提供了精美的用戶界面,用戶可以通過觸摸屏方便的調(diào)用相關功能。系統(tǒng)的軟件結構框圖如圖1 所示:

圖2 系統(tǒng)硬件結構框圖
2.2 軟件開發(fā)平臺介紹
在系統(tǒng)層,由于UP-TECH S3C2410 DVK1.1 開發(fā)板提供原始的系統(tǒng)(vivi、linux-2.4、root.cramfs)版本低,因此,針對多媒體娛樂系統(tǒng),裁剪移植了適合本系統(tǒng)的Uboot-1.1.6、linux-2.6.24 內(nèi)核和yaffs 文件系統(tǒng)。該系統(tǒng)使用較為通用的bootloader:UBoot,網(wǎng)絡資源較多的內(nèi)核linux2.6 和可讀可寫的yaffs 文件系統(tǒng),易于系統(tǒng)的開發(fā)。并配置了LCD 屏驅(qū)動、網(wǎng)卡驅(qū)動、SD 卡等驅(qū)動。
在應用層,采用QT SDK 設計所有的應用程序。
Qt 是一個跨平臺的C++圖形用戶界面(GUI)庫,包括跨平臺類庫、集成開發(fā)工具和跨平臺IDE.使用Qt“一次開發(fā),多次編譯”,無須重新編寫源代碼,便可跨不同桌面和嵌入式操作系統(tǒng)部署這些應用程序。
3 實現(xiàn)原理
應用層軟件的設計主要包括兩個模塊:多媒體播放器以及游戲模塊。用戶主界面設計了一個主框架,然后將其他功能模塊的圖標放在該框架內(nèi),完成了整體的規(guī)劃設計。下面詳細介紹這兩個功能模塊的設計與實現(xiàn)。
3.1 播放器的實現(xiàn)
對于音頻和視頻的播放,本系統(tǒng)使用QT 設計一個前端播放、控制界面,并使用Mplayer 作為后端程序,能播放mp3、ogg、ogm、wma、wav、asf、au、avi、mpeg、mpg、mv1、mov、wmv、pls、m3u、mp4、 m4a 等音頻和視頻格式。播放器模塊的結構圖如圖3 所示,播放器使用Mplayer 作為后端程序(紅色部分),使用QT4開發(fā)前端程序(綠色部分)。

圖4 播放器軟件流程圖。
通過定義一個QProcess 對象調(diào)用已編譯好的Mplayer。
QProcess *process = new QProcess();
process-》setProcessChannelMode(QProcess::MergedChannels);
Process-》start(“mplayer –ac –mad xxxxx”);
在命令中添加 -slave 和 -quiet 就可以通過命令設置Mplayer 實現(xiàn)相應的功能。Process-》start(“mplayer–slave –quiet –ac –mad xxxxx”)。
下面對播放器的暫停播放功能和音量調(diào)節(jié)進行介紹。
① 播放暫停功能設計
通過這段代碼可以設置Mplayer 暫停:process-》write(“pause ”);執(zhí)行這段代碼的時候在播放狀態(tài)下就會暫停,暫停狀態(tài)下就會繼續(xù)播放。
② 音量調(diào)節(jié)
下面代碼即可實現(xiàn)音量調(diào)節(jié)的功能:
Process-》write(“volume -1 ”); //音量減??;
Process-》write(“volume +1 ”); //音量增加;
Process-》write(“volume XX 1 ”); //音量設置成指定值
該系統(tǒng)使用如下代碼實現(xiàn)音量調(diào)節(jié):
QString cmd=“volume” +QString::number(value)+“ 1 ”;
process-》write(cmd.toLocal8Bit()。data());
系統(tǒng)最終實現(xiàn)的實驗效果圖如圖5 所示:
圖6 游戲模塊實驗結果圖
4 總結
本系統(tǒng)采用開源的Linux 操作系統(tǒng)和QT4 界面設計工具,整個系統(tǒng)采用模塊化設計,具有良好的可擴展性。硬件平臺采用的是 UP-TECH S3C2410 DVK1.1嵌入式系統(tǒng),該芯片采用ARM 架構,其獨特的架構設計具有功耗低、功能強的特點,因此非常適合用于手持式設備;采用LCD 觸摸屏與用戶進行交互,使用簡單,符合便攜式終端的發(fā)展趨勢。
-
嵌入式
+關注
關注
5199文章
20454瀏覽量
334254 -
Linux
+關注
關注
88文章
11763瀏覽量
219084 -
操作系統(tǒng)
+關注
關注
37文章
7402瀏覽量
129338
發(fā)布評論請先 登錄
嵌入式掌上娛樂系統(tǒng)的實現(xiàn)原理是什么?
嵌入式Linux操作系統(tǒng)
嵌入式Linux操作系統(tǒng)的使用
基于Linux的嵌入式操作系統(tǒng)
基于Linux操作系統(tǒng)的嵌入式網(wǎng)關的實現(xiàn)
嵌入式操作系統(tǒng)Linux 中的串口應用編程
基于嵌入式Linux系統(tǒng)的掌上Emap的設計
基于Linux的嵌入式實時操作系統(tǒng)的研究
以Linux操作系統(tǒng)設計的掌上娛樂系統(tǒng)
Linux嵌入式操作系統(tǒng)有哪些優(yōu)勢
嵌入式操作系統(tǒng)FreeRTOS的原理實現(xiàn)
linux嵌入式系統(tǒng)算法,嵌入式Linux操作系統(tǒng)調(diào)度算法研究
嵌入式操作系統(tǒng)
基于Linux嵌入式操作系統(tǒng)實現(xiàn)掌上娛樂系統(tǒng)的設計
評論