1、软件体系结构课程期末论文题 目 基于 Android 的嵌入式视频系统 学 院 数学计算机学院 专 业 软件工程 年 级 2011 级 所属项目 基于 android 的嵌入式视频系统 姓 名 赵鸿伟 学 号 12011242706 论文摘要Android 一词的本义指“机器人“,同时也是 google 于 2007 年 11 月5 日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件。本课题设计了一个基于 Android 的嵌入式视频系统。该系统主要实现了视频的采集、处理、存储、播放和传输。采
2、集是通过 Android 自带的照相机和麦克风分别对图像和声音进行采集;处理是对所采集到的图像和声音的编码和格式转换;存储是对处理完成的视频的保存;播放是实现对视频的开始播放、暂停、重播、停止功能;传输是手机与电脑之间的数据的传输。本设计基本实现了所要达到的目标,结构比较简单,基本的容错设计也大概地实现,其效果还是满足要求的。关键词:Android 系统 视频采集 视频播放AbstractThis project is to mark a video system which is based on the android operating system .This system can c
3、apture video,handle video,save video,play video and transfer video. Video capture is collecting images and sound from the camera and microphone which bring their own Android .Video processing is encoded images and sounds which are been collected .Video storage is saving the video which is worked.Vid
4、eo playing is to mark true that the video can be played ,plused,replayed and stoped.Video transmission is transmitted data from the computer to the mobile phone.This design is realized the goal.It is not complex, every functions link compact, the essential tolerant designs is realized, and this syst
5、em basically met needs.Key words: Android system Video capture Video playing1. Android 操作系统的背景介绍Android 是一个专为移动设备设计的 软件综合平台,凭借良好的可移植性、应用程序的硬件平台无关性及其开放性,迅速成为主流的手机平台之一。本文重点研究了基于 Linux 平台的开源操作系统 Android 移植到 ARM11 的过程。Android 是 Google 于 2007 年 11 月宣布的基于 Linux 平台开源手机操作系统名称,号称是首个为移动终端打造的真正开放和完整的移动软件。Googl
6、e 重新设计 Java虚拟机和系统,使得 Android 的 Java 应用更接近于底层系统效率更高;另外使用虚拟机技术使得 Android 的应用在被监控的情况下运行,安全性更高。Android 是一个对第三方软件完全开放的平台。其平台采用了整合的策略思想,包括底层 Linux 操作系统、中间层的中间件和上层的 Java 应用程序。操作系统的体系结构从上到下分为 5 个部分,分别是:应用程序、应用程序框架、程序库、Android 运行环境、Linux 核心层。Linux内核层用来提供系统的底层服务,位于硬件和其它软件层之间,采用 YAFFS2 文件系统。Android 运行库包含一组核心库和
7、 Dalvik 虚拟机,Android 提供丰富的数据库支持且大部分为开源代码,如采用嵌入式数据库 SQLite。应用框架层为 Android 开发人员提供了访问框架应用程序接口的全部权限,采用结构化设计简化了组件之间的重用。在应用程序层,Android 本身附带了一些核心的应用程序,大大简化了 Android 应用程序的开发。1.1 嵌入式系统的背景介绍根据电气和电子工程师协会的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置” 。从中可以看出嵌入式系统是软件和硬件的综合体。目前国内一个普遍被认同的嵌入式系统的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用
8、系统对功能、可靠性、成本、体积、功耗严格要求的专用的计算机系统。1.2 嵌入式系统的特点从上述对嵌入式的概念的理解上看,嵌入式应该还具有以下几个方面的特点:1.系统内核小由于嵌入式系统一般是应用于小型电子装置,系统资源相对比较有限,所以内核较之传统的操作系统要小得多。比如 ENEA 公司的 OSE 分布式系统,内核只有 5KB 而Windows 的内核则要大得多。2.专用性强嵌入式系统的个性化能力很强,其中的软件系统和硬件的结合非常的紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时,针对不同的任务,往往需要对系统进行较大的更改
9、;程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。3.系统精简嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能的设计及实现过于复杂,这样一方面利于控制系统成本,同时也利于实现系统的安全。4.高实时性高实时性的操作系统软件是嵌入式软件的基本要求。而且软件要求固化存储,以提高速度。软件代码要求高质量和高可靠性。5.多任务的操作系统嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统而直接在芯片上运行;但是为了合理地调度多个任务,利用系统资源、系统函数以及专家库函数接口,用户必须自行选配 RTOS(Real Time
10、Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少相应的开发时间,同时保障软件的质量。 6.专门的开发工具和环境嵌入式系统开发需要专门的开发工具和环境。由于嵌入式系统本身不具备自主开发能力,即使设计完成以后,用户通常也不能对其中的程序功能进行修改,因此必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。2.视频系统硬件的基本原理2.1视频基于硬件的设计框图本次设计直接使用手机来进行,硬件
11、方面的准备就显得十分的简单,手机所采用的处理器是德州仪器的 TI OMAP3630,视频刻录时是通过 500 万像素的摄像头还有麦克风来采集图像和声音,手机自带有 MicroSD 卡,视频的播放是直接在手机屏幕上显示。视频系统的硬件设计框架如图 3.1.1 所示:图 3.1.1 视频系统的硬件框架2.2 ARM Cortex-A8简介Cortex-A8 处理器是 ARM 公司日前发布最新处理器,它将给消费和低功耗移动产品带来重大变革,使得最终用户可以享受到更高水准的娱乐和创新。在于美国加州举行的第二届 ARM 开发者年度大会上发布的 ARM Cortex-A8 处理器最高能达到 2000DMI
12、PS,使它成为运行多通道视频、音频和游戏应用的要求越来越高的消费产品的最佳选择。支持智能能源管理(Intelligent Energy Manger,IEM)技术的 ARM Artisan 库以及先进的泄漏控制技术使得 Cortex-A8 处理器实现了非凡的速度和功耗效率。Cortex-A8 处理器得到了大量 ARM 技术的支持,从而能够实现快速的系统设计。这些支持包括:RealView DEVELOPOER 软件开发工具, RealView ARCHITECT ESL 工具和模型,CoreSight 调试和追踪技术,以及对 OpenMAX 多媒体处理标准的软件库支持。Cortex-A8 处理
13、器是 ARM 的第一款超标量处理器,具有提高代码密度和性能的技术,用于多媒体和信号处理的 NEON技术,以及用于高效地支持预编译和即时编译 Java 及其他字节码语言的 Jazelle运行时间编译目标(RCT)技术。德州仪器和 ARM 在第二届 ARM 开发者年度大会上共同宣布德州仪器第一个获得全新的 ARM Cortex-A8 处理器的授权。德州仪器同时也是在这一新处理器开发过程中领先的 ARM 合作伙伴。德州仪器将把 Cortex-A8 处理器用于其众多下一代超低功耗 3G 调制解调器以及高性能的 OMPATM 应用处理器。此次设计手机核心处理器就是德州仪器的TI OMPA3630。2.3
14、 TI OMAP3630处理器特性TI OMAP3 系列处理器采用了 ARM Cortex-A8 架构,可提供比基于 ARM 11 的处理器多至三倍的性能增益,同时使得 3G 手持终端具有可与笔记本电脑媲美的生产力以及先进的娱乐功能。OMAP3630 应用了更先进的 45 纳米制造工艺,集成了 PowerVR SGX530 显示核心,在提供最高 1GHz 运行主频的同时,能够带来最高 75%的图形性能提升以及 25%的电力节省。通过图 2.3.1,我们可以看到,由于缺少了图形处理器,所以 36xx 系列中的入门款式:OMAP 3610 并未提供高像素视频记录以及视频回放性能,倒是高达 720M
15、Hz 的处理器运行频率,可以成为 2010 年推出的众多非主打影音功能智能手机的核心;而 OMAP 3620 以及 OMAP 3630 两款处理器则都具备着 720MHz 主频处理器以及 DSP 处理器,在视频解析能力方面也都达到了 720P 的水准,不同的则是 OMAP 3620 型处理器提供了最高VGA 分辨率的显示支持,而 OMAP 3630 型处理器则提供了最高 XGA 分辨率(1024*768像素)显示支持能力。图 2.3.1 OMAP3 介绍OMAP 36x0 系列处理器特性:45nm CMOS 工艺 ARM Cortex - A8 核心处理器IVA2+(图像,视频,音频)多媒体加
16、速器 PowerVR SGX 图形核心 2D/3D 加速(OMAP3610 未配备) 兼容 OpenGL ES 2.0(除 OMAP3610) 电压,频率和功率动态控制TWL4030 电源管理/音频编解码器(除 OMAP3640,使用 TWL5030 配套设备)3. 嵌入式视频设计总体设计方法3.1 视频嵌入式系统总体设计1.总体设计流程图如图 2.1 所示图 2.1 设计流程系统需求分析:根据需求,确定视频系统所要达到的目标,最后制定设计说明。体系结构设计:描述系统对硬件、软件的功能需求,以及包括这两方面的选型等。软硬件设计:根据体系结构设计,对软硬件进行详细设计,其中大部分都集中在软件设计
17、上。系统集成:对系统的软件和硬件集成在一起进行综合调试,发现不足时实施改进。系统测试:对设计好的系统进行测试,检验系统是否满足设计目标。3.2.体系结构如图 2.1.1 所示图 3.1.1 体系结构4 嵌入式视频设计的结论和展望电子行业从单片机到嵌入式系统,特别是近几年嵌入式系统技术的日渐普及,嵌入式系统无疑成为了当前最热门最有发展前途的 IT 应用领域之一,伴随着巨大的产业需求,我国嵌入式系统产业的人才需求量也是一路高涨,嵌入式开发成为近几年最热门最受欢迎的职业之一。Android 是基于 Linux 平台开源手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,目前在市场可谓
18、是如日中天。在 Android 发展的过程中摩托罗拉付出的是核心代码,Google 付出的是公关和品牌效应,当然还有它的 google app,但是 Google 掌握了 Android Market 以及通过Android google apps 获得的大量用户。Android 以其特有的开放性优势越来越受到人们和智能手机厂商的关注,对于第三方软件开发商来说,Android 是一个真正意义上的开放性移动设备综合平台,Android 系统是免费向开发人员提供的,这样就避免了开发中专利权的障碍。因此就能为第三方软件开发商省下一大笔钱。对于设备制造商来说,Android 是一个免费的平台,每制造一
19、台手机时,那些支付给手机系统制造商的费用也省去了,这样就降低了手机的制造成本,同时也就降低了手机价格,提高了市场竞争力。同时 Android 平台支持各种先进的网络、绘图、3D 处理能力,可以用来提供更好的使用者体验。这一系列的优势真正的让 Android 成为最佳的手机应用平台。参考资料1.臧萌.Java 入门M.清华大学出版社,出版时间:2010-5-12.塞若.HeadFirstJava(中文版)M.中国电力,出版时间:2007 3.李佳.ARM 系列处理器应用技术完全手册.人民邮电出版社,出版时间:2006-12-1 4.柯元旦.Android 程序设计M.北京航空航天大学出版社,出版时间:2010-7-15.郭宏志.Android 应用开发详解M,出版时间:2010 年 6 月 6.余志龙.GoogleAndroidSDK 开发范例大全M.人民邮电出版社,出版时间:2010-6-1 7. E2ECloud 工作室.深入浅出 GoogleAndroid.人民邮电出版社 ,出版时间: 2009-8-1