淺談基于Linux嵌入式操作系統掌上娛樂(lè )系統設計方案
近年來(lái),隨著(zhù)微處理器技術(shù)、DSP技術(shù)、多媒體編解碼技術(shù)以及嵌入式技術(shù)的發(fā)展,多媒體娛樂(lè )終端已經(jīng)成為消費性電子產(chǎn)品的熱點(diǎn)。同時(shí),逐漸成熟的市場(chǎng)隨著(zhù)MP3在市場(chǎng)上取得的巨大成功,以及MP4、數字電視、3G通訊等相關(guān)技術(shù)的起步,在未來(lái)幾年內都將會(huì )得到快速發(fā)展。
本文引用地址:http://dyxdggzs.com/article/149230.htm嵌入式系統是以應用為中心、以計算機技術(shù)為基礎、軟件硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專(zhuān)用計算機系統。
多媒體終端正是數字信息產(chǎn)業(yè)的一個(gè)重要組成部分,所以在這個(gè)背景下,MultimediaTerminal蘊含著(zhù)極大地發(fā)展潛力。
本文是基于Linux嵌入式操作系統在UP-TECHS3C2410DVK1。1開(kāi)發(fā)平臺下設計并實(shí)現了一個(gè)高性能、低功耗、低成本的嵌入式掌上娛樂(lè )系統。
1系統概述
本系統以UP-TECHS3C2410DVK1。1為開(kāi)發(fā)平臺,使用嵌入式linux作為操作系統。
本系統的實(shí)現包括兩個(gè)方面:
一是底層系統的搭建。本系統是在通用的嵌入式Linux操作系統上進(jìn)行適當的裁剪,使其符合系統的硬件平臺,并且初始化開(kāi)發(fā)底層的驅動(dòng),實(shí)現了對系統的控制以及數據的存儲和傳輸。
二是應用層的實(shí)現。
系統的底層包括文件系統的搭建以及各種接口部件的驅動(dòng)程序,這些驅動(dòng)程序通過(guò)嵌入式Linux操作系統進(jìn)行調用,然后完成應用的功能,為上層的接口層和應用層提供服務(wù)。
中間的嵌入式GUI為接口層,采用QT4作為用戶(hù)GUI的界面庫。QT4是基于服務(wù)器-客戶(hù)端的一種用戶(hù)界面中間件,提供了豐富的功能控件和精美的界面設計功能,可以便捷的設計出所需要的各種功能模塊。
系統的最上層就是直接面向用戶(hù)的應用層。該層采用QT4設計,向用戶(hù)提供了精美的用戶(hù)界面,用戶(hù)可以通過(guò)觸摸屏方便的調用相關(guān)功能。系統的軟件結構框圖如圖1所示:
圖1系統的軟件結構框圖
應用層的設計是本文主要的開(kāi)發(fā)工作,主要包含以下幾種功能模塊:
①多媒體功能模塊:調用MPlayer播放器對系統內存或者USB接口中的外存定位對應的體文件,并將其解碼;視頻、視頻文件可以全屏播放/最小播放。幾乎可以播放市面上現存的所有的音頻、視頻文件。
②娛樂(lè )游戲功能:提供了幾個(gè)界面友好有趣的游戲,增加系統的娛樂(lè )性。
2開(kāi)發(fā)平臺
2。1硬件開(kāi)發(fā)平臺介紹
硬件平臺采用博創(chuàng )UP-TECHS3C2410DVK1。1開(kāi)發(fā)板,處理器類(lèi)型:SamsungS3C2410。主頻:203MHZ。
它適用于工業(yè)控制、移動(dòng)通信設備、醫療儀器等多種場(chǎng)合,外擴64MBNANDFLASH和64MSDRAM,提供USB2。0接口與計算機進(jìn)行高速通信;該平臺集成了大尺寸LCD觸摸屏,型號:LQ080V3DG01,分辨率:640*480像素,這也是選擇它作為開(kāi)發(fā)平臺的重要原因。系統硬件結構框圖如圖2所示。
圖2系統硬件結構框圖
2。2軟件開(kāi)發(fā)平臺介紹
在系統層,由于UP-TECHS3C2410DVK1。1開(kāi)發(fā)板提供原始的系統(vivi、linux-2。4、root。cramfs)版本低,因此,針對多媒體娛樂(lè )系統,裁剪移植了適合本系統的Uboot-1。1。6、linux-2。6。24內核和yaffs文件系統。該系統使用較為通用的bootloader:UBoot,網(wǎng)絡(luò )資源較多的內核linux2。6和可讀可寫(xiě)的yaffs文件系統,易于系統的開(kāi)發(fā)。并配置了LCD屏驅動(dòng)、網(wǎng)卡驅動(dòng)、SD卡等驅動(dòng)。
在應用層,采用QTSDK設計所有的應用程序。
Qt是一個(gè)跨平臺的C++圖形用戶(hù)界面(GUI)庫,包括跨平臺類(lèi)庫、集成開(kāi)發(fā)工具和跨平臺IDE。使用Qt一次開(kāi)發(fā),多次編譯,無(wú)須重新編寫(xiě)源代碼,便可跨不同桌面和嵌入式操作系統部署這些應用程序。
3實(shí)現原理
應用層軟件的設計主要包括兩個(gè)模塊:多媒體播放器以及游戲模塊。用戶(hù)主界面設計了一個(gè)主框架,然后將其他功能模塊的圖標放在該框架內,完成了整體的規劃設計。下面詳細介紹這兩個(gè)功能模塊的設計與實(shí)現。
3。1播放器的實(shí)現
對于音頻和視頻的播放,本系統使用QT設計一個(gè)前端播放、控制界面,并使用Mplayer作為后端程序,能播放mp3、ogg、ogm、wma、wav、asf、au、avi、mpeg、mpg、mv1、mov、wmv、pls、m3u、mp4、m4a等音頻和視頻格式。播放器模塊的結構圖如圖3所示,播放器使用Mplayer作為后端程序(紅色部分),使用QT4開(kāi)發(fā)前端程序(綠色部分)。
圖3播放器結構圖
3。1。1后端程序簡(jiǎn)介
本系統使用Mplayer作為其后端程序。MPlayer被評為L(cháng)inux下的最佳媒體播放工具,不需要任何系統解碼器就可以播放包括視頻、音頻、流媒體、廣播、電視等各種媒體。
Mplayer另一個(gè)重要特點(diǎn)在于其開(kāi)源性。
Realplayer,WindowsMediaPlayer,QuickTime等許多播放軟件都是性能優(yōu)秀的播放軟件,但由于它們都不開(kāi)放源代碼,給移植帶來(lái)了麻煩。同時(shí)MPlayer還具有良好的移植性,可以移植到許多非X86平臺上,MPlayer軟件包中含有針對ARM架構的優(yōu)化代碼,這些代碼利用ARM的特性加快了對媒體的處理速度。
基于以上多個(gè)原因,本系統選擇了MPlayer作為娛樂(lè )終端的播放軟件。本系統通過(guò)移植Mplayer來(lái)實(shí)現對視頻的播放功能。Mplayer編、解碼模塊,是系統的音、視頻處理中心,在mplayer的編解碼庫中,包含的大量的音、視頻格式處理程序,經(jīng)過(guò)編譯優(yōu)化過(guò)的mplayer可以完成對大多數音、視頻格式高效的編解碼工作。
3。1。2前端程序的設計與播放器的實(shí)現
主界面窗口有一個(gè)顯示屏和一些控制按鈕,包括播放、暫停、下一首、上一首、音量調整以及播放進(jìn)度條。文件操作窗口可以使用戶(hù)選擇要播放的文件。
播放列表用來(lái)播放用戶(hù)加載的多媒體文件。
MPlayer默認全屏播放,但在GUI中一般都是指定區域或者控制來(lái)播放。這樣顯得美觀(guān),MPlayer支持在指定的X窗口播放的功能。用-wid參數告訴窗口ID即可。例如:mplayertest。mpg-wid0x00029#0x0029是XID,而QT的控件都是從QWidget繼承下來(lái),因此它本身也有wid,這樣只要用QWidget::winID()取出WID,即可實(shí)現在指定窗口播放視頻的功能。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論