(计算机应用技术专业论文)windows+ce驱动程序设计及测试技术研究.pdf_第1页
(计算机应用技术专业论文)windows+ce驱动程序设计及测试技术研究.pdf_第2页
(计算机应用技术专业论文)windows+ce驱动程序设计及测试技术研究.pdf_第3页
(计算机应用技术专业论文)windows+ce驱动程序设计及测试技术研究.pdf_第4页
(计算机应用技术专业论文)windows+ce驱动程序设计及测试技术研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机应用技术专业论文)windows+ce驱动程序设计及测试技术研究.pdf.pdf 免费下载

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

文档简介

华北电力大学硕士学位论文 摘要 本文研究了基于w i n d o w sc e 的移动终端设备驱动程序设计及测试技术。首先, 分析了w i n d o w sc e 的设备管理模式、设备驱动结构及中断处理流程等,并采用i n t e l p x a 2 7 x 处理器,设计了智能终端的键盘驱动程序和有效的测试用例。其次,研究 了基于w i n d o w sc e 的设备上应用程序内存泄露检测问题。探讨了内存泄露存在的 原因以及嵌入式软件测试的充分性和可靠性理论,研究了用于w i n d o w sc e 的设备 上内存泄露检测的工具a p p l i c a t i o n v e r i f i e r 的工作原理,指出实际应用中存在的 问题和解决方法。再次,研究了w i n d o w sc e 设备上的自动化测试框架,并实现了 w i n d o w sm o b i l e 的设备上o i 自动化测试。最后,概括了本文的研究工作,指出了 需进一步研究的内容。 关键词:w i n d o w sc e ,驱动程序,自动化测试,内存泄露检测,u i 测试 a b s t r a c t t h i sp a p e rf o c u s e so i lt h er e s e a r c ho f w i n d o w sc e - b a s e dd e v i c ed r i v e rd e s i g na n d t e s t i n g f i r s t l y , t h ew i n d o w sc ed e v i c ed r i v e rm a n a g e m e n ta n da r c h i t e c t u r ei sd w e l to n , t h e nak e y b o a r dd r i v e ri si m p l e m e n t e db a s e do nt h ep r o c e s s e r - i n t e lp x a 2 7 xa n dt e s t e d u s i n ge f f e c t i v et e s tc a s e s ;s e c o n d l y , a l li n v e s t i g a t i o no fm e m o r yl e a ki sm a d ea n d p r i n c i p l eo fa p p l i c a t i o nv e r i f i e ri sr e s e a r c h e da n d t h ep r o b l e m sw h e nu s i n ga p p l i c a t i o n v e r i f i e ra r ep o i n t e do u t t h i r d l y , t h ea r c h i t e c t u r eo fa u t o m a t i o nt e s to fw i n d o w sm o b i l e i sd i s c u s s e di nd e t a i l ,a n du ia u t o m a t i o nt e s ti sa c c o m p l i s h e dw h i c hc a ni m p r o v et e s t i n g e f f i c i e n c ya n ds t a b i l i t yd u r i n gw i n d o w sm o b i l eb a s e d o nm o b i l ep h o n es o f t w a r e d e v e l o p m e n t i nt h ee n d ,t h ei m p o r t a n tr e s u l t sa n dc o n c l u s i o n so ft h i sd i s s e r t a t i o na r e s u m m a r i z e d ,a n df u r t h e rr e s e a r c ho nt h i st o p i ci sp r o p o s e d l iw e i ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db ya s s o c i a t ep r o f l i uc h a n g a n k e yw o r d s :w i n d o w sc e ,d e v i c ed r i v e r , m e m o r yl e a k ,a u t o m a t i o nt e s t ,u it e s t 声明 本人郑重声明:此处所提交的硕士学位论文( ( w i n d o w sc e 驱动程序设计及测试技 术研究,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和 取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:垒盏日期:硅竺2 1 1 ; 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为 目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播 学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名:拉导师签名:盔 啦- f 日 期:望晕! ; 日 期:丝盈3 华北电力大学硕士学位论文 1 1 嵌入式操作系统的发展 第一章引言 嵌入式操作系统与嵌入式系统密不可分。嵌入式系统主要由嵌入式微处理器、 外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,它是集软硬 件于一体的可独立工作的“器件”i l l 。 嵌入式技术的发展,大致经历了四个阶段。 第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺 服、指示设备相配合的功能。这种系统大部分应用于一些专业性极强的工业控制系 统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结 束后清除内存。 第二阶段是以嵌入式c p u 为基础、以简单操作系统为核心的嵌入式系统。这 一阶段的操作系统具有一定的兼容性和扩展性,但用户界面不够友好。 第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点 是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内 核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支 持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口 ( a p i ) ,开发应用程序简单;嵌入式应用软件丰富。 第四阶段是以基于i n t e r n e t 为标志的嵌入式系统,这是一个正在迅速发展的阶 段。目前大多数嵌入式系统还孤立于i n t e m e t 之外,但随着i n t e r n e t 的发展以及 i n t e r n e t 技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与i n t e r n e t 的 结合将代表着嵌入式技术的真正未来1 2 】。 嵌入式系统的发展对嵌入式操作系统提出了更高的要求。因此,对嵌入式操作 系统的结构、设计、用户界面等诸多方面进行深入研究,将有助于嵌入式系统的应 用和发展。 嵌入式操作系统按实时性能可以分为两类。一类是面向控制、通信等领域的强 实时操作系统,如w i n d r i v e r 公司的v x w o r k s 、i s i 的p s o s 、q n x 系统软件公司的 o n x 、a t i 的n u c l e u s 等,其中在国内市场中v x w o r k s 和p s o s 有较大影响。另一 类是面向消费电子产品的弱实时操作系统,这类产品包括个人数字助理( p d 、移 动电话、机顶盒、电子书、w e b p h o n e 等,比较著名的有w i n d o w sc e 、p a l mo s 。 在市场上常见的有4 种具有良好人机界面,易于开发应用程序的嵌入式操作系 统分别是:w i n d o w sc e 、p a l m 、l i n u x 和s y m b i a n 。 1 华北电力大学硕士学位论文 1 s y m b i a n s y m b i a n 是于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 no s 是一个高级的、开放的、标准的多任务操作系统。作为一种面向未 来的嵌入式操作系统,它所具有的功能是其他操作系统无法比拟的。2 0 0 1 年发行的 s y m b i a nv 6 1 总体上包括联络( 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 st e l e p h o n e ) 4 大主要功能。在该平台上,可以使用p o p 3 、s m t p 、h t m l 、 s m s 等协议收发电子邮件和短消息;支持t c p i p 、w a p 、蓝牙、红外通信、串行 通信等多种通信协议;具有强大的加密和认证管理( 包括h t t p s ,w t l s 和s s l 等 安全通信协议) ;支持对象交换和多媒体服务( 语音、图像) ;国际通用( 支持u n i c o d e 字符1 ,含有灵活的文本输入、笔迹识别、附加的字体和文本支持;包括4 个主要的 开发可选项一c + + 、j a v a 、w a p 和w e b 。可与p c 的应用程序进行数据同步,并支 持多用户接口。 从短消息到多媒体,从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 使用指南) 。这些 a p i 不但使开发出的产品能提供给移动电话用户真正有用的特性,而且使开发者能 够为基于数据的移动电话写出更优秀的代码和应用程序。另外,s y m b i a n 对开放的 通信标准的支持使他更易于应用和服务程序的开发。 2 p a l m o s p a l mo s 是p a l m 公司为自己及合作伙伴的p d a 产品设计的操作系统。自1 9 9 6 年,伴着第一部p a l mp i l o t 掌上电脑p i l o t1 0 0 0 问世至今,p a l mo s 操作系统以其简 便的操作方法,快速的处理速度,赢得了一大批忠实的拥护者。 具体的说p a l mo s 是一种3 2 位的嵌入式操作系统,它以简单的图形界面来完 成对信息的处理操作,让用户以尽量少的步骤得到所需的信息。它的系统经过最优 化设计,内部结构简单,使得存储和运行只需要非常少的空间。所以这种系统运行 占用资源少,处理速度很快。 p a l mo s 作为一套开放性的系统,拥有开放的应用程序接口,开发商可以根据 需要自行开发所需的应用程序。由于p a l mo s 是一套专门为掌上设备开发的o s , 在编写程序时,p a l mo s 充分考虑了掌上电脑内存相对较小的情况,因此操作系统 本身只占有非常小的内存。由于基于p a l mo s 编写的应用程序占用的空间也非常小 ( 通常只有几十k b ) ,所以,基于p a l mo s 的掌上设备( 虽然只有几m b 的r a m ) 可 以运行众多应用程序。 p a l mo s 的官方开发工具是m e t r o w e r k s 公司的c o d ew a r r i o rf o rp a l mo s ,这个 2 华北电力大学硕士学位论文 商业开发环境允许你在w n d o w s 9 5 9 8 n t 或者m a c i n t o s h 下开发p a l mo s 应用程序 和管道程序( c o n d u i t 卜一种运行于桌面主机之上、用于和p a l m 通信的程序。c o d e w a r r i o r f o r p a l m o s 使用a n s i c 和c + + 语言。 3 l i m i x l i n u x 是由l i n u st o r v a l d s 在芬兰赫尔辛基大学念书时开始编写。1 9 9 1 年, t o r v a l d s 从事m i n i x 操作系统方面的工作,之后他就在i n t e m e t 上发布了l i n u x 的最 初版本。随后他又在c o m p o s m i n i x 新闻组内请求其他编程人员帮助完善。经过各地 l i n u x 爱好者的补充和修改,到1 9 9 4 年l i n u x1 0 发布之时,这一操作系统已经具 备了抢先多任务和对称多处理的功能。经过l i n u x 编程人员的不断努力,如今l i n u x 家族己经有近1 4 0 个不同的版本。所有这些不同的版本都是基于最初的、免费的源 代码。不同的公司可以推出不同的l i n u x 产品,但是他们都必须承诺对初始源代码 的任何改动皆公布于众。 l i n u x 这种发行方式与传统的操作系统厂商,如m i c r o s o r 和a p p l e 公司的软件 发行有很大不同。w i n d o w s 和m a c0 s 的源代码牢牢地掌握在这些公司自己手里, 即使是o e m 给其他硬件厂商,其规则也非常严格。通过这种方式,这两家公司一 方面能够在操作系统市场中占据多数市场份额并以此获取丰厚的利润,另一方面可 以保证软件、硬件以及用户之间的兼容性。例如,有许多厂商为w i n d o w s 开发应用 软件,因此用户可以很方便地买到与w i n d o w s 兼容的硬件和软件,如果9 8 的p c 都安装有w i n d o w s ,文件交换起来也会很方便。 而如今的l i n u x 就难以做到这些。尽管在这些方面,l i n u x 还难如人意,但其 对整个业界的影响还是非常大的。因为l i n u x 具有如下优点【4 j : ( 1 ) 系统稳定 l i n u x 是源代码开放软件,不存在黑箱技术。遍布全球的众多l i n u x 爱好者又 能给予l i n u x 开发者强大的技术支持。因此l i n u x 是所有p c 操作系统中最可靠且 稳定的一种,其内核也是如此。 ( 2 ) 功能强大 由于拥有众多的开发者,使得l i n u x 具有非常强大的功能,它支持多种总线, 接口及设备,支持几乎所有的文件系统,它还能提供多种完善的图形界面解决方案。 ( 3 ) 支持多种硬件平台 l i n u x 可以非常稳定地运行在许多种体系结构的处理器上。最新的l i n u x 内核 支持i n t e lx 8 6 、m o t o r o l a i b mp o w e r p c 、c o m p a q ( d e c ) a l p h a 、i a6 4 、s 3 9 0 、s u p e r h 等微处理器体系结构。 ( 4 ) 简单易用且开发资源丰富 l i n u x 的系统界面和编程接口和传统的u n i x 类似,大量在u n i x 下的程序员 可以很方便的从u n i x 环境转移到l i n u x 环境下来。同时网络上还有大量的针对 3 华北电力大学硕士学位论文 l i n u x 的开发资源,这些资源绝大多数都是开放源代码的,这使得基于l i n u x 的开 发非常方便。 ( 5 ) 使用成本低 l i n u x 是免费软件,只要遵守g p u g n ug e n e r a lp u b l i cl i c e n s e ) 的规定,就可以 免费获得拷贝。l i n u x 下有同样遵循g p l 规定的c 、c + + 、j a v a 等等一系列的软件 工具开发包,从功能角度上看并不亚于商用开发包,同时可以极大的降低开发成本。 ( 6 ) 文档完善 l i n u x 有非常多的文档支持,从为初学者准备的各种教程到非常详细的联机帮 助文档。l i n u x 是互联网充分发展的产物,许多关于l i n u x 的文档都可以在i n t e r n e t 上找到和下载。l i n u xd o c u m e n tp r o j e c t 是为l i n u x 提供系统化的文档支持的项目, 在世界上许多程序员和用户的帮助下,它已经收集了非常详细的系统文档和使用文 档。 ( 7 ) 强大的网络功能 l i n u x 操作系统最突出的是网络部分,基本上所有的网络协议和网络接口都可 以在l i n u x 上找到,l i n u x 内核比标准的u n i x 更加高效地处理网络协议,系统的 网络吞吐性能非常好。 ( 8 ) 模块化的结构 l i n u x 的内核模块可以根据需要加载和卸载。而内核本身的裁剪也是很容易的。 这使得开发者可以很方便的针对特定的应用来定制一个操作系统。 4 w i n d o w s c e 介绍 w i n d o w sc e 是一个抢先式多任务并具有强大通信能力的w i n d o w s3 2 位嵌入式 操作系统,是微软专门为信息设备、移动应用、消费类电子产品、嵌入式应用等非 p c 领域而从头设计的战略性操作系统产品。 日常生活中,人们开始普遍使用手机、p d a 、手持和掌上电脑等信息电器来储 存和处理各种重要信息。这一切都似乎是在预示着一场新的革命,计算机占领桌面 之后,继续其小型化和分散化的趋势,更广泛地进入人们工作、生活和娱乐的各个 方面。这场革命又被近年来i n t e m e t 的迅猛普及所推动,一个网上世界已经出现, 人们随时、随地获取所需信息并保持与他人接触的需求愈发强烈。 早在微软创办之初,比尔盖茨就曾梦想“每人桌上一台p c ,每台p c 中运行微 软的软件”,这就是后来著名的“信息随手可得”的梦想,而这个梦想在今天己经 变成了现实,微软为p c 提供了出色的操作系统平台( w i n d o w s9 x n t 2 0 0 0 等) 、高 效率的软件开发工具和功能强大而易用的通用软件,使许多人的工作和生活从计算 机技术中受益无穷f s 】。 但是p c 的价格、体积、使用的复杂性使的p c 难以被应用到更广泛的领域里。 而早期的手持式系统、亚计算机平台等都缺少一种适当的操作系统,要么采用经过 4 华北电力大学硕士学位论文 裁减的p c 机操作系统,这样导致软硬件成本大大上升;要么采用自己研制的操作 系统,增加了软件开发的难度,使得系统的研制进度难以适应市场的变化。似乎在 这两大类信息系统之间缺失了一个连接的环节。所以微软在向个人桌面和企业管理 领域提供了方便易用且功能强大的操作系统之后,又从头设计了w i n d o w sc e ,以 面向更为广大的移动计算、信息家电、手持系统等被微软称之为“非p c ”的应用领 域。微软希望在这一新的应用领域仍然能够扮演操作系统平台、开发工具和通用软 件供应商的传统角色【9 1 。 “c e ”这个名字的来源己无准确历史档案可查,但是微软内部的人员普遍认为 c e 中的c 代表了消费类( c o n s u m e 0 、袖珍( c o m p a c t ) 、通信能力( c o n n e c t i v i t y ) 和伴 侣( c o m p a n i o n ) ,c e 中的e 代表了电子产品( e l e c t r o n i c s ) ! ”。 嵌入式操作系统是一种用途广泛的系统软件,工业控制是它的传统应用领域, 在这一领域里己有一些存在了多年的比较成功的嵌入式操作系统。但近年来随着信 息化成为愈来愈明显的趋势,对嵌入式操作系统提出了许多新的要求,例如熟悉和 友好的用户界面、统一的编程界面、强大的通信功能等都己变得同趋重要。而恰好 从一开始,微软就以其操作系统产品而闻名,从m sd o s 到w i n d o w s9 x n t x p 、 以及现在的w i n d o w sc e ,微软公司最强大的软件产品往往是那些最终用户看不见 的产品。w i n d o w s 操作系统包含用户可见部分以及用于与计算机交互的用户界面部 分,但还有许多更强大的功能是“冰山隐藏在水面之下的部分”,例如与其他计算 机通信的能力、多媒体等。w i n d o w sc e 就是具备这些强大功能的微软的操作系统 家族中的最新成员。 w i n d o w sc e 的设计目标是模块化及可伸缩性、实时性能好,通信能力强大, 支持多种c p u 。 从操作系统内核的角度看,w i n d o w sc e 具有灵活的电源管理功能,包括睡眠 唤醒模式。在w i n d o w sc e 中,还使用了对象存储( o b j e c ts t o r e ) 技术,包括文件系统、 注册表及数据库。它还具有很多高性能、高效率的操作系统特性,包括按需换页、 共享存储、交叉处理同步、支持大容量堆( h e a p ) 等。w i n d o w sc e 拥有良好的通信能 力。它广泛支持各种通信硬件,支持直接的局域网连接以及拨号连接、并提供与p c 、 内部网以及i n t e r n e t 的连接,包括用于应用级数据传输的设备至设备间的连接。在 提供各种基本的通信基础结构的同时,w i n d o w s c e 还提供与w i n d o w s9 x n t x p 的 最佳集成和通信。w i n d o w sc e 的图形用户界面相当出色,它拥有基于m i c r o s o f t i n t e m e te x p l o r e r 的i n t e m e t 浏览器,此外,还支持t r u e t y p e 字体。开发人员可以利 用丰富灵活的控件库在w i n d o w sc e 环境下为嵌入式应用建立各种专门的图形用户 界面。w i n d o w sc e 甚至还能支持诸如手写体和声音识别、3 d 图形等特殊应用。 从编程的角度看,w i n d o w sc e 所支持的编程界面是大家所熟悉的 w i n d o w s 3 2 a p i 的子集,它支持6 0 0 多种最常用的w i n d o w s a p i 。它具有专门为实时 5 华北电力大学硕十学位论文 嵌入应用而设计的、抢先式多任务的操作系统核心,可以烧入r o m ,操作系统核心 只用5 0 0 k 字节的r o m 和2 5 0 k 字节的r a m 。己有大量的w i n d o w s 3 2 应用作为巨 大的代码库,o e m 厂商可以从中获得适当的技术许可,同时软件开发商们可将其现 有的资源快速移植到w i n d o w sc e 平台上【5 j 。 w i n d o w sc e 从发布到现在已经有多个版本,w i n d o w sc e 应用最广泛的版本是 2 1 1 和3 0 版。其中3 0 版被微软加以改进成为掌上电脑的操作系统p o c k e t p c2 0 0 2 。 由于w i n d o w sc e 的强力支持,p o c k e tp c 系列掌上电脑得以后来居上,在掌上电脑 领域里占有了半壁江山。 w i n d o w sm o b i l e 是m i c r o s o f t 用于p o c k e tp c 和s m a r t p h o n e 的软件平台, 面向个人移动电子消费市场,最新版本是w i n d o w sm o b i l e2 0 0 5 ,现在w i n d o w s m o b i l e 的合作伙伴已扩展到全球4 8 个国家的4 0 家硬件厂商和6 8 家移动运营商对 原始设备制造商( o e m ) 来讲,w i n d o w sm o b i l e 是一个集合,包括一组事先定制的 w i n d o w sc e ( 微软的通用嵌入式操作系统) 组件、其他附加的与w i n d o w sm o b i l e 相关的组件和o e m 所必需遵守的产品功能性要求。o e m 利用这些组件,并添加必 要的设备驱动程序和其他应用,然后烧到设各的r o m 中。在w i n d o w s m o b i l e 的产 品开发中,软件测试大约占5 0 的开销。 1 2 本课题的提出及意义 微软为了保证每种基于w i n d o w sm o b i l e 的设备满足功能性、可靠性要求,并让 用户感受到与其他基于w i n d o w sm o b i l e 的设备兼容,提出了l o g ot e s t i n g 的概念。 此外,微软在o e ml i c e n s e a g r e e m e n t 中规定每种基于w i n d o w sm o b i l e 的设备在获 得销售许可之前需要符合特定的标准。作为l o g oc o m p l i a n c e ,微软提供了一个测试 模型用于测试基于w i n d o w sm o b i l e 的设备。微软提供的测试基于w i n d o w sm o b i l e 设备的测试模型如图1 - 1 所示1 5 l 。 6 华北电力大学硕十学位论文 图1 - 1 基于w i n d o w sm o b i l e 设备的测试模型 首先对图1 - 1 作必要说明: 上述测试模型是微软对于每一种基于w i n d o w sm o b i l e 上的产品在开发过程中 可能遇到的情况,其中,对产品所作的某些变更都需要按照模型中的规定来做相应 的测试才能进行下一步的开发,当完成模型中规定的必须的环节后,w i n d o w sm o b i l e 上的产品才可以发行。图中涉及到的几个问题: 1 测试模型中的测试类型:在上述对w i n d o w sm o b i l e 上的产品测试过程中, 会有三种类型的测试:c o m p r e h e n s i v e t e s t i n g f o r l o g o c o m p l i a n c e ( c t l c ) 、m t t f a n db a t t e r yl i f ct e s t i n gf o rl o g oc o m p l i a n c e ( m t r f ) 、c h a n g er e p o r t i n gf o rl o g o c o m p l i a n c e 。 2 c t l c :c t l c 具体包括c o m p r e h e n s i v ei n d e p e n d e n tt e s t i n gf o rl o g o c o m p l i a n c e ( c i t ) 和c o m p r e h e n s i v es e l f t e s t i n g f o r l o g o c o m p l i a n c e ( c s t ) 。其中, 任何基于w i n d o w sm o b i l e 上的设备都可以通过n s t l 进行c i t ,如果已经进行了 c i t ,并且上述情况均不存在,此时可以进行c s t 。 3 m t t f 测试:对w i n d o w sm o b i l e 上设备所做的某些修改后,需要对设备进行 m t t f 和电池性能的测试。m t t f 的测试和电池寿命的测试是为了确保w i n d o w s 7 华北电力大学硕十学位论文 m o b i l e 上设备的稳定性。 4 对w i n d o w sm o b i l e 上的设备做出修改后需要向n s t l 报告具体修改内容。 此外,对设备所做的某些变更还需要对变更后的设备进行测试。 基于w i n d o w sc e 开发的产品,需要严格按照上述流程图的顺序执行。 对基于w i n d o w sm o b i l e 的设备进行驱动程序的分析及测试技术的深入研究可 以: 1 了解w i n d o w sm o b i l e 设备驱动程序的体系架构、函数调用流程、相关的a p i 函数;可以利用驱动程序向上提供的a p i 接口编写应用程序。 2 按照l o g o t e s t i n g 的测试模型对产品进行严格测试,尽快通过n s t l ( n a t i o n a l s o f t w a r et e s t i n gl a b s ,i n c ) 进行的c o m p r e h e n s i v et e s t i n g ,取得s e l f t e s t i n g 资格, 从而加快产品从研发到投放市场的进度,可以降低产品成本,提高产品质量。 3 在分析和测试的过程中,会在嵌入式软件测试方面形成理论或实践创新点。 1 3 研究目的和内容 本论文的研究基于实际课题基于w i n d o w sm o b i l e 软件平台的智能手机 研发,主要研究内容如下: 1 对嵌入式系统的开发特点和流程有比较深入的了解:实践中领会嵌入式系 统开发的环节,如驱动程序开发、应用程序开发及产品测试等;另一方面是w i n d o w s c eo s 的体系架构及如何针对产品需求完成模块裁减等; 2 嵌入式操作系统w i n d o w sc e 分析:分析通用操作系统w i n d o w sc e 的体系 架构与集成开发环境( i d e ) ;内存管理、文件系统、设备管理等;以及驱动程序的 动态加载等;其中,需要分析产品中需要的驱动程序的结构,如键盘驱动、蓝牙驱 动、音频驱动、摄像头驱动、背光灯驱动、l c d 驱动和r i l 驱动程序结构及系统加 载、卸载,中断处理过程和设备管理器如何对设备进行操作等; 3 微软对基于w i n d o w sm o b i l e 上的产品的l o g o t e s t i n gk i t ( l t k ) 、w m c e t k 的分析并解决实际问题:包括分析并将l t k 应用到使产品满足微软对w i n d o w sc e 上的设备软、硬件要求;分析并利用w m c e t k 提供的测试工具( 如a p p l i c a t i o n v e r i f i e r 、c es t r e s st o o l 等) 开发针对产品的测试; 4 针对项目中的基于w i n d o w sm o b i l e 的智能手机,完成驱动程序的测试,包 括利用t u xh a r n e s s 完成自定义的测试:w m c e t k 的测试未涉及到的范围以及为特 定的驱动和功能定制测试等。 8 华北电力大学硕士学位论文 1 4 本章小结 本章主要介绍了嵌入式操作系统的发展现状,重点介绍了嵌入式终端领域当前 比较流行的s y m b i a n 、p a l mo s 、l i n u x 和w i n d o w sc e ;结合实际项目阐述了本课 题的选题意义和课题目的、主要研究内容。 9 华北电力大学硕十学位论文 第二章w i n d o w sc e 驱动程序设计 2 1w i n d o w sc e 设备管理模式研究 w i n d o w sc e 作为一个面向嵌入式应用的操作系统,在设备管理方面具有一般 嵌入式操作系统设备管理的特点:设备管理简单高效;支持多种不同类别、差异极 大的设备;支持即插即用的管理模式和设备节能控制;处理系统的输入输出具有实 时响应能力。 本章主要分析w i n d o w sc e 操作系统的设备管理部分的系统体系构成以及相关 的实现代码。该分析是基于受限于m i c r o s o f ts h a r e ds o u r c el i c e n s e 的源代码。主要 设计的源代码位于w i n d o w s c e源代码树中的 【c e r o o t 、p r i v a t e w i n c e o s c o r e o s d e v i c e 目录下,主要的源程序文件和作用如表2 - 1 所示【6 l 。 表2 - 1设备管理部分相关的主要源程序列表 p r o x y h要使用的系统a p i 相关的接口声明 d e v i c e h设备管理以及设备驱动程序部分主要调用接口和数据接 口声明 d e v i c e cc e 设备及驱动程序管理部分的主要对外接口例程实现 i o m g r c设备l o 资源管理的实现 p n p c 即插即用管理器的实现 p w m g r h 电源管理器的主要数据结构和调用接口定义 p w m g r c 电源管理器的实现 d e v l o a d p h 设备驱动程序运行控制接口定义 d e v l o a d c设备驱动程序运行控制实现 c e l o g d e v h 设备管理部分的系统日志和调试支持 一般操作系统的设备管理都采用分层的管理模式( 如图2 - 1 所示) 【9 】: w i n d o w sc e 也不例外。和图2 - 1 相比,c e 在模块组成和划分方面更加具体而 实用。w i n d o w sc e 和其他常见系统主要的区别在于设备无关的系统软件这一层, w i n d o w sc e 将这一层划分为四个独立的部分:i 0 管理器,p n p ( p l u g & p l a y ,即插 即用) 管理器,电源管理器以及管理和支撑例程库。从概念上讲,w i n d o w sc e 的设 备管理和文件密不可分,二者共享同一个命名空间,基本上可以认为w i n d o w sc e 中设备也是文件,这一点和传统的u n i x 系统很相似;但同时,用户访问文件以及 设备模块时使用不完全相同的调用入口,设备文件在普通用户界面上也不可见。 w i n d o w sc e 设备管理部分大大地简化了中断处理、i 0 访问以及内部管理的机制。 1 0 华北电力大学硕士学位论文 例如,在w i n d o w s2 0 0 0 x p 的软中断和i s r ( i n t e r r u p ts e r v i c er o u t i n e ,中断服务例 程) - - d p c ( d e f e r r e dp r o c e d u r ec a l l ,延迟过程调用) a p c ( a s y n c h r o n o u sp r o c e d u r e c a l l ,异步过程调用) 的复杂机制,这种简化使得系统在基本功能健全的前提下保 持了较大的简洁性和高效性,这在嵌入式实时应用中尤为重要。 t _用户软件 设备无关的系统软厍 设备驱动程序l p中断处理程序l 硬件硬件抽象层 豳2 - 1 设备管理的分层模型 1 设备管理器:包括设备驱动模型的实现和i o 资源的管理。前者定义了 w i n d o w sc e n e t 的设备驱动机制和一个设备驱动程序的有序工作框架,在这个框 架之下,设备管理器可以在不知道驱动具体细节的情况下通过注册机制访问并调用 一个驱动实例。后者则实现了i o 资源的分配、查询等管理任务。 2 p n p 管理器:即插即用,就是当系统中硬件设施变化时,系统可以自动配置 使用新的设备。比如用户使用u s b 接口把一个扩展存储器插在了自己的数码相机 上,数码相机上的操作系统立刻识别并配置了这一块扩展存储卡,并且允许用户把 已经照好的照片传送到这块存储卡上。w i n d o w sc e n e t 提供了对这种特性的支持, 实际上,一般还需要硬件的额外文持。 3 电源管理器:类似p n p ,电源管理也需要硬件支持。w i n d o w sc e n e t 电源 管理器管理系统的能源分配策略,它决定系统的能耗状态变化,当满足一定条件时, 电源管理器调用具体设备的驱动程序实施策略。 4 支撑和管理例程库:一些内部支撑例程。 设备管理器是w i n d o w sc e n e t 设备管理的核心机构,它主要负责跟踪、维护 系统的设备信息并对设备资源进行调配。它的主要实现代码分布在d e v i c e h 和 i o m g r c 中。 2 2 设备驱动结构分析 从w i n d o w sc e 驱动程序的复杂性角度,设备驱动可以分两种:分层的驱动和 单体结构的驱动。绝大多数实际的w i n d o w sc e 设备驱动程序都是分层的驱动,单 片驱动程序和分层驱动程序在w i n d o w sc e 操作系统中的集成如图2 2 所示 s l 。 华北电力大学硕十学位论文 l g w e s 设备管理器 l 而羲。圣教施 函数 设备驱动程序设备鹱动程序 m d d 函教m d d 函数 d d 出l 函数 单片设备驱动程序 d d m 函数 p d d 函数p d d 函数 工工工 i硬件 图2 2w i n d o w sc e 驱动程序集成结构图 m d d 模型设备驱动程序执行下列任务:连接p d d 层并定义它希望调用的函数; 把不同的函数集提供给操作系统;处理像中断处理这样的复杂任务;与g w e s 模块 和内核通信。 依赖平台的p d d 层与m d d 和硬件都有接口,这就意味着必须适合目标平台的 需要。一个p d d 有针对具体硬件的函数组成,而这些函数与一个m d d 层相对应。 但这种对应不是直接的一对应。m d d 函数实现对立的任务,而m d d 则通过使用 这些任务来实现其目标。因为p d d 层是硬件相关的,因此必须生成一个设置好的 p d d 并输出到平台硬件。微软为各种各样的内部设备提供了几个样本p d d 层。 2 3 中断处理分析 各种外设通过中断和w i n d o w sc e n e t 的核心通信,在系统发现中断以后,处 理的过程将分两部分:核心的i s r 和用户线程i s t 。i s r 实现一般要求短小精悍, 效率要求很严格,它们只实现最简单的功能:响应设备并返回一个中断标识给操作 系统。w i n d o w sc e 支持两种类型的i s r :静态的i s r 和可安装的i s r 。静态的i s r : 只能静态的编译进核心,运行时不能改变。与i s t 通信时,只是单向的,由i s r 到 i s t 。静态i s r 支持嵌套中断,并且使用核心堆栈。可安装i s r :由内核管理程序从 d l l 中动态加载,和静态的i s r 不同,它和i s t 通信可以从i s t 到i s r 。多个i s r 可以与同一个中断请求相关联,系统按照加载驱动的顺序依次调度。在安装i s r 中, 共享内存的使用比较灵活。 i s t 则处理中断的事务性工作,但核心接到i s r 传给自己的中断标识之后就发 出一个中断事件,激活个正等待在该事件的事件队列上的i s t ,一段时间后,调 度器就会调度这个线程工作,处理中断的事务。w i n d o w sc e 中断处理包含的各种 组件及过程如图2 3 所示l9 1 。 1 2 华北电力大学硕士学位论文 棱心模型组件奉机设鲁驱动程序 圃睁 节 圈i s r 圈 i序l 徽软提供 组件 i i o e m m 图2 - 3w i n d o w sc e 中断处理流程图 需要做几点解释: 1 系统的中断响应是分阶段区别的,当核心的处理程序捕获中断之后,将禁止 所有同级或者级别较低的中断,当这一过程有高等级的中断产生,将会引起中断的 嵌套,当中断事件被设置以后,所有i s r 的任务基本就完成了,处理过程完成了第 一阶段的任务,此时系统没必要限制除同种中断之外的其他设备事件的发生,为了 不丢失这些设备中断,系统需要开放这些中断;最后系统中断处理完毕,系统恢复 为常规。这种分阶段限制中断的做法对于系统的中断响应时间是很有利的。 2 o a l 的i s r 可以调度可安装的i s r 的运行,因为在系统中允许中断被共享一 例如可能有许多鼠标设备的驱动程序一对于这种情况,系统依据各个i s r 注册加载 的顺序调度这些中断服务例程的工作,对于实时性要求很高的设备来说,这种共享 并不是一个好主意。 3 设置事件之后到i s t 实际上是一个短暂的时差,设置事件并不直接将控制转 移到i s t ,这一点是通过系统的调度程序完成的。调度程序会发现这个事件,并检 测是否有线程等待这个事件的队列上,如果有,则它们放进就绪队列,紧接着的一 次时钟中断,系统将根据优先级调度各个线程的运行。i s t 的优先级一般高于普通 的线程,这使得它们可以抢占普通的时间片完成优先中断处理。 4 在w i n d o w sc e n e t 中没有类似w i n d o w s2 0 0 0 x p 复杂的d p c a p c 中断调 度机制,因而在处理中断完成后的数据拷贝等善后工作没有设立专门机制,一般可 以在i s t 以及相应的流接口中实现相应的缓存和数据迁移【1 0 1 。 2 4 直接内存访问( d m a ) 分析 w i n d o w sc e n e t 提供了一些接口访问硬件系统的d m a 能力,这允许用户编 写的驱动程序可以高效地在设备和内存之间做数据传送。使用d m a 的最大问题就 是地址的转换:用户常常需要数据在某个特定设备的存储区( f o 可能是一系列地址) 1 3 华北电力大学硕士学位论文 和内存中某个地址区域之间迁移,这两个地址在系统中分别表示为f o 资源以及一 个缓冲区( 虚) 地址,支持d m a

温馨提示

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

评论

0/150

提交评论