(信号与信息处理专业论文)基于symbian操作系统的虚拟摄像头设计.pdf_第1页
(信号与信息处理专业论文)基于symbian操作系统的虚拟摄像头设计.pdf_第2页
(信号与信息处理专业论文)基于symbian操作系统的虚拟摄像头设计.pdf_第3页
(信号与信息处理专业论文)基于symbian操作系统的虚拟摄像头设计.pdf_第4页
(信号与信息处理专业论文)基于symbian操作系统的虚拟摄像头设计.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(信号与信息处理专业论文)基于symbian操作系统的虚拟摄像头设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连理工大学硕士研究生学位论文 摘要 随着电子行业的不断发展,智能手机的普及与应用范围的不断扩大、处理能力不断 的增强,用户对手机的功能不现像以前那样局限于基本的电话功能,更要求其在商务、 互联网等方面有更新的功能,而本文正是针对智能手机的摄像头功能,提出了新的功能, 可以将其作为w e b 摄像头通过蓝牙与p c 进行连接,实现真正意义的摄像头功能。而实 现这样一个功能并非易事,需要在多个不同的系统层面上进行数据的采集与交换,同时 要完成大量的程序设计。 如何对各个开发平台进行正确的选择? 我们看到,移动设备操作系统可谓是百家争 鸣。但是我们选择了目前市场占有率最多的s y m b i a n 操作系统作为开发系统。因为 s y m b i a n 系统的开放性,相对于其它的操作系统更有优势,同时开放的系统程序接口也 会减轻程序的开发难度。根据s y m b i a n 公司报道的官方数据,s y m b i a n 平台已经占领了 国内2 0 的智能手机市场,各大权威媒体一致认为2 0 0 6 年将是智能手机年,而其中 s y m b i a n 系统是最为生产厂商和用户看好的平台。另一方面蓝牙技术在移动终端设备上 得到了良好的应用,蓝牙设备的普及率从2 0 0 3 年直呈飞速上升趋势,所以以蓝牙设 备为数据通信的载体必然有良好的市场前景。 而p c 的操作系统我们选择最普遍的w i n d o w s x p 系统,因为w i n d o w s 系统提供了大 量的a p i 给用户,还有大量的开发工具,所以在此平台上进行开发会节省大量的精力, 同时w i n d o w s 也是世界上用户最多的操作系统。 关键词:s y m b j a n ;蓝牙;虚拟驱动;视频捕获;w d m 孙宇哲:基于s y m b i a n 操作系统的虚拟摄像头设计 v i r t u a lc a m e r ad e s i g nb a s eo ns y m b i a ns y s t e m a b s t r a c t w i t ht h ed e v e l o p m e n to fe l e c t r o n i ca n di n t e l l i g e n th a n d s e t s p o p u l a r i z a t i o na n dt h e a p p l i c a t i o ns c o p eu n c e a s i n ge x p a n s i o na n dt h ea b i l i t yo fc a l c u l a t i n gi n c r e a s i n g ,p e o p l ew a n t t oa c h i e v em o r en e wr e q u e s t s ,n o to n l yh a v i n gt h eb a s ef u n c t i o n ,b u ta l s oh a v i n gs o m en e w e r f i m c t i o n sf o rb u s i n e s sa n di n t e m e t s u c ha st a k i n gi ta saw e bc a m e r aa n dp cc a r r i e so nt 1 1 e c o n n e c t i o nt h r o u g ht l l eb l u e t o o t h r e a l i z i n gt h ew e bc a m e r a sf i m c t i o n b u th o wt oa c h i e v e t h i si sn o ta ne a s yc a s e ,i tn e e d st od oal o to fd e v e l o p m e n tt oa c h i e v i n gd a t at r a n s l a t i n g b e t w e e ns e v e r a ls y s t e m s h o wt om a k ead e c i s i o nw h i c hp l a t f o r mw ed e v e l o pa t ? a sw es e e m o b i l eo p e r a t i n g s y s t e mm a yb eh u n d r e ds c h o o l so ft h o u g h tc o n t e n d b u tw ec h o o s es y m b i a no sw h i c hh a v e t h em o s tm a r k e t i n ga p p r o p r i a t i o nt ob et h ed e v e l o p m e n ts y s t e m b e c a u s es y m b i a no si s o p p o s i t ei no t h e rm e r c h a n t ss y s t e m sw h i c hh a v et h es u p e r i o r i t yr e l a t i v e l y ,a n da l s ot ob ea b l e t or e d u c et h ed e v e l o p m e n td i f f i c u l t y f r o mt h eo f f i c i a ld a t aw eg e tf r o ms y m b i a nc o m p a n y , s y m b i a no sh a v e2 0 o fi n t e l l i g e n th a n d s e t si nt h ec o u n t r y 1 0 t sp e o p l et h i n kt h a ty e a r2 0 0 6 谢l lb et h ei n t e l l i g e n th a n d s e t s y e a ra n ds y m b i a no si st h eb e s tp l a t f o r m i nt h eo t h e rw a y b l u e t o o t hi sm o r ea n dm o r eu s i n gi nt h em o b i l e t e r m i n a l ,a n db l u e t o o t he q u i p m e n t sj s i n c r e a s i n gf r o my e a r2 0 0 3t i l ln o w ,s ot r a n s l a t i n gv i d e od a t ab a s eo nb l u e t o o t hw i l lh a v ea g o o dm a r k e t a n df o rt h ep co sw ec h o o s et h em o s tu n i v e r s a lw i n d o w s x ps y s t e m ,b e c a u s ei th a sa l o to fa p ia n ds o f t w a r ed e v e l o p p i n gk i tt od e v e l o p e rw h i c ha l s ow i l ls a v eal o to ft i m ei n d e v e l o pa n dh a v et h em o s tu s e r si nt h ew o r l d n o to n l yf i n i s h i n gt h es y s t e md e s i g n ,b u ta l s oc o d i n gm o s tm o d u l e sa n da c h i e v i n gt h e b a s ef u c t i o no ft h es y s t e m ,a n dd o i n gal o to ft e s ts u c ha sh a v i n gt r a n s l a t i n gd i s t a n c et e s t , r e l i a b l et e s ta n ds oo n t h et e s tr e s u l ti sf i tf o r t h ed e s i g nr e q u i r e m e n t k e yw o r d s :s y m b i a n ;b l u e t o o t h ;v i r t u a ld r i v e r ;v i d e oe a p t u r e ;w d m i i 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工 作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理 工大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志 对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。 作者签名:羽滥 日期: 2 呈旦:! ! 大连理工大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用 规定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子 版,允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论 文。 作者躲捌、奇诅 作者签名:兰型:j 篁 导师签名 阜鱼纽 大连理工大学硕士研究生学位论文 引言 本文的研究内容是结合索尼爱立信公司的一个软件项目虚拟摄像头的研究工作而 实践展开的。作者通过对相关的s y m b i a n 操作系统、蓝牙通信、以及微软的w i n d o w s 操作 系统的虚拟驱动开发的学习,深入地研究了基于s y m b i a no s 平台的嵌入式软件开发、 w i n d o w s 应用程序开发、驱动程序的开发,经过一年多时间,实现了虚拟摄像头的绝大 部分功能。 蓝牙产品使人们可以脱离各种繁琐的电缆,实现无线的个人通信环境。这些产品使 用着全球范围内提供的通用频谱资源,几乎可以在任何地点工作,用户无需购买、携带 或连接电缆,就可简单方便地连接一大批计算机和电信设备。此外,蓝牙技术还使高速 的特殊连接甚至设备间的自动连接成为可能,从而避免了对额外或专用电缆的需求。对 于支持蓝牙技术的计算机,蓝牙规范接口可以直接集成到笔记本电脑,或者通过p c 卡或 t j s b 接口连接。对于支持蓝牙的手机和其它设备,蓝牙芯片可以直接集成到设备中或通 过附加设备连接。对于手机用户来说,该项目是一个关键的应用,它为手机用户与p c 用 户之间的交流增加了一个桥梁。使得该软件可以使得手机的摄像头用于q q ,m s n 等网络 聊天工具的摄像头。 在整个研究开发过程中,作者主要完成的工作是: ( 1 ) 设计基于s y m b i a n 系统的虚拟摄像头系统组成; ( 2 ) 设计并实现s y m b i a n 手机系统的蓝牙驱动模块; ( 3 ) 设计并实现s y m b i a n 手机系统的摄像头驱动模块; ( 4 ) 设计并实现手机与p c 之间的蓝牙数据通信模块; ( 5 ) 设计并实现w i n d o w s 的虚拟驱动程序模块; ( 6 ) 在三个不同的层面进行了程序开发:s y m b i a n 系统、w i n d o w s 应用层、w i n d o w s 底 层驱动。 孙宇哲:基于s y m b i a n 操作系统的虚拟摄像头设计 1 s y m b i a l l 系统的介绍 s y m b i a n 1 】【3 】是于1 9 9 8 年创建,瑞典爱立信、日本松下电器产业、美国摩托罗拉、 芬兰诺基亚、英国p s i o n 等公司拥有股份的合资公司。s y m b i a n 是针对未来无线互联手 持设备的新一代移动系统平台,其目标是把s y m b i a n 操作系统开发成为未来手机的产业 标准。 现在的s y m b i a n 因为松下、西门子和三星的先后加入已经成为由p s i o n 、诺基亚、 索尼爱立信、摩托罗拉、松下、西门子、三星联合控股的公司。2 0 0 4 年第一季度,l g 、 a r i m a 和联想成为最新取得s y m b i a n 授权协议的手机制造商从而使得获得授权的厂商总 数达到了1 8 家,几乎囊括了全球所有重量级的手机制造商。2 0 0 0 年世界上第一款采用 s y m b i a n 操作系统的手机e r i c s s o n r 3 8 成功上市,2 0 0 1 年诺基亚首次发布著名的s e r i e s 6 0 软件平台。 同年全球第一款基于开放式s y m b i a n 操作系统的手机诺基亚9 2 1 0 个人通讯器问世。 2 0 0 2 年日本n t 下d o g o m 发布第一款采用s y r n b i a n 操作系统的3 g 手机f o m a f 2 0 5 1 。 同年,诺基亚公司推出了第一款基于s e r i e s 6 0 和s y m b i a n 操作系统的2 5 g 手机一7 6 5 0 。 2 0 0 3 年诺基亚推出采用s y m b i a n 7 。0o s 操作系统的s e r i e s 6 0 手机6 6 0 0 。2 0 0 4 年首部 s y m b i a n8 。0 a 操作系统3 g 手机6 6 3 0 闻世。2 0 0 5 年4 月2 7 日第款s y m b i a n9 1 操作系 统手机诺基亚n 8 0 发布。 s y m b i a no s 是一个高级的、开放的、标准的多任务操作系统。作为一种面向未来 的嵌入式操作系统,它所具有的功能是其它两大操作系统无法比拟的。2 0 0 1 年发行的 s y m b i a n6 i 总体上包括联络( c o n t a c t ) 、消密, ( m e s s a g e ) 、浏览( b r o w s e ) 和无线电话( w i r e l e s s t e l e p h o n y ) 4 大主要功能。在该平台上,可以使用p o p 3 、l r n a p 4 、s m t p 、h t m l 、s m s 等 协议收发电子邮件和短消息;支持t c p i p 、w a p 、蓝牙、红外通信、串行通信等多种 通信协议i 具有强大的加密和认证管理( 包括h t t p s ,w t l s 和s s l 等安全通信协议) ; 支持对象交换和多媒体服务( 语音、图像) :国际通用( 支持u n i c o d e 字符) ,含有灵 活的文本输入、笔迹识别、附加的字体和文本支持;包括4 个主要的开发可选项:c + + , j a v a ( 包括j a v a p h o n e ) ,w a p 和w e b 。可与p c 的应用程序进行数据同步,并支持多 用户接口。 由于各厂商之间在用户接1 2 1 、硬件设计及互通性上存在的差别及其自身的革新, s y m b i a no s 给移动设备制造商提供很大的灵活性。这种灵活性不但可以使用同一个内 核的操作系统设计出不同的产品,而且给设备制造商提供了更新空间,从而使得其在移 动市场上支持更多的设备。 大连理工大学硕士研究生学位论文 1s y m b i a n 系统的分类 s y m b i a no s 【4 】【5 1 提供3 种参考设计: ( 1 ) 基于键盘的信息移动电话 该参考设计的特色是具备多媒体能力、内建支持文字处理、电子表格程序,并且还 可以外加应用程序。其设计概念主要为:以信息为中心的移动电话,支持6 4 0 x 2 0 0 或更 大的屏幕,使用软件或硬件键盘输入,可支持更多的应用程序,并具备文字处理功能和 w o r d 兼容,包括个人信息管理系统。 ( 2 ) 基于笔式操作的信息移动电话 这种参考设计特点是以浏览为中心的移动电话、支持2 4 0 x 3 2 0 彩色屏幕、笔式操作、 内建笔记辨认、具有消息处理能力、包括个人信息管理系统( p t m ) 、多媒体和内容浏览 霞力。与p a l m o s 相比,它的画面更漂亮,操作更容易。 ( 3 ) 具有信息处理能力的高级移动电话 它的特点是:具有高级数据处理能力的移动电话,支持1 7 6 x 2 0 8 到1 9 6 x 2 7 2 大小的 屏幕,基于键盘( 包括o 一9 数字、+ 、# 等键) ,具有多媒体、浏览、消息处理、个人 信息管理等功能。设计者可根据不同的用户需求,依据s y m b i a no s 提供的参考设计, 设计不同的产品。 1 2s e r i e s 6 0 三个主要版本 目前s e r i e s6 0 有三个主要版本,即第一版( d e v e l o p e rp l a t f o r mv 1 o ) 和2 n de d i t i o n 以及3 r de d i t i o n ( 第二版和第三版) 。 ( 1 ) s e r i e s 6 0 第一版 包含下列功能:采用s y m b i a n 6 0 操作系统,j a v a 技术方面支持( m i d p ) i 0 ,( c l d c ) i 0 以及( j s r - 1 2 0 ) 、( j s r - 1 3 5 ) 等应用程序接口、配备x h t m l w m l 浏览和支持m m s 多媒 体短信服务、支持个人信息管理:日历、电话簿、像册、目录、能够与p c 同步的文件 管理应用程序:数据连接方面则支持u s b 、蓝牙、i r d a 协议并支持g r p s 等等。主要 支持的手机有诺基亚7 6 5 0 、3 6 5 0 和西门子s x l 等。 f 2 ) s e r i e s 6 0 第二版 2 0 0 3 年发彳亍第部支持该版本的手枧是诺基亚6 6 0 0 手机。主要特征是拥有统一消 息中,t i , ( u n i f i e dm e s s a g i n gc e n t e r ,m m s ,s m s ,e m a i l ) 、各种o m a 即时消息,以及 精灵( p r e s e n c e ) 应用、一个完整的移动互联网浏览器( h t m l4 0 1 ,x h t m lm p & w a p c s s ) ,3 g p p 兼容的流客户端( r e a l o n ep l a y e r ) 、j a v am i d p2 0 环境、应用管理器、o m a 数字版权管理( 转发锁定) 、s y n c m l 数据同步及设备管理、o m a 客户端配置、多媒 孙宇哲:基于s y m b i a n 操作系统的虚拟摄像头设计 体、摄录机应用、图像阅览器、支持多重场景的连接管理器、移动钱包以及多种个人信 息管理应用等等。并且通过扩展,s e r i e s6 0 第二版已经被加入了三个f e a t u r ep a c k s ,在 保持过去兼容性的基础上增加了一些新的功能。而这些新的f e a t u r ep a c k s 也正好说明了 s e r i e s6 0 的弹性设计和可扩展性。该版本采用s y m b i a n 7 0 操作系统,同时用户界面支持 多种屏幕分辨率( 1 7 6 x 2 0 8 ,2 4 0 x 3 2 0 ,o v g a 及3 5 2 x 4 1 6 像素) 。这其中s e r i e s6 0f e a t u r e p a c k sl 主要增加了对e d g e 技术支持,支持拍摄能力更强的百万像素级别内置摄像头, 并且增强了j a v a 技术的应用能力,提高了多媒体的应用水准特别是增加了m p 3 和a a c 格式音乐的应用。此外,在浏览器和信息处理上也得到提升。采用该版本的手机主要有 诺基亚7 6 1 0 、6 2 6 0 和松下x 7 0 0 以及最新上市的诺基亚3 2 3 0 等。s e r i e s6 0 第二版的 f e a t u r e p a c k s 2 采用了更为高级的s y m b i a n 8 0 a 操作系统,内置支持3 d 技术的o p e n g l e s 引擎,增加了对w c d m a 网络的支持,并同时在j a v a 支持、信息、电子邮件、多媒体 应用方面得到了增强。同时,f e a t u r ep a c k s 2 还增加了对日文和泰文的支持。因此6 6 3 0 和6 6 8 0 进军日本也就不足为奇了。s e r i e s6 0f e a t u r ep a c k s 3 支持s v g 的可升级用户界面 架构,支持高分辨率显示:1 7 6 x2 0 9 、2 4 0 x 3 3 0 、3 5 2 x 4 1 6 像素平台支持传统键盘输入、 丰富的邮件内容( h 1 m l ,o f f i c e 比如可在电子邮件的附件中查看o f f i c e 文档) ;支持 无线局域网的用户界面等等。诺基亚最新发布的n s e r i e s 系列中的n 7 0 和n 9 0 便是采用 s e r i e s 6 0f e a t u r ep a c k s 3 的机型。 ( 3 ) s e r i e s 6 0 第三版 在今年3 g s m 世界大会期间诺基亚发布的s e r i e s 6 0 第三版在增加的功能中主要强调 了多媒体和企业功能。该版本搭载的是全新的s y m b i a n9 0 操作系统,但仍保留了前一 版本的特点和功能,包括多种无线制式广泛的应用套件可升级的用户界面和高分辨率的 支持。作为重大的改进,s e r i e s 6 0 第三版新功能包括对不同硬件配置的增强支持包括单 芯片和双芯片硬件结构和改进的性能。在多媒体功能方面,s e r i e s 6 0 第三版将提供全新 的音乐播放器,提供无缝和易操作的带有个性化主题和背景的音乐下载。同时还采用了 开放移动联盟( o m a ) 数字权利管理( d r m ) 2 0 版为丰富的媒体内容提供增强的功用并同 时实现高安全内容的保护。此外,对u s bm a s ss t o r a g e 协议的支持让诺基亚智能手机第 次可以作为普通的u s b 存储器使用。其目的也是为了更万面地实现从p c 到移动电话 的音乐传送。 在企业应用方面,s e r i e s 6 0 第三版主要增强了商业数据安全性保障,例如日历、同 步和电话管理的安全性相对过去都得到了提升。目前采用该版本的手机是诺基亚刚刚发 布的拥有4 g b 存储容量的2 0 0 万像素手机n 9 1 。其实就s e r i e s 6 0 软件平台而言其优点 和缺点都和s y m b i a n 操作系统本身的优点和缺点有着密不可分的联系,从优势上看 大连理工大学硕士研究生学位论文 s e r i e s 6 0 基于广泛授权的s y m b i a n 操作系统之上,拥有相当数量的开发伙伴,并提供了 众多的j a v a a p i s 、c + + 编程开发工具包。同时由十多年的成熟的手机平台研发经验加上 完全开放式的源码以及s y m b i a n 操作系统稳定性都让采用s e r i e s 6 0 平台的制造商更容易 快速的生产和复制。同时因为其核心的s y m b i a n 操作系统对移动通信协议更好的支持也 比其它的操作系统在用户方面有着得天独厚的优势甚至在运营商的台作方面也是其它 平台所不能比拟的。 本文的设计是以s e r i e s6 0 第二版的f e a r a r ep a c k s 2s y m b i a n 8 0 a 操作系统的n o k i a 6 6 3 0 上进行开发的。 1 3s y m b ;a n 系统的基础知识 s y r n b i a n 平台是一个庞大的系统 “,包括数以百计的类以及上千个成员函数。和其 守复杂的操作系统一样,将它分成具有不同功能的子系统让人更易于理解,而且在具体 编程过程中可以只集中熟悉你所关心的那一部分。具体的框架如图i 1 所示。 s y m b i a no s8o 系统集掏 图1 1s y m b i a n0 s8 ,0 系统架构 f i g 1 1t h es t r u c to f s y m b i a no s8 0 孙宇哲:基于s y m b i a n 操作系统的虚拟摄像头设计 1 3 1 基于s y m b i a n 的应用程序开发 从短消息到多媒体,从s o c k e t s 到w a p 浏览器,s y m b i a no s 开发者可以拥有一个 完整的通信领域a p i ( s y m b i a n 提供的s d k 中有详细的a p i 使用指南【7 】) 。这些a p i 不但使开发出的产品能提供给移动电话用户真正有用的特性,而且使开发者能够为基于 数据的移动电话写出更优秀的代码和引人注目的应用程序。另外,s y m b i a n 对开放的通 信标准的支持使它更易于应用和服务程序的开发。s y m b i a no s 所提供的应用程序开发 可选项包括: ( 1 ) 使用c + + 开发高级应用程序:s y m b i a no s 本身就是用c - l 十写的,因此c + + 给第 三方提供了强大的开发功能。s y m b i a n 的c h 使用效率非常高,完全的面向对象,提供 访问所有的a p i s 。不过在s y m b i a n 平台上编写c + + 代码与在其它操作系统相比( 包括 a n s ic + + ) ,很多方面存在差别。编写s y m b i a no s 的代码需要掌握一些特殊编程习惯, 如预防内存泄漏技术。实际上,这些编程惯例的目的是为了提高硬件资源的利用效率。 ( 2 ) 完全由本地支持的j a v a 编程:在s y m b i a no s 上j a v a 编程比较容易上手。j a v a 是一种强大的编程环境和主要的s y m b i a no s 技术,如电话、联络管理、日历、数据报 消息和红外通信等都是通过j a v a p h o n ea p i 来实现的。 ( 3 ) 基于服务器的w a p 应用程序开发:s y m b i a no s6 x 版本实现了w a p 通信协议 栈和包括w t l s 的浏览标准。 ( 4 ) 基于服务器的h t m l 应用程序开发:s y m b i a no s6 x 版本实现了h t m l 3 2 ,包 括其所有的框架, r n p 及嵌入的j a v a a p p l e t s 。 ( 5 ) 除上面4 种之外的其它工具,如一些r a d 第三方开发工具,你也可以使用o p l ( 与b a s i c 类似) 开发应用程序。 1 3 2 程序的文件的结构 在开发应用程序之前必须了解s y m b i a n 程序的文件结构,一个基于g u i 的s y m b i a n 应用程序包括下列主要组件: ( 1 ) 多态的d l l ,用来定义应用程序的g u i 框架( 即应用程序的,m m p 文件) 包括应 用程序连接对象、u i d 、b u i l d 时的应用程序生成路径、源文件和信息文件的路径及文件 名。 ( 2 ) 一个资源文件( r s c 文件) ,用于定义g u i 元素和可翻译的字符串。 ( 3 ) 一个可选的应用程序信息文件( a i f 文件) ,用于指定应用程序的图标、标题及 系统特性( 如可嵌入性) 。联编时各文件之间具体的关系图如图1 2 所示: 大连理工大学硕士研究生学位论文 图1 - 2 联编时各文件之间具体的关系 f i g 1 2t h er e l a t i o n s h i po f a l lf i l e sw h e nc o m p i l e st h e m 1 3 3 应用程序编写和调试 s y m b i a n6 0c r y s t a ls d k 【8 】含有一个供程序调试用的s y m b i a n 模拟器,可在p c 的 w i n d o w s 平台下运行。此外,为简化s y m b i a n 应用程序的开发,该软件开发包还提供了 基于图形的用户接口( g u i ) 的辅助开发工具。包括4 个开发工具: ( 1 ) a i fb u i l d e r :这个工具用于建立应用程序的信息文件,描述程序在e x t r a s a p p l i c a t i o n 中的图标和标题。a i f 文件还定义应用程序的系统特性,如可嵌入性。 ( 2 ) c o n t e x ts e n s i t i v eh e l pc o m p i l e r :可将你的文本文件编译成c s 帮助文件供应用程 序使用。 ( 3 ) m e a d - 最小应用程序开发( t h em i n i m a la p p l i c a t i o nd e v e l o p e r ) ,创建一个最小 的应用程序所需的源文件,提供程序开发的开始点。 ( 4 ) m e n u b u i l d e r :为创建应用程序菜单创建源文件提供简单的图形用户接d ( g u i ) 。 基于s y m b i a n 的应用程序的基本步骤如下: ( 1 ) 使用m e a d 辅助开发工具创建一个应用程序最基本的源文件。当然如果需要的 话你可以使用a i fb u i l d e r 工具、c o n t e x ts e n s i t i v eh e l pc o m p i l e r 工具为程序预先创建信 息文件和文本帮助文件( 也可以在你想要的时候) ,还可以使用m e n ub u i l d e r 工具创建 你想要的菜单资源( 也可以自己直接编写r s c 文件来实现) 。 ( 2 ) 在命令行环境下,进入所创建的b l d i n f 文件的路径下,执行b l d m a k e 命令 b l d m a k eb l d f i l e s 孙宇哲:基于s y m b i a n 操作系统的虚拟摄像头设计 该命令在e p o c 3 2 b u i l d a b s o l u t ep a t ht o 路径下生成文件,并_ b i di n ff i l e m a k e f i l e 在当前路径下创建一个a b l d b a t 批处理文件。 ( 3 ) 执行a b l db u i l d 生成工程 a b l d 命令调用n m a k e ,执行合适的m a k e 文件;调用资源编译器创建资源文件;可 以调用b m c o n v 来创建一个含有多个b m p 图标的文件,调用a i f t o o l 来创建一个应用程序 的信息文件。具体做法:在a b l d b a t 的文件路径下: a b l db u i l dw i n s 用于在w i n s 平台下b u i l d 一个工程 a b l db u i l dv c 6 此命令在e p o c 3 2 b u i l d a b s o l u t e o a t h _ t om m p _ f i l e h n m p _ b a s e n a m e w i n s 目录下创建 v c 工程文件( 一个d s w 和一个d s p ) 。 在v c 集成开发环境下打开该工程文件,就可以像开发其它w i n d o w s 程序一样,根 据不同的需要,参考s d k 所提供的开发手璎进行代码的编写。唯一不同的是w i n d o w s 程序链接的对象是m f c 和w i n 3 2 库,而s y m b i a n 程序链接的是s y m b i a n 库。设置路径, 使模拟器为v c 运行时的连接对象,在v ci d e 下r u n 该程序,就会看到在模拟器的 e x t r a s 项下有你刚才的程序,打开该程序检查所写的代码是否实现了你想要的功能。这 样,结合模拟器你可以对程序进行调试。需要提醒的是若你在编写时修改了m m p 文件, 就必须重新a b l db u i l d 该工程。 1 3 4 应用程序框架类的关系 与编写普通的v cm f c 程序一样,必须熟悉程序中各个类之间的关系。每一个应用 程序必须定义4 个对象:一个a p p l i c a t i o n 类、一个文档类、一个a p p u i 类和一个应用 程序视图类【9 】。 ( 1 ) a p p l i c a t i o n 类定义了应用程序的属性如u i d 、标题并创建一个新的文档。 ( 2 ) 文档类描述应用程序的数据模型。对一个基于文件的应用程序,它存储和刷新 应用程序的数据,响应a p p u i 类产生对一个文档编辑的请求。 ( 3 ) a p p u i 是主要的用户接口类,控制应用程序数据的显示,处理标准控件( 如菜 单、对话框) 产生的命令。 ( 4 ) 应用程序视图类,用于在屏幕上显示应用程序数据并允许用户与之交互。对一 个复杂的程序可能有多种方法显示其数据,因此包含多个视图类。 它们之间的关系如图1 3 所示。 大连理工大学硕士研究生学位论文 几l8 :母牝岫 b 一器p 矿丐r 图1 3 应用程序框架类的关系 f i g 1 3t h er e l a t i o n s h i po f a p p l i c a t i o nf r a m e 可以简单地归纳为:a p p l i c a t i o n 类创建一个文档,文档类创建a p p u i ,a p p u i 类创 建视图。从图1 3 我们可以看到应用程序还包括一个m o d e l 类,m o d e l 类用于封装应用 程序的行为,给程序的其它部分提供良好的a p i ,它和上述4 大类之间的关系如下: ( 1 ) a p p l i c a t i o n 类构造并拥有模型。 ( 2 ) 当程序是基于文件时,文档类是文件和模型的桥梁。 ( 3 ) a p p u i 类包括一个指向模型的指针。 ( 4 ) 一个a p p u i 类( 或者执行其职责相关的类) 调用模型类的函数用于响应用户的 输入命令。 ( 5 ) 视图类( 从g u i 框架的意义上) 包含一个指向模型的指针。 ( 6 ) 视图类中绘图时用到的数据由m o d e l 类来提供。 1 3 5s y m b i a n 系统的主要特点 s y m b i a no s 是一个开放的操作系统i l o j l l l 】。它采用基于静态优先级的抢先式多任务 机制并且配合时间片轮转,构成简捷、高效的内核,具有模块化的系统结构,提供了良 好的扩充空间,支持强大的通信及多媒体功能。 ( 1 ) 高可靠性。具备高效电源管理机制,而且即使在电池耗尽的情况下,也能确保不 丢失任何用户数据。由于采用特殊的编程规范,可以及时高效地管理系统内存资源的分 孙宇哲:基于s y m b i a n 操作系统的虚拟摄像头设计 配和回收,不会造成内存的泄漏。因此,以s y m b i a no s 为操作系统的设备可连续运行 多年而无须重新启动,这也是对无线信息设备的基本要求。 ( 2 ) 采用面向对象的设计和编程,程序代码具有很好的可重用性。s y m b i a no s 支持 c + + 和j a v a 两种应用广泛的面向对象编程语言,提供各种常用的3 2 位应用程序接口函 数,而且具有图形用户界面编程框架,可以方便地创建用户应用程序。系统支持u n i c o d e , 容易进行本地化。 f 3 1 支持多任务、提供多种通信协议并具有一定的实时性,增强了与其它设备的互操 作性。支持标准的国际互联网通信协议( t c p i p 、p p p 、t e l n e t 、h t t p ) 、电子邮件协议 ( p o p 3 、s m t p 、i m a p 4 ) ;提供g p r s 、w a p 等标准协议栈;支持短信息;具有蓝牙协 议模块;可以通过电缆或红外与p c 机相连,进行数据同步和备份。 ( 4 ) 硬件配置充分考虑了现有无线信息设备的硬件选型和未来需求。以s y m b i a n0 s 为操作系统的设备采用a r m 系列r i s c 处理器,具有较强的处理能力;利用r o m 进行 永久程序存储,并可通过外加快闪存储卡来扩展系统存储量:支持高分辨率彩色显示、 触摸屏和笔输入,具有多媒体功能。 1 3 6 应用程序框架类的关系 作为专门针对无线信息设备的操作系统,s y m b i a no s 的突出特色是它的高效内存 管理机制。另外,与其它操作系统不同,s y m b i a no s 采用了事件驱动的消息传递代替 了其它操作系统中广泛使用的多线程机制。多线程的使用会涉及上下文切换,增加系统 开销,并且容易产生各种错误,增加系统运行的不稳定因素。s y m b i a n o s 可以更方便、 有效地创建一个新的进程,在进程间传递消息来进行通信,而不是生成新的线程。因此, 采用s y m b i a no s 的设备运行更加稳定,可靠性更高 1 “。 ( 1 ) 内存地址的映射采用二级页表结构 现有的无线信息设备多采用3 2 位的a r mr i s c 系列处理器作为中央处理器,因此, s y m b i a no s 假设以a r m 处理器作为内存管理单元( m m u ) ,采用二级页表方式进行寻 址。如图1 4 所示,3 2 位的线性地址分为两部分:高2 0 位和低1 2 位。高2 0 位用于选 择相应的页物理地址,低】2 位给出在页中的偏移量,偏移量加上基址就是最终的物理 地址。而高2 0 位地址从线性地址到物理地址的转换又分两步完成。其中高1 2 位构成页 目录,低8 位构成页表。这种二级页表结构对于进程的调度起着关键作用。 大连理工大学硕士研究生学位论文 线性地址物理地址 页表 图1 4 内存地址的映射结构 f i g 1 4t h ef r a m eo f m e m o r ya d d r e s sm a p p i n g ( 2 ) 进程调度 s y m b i a no s 采用基于静态优先级的抢先式多任务机制。高优先级的任务先获得处 理器资源,相同优先级的任务采用时间片轮转法轮流占用处理器资源。系统中有两个特 权级进程:内核服务器进程和空进程。前者在系统中具有最高优先级,处理其它客户进 程的要求;后者具有最低优先级。在没有任何其它进程运行时,调用电源管理子系统使 设备处于休眠状态,以便节省能源。进程的各种状态及在各状态间的转换如图1 5 所示。 由于各应用程序都是单独的进程,避免了同一进程中多个线程频繁调度导致上下文切换 所需的内存操作,增强了系统的稳定性。 乡粤弋 岂坠 避 请求趴石请求 ( 3 ) 事件驱动的消息传递机制 s y m b i a no s 采用客户服务器形式来简化并获得高效的进程间通信,因此系统包括 多个管理程序。管理程序是不直接与用户交互的应用程序。它管理一个或多个系统资源, 孙宇哲:基于s y m b i a n 操作系统的虚拟摄像头设计 执行服务器的功能,响应客户请求,并通过操作系统的a p i 函数为客户提供服务。其客 户可以是应用程序或其它的管理器。 文件管理器、窗口管理器和通信管理器是s y m b i a n0 s 系统中最主要的管理程序。 文件管理器负责文件处理,窗口管理器是s y m b i a no s 高效率事件传递及处理机制的核 心,通信管理器提供对多种通信协议的支持。在s y m b i a no s 系统中,每个应用程序和 管理程序都是独立的事件处理进程。窗口管理器负责提供用户、应用程序和操作系统内 核间的事件传递。用户按键、笔等输入事件先传给窗口管理器,由它将事件发送给应用 程序。应用程序完成相应的事件处理后,通知窗口管理器,并由窗口管理器负责处理应 用程序的屏幕重画请求。事件处理过程如图i 6 所示。通信管理器分为串行通信管理器、 管道管理器和电话应用管理器三个部分。串行通信管理器提供申行通信的支持,管道管 理器利用通用的管道机制支持t c p ,d 、短信息数据包、红外数据接口,电话应用管理器 提供与g s m 电话及调制解调器相关的接口功能。 图1 6 消息传递机制 f i g 1 6w a yo f m e s s a g es e n d i n g 1 3 7 内存分配 s y m b i a n o s 支持c + + 和j a v a 两种应用广泛的编程语言。由于操作系统本身是由c + + 编写的,因此,用c + + 去进行开发可以获得操作系统最充分的支持,使应用程序更加灵 活、高效。目前,大多数s y m b i a no s 应用程序开发者采用c + + ,鉴于无线信息设备的 特殊性,s y m b i a no s 针对内存操作方面的编程具有自己的规范。开发人员遵从这一规 范,就能够充分保证应用程序进行内存操作的安全性,创建稳定的应用程序。 首先,s y m b i a no s 提供了与内存分配相关的出错处理机制。如果应用程序有一系 列内存申请的连续操作,其中任何步出现内存分配失败,都需要在出错处理程序中释 放所有在这步之前已成功分配的内存,以确保系统内存的正确回收。因此,编程人员在 开发出错处理程序时要充分考虑应用程序中的内存使用状况,防止内存泄漏的发生。为 大连理工大学硕士研究生学位论文 了更有效地管理内存的分配和回收,简化开发人员的编程工作,s y m b i a no s 提供了 e l e a v e 标识和c l e a n u p 标识。具有e l e a v e 标识的指针指向的内存空间可以在程序退出时 被系统自动释放,c l e a n u p 栈是系统提供的专门用于存储且具有e l e a v e 标识的指针堆栈, 开发人员可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论