(计算机系统结构专业论文)基于wince的nand+flash驱动和测试模块的设计与实现.pdf_第1页
(计算机系统结构专业论文)基于wince的nand+flash驱动和测试模块的设计与实现.pdf_第2页
(计算机系统结构专业论文)基于wince的nand+flash驱动和测试模块的设计与实现.pdf_第3页
(计算机系统结构专业论文)基于wince的nand+flash驱动和测试模块的设计与实现.pdf_第4页
(计算机系统结构专业论文)基于wince的nand+flash驱动和测试模块的设计与实现.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机系统结构专业论文)基于wince的nand+flash驱动和测试模块的设计与实现.pdf.pdf 免费下载

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

文档简介

, 1 1 乙 at h e s i sf o rt h ed e g r e eo fm a s t e ri nc o m p u t e ra r c h i t e c t u r e d e s i g na n d i m p l e m e n t a t i o no fn a n d f l a s h d r i v e ra n dt e s tm o d u l eb a s e do nw i n c e b yw a n g z h a o f e i s u p e r v i s o r :p r o f e s s o rl ij i n g j i a o n o r t h e a s t e r nu n i v e r s i t y d e c e m b e r2 0 0 7 ,_,j-, 工v。 ? 独创性声明 本人声明,所呈交的学位论文是在导师的指导下完成的。论文中 取得的研究成果除加以标注和致谢的地方外,不包含其他人己经发表 或撰写过的研究成果,也不包括本人为获得其他学位而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示谢意。 学位论文作者签名:多王习b b 、 e l 7 , o , 期: 口7 单i 胡 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使 用学位论文的规定:即学校有权保留并向国家有关部门或机构送 交论文的复印件和磁盘,允许论文被查阅和借阅。本人同意东北 大学可以将学位论文的全部或部分内容编入有关数据库进行检 索、交流。 ( 如作者和导师不同意网上交流,请在下方签名;否则视为同意。) 学位论文作者签名: 签字日期: 导师签名: 签字日期: - 翻 “。 j i f,口, 东北大学硕士学位论文摘要 基于w i n c e 的n a n df l a s h 驱动和测试模块的设计与实现 摘要 在嵌入式系统中,嵌入式微处理器的应用日益广泛。其中,i n t e l 的x s c a l e 系 列高性能嵌入式微处理器以其高速、低功耗、外设接口丰富等特点而得到广泛的 应用,尤其是在p d a 、掌上电脑等便携式终端设备中。在系统软件方面,w i n d o w s c e 嵌入式操作系统也因为其对多平台的支持、系统可定制能力以及在应用开发 方面的便利等特点在市场上占据越来越有利的位置。 设计和开发基于w i n c e 这种嵌入式操作系统的驱动,是实现在自己硬件平 台上构建嵌入式系统以及进一步嵌入式应用开发的基础和关键。n a n df l a s h 驱 动是一个执行数据到f l a s h 存储设备输入输出的设备驱动,本论文是关于设计以 及实现w i n c e 下的n a n df l a s h 驱动以及开发针对n a n df l a s h 驱动的整个测试 集合对该驱动的功能性、稳定性、性能进行全面的分析和测试来保证n a n df l a s h 驱动的质量。n a n df l a s h 驱动的开发是整个驱动开发周期中最为关键的部分, n a n df l a s h 驱动关系到整个系统的稳定性以及性能,有着非常重要的作用。本 人的主要工作包括: ( 1 )研究分析了w i n c e 下b s p 的结构和组成,尤其是w i n c e 下的流接口 驱动模型以及m a r v e l lx s c a l ep x a 3 1 0 芯片的体系架构。 ( 2 )w i n c e 下n a n df l a s h 驱动的设计和各个模块的实现,包括n a n d f l a s h 下最基本的读写操作和n a n df l a s h 工作的不同模式下的代码实现。 ( 3 )设计和实现了n a n df l a s h 测试集合,包括了正向测试和逆向测试, 压力测试和性能测试。用来对w i n c e 下n a n df l a s h 驱动的功能性,稳定性进 行全面和系统的测试。 关键词:n a n df l a s h , w i n d o w sc e ,驱动 i l ,l,j t 东北大学硕士学位论文 目录 d e s i g na n di m p l e m e n t a t i o no fn a n df l a s hd r i v e ra n dt e s t m o d u l eb a s e do nw i n c e a b s t r a c t e m b e d d e dm i c r o p r o c e s s o r sa r ep o p u l a rt e c h n o l o g yt h a ta p p l i e di nt h ee m b e d d e d s y s t e m s t h e i n t e lx s c a l e p r o c e s s o rf a m i l yp r o v i d e si n d u s t r y - l e a d i n gh i g h p e r f o r m a n c e ,l o wp o w e rc a p a b i l i t i e s ,r i c hp e r i p h e r a li n t e g r a t i o n i t su s e dw i d e l yi n t h ef i e l do fh a n d - h e l dd e v i c e ss u c ha sp d a o nt h eo t h e rh a n d ,m i c r o s o f tw i n d o w s c ei sb e c o m i n gt h em o s tp o p u l a re m b e d d e do se s p e c i a l l yi nh i g h e n dp d am a r k e t b e c a u s eo fi t sk i n dh u m a n - m a c h i n ei n t e r f a c e ,m u l t i p l ep l a t f o r ms u p p o r tc a p a b i l i t y , a n de a s yp r o g r a m m i n gm e t h o d d e s i g na n dd e v e l o pd e v i c ed r i v e rb a s e do nw i n d o w sc ee m b e d d e do p e r a t i n g s y s t e mi st h eb a s ea n dk e yo fi m p l e m e n t i n ge m b e d d e ds y s t e ma n df u r t h e re m b e d d e d a p p l i c a t i o nd e v e l o p m e n t t h ek e yw o r ko ft h ep r o j e c ti sd e s i g na n di m p l e m e n t n a n df l a s hd r i v e ra n dt e s ts u i t eb a s e do nw i n d o w sc ee m b e d d e do p e r a t i n gs y s t e m n a n df l a s hd r i v e rd e v e l o p m e n ti st h em o s ti m p o r t a n to ft h ep e r i o do fd e v i c ed r i v e r d e v e l o p m e n t , b e c a u s et h i sd r i v e ri sr e l a t i v et os y s t e mp e r f o r m a n c ea n ds t a b i l i t y m y r e s p o n s i b i l i t yo f t h i sp r o j e c ti sa sb e l l o w s : ( 1 )r e s e a r c ha n da n a l y z eab s ps t r u c t u r ea n dc o m p o s i t ei nw i n c es y s t e m , e s p e c i a l l yt h es t r e a mi n t e r f a c ed r i v e rm o d ea n dm a r v e l lx s c a l ep x a 3 10s t r u c t u r e ( 2 ) d e s i g na n di m p l e m e n tt h en a n df l a s hd e v i c ed r i v e r ,i n c l u d i n gt h e f u n d a m e n t a l l yr e a d w r i t eo p e r a t i o no ff l a s h ( 3 ) d e s i g na n di m p l e m e n tt h en a n df l a s ht e s ts u i t e ,i n c l u d i n gp o s i t i v e , n e g a t i v e ,s t r e s sa n dp e r f o r m a n c et e s t t h et e s ts u i t ei su s e dt ot e s tt h ef u n c t i o n a l i t y a n ds t a b i l i t yo f n a n df l a s hd r i v e r k e yw o r d s :n a n df l a s h ,w i n d o w sc e ,d r i v e r 1 i i 东北大学硕士学位论文 目录 目录 独创性声明i 摘要 a b s t r a c t 第一章绪论 1 1 课题背景 1 2 课题来源以及研究的主要内容 1 3 论文的组织结构 第二章软硬件平台简介 2 1 硬件开发平台 2 1 1m a r v e l lp x a 3 1 0 处理器介绍 2 1 2n a n df l a s h 芯片 2 1 3n a n df l a s h 硬件连接方案 2 2w i n c e 嵌入式操作系统 2 2 1 系统分层模型和模块化组织 2 2 2 任务管理 2 2 3 内存管理和存储器管理 2 2 4 设备管理 2 2 5 中断处理 2 2 6 实时特性 第三章w in c e 下驱动开发简介 3 1 嵌入式b s p 分析 3 1 1b s p 概念 3 1 2w i n c e 系统架构 3 1 3b s p 结构及组成 3 1 4 配置文件 3 2w i n c e 系统下的b s p 开发 3 3w i n c e 下的设备驱动模型 3 3 1 流接口驱动的结构 3 3 2 与流接口驱动模块相关的配置文件 3 3 3w i n c e 系统流接口驱动框架 3 4 开发和调试环境 第四章w in c e 下n a n df ia s h 驱动的实现 i v 东北大学硕士学位论文 目录 4 1 需求分析2 7 4 2n a n df l a s h 驱动设计与实现2 7 4 2 1 简要描述2 8 4 2 2 错误校验3 0 4 2 3 读操作3 0 4 2 4 写操作3 l 4 2 5 擦除操作3 2 4 2 6d m a 模式3 3 4 2 7i n t e r r u p t 模式3 3 4 2 8 坏块管理3 4 4 2 9i p m 支持3 6 4 2 1 0 不同应用场景下n a n df l a s h 驱动代码的差别3 9 第五章n a n dfia s h 测试集合的设计4 l 5 1c e t k 简介4 l 5 2 测试集合设计4 1 第六章驱动测试和维护4 9 6 1 测试概述4 9 6 2 本驱动测试的具体实施5 1 第七章总结5 3 参考文献5 5 致谢5 9 v 东北大学硕士学位论文第一章绪论 第一章绪论弟一早三百t 匕 随着消费类电子产品,尤其是便携式设备在人们的生活中不断普及,同类 产品之间的竞争愈演愈烈,多功能、大容量和低价格的便携式设备成为产品开 发者的目标m 。具有多功能的手机、p d a 和数码相机等产品不断涌现必然对存 储设备提出更高的要求,特别是随着3 g 时代的到来,声音和数据的传输速度 获得了极大的提高,使得手机能够提供更多的功能。自然,功能的增多,尤其 是多媒体功能的增加就要求更大的存储容量,使得存储设备在移动终端设备的 开发中占据了相当重要的地位晗1 。 1 1 课题背景 日前在便携式设备的市场上,f l a s hr o m 是最流行的存储设备,手机、p d a 、 m p 3 随身听和u s bs t o r a g e 等都大量使用了f l a s hr o m 作为存储设备。f l a s h ( 以下 简称f l a s h ) 存储设各有两种技术:一种是日前广泛使用的n o rf l a s h 。n o rf l a s h 具有 x i p ( e x e c u t e i np l a c e ) 特性,可直接在芯片上执行代码,而且随机读取速度快。在 目前便携式设备对于容量要求不是很高的情况下得到了广泛使用。另一种就是被 业界看好的n a n df l a s h 。n a n df l a s h 有着很高的存储密度,而且生产工艺也很 简单。相对于n o rf l a s h 的高成本和低容量,n a n df l a s h 以其高的容量价格比显 现出强劲的市场竞争力,它的出现为提高存储容量和降低产品的成本提供了很好 的解决方案嘲。 随着嵌入式系统的发展,要求其开发更加方便和快捷、不断提高代码的可重 用性和可靠性,于是出现了专门负责管理存储器分配、中断处理、任务调度等功 能的软件模块嵌入式操作系统。目前,常用的嵌入式操作系统有:v x w o r k s , p a l mo s ,l i n u x ,w i n c e 。其中,w i n c e 是微软公司专门为信息设备、移动应用消 费类电子产品、嵌入式应用等非p c 领域而全新设计的战略性嵌入式操作系统。 可见,w i n c e 有着许多嵌入式系统开发人员梦寐以求的特性,如支持蓝牙无 线通信技术、广泛的c p u 选择、对多媒体的普遍支持、使用i e 浏览器以及丰富的 开发工具等,同时其开发公司m i c r o s o f t 拥有的强大力量,因此w i n c e 已经获得众 多软、硬件厂商的支持,有许多第三方工具可供使用。从1 9 9 6 年微软发布w i n c e 1 0 版到现在它已经更新到6 0 版了,并且以其快速的开发流程、灵活的软硬件选 择和强壮的最终产品特性成为越来越多嵌入式产品开发操作系统的首选,相信在 未来的嵌入式道路,w i n c e 必将越走越远、越走越宽1 。表1 1 是w i n c e 和其他几 种常用的嵌入式操作系统的比较情况h 6 7 町: 东北大学硕士学位论文第一章绪论 表1 1 手持设备上嵌入式操作系统比较 t a b l e1 1c o m p a r i s o ns h e e to fe m b e d d e do p e r a t i n gs y s t e m 开发公司占用存内容及可操作性配置要求其他 与市场占储空间 有率大小 w i n c em i c r o s o f t几m b 预装w o r d ,e x c e l ,配置要求高,使用c 语言编写,强 巨头,且i e e m a i l ,拨号器、 p c 的延伸,应大的p c 的压缩版 在不断发 约会安排、联系人、用软件一般与p c 的交互 展中任务列表、记事本几m 等。内容丰富、功 能全面,操作方便 p a l m o s3 c o m 几百k预装基本应用程较低,操作系移动计算方便、省 最大巨头序、通讯录、日程统1 0 0 k 左右, 电、速度快 表、记事本、任务应用软件几k 安排及简单的配置一几十k 程序,操作简单 e p o c s y m b i a n 很小应用软件较少灵活性、可伸缩性 较少好,处理全方位无 线应用协议,使用 j a v a 语言,可与i e 和服务器良好合作 l i n u x 一般内核开源的应用软件较配置要求一开发难度高,维护 不断发展小,效多,但是核心调试般,可裁减内复杂 率高 工具不全,没有很核来适用不 好的图形用户界面同需求 同时,嵌入式系统与硬件平台密切相关,开发者往往根据自己的应用方向、性 能要求、成本要求等选择不同的硬件平台,在这些千差万别的硬件平台上建立嵌 入式操作系统需要进行相应修改移植。因此如何使嵌入式操作系统在特定的硬件 平台上实现就成为一切嵌入式开发的基础和重点,对平台开发板的提供商来说, 这尤为重要。为了尽量减少改动的代码、加快移植速度,嵌入式系统中一个具有 里程碑意义的提供可移植性支持的软件包b s p ( 板级支持包,b o a r ds u p p o r t p a c k a g e ) 出现了。它向操作系统提供对硬件的抽象和统一接口,操作系统使用这 些接口就可以对它们进行操作。可见,b s p 是直接向嵌入式操作系统提供服务的, 因此,有时候也直接称其为操作系统的驱动。b s p 的出现,为扩大嵌入式应用, 让更多的嵌入式项目能够采用嵌入式实时操作系统提供的便利们。 东北大学硕士学位论文第一章绪论 相对而言,w i n c e 系统一方面由于出现的时间较短,另一方面一般直接进行 基于w i n c e 系统的上层嵌入式应用软件设计开发,而w i n c e 系统中应用程序与硬 件相对独立,所以对基于w i n c e 系统的底层b s p 的研究开发则较少。虽然w i n c e 己经提供了一系列广泛的b s p ,但随着c p u 的发展以及面对很多开发商自己设计 开发的硬件平台,研制与需求并不一致,因此创建、编写自己的b s p ,使其在新目 标板上安装w i n c e 是一项具有挑战性的工作。 1 2 课题来源以及研究的主要内容 本课题来源与m a r v e l l 高科技公司w i n d o w sb s pd e v e l o p m e n tt e a m 的基于不 同x s c a l e 系列芯片的w i n c e 操作系统下的b s p 开发。本论文是基于m a r v e l l 的高性 能嵌入式处理器x s c a l ep x a 3 1 0 处理器,最高速度6 2 4 m h z 能够胜任大部分工作, 使用的是w i n d o wc e 操作系统,具有良好的用户界面。本论文研究的主要内容是 基于x s c a l e 系列处理器p x a 31 0 的w i n d o w sc e 操作系统下的n a n df l a s h 驱动以 及n a n df l a s h 的t e s ts u i t e 的整体设计和具体实现。 1 3 论文的组织结构 本文第一章为绪论部分,简单介绍了课题背景、课题来源以及研究的主要内 容。 第二章为软硬件平台介绍部分,主要介绍了m a r v e l lp x a 3 1 0 嵌入式处理器, n a n df l a s h 以及嵌入式操作系统w i n c e 。 第三章简要介绍了w i n c e 下驱动开发,尤其是流接口驱动的开发 第四章与第五章为论文的主体部分,详细讲述| n a n df l a s hm a r v e l lx s c a l e p x a 3 1 0 平台上的应用,包括了w i n c e 下n a n df l a s h 的驱动和n a n df l a s ht e s t s u i t e 详细设计与实现。 第六章介绍了开发过程中的一些调试和开发完成后所进行的一些测试。 东北大学硕士学位论文第一章绪论 l 东北大学硕士学位论文第二章软硬件平台简介 第二章软硬件平台简介 本系统所采用的软件平台是w i n c e 操作系统,硬件开发平台是m a r v e l l x s c a l ep x a 3 1 0 处理器。 2 1 硬件开发平台 本课题的研究工作基于的硬件平台是一个以m a r v e l lx s c a l cp x a 3 1 0 处理器 为核心,集成了众多外围电路模块的开发版,硬件系统框图如图2 1 所示。在 这个平台上可以衍生出不同的应用,如s m a r t p h o n e ,p o c k c t p c ,多媒体终端, g p s 之类,有着广泛的前景。 图2 1 硬件系统框图 f i g 2 1h a r d w a r es y s t e mb l o c kd i a g r a m 东北大学硕士学位论文第二章软硬件平台简介 2 1 1m a r v e l lp x a 3 1 0 处理器介绍 2 0 0 2 年2 月2 5 日,英特尔公司正式推出了基于英特尔x s c a l e 技术的新型处理 器。i n t e lx s c a l e 内核是和a r m 架构v 5 t e 结构兼容的为处理器。它集成了多种微 结构的特点,内置j t a g 调试接口、存储器控制器、实时时钟及系统时钟、通用 及红外串行、蓝才接口、a c 9 7 接口、扩展卡接口、l c d 控制器、电源管理模块 等等,如图2 2 所示。其主要针对下一代高性能的p d a 市场,支持视频流、m p 3 、 无线互联网存取以及其他前沿领先技术而设计u 地1 。 奁虚壶壶查直s 咖l 严絮删ip 茎擎发l 降串铷l 中断控制器ll 通用啪l 图2 2p x a 3 1 0 芯片结构图 f i g 2 2p x a 3 10s t r u c t u r ed i a g r a m m a r v e l lx s c a l e 微处理器结构的主要功能如下: ( 1 ) 7 8 级超级流水线r i s c 技术 ( 2 )电源管理单元通过空闲,睡眠和快速唤醒模式来提供电源节省 ( 3 ) 3 2 k b 的指令c a c h e 和数据c a c h e ( 4 ) 3 2 位的协处理器接口提供了内核和协处理器之间的高性能接口 p x a 3 1 0 采用统一编址方式,支持3 种不同的存储设各,分别是s d r a m 、s t a t i c m e m o r y 和c a r dm e m o r y 。p x a 3 10 共支持4 个s d r a m 分区,6 + s t a t i cm e m o r y 分区 和两个p cc a r dm e m o r y 分区。其中s t a t i cm e m o r y 支持: ( 1 ) f l a s hr o m 东北大学硕士学位论文第二章软硬件平台简介 ( 2 )s r a m ( 3 ) 可变延迟i o 口m e m o r y ( 通常为外接存储设备,如u s b 存储器) ( 4 )同步静态存储器( 只能在o 一2 分区) s t a t i cm e m o r y 分别映射为c s o 一5 ,每个分区占据的地址空间大小为6 4 m , 其中c s 0 对应的存储设备即为启动分区。系统上电时会直接跳到c s 0 的分区开 始执行。 本文主要研究n a n df l a s h 的驱动,如图2 3 所示,p x a 3 1 0 处理器提供了 一个d a t af l a s h 控制器。这个控制器是用来控制处理器和外部d a t af l a s h m e m o r y 进行通信的。其中,d a t a f l a s h 控制器有以下作用: ( 1 )支持两块芯片选择以及和d a t af l a s h 的8 1 6 位接口 ( 2 )使用系统d m a 为d a t af l a s h 进行数据传输 ( 3 )计算e c c ( 错误校验) 和纠正信号位错误,以及发现每页的两位 ( 4 )支持n a n df l a s h 设备,如s a m s u n g ,t o s h i b a ,s a n d i s k 等厂家的 n a n df l a s h ( 5 ) 可编程的读写擦除定时器 ( 6 ) 页面和命令完成,坏块,位错误,f l a s h r e a d y 状态和命令,数据读 写请求都可以触发中断n 3 1 l 数据缓冲区i 肿 1 1 控制器 1r 错误校 验 系统总纷+ - 系统总线接n a n d 础 口 f l a s h 接口 状态控制器 n a n d 接口控制器 命令缓冲区 图2 3d a t af l a s h 控制器框图 f i g 2 3d a t af l a s hc o n t r o l l e rb l o c kd i a g r a m 2 1 2n a n d f l a s h 芯片 目前,用于嵌入式产品中的非易失性存储媒质主要有n o rf l a s h 和n a n d - 7 - 东北大学硕士学位论文第二章软硬件平台简介 f l a s h 。n o rf l a s h 的读取速度快,而且具有x i p ( e x e e u t ei np l a c e ) 特性,多用于 小容量的代码存储。而n a n df l a s h 相对于n o rf l a s h 来说具有容量大、价格 便宜、写入和擦除速度快等优点,因而在各种嵌入式产品中被广泛用作大量的 数据存储n 射“1 5 1 。 本论文所描述的n a n df l a s h 芯片是s a m s u n g 公司生产的一款n a n df l a s h 存储芯片。它是一款容量为1 2 8 m 的n a n df l a s h ,由1 0 2 4 个块组成,每个块 6 4 页。而每一页由2 0 4 8 字节的数据和额外的1 6 字节的附加数据区( s p a r ea r e a ) 构成。附加数据区是为了方便上层对于n a n df l a s h 的管理而提供的。其中主 要存放坏块的信息,错误校验( e r r o rc o r r e c t i o nc o d e ) 检验数据和文件系统的 相关信息h q 。 2 1 3n a n df l a s h 硬件连接方案 在n a n df l a s h 的应用上,业内各厂商都提出了不同的方案。综合起来主要 有三种。 ( 1 ) 采用d i s k o n c h i p ,其内部的附加模块,解决了n a n df l a s h 的接口 问题,而且还支持引导功能。( 引导功能由附加模块提供,n a n df l a s h 本身 不能执行代码) 但d i s k o n c h i p 价格较n a n df l a s h 要高。 ( 2 )在c p u 中添加n a n df l a s h 控制器,c p u 通过控制器连接n a n d f l a s h 。其实n a n df l a s h 控制器在功能上同d i s k o n c h i p 中的附加模块有相 似之处。n a n df l a s h 控制器也是实现n a n df l a s h 接口到标准总线的转换, 同时还提供了引导功能。p x a 3 1 0 处理器就是采用了这种结构来控制外部的 n a n df l a s h 芯片u 。n a n df l a s h 控制器主要包括: n a n df l a s h 接口和控制模块,实现n a n df l a s h 接口到标准总线的转 化。 e c c 算法生成器,对写入读出的数据进行e c c 错误校验。e e c 是一种 校验算法,可以解决n a n df l a s h 中出现的位翻转错误。 启动模块,提供了一个小型的内部缓存。在启动是,该模块从n a n d 。 f l a s h 的第一块中把启动代码加载到内部缓存中执行。 ( 3 )采用专门的n a n df l a s h 控制器。这个同第二种方案类似,只是把 控制器放在了c p u 外面。 ( 4 )采用g p i o 口的方式来控制n a n df l a s h ,具体的读写操作要通过 驱动程序来实现。 东北大学硕士学位论文第二章软硬件平台简介 2 2w i n c e 嵌入式操作系统 w i n c e 是微软公司研发的一个全新的、可移植的、实时的、模块化的3 2 位 多线程操作系统,具有一个可使用各种设备的开放性体系、小内存、高性能、 可伸缩性、支持未来嵌入式系统移动或多媒体发展潮流,同时,w i n c e 操作系 统还具有流行的微软程序开发界面,支持嵌入式专用系统工具的快速开发h 1 。 2 2 1 系统分层模型和模块化组织 ( 1 )分层模型 w i n c e 是一种面向嵌入式应用的嵌入式操作系统,采用系统分层模型,如 图2 4 所示。通过修改相应的与硬件相关、包括设备驱动在内的b s p 等,就可 以实现w i n c e 系统关于硬件平台的可移植性,从而使w i n c e 实现广泛的硬件 支持。 i e 、o f f i c e 、w i n d o w sm e d i a 、s q ls e r v e r m f c 、a t l 、c o m ,d c o m 、n e t 一 c o m m 、g w e s 、存储。 c o r e d i i 、系统调度器、存储设备、设备。 板级支持包、片级支持包、驱动。 硬件 应用集成层 应用开发层 应用支持层 操作系统层 o a l 硬件 图2 4w i n d o w sc e 的分层模型 f i g 2 4l a y e r e dm o d e lo fw i n d o w sc e 其中,上面的四层应用集成层、应用开发层、应用支持层和操作系统 层主要由微软公司维护开发,o a l 和硬件层主要由嵌入式产品开发商根据产品 需要开发。 ( 2 )模块化组织 从逻辑功能上来说,w i n c e 是一个模块化的组织,包括:c o r e d l l 、n k 、 设备管理模块、数据存储模块、图形用户界面模块、通信模块、o a l 模块以及 驱动模块和w i n 3 2 服务模块。 以下着重介绍几个模块: n k :在系统运行时体现为n k e x e ,是w i n c e 系统真正的核心,主要 完成处理器调度、内存管理、异常处理、系统内的通信机制、为其他部分提 东北大学硕士学位论文g - _ 章软硬件平台简介 供核心调用例程、为系统范围内的调试提供支持。n k e x e 始终运行在较高 的优先级和处理器特权级别上,被存放在系统存储空间从0 x c 2 0 0 ,0 0 0 0 起始 的位置。 c o r e d l l :在系统运行是体现为c o r e d l l e x e ,它隔离了应用和操作 系统其他模块,提供了外部调用系统功能代理和类似字符串处理、随机数生 成、时间计算等基本函数,这是w i n c e 的最基本的模块。 设备管理模块:在系统运行时体现为d e v i c e e x e ,w i n c e 的设备管理 核心,提供系统范围内基本的设备列表管理、即插即用管理、电源管理、f o 资源管理并实现了设备驱动得以工作的基本机制。 数据存储模块:在系统运行时体现为f i l e s y s e x e ,是w i n c e 的文件 系统模块,提供包括对象存储和文件系统在内的基本的数据存储能力。 图形用户界面模块:在系统运行时体现为g w e s e x e ,是w i n c e 提供 的图形用户界面的实现部分。 o a l 模块:这个模块没有确定形态,主要包括和硬件相关的若干功能。 驱动程序模块:是一个由驱动程序实体构成的集合。 作为嵌入式操作系统,可伸缩性、可裁减性也是重要的特点,w i n c e 这种 通过许多完成一定功能的模块组成整个系统且模块的分工细致的结构,只需要 通过对模块的选取,就可达到对整个系统功能的裁减。在w i n c e 中,模块通常 以库文件的形式存在,选取这些模块,实质就是包含这些库文件。 2 2 2 任务管理 在w i n c e 中,任务实现为进程,w i n c e 最多可支持3 2 个进程在系统中同 时运行,系统启动的时候,将最少默认启动n k e x e ,f i l e s y s e x e ,g w e s e x e 和 d e v i c e e x e 四个进程。 进程间通信机制:w i n c e 系统提供了基于等待队列的四种基本进程通信手 段,他们都被实现为系统对象: ( 1 )临界区:这是系统内最常用的一种互斥手段,通常用于重要系统数 据的修改上,保证一段程序代码执行的不间断性,它不能被多个进程共享, 即同一时间,只有一个进程可以进入同一段临界区。相关函数包括 i n i t i a l i z e c r i t i c a l s e c t i o n ( 申请临界区对象) ,e n t e r c r i t i c a l s e c t i o n 或者 t r y c r i t i c a l s e c t i o n ( 进去临界区) ,以函数l e a v e c r i t i c a l s e c t i o n ( 离开临界区) , d e l e t e c r i t i c a l s e c t i o n ( 释放资源) 。 ( 2 )事件:类似于短消息,通知某个线程系统发生一个特定的事件或者 告诉该线程该做什么事。例如当即插即用管理器发现了一个新的设备,会设 东北大学硕士学位论文第二章软硬件平台简介 置一个特定事件,系统则触发与该事件相关联的线程。事件在使用前后也需 要申请和释放资源句柄,对应函数为s e t e v e n t 和p u l s e e v e n t ,使用r e s e t e v e n t 可以重置事件对象的状态。 ( 3 )互斥信号量:护持信号量只能有一个拥有者,当使用c r e a t e m u t e x 函数申请资源成功时,线程就拥有了该资源的所有权,其他线程的同样资源 的申请就要进入等待队列,直到线程通过r e l e a s e m u t e x 函数释放为止。 ( 4 )同步信号量:实现与互斥信号量基本相同,只是它允许特定树木的 线程共享信号量,获得和释放的函数分别为c r e a t e s e m a p h o r e 和 r e l e a s e s e m a p h o n 。 w i n c e 的线程有运行态、可运行态、睡眠( 等待) 态三种任务状态。 任务调度:w i n c e 是一个可抢占的多任务操作系统,采用基于优先级的时 间片轮转方法选择线程运行,拥有高优先级的线程将在低优先级的线程前面运 行。w i n c e 中有八种不同的优先级别,最多2 5 6 个优先级。 2 2 3 内存管理和存储器管理 w i n c e 的内存管理,不仅极大的关系到应用程序的编写,还对驱动程序的 编写具有重要的指导作用。: w i n c e 是3 2 位操作系统,支持4 g b 的虚拟地址空间,同时,它还提供了 灵活的内存访问机制,使系统中不同类型的应用程序可以充分的使用系统提供 的r a m ,r o m 以及f l a s h ,并有选择的有效利用处理器提供的虚存、保护等功 能。w i n c e 的内存管理分为物理页面管理、虚存管理和堆管理三部分,其中, 物理页面管理负责跟踪系统的物理内存的使用情况;虚拟管理负责系统的地址 映射,堆管理负责进程空间内部的动态内存释放与回收n 羽。 图2 5 为w i n c e 约定的内存布局,它被划分为以下几个内存区域: ( 1 )首先使3 3 个3 2 m 大小的s l o t ,每一个s l o t 就是一个进程的运行空 间,不同的进程运行在不同的s l o t 空间中,s l o t 0 表示当前被激活的进程的 运行空间。w i n c e 最多允许同时运行的进程数为3 2 个。 ( 2 )然后是被映射到一些各种文件的地址空间,也就是系统中存放的各 种文件的虚拟地址。 ( 3 )2 g 一3 g 空间是一个特殊的空间,它通常是由c p u 以固定映射规则 映射到实际的物理内存空间。 ( 4 )n k s l o t 是核心态进程n k e x e 的空间,包含了操作系统核心的代码。 对物理内存相对比较紧缺的系统来说,进程空间和进程数目的限制能力将 有效的缓解内存系统可能的压力,例如,某个应用系统限制6 个进程,那么系 东北大学硕士学位论文 第 统映射只可能由l 一6 个s l o t ,系统地址映射则不用关心其他 o ,f f f f f f f f o x c 2 0 00 0 0 0 o x c 0 0 0o o o 0o o o x 8 0 o 伽日 o x 4 2 o o o x 4 j oo 0 0 x 3 e o o o x 0 8 o o o x o oo o o x 0 4 o 咖 o x 0 2 0 i d o o 0 x o o o o n ks k t 二二二= 一 n oc a c h e d5 1 2 m c a c h e d5 1 2 m 内存映射文件 s l o t3 2p n ) o 嚣s3 2 s l o t3 lp m 雠3 l s h3 d e v i c e e x e s l o t2 h l e s y s e x e s 1 0 t lr o m d l l s s l o t 0 共享 2 2 4 设备管理 o xf 】f f ff f f f o x e 0 0 0 0 0 o x c 4 0 0o o o x c 2 0 0 0 ,c 0 0 0 图2 5w i n d o w sc e 内存布局 f i g 2 5m e m o r yl a y o u to fw i n d o w sc e w i n c e 系统的设备管理具有概念简单高效,支持多种不同类别、差异极大 的设备,以及处理系统的输入输出具有实时响应能力等特点。 ( 1 )注册表 w i n c e 如同微软p c 桌面操作系统一样有一个注册表,但是它的注册表比 较简单,记录着系统中若干重要的配置信息,如设备的配置信息等。同时,它 的注册表也具有一个层次化的组织结构,包括若干个键以及其值组成,类似文 件系统,键相当于目录,值相当于目录,值相当于文件n 引。整个w i n c e 注册表 形成一个有三个根节点的森林,每个根键存储一类配置信息,如表2 1 所示。 表2 1w i n d o w sc e 注册表的根键 t a b l e2 1w i n d o w sc er e g i s t e rl o c a lk e y w i n c e 注册表键值 键值内容 h e k o c a l m a c h i n e 硬件和驱动配置信息 h k e h c u r r e n t u s e r 用户配置数据 h k e ns l a s s e s _ r o o t o l e 和文件类型配置信息 其中,当进行设备驱动设计时,需要修改根键h e k yl o c a lm a c h i n e 下的相关键值。w i n c e 通过r e g e n u m d l l 实现对注册表的访问。 ( 2 )设备管理器 东北大学硕士学位论文第二章软硬件平台简介 设备管理器是w i n c e 设备管理的核心机构,主要负责跟踪、维护系统的设 备信息并对设备资源进行调配。设备管理器的注册表中维护a c t i v e 键,并提供 装载和卸载a c t i v a t e d e v i c e e x 和d e a c t i v a t e d e v i c e 两个函数啪l 2 , 2 2 1 。 在w i n c e 中设备驱动程序必须提供g u i d 用来标识对外的接口,设备

温馨提示

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

评论

0/150

提交评论