新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 浅谈基于Linux嵌入式操作系统掌上娱乐系统设计方案

浅谈基于Linux嵌入式操作系统掌上娱乐系统设计方案

作者:时间:2012-04-16来源:网络收藏

近年来,随着微处理器技术、DSP技术、多媒体编解码技术以及技术的发展,多媒体终端已经成为消费性电子产品的热点。同时,逐渐成熟的市场随着MP3在市场上取得的巨大成功,以及MP4、数字电视、3G通讯等相关技术的起步,在未来几年内都将会得到快速发展。

本文引用地址:http://www.eepw.com.cn/article/149230.htm

是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用对功能、可靠性、成本、体积、功耗严格要求的专用计算机

多媒体终端正是数字信息产业的一个重要组成部分,所以在这个背景下,MultimediaTerminal蕴含着极大地发展潜力。

本文是在UP-TECHS3C2410DVK1。1开发平台下并实现了一个高性能、低功耗、低成本的嵌入式系统。

1系统概述

本系统以UP-TECHS3C2410DVK1。1为开发平台,使用嵌入式linux作为

本系统的实现包括两个方面:

一是底层系统的搭建。本系统是在通用的嵌入式上进行适当的裁剪,使其符合系统的硬件平台,并且初始化开发底层的驱动,实现了对系统的控制以及数据的存储和传输。

二是应用层的实现。

系统的底层包括文件系统的搭建以及各种接口部件的驱动程序,这些驱动程序通过嵌入式操作系统进行调用,然后完成应用的功能,为上层的接口层和应用层提供服务。

中间的嵌入式GUI为接口层,采用QT4作为用户GUI的界面库。QT4是服务器-客户端的一种用户界面中间件,提供了丰富的功能控件和精美的界面功能,可以便捷的出所需要的各种功能模块。

系统的最上层就是直接面向用户的应用层。该层采用QT4设计,向用户提供了精美的用户界面,用户可以通过触摸屏方便的调用相关功能。系统的软件结构框图如图1所示:

9.jpg

图1系统的软件结构框图

应用层的设计是本文主要的开发工作,主要包含以下几种功能模块:

①多媒体功能模块:调用MPlayer播放器对系统内存或者USB接口中的外存定位对应的体文件,并将其解码;视频、视频文件可以全屏播放/最小播放。几乎可以播放市面上现存的所有的音频、视频文件。

游戏功能:提供了几个界面友好有趣的游戏,增加系统的娱乐性。

2开发平台

2。1硬件开发平台介绍

硬件平台采用博创UP-TECHS3C2410DVK1。1开发板,处理器类型:SamsungS3C2410。主频:203MHZ。

它适用于工业控制、移动通信设备、医疗仪器等多种场合,外扩64MBNANDFLASH和64MSDRAM,提供USB2。0接口与计算机进行高速通信;该平台集成了大尺寸LCD触摸屏,型号:LQ080V3DG01,分辨率:640*480像素,这也是选择它作为开发平台的重要原因。系统硬件结构框图如图2所示。

10.jpg

图2系统硬件结构框图

2。2软件开发平台介绍

在系统层,由于UP-TECHS3C2410DVK1。1开发板提供原始的系统(vivi、linux-2。4、root。cramfs)版本低,因此,针对多媒体娱乐系统,裁剪移植了适合本系统的Uboot-1。1。6、linux-2。6。24内核和yaffs文件系统。该系统使用较为通用的bootloader:UBoot,网络资源较多的内核linux2。6和可读可写的yaffs文件系统,易于系统的开发。并配置了LCD屏驱动、网卡驱动、SD卡等驱动。

在应用层,采用QTSDK设计所有的应用程序。

Qt是一个跨平台的C++图形用户界面(GUI)库,包括跨平台类库、集成开发工具和跨平台IDE。使用Qt一次开发,多次编译,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。

3实现原理

应用层软件的设计主要包括两个模块:多媒体播放器以及游戏模块。用户主界面设计了一个主框架,然后将其他功能模块的图标放在该框架内,完成了整体的规划设计。下面详细介绍这两个功能模块的设计与实现。

3。1播放器的实现

对于音频和视频的播放,本系统使用QT设计一个前端播放、控制界面,并使用Mplayer作为后端程序,能播放mp3、ogg、ogm、wma、wav、asf、au、avi、mpeg、mpg、mv1、mov、wmv、pls、m3u、mp4、m4a等音频和视频格式。播放器模块的结构图如图3所示,播放器使用Mplayer作为后端程序(红色部分),使用QT4开发前端程序(绿色部分)。

播放器结构图

图3播放器结构图

3。1。1后端程序简介

本系统使用Mplayer作为其后端程序。MPlayer被评为Linux下的最佳媒体播放工具,不需要任何系统解码器就可以播放包括视频、音频、流媒体、广播、电视等各种媒体。

Mplayer另一个重要特点在于其开源性。

Realplayer,WindowsMediaPlayer,QuickTime等许多播放软件都是性能优秀的播放软件,但由于它们都不开放源代码,给移植带来了麻烦。同时MPlayer还具有良好的移植性,可以移植到许多非X86平台上,MPlayer软件包中含有针对ARM架构的优化代码,这些代码利用ARM的特性加快了对媒体的处理速度。

以上多个原因,本系统选择了MPlayer作为娱乐终端的播放软件。本系统通过移植Mplayer来实现对视频的播放功能。Mplayer编、解码模块,是系统的音、视频处理中心,在mplayer的编解码库中,包含的大量的音、视频格式处理程序,经过编译优化过的mplayer可以完成对大多数音、视频格式高效的编解码工作。

3。1。2前端程序的设计与播放器的实现

主界面窗口有一个显示屏和一些控制按钮,包括播放、暂停、下一首、上一首、音量调整以及播放进度条。文件操作窗口可以使用户选择要播放的文件。

播放列表用来播放用户加载的多媒体文件。

MPlayer默认全屏播放,但在GUI中一般都是指定区域或者控制来播放。这样显得美观,MPlayer支持在指定的X窗口播放的功能。用-wid参数告诉窗口ID即可。例如:mplayertest。mpg-wid0x00029#0x0029是XID,而QT的控件都是从QWidget继承下来,因此它本身也有wid,这样只要用QWidget::winID()取出WID,即可实现在指定窗口播放视频的功能。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭