软件体系结构期末论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件体系结构课程
期末论文
题目基于Android的嵌入式视频系统
学院数学计算机学院
专业软件工程
年级2011级
所属项目基于android的嵌入式视频系统
姓名赵鸿伟
学号12011242706
论文摘要
Android一词的本义指“机器人",同时也是google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件。
本课题设计了一个基于Android的嵌入式视频系统。该系统主要实现了视频的采集、处理、存储、播放和传输。采集是通过Android自带的照相机和麦克风分别对图像和声音进行采集;处理是对所采集到的图像和声音的编码和格式转换;存储是对处理完成的视频的保存;播放是实现对视频的开始播放、暂停、重播、停止功能;传输是手机与电脑之间的数据的传输。
本设计基本实现了所要达到的目标,结构比较简单,基本的容错设计也大概地实现,其效果还是满足要求的。
关键词:Android系统视频采集视频播放
Abstract
This project is to mark a video system which is based on the android operating system .This system can capture 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.Video 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 system basically met needs.
Key words: Android system Video capture Video playing
1. Android操作系统的背景介绍
Android是一个专为移动设备设计的软件综合平台,凭借良好的可移植性、应用程序的硬件平台无关性及其开放性,迅速成为主流的手机平台之一。本文重点研究了基于Linux平台的开源操作系统Android移植到ARM11的过程。
Android 是Google于2007 年11月宣布的基于Linux平台开源手机操作系统名称,号称是首个为移动终端打造的真正开放和完整的移动软件。Google 重新设计Java虚拟机和系统,使得Android的Java应用更接近于底层系统效率更高;另外使用虚拟机技术使得Android的应用在被监控的情况下运行,安全性更高。Android是一个对第三方软件完全开放的平台。其平台采用了整合的策略思想,包括底层Linux操作系统、中间层的中间件和上层的Java应用程序。操作系统的体系结构从上到下分为5个部分,分别是:应用程序、应用程序框架、程序库、Android运行环境、Linux核心层。Linux内核层用来提供系统的底层服务,位于硬件和其它软件层之间,采用YAFFS2文件系统。Android运行库包含一组核心库和Dalvik虚拟机,Android提供丰富的数据库支持且大部分为开源代码,如采用嵌入式数据库SQLite。应用框架层为Android 开发人员提供了访问框架应用程序接口的全部权限,采用结构化设计简化了组件之间的重用。在应用程序层,Android本身附带了一些核心的应用程序,大大简化了Android应用程序的开发。
1.1 嵌入式系统的背景介绍
根据电气和电子工程师协会的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”。从中可以看出嵌入式系统是软件和硬件的综合体。目前国内一个普遍被认同的嵌入式系统的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用的计算机系统。
1.2嵌入式系统的特点
从上述对嵌入式的概念的理解上看,嵌入式应该还具有以下几个方面的特点:
1.系统内核小
由于嵌入式系统一般是应用于小型电子装置,系统资源相对比较有限,所以内核较之传统的操作系统要小得多。比如ENEA公司的OSE分布式系统,内核只有5KB而Windows 的内核则要大得多。
2.专用性强
嵌入式系统的个性化能力很强,其中的软件系统和硬件的结合非常的紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时,针对不同的任务,往往需要对系统进行较大的更改;程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。
3.系统精简
嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能的设计及实现过于复杂,这样一方面利于控制系统成本,同时也利于实现系统的安全。
4.高实时性
高实时性的操作系统软件是嵌入式软件的基本要求。而且软件要求固化存储,以提高速度。软件代码要求高质量和高可靠性。
5.多任务的操作系统
嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统而直接在芯片上运行;但是为了合理地调度多个任务,利用系统资源、系统函数以及专家库函数接口,用户必须自行选配RTOS(Real Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少相应的开发时间,同时保障软件的质量。
6.专门的开发工具和环境
嵌入式系统开发需要专门的开发工具和环境。由于嵌入式系统本身不具备自主开发能力,即使设计完成以后,用户通常也不能对其中的程序功能进行修改,因此必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。