在UP-TECH S3C2410 DVK1.1开发平台上的嵌入式掌上娱乐系统设计
嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。近年来,随着微处理器技术、DSP 技术、多媒体编解码技术以及嵌入式技术的发展,多媒体娱乐终端已经成为消费性电子产品的热点。同时,逐渐成熟的市场随着MP3 在市场上取得的巨大成功,以及MP4、数字电视、3G 通讯等相关技术的起步,在未来几年内都将会得到快速发展。多媒体终端正是数字信息产业的一个重要组成部分, 所以在这个背景下,MultimediaTerminal 蕴含着极大地发展潜力。本文是基于Linux 嵌入式操作系统在UP-TECHS3C2410 DVK1.1 开发平台下设计并实现了一个高性能、低功耗、低成本的嵌入式掌上娱乐系统。
1 系统概述
本系统以UP-TECH S3C2410 DVK1.1 为开发平台,使用嵌入式linux 作为操作系统。
本系统的实现包括两个方面,一是底层系统的搭建。本系统是在通用的嵌入式Linux 操作系统上进行适当的裁剪,使其符合系统的硬件平台,并且初始化开发底层的驱动,实现了对系统的控制以及数据的存储和传输。二是应用层的实现。
系统的底层包括文件系统的搭建以及各种接口部件的驱动程序,这些驱动程序通过嵌入式Linux 操作系统进行调用,然后完成应用的功能,为上层的接口层和应用层提供服务[5].
中间的嵌入式GUI 为接口层,采用QT4 作为用户GUI 的界面库。QT4 是基于服务器-客户端的一种用户界面中间件,提供了丰富的功能控件和精美的界面设计功能,可以便捷的设计出所需要的各种功能模块。
系统的最上层就是直接面向用户的应用层。该层采用QT4 设计,向用户提供了精美的用户界面,用户可以通过触摸屏方便的调用相关功能。系统的软件结构框图如图1 所示:
图1 系统的软件结构框图
应用层的设计是本文主要的开发工作,主要包含以下几种功能模块:
① 多媒体功能模块:调用MPlayer 播放器对系统内存或者USB 接口中的外存定位对应的体文件,并将其解码;视频、视频文件可以全屏播放/最小播放。几乎可以播放市面上现存的所有的音频、视频文件。
② 娱乐游戏功能:提供了几个界面友好有趣的游戏,增加系统的娱乐性。
2 开发平台
2.1 硬件开发平台介绍
硬件平台采用博创UP-TECH S3C2410 DVK1.1 开发板,处理器类型:Samsung S3C2410.主频:203MHZ。
它适用于工业控制、移动通信设备、医疗仪器等多种场合,外扩64MB NAND FLASH 和64M SDRAM,提供USB2.0 接口与计算机进行高速通信;该平台集成了大尺寸LCD 触摸屏,型号:LQ080V3DG01,分辨率:640*480 像素,这也是选择它作为开发平台的重要原因。系统硬件结构框图如图2 所示。
图2 系统硬件结构框图
2.2 软件开发平台介绍
在系统层,由于UP-TECH S3C2410 DVK1.1 开发板提供原始的系统(vivi、linux-2.4、root.cramfs)版本低,因此,针对多媒体娱乐系统,裁剪移植了适合本系统的Uboot-1.1.6、linux-2.6.24 内核和yaffs 文件系统。该系统使用较为通用的bootloader:UBoot,网络资源较多的内核linux2.6 和可读可写的yaffs 文件系统,易于系统的开发。并配置了LCD 屏驱动、网卡驱动、SD 卡等驱动。
在应用层,采用QT SDK 设计所有的应用程序。
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,Windows Media Player,Quick Time 等许多播放软件都是性能优秀的播放软件,但由于它们都不开放源代码,给移植带来了麻烦。同时MPlayer 还具有良好的移植性
- 基于QTE的嵌入式Linux下可视化打印设计(07-30)
- 嵌入式linux应用开发之:初识Qt(03-04)
- U-Boot的编译与移植到QT-S3C44B0X开发板上(03-08)
- 嵌入式linux GUI-Qt(06-15)
- Qt图形编程基础之:嵌入式GUI简介(08-13)
- Qt图形编程基础之:实验内容——使用Qt编写“Hello,World”程序(08-13)