(机械设计及理论专业论文)基于wincenet的bsp开发.pdf_第1页
(机械设计及理论专业论文)基于wincenet的bsp开发.pdf_第2页
(机械设计及理论专业论文)基于wincenet的bsp开发.pdf_第3页
(机械设计及理论专业论文)基于wincenet的bsp开发.pdf_第4页
(机械设计及理论专业论文)基于wincenet的bsp开发.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(机械设计及理论专业论文)基于wincenet的bsp开发.pdf.pdf 免费下载

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

文档简介

北京邮也人学硕士研究生毕业论文摘要 摘要 随着信息和网络技术的飞速发展,嵌入式系统越来越多的被应用 于各个领域,嵌入式操作系统的使用成为一种趋势。设计开发基于某 种嵌入式操作系统的b s p 开发包,是实现在自己硬件平台上构建嵌 入式系统以及进一步嵌入式应用开发的基础和关键。 本论文选择w i n c e 。n e t 嵌入式操作系统,分析其系统特点、性能, 并在此基础上,详细分析实现了在以s h a r p 公司l h 7 a 4 0 4 为核心c p u 的硬件平台上创建w i n c e n e t 系统的b s p 软件开发包。主要包括以下 内容: 一、从嵌入式系统的可移植性入手,介绍了w i n c e n e t 系统的几 个重要的内核特点,特别是对与b s p 软件包开发有密切关系的模块化 结构、中断处理、驱动开发以及内存管理等。 二、研究分析w i n c e n e t 系统的b s p 结构及组成,从理论上描述 b s p 开发的过程;分析嵌入式系统中软件开发和调试环境,并搭建本 论文的实验环境。 三、详细研究设计基于l h 7 a 4 0 4 开发板的w i n c e n e t 系统b s p 软 件包。包括: ( 1 ) 详细分析设计启动程序b o o t l o a d e r 软件和其他相关o a l 部 分,完成这一部分后,可以生成一个w i n c e n e t 的最小内核系统。 ( 2 ) 实现开发板外设硬件在w i n c e n e t 系统下的流驱动开发: 分析嵌入式分层模块化驱动框架,并基于此框架理论实现w i n c e n e t 系统串口、a c 9 7 音频流设备驱动程序。 ( 3 ) 对串口驱动进行功能测试和传输速度对串口通信的影响测 试;对a c 9 7 驱动进行功能测试和c p u 占用率、实时性分析测试。另 外,还对驱动程序进行内存泄漏分析和代码优化。 关键词:w i n c e n e tb o o t l o a d e rb s p 中断驱动程序a c 9 7 北京邮电大学顿士研究生毕业论文 a b s t r a c t t h eb s pd e s i g ni nw i n c e n e ts y s t e m a b s t r a c t w i t ht h ef a s t d e v e l o p m e n t o nt h e i n f o n n a t i o na n dn e t w o r k t e c h n o l o g y , t h ee m b e d d e ds y s t e m i sa p p l i e di nm o r ea n dm o r ef i e l d s t h e e m b e d d e do p e r a t i n gs y s t e mb e c o m e si m p o r t a n t d e s i g nab s p ( b o a r d s u p p o r tp a c k a g e ) b a s e d o na s p e c i a lh a r d w a r ep l a t f o r mi st h eb a s e t h i sd i s s e r t a t i o ni n t r o d u c e st h ew i n c e n e te m b e d d e do p e r a t i n g s y s t e m ,i n c l u d i n gi t s k e r n e lf e a t u r e s ,a b i l i t y , e t c ad e t a i lb s p d e s i g ni s c o m p l e t e d t h i sb s p w o r k so nt h eh a r d w a r e p l a t f o n n l h 7 a 4 0 4 f i r s t ,t h ew i n c e n e ts y s t e mr e l e v a n tk e r n e lf e a t u r e si si n t r o d u c e d a n dt h em o d u l es t r u c t u r e ,i n t e r r u p t s y s t e m ,d r i v e r sa r c h i t e c t u r e a n d m e m o r ym o d e l a r et h ei m p o r t a n t p a r t s t h e s ea r et h et h e o r e t i co f ab s p d e s i g n t h i sd i s s e r t a t i o nd o c ss o m er e s e a r c h e s0 nab s ps t r u c t u r ea n d c o m p o s i t e i nw i n c e n e ts y s t e m ,a n a l y z et h e p r o c e d u r e o fab s p d e s i g na n d s e tt h ee m b e d d e d c o m p i l i n ga n dd e b u g g i n ge n v i r o n m e n t a st h e i m p o r t a n tp a r t ,t h e d i s s e r t a t i o nh a sr e a l i z e dt h ed e t a i l p r o c e d u r eo f t h eb s p , i n c l u d i n gt h ep r o g r a mo f b o o t l o a d e ra n ds o m e d e v i c ed r i v e r s i nt h ed e v i c ed r i v e rp r o g r a m ,t h ew i n c e n e ts y s t e m d r i v e ri sa n a l y z e d t h e nt h ee m b e d d e dd r i v e ra r c h i t e c t u r eh a sb e e np u t f o r w a r d b a s e do nt h a ta r c h i t e c t u r e ,t h ed e t a i ld e s i g no fd r i v e r so fs e r i a l i nt h ei n t e r r u p ta n da c 9 7a u d i oi nd m aa r eg i v e n a f t e r p r o g r a m ,t h i s d i s s e r t a t i o na l s od o e ss o m et e s t so nt h ed r i v e r sf u n c t i o na n da n a l y s e st h e p e r f o r m a n c e f r o mk e r n e l sl e a k a g e r e a l t i m ea n dc o d er e u s e a f t e rt e s t i n ga n da n a l y z i n g ,t h ec o n c l u s i o nc a r lb em a d et h a tt h e d r i v e r sw o r kw e l li nt h en 垤n c e 。n e ts y s t e m 。 k e y w o r d s :w i n c e n e t , b o o t l o a d e r , b s p , i n t e r r u p t ,s t r e a m d e v i c e d r i v e r , d m a i i 声明 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书雨使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 淹茹1 日期:逊三:垒 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导9 雨签名: 日期:避:立:也 日期:翘:i :匹 北京邮电大学填一l 二研究生毕业论文箱一章缱论 第一章绪论 1 1 课题背景意义及发展现状 二十一世纪,计算机技术进入后p c 技术时代,计算机和网络全面渗透到日 常生活的每一个角落,同时,种新型的系统正在各种各样的领域应用,小到 m p 3 、p d a 等微型数字化产品,大到网络家电、智能家电、车载电子设备;而 在工业和服务领域中,这样新型系统在数字机床、智能工具、工业机器入、服务 机器人中应用,也正逐渐改变传统的工业和服务方式,这种新型的系统就是嵌入 式系统。 目前,嵌入式系统正受到广泛的关注并蓬勃的发展着,在未来,随着信息化、 智能化、网络化的不断深入发展,嵌入式系统技术也必将获得更为广阔的发展空 间,向着功能密集、网络连接灵活、移动应用和多媒体信息处理轻便的方向发展, 成为后p c 时代的擎天之柱。 随着嵌入式系统的发展,要求其开发更加方便和快捷、不断提高代码的可重 用性和可靠性,于是出现了专门负责管理存储器分配、中断处理、任务调度等功 能的软件模块一嵌入式操作系统。目前,常用的嵌入式操作系统有:v x w o r k s 、 p a l mo s 、l i n u x 、w i n ce 。其中,w i n c e 是微软公司专门为信息设备、移动应 用、消费类电子产品、嵌入式应用等非p c 领域而全新设计的战略性嵌入式操作 系统。表1 1 和表1 2 是w i n c e 和其他几种常用的嵌入式搡作系统的比较情况 【1 1 1 2 3 1 1 4 1 开发公司占用存 与市场占储空间内容及可操作性配置要求其他 用率大小 m j c r o s o f t预装w o r d 、e x c e l 、i e 、e - m a l l 拨配置要求高, 使用c 语言编写强 巨头,且号器、约会安排、联系人、任务列p c 的延伸 w i n c e几m b大的p c 的压缩版 在不断发表、记事本及速记等,内容丰富、应用软件一 强调与p c 的交互 展中功能全面,显得臃肿,操作方便般几m 较低,操作系 预装基本应用程序、通讯录、日程 p a l m3 c o w t几百统l o o k 左右移动计算方便、省电、 表、记事本、任务安排及简单的配 o s最大巨头k b应用软件几速度快 置程序。操作简单 k 一几十k 北京邮电大学i 西 士研究生毕业论文 第一章绪论 灵活性、可伸缩性较 好,处理全方位- 光线 s y m b i a n le p o c很小 应用软件较少应用协议,使用j a v a 较少 语言,可与i e 和服务 器良好合作 衰l - ip d a 上嵌入式操作系统比较 开发公司 源码开放性内核与效支持c p u 开发调试工 与市场占 应用开发 和结构 塞 范围具 用章 具有丰富的支持蓝牙无线通信技 最小内核开发工具、术、对多媒体普遍支持: 支持a 州、 非开放,版2 0 0 k b ,有着高效明平台向导提供r p 电话、 m 圮r o s o f tm i p s 、x 8 6 、 权费适中一般为几晰的图形化网管、移动电话等1 2 w i n c e一般 p o w e r p c 等数 基于模块化m 十几开发调试平个预建配置,应用开发 + 种3 2 位微处 和组件结构m 效率简便快捷;w i n 3 2 位应 理器 较低- - p t a f f o r m用编程接口、类 b u i l d e rw i n d o w s 的a p i 公开源码,开发难度高,霈要技术 核心调试工 注释丰富跨平台系统 实力,有些应用程序需 一般南核小具不全,没 l i n u x 模块化结构支持2 0 3 0 种蔓虚拟内存,井非所有 不断发展效率高有很好的图 l i n u x 爱好c p ul i n u x 应用程序都可以 形用户界面 者遍布全球应用运行在嵌入式系统 支持x 8 6 、超过1 8 0 0 个可供选 不开放,版 w i n d r i v e rs p a r c l i t e 、高效明晰的择的应用编程接口 权费用高,最小内核 使用最广s h 、a r m 、图形化开发( a p i ) v x w o r k s 很多a p 为8 k b ,效 泛、市场占 c o l d f i t g、 调试平台支持超过3 2 0 家的 系统独有率高 有率最高c 1 6 x 、m i p s- t o m a d o合作伙伴公司的第 模块化结构 等多种处理器三方产品 爱1 - 2 非p d a 上几种嵌入式操作系统比较 可见,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 e1 0 版到现在它已经更新到5 0 版了,并且以其快速的开发流程、灵活 北京邮电火学硕士研兜生毕业论文 第一章绪论 的软硬件选择和强壮的最终产品特性成为越来越多嵌入式产品开发操作系统的 首选,相信在来来的嵌入式道路,w i n c e 必将越走越远、越走越宽。 同时,嵌入式系统与硬件平台密切相关,开发者往往根据自己的应用方向、 性能要求、成本要求等选择不同的硬件平台,在这些千差万别的硬件平台上建立 嵌入式操作系统需要进行相应修改移植。因此如何使嵌入式操作系统在特定的硬 件平台上实现就成为一切嵌入式开发的基础和重点,对平台开发板的提供商来 说,这尤为重要。为了尽量减少改动的代码、加快移植速度,嵌入式系统中一个 具有里程碑意义的提供可移植性支持的软件包一b s p ( 板级支持包,b o a r d s u p p o r tp a c k a g e ) 出现了。它向操作系统提供对硬件的抽象和统一接口,操作系 统使用这些接口就可以对它们进行操作。可见,b s p 是直接向嵌入式操作系统提 供服务的,因此,有时候也直接称其为操作系统的驱动。b s p 的出现,为扩大嵌 入式应用,让更多的嵌入式项目能够采用嵌入式实时操作系统提供了便利。 不同的嵌入式操作系统,b s p 开发设计是不相同的。目前,国内外关于b s p 的研究大多都是在嵌入式操作系统l i n u x 或v x w o r k s 下进行的。l i n u x 是一种流 行的开放源代码的操作系统,这种源码的公开性使l i n u x 的爱好者遍布全球,有 很多团体、公司以及个人爱好者都在进行研究开发,所以基于l i n u x 的b s p 开发 比较普遍,各种文档资源丰富;v x w o r k s 为目前嵌入式系统领域中使用最广泛、 市场占有率最高的系统【5 j ,进行v x w o r k s 的b s p 开发研究也较多,同时 w i n d r i v e r 公司还推出了中文版v x w o r k 下进行b s p 开发研究相关的一系列著 作,这为普及v x w o r k s 的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 是一项具有挑战性的工作。本论文就将探讨这 具有挑战性的工作,在以s h a r p 公司l h 7 a 4 0 4 为核心c p u 的7 a 4 0 4 开发板上, 进行基于嵌入式操作系统w i n c e 的b s p 开发研究。 1 。2 课题来源和论文结构 本课题来源于北京凯维通科技有限公司与导师实验室的合作开发项目,围绕 w i n c e 嵌入式操作系统进行其下的b s p 研究开发。目前,已经完成工作的硬件 平台是l h 7 a 4 0 4 开发板( 项目组同事自行设计开发,核心微处理器采用s h a r p 公司l h 7 a 4 0 4 ) ,嵌入式操作系统采用w i n c e ,n e t 4 2 版。在此硬件平台上开 北京i i | | j 电大学域:卜研究生毕业论文第一耄绪论 发的b s p 软件程序经过测试,各功能整合在一起后可持续稳定运行。 本论文探讨了l h 7 a 4 q 4 平台下基于嵌入式操作系统w 油c e n e t 的b s p 开 发过程,结构如下: 第一章绪论,给出课题开发的背景意义和发展现状阐明课题基本内容。 第二章分析介绍嵌入式系统的可移植性和嵌入式操作系统w i n c e n e t 内 核特性,包括系统结构、模块化组织、内存管理、设备管理、中断处理吼及实时 特性分析等。 第三章介绍b s p 的概念、结构及组成,从理论上整体分析b s p 开发流程。 在这一章的最后,将探讨嵌入式系统软件开发调试环境,搭建本课题所需要的实 验环境。 第四章对基于w i n c e n e t 操作系统在l h 7 a 4 0 4 开发板上进行b s p 开发 进行详细研究,这一章重点分析设计实现b s p 包中的启动程序b o o t l o a d e r 和 相应其他o a l 层程序,初步创建w i n c e n e t 最小内核系统, 第五章详细研究分析在w i n c e 操作系统下的流设备驱动开发,提出一种嵌 入式驱动架构理论,在此架构理论下以串口和a c 9 7 音频为实例分别从中断和 d m a 两个方面进行漉驱动的详细设计开发,同时,对串口和a c 9 7 驱动程序进 行了测试分析。 第六章总结,对整个已经实现的系统进行总结性分析。 4 北京邮电大学f * ! 十研究生毕业论文 第二章嵌入式系统可移植性及w i n c e 系统 第二章嵌入式系统可移植性及w in c e ,n e t 系统 本章从嵌入式系统的基础架构上对嵌入式系统的可移植性进行分析,然后针 对w i n c e n e t 嵌入式操作系统进行详细分析。这章是后面实现w i n c en e t 嵌入式系统的理论基础。 2 1 嵌入式系统可移植性 2 1 ,1 嵌入式系统定义 所谓嵌入式系统就是指以应用为中心、以计算机技术为基础、软件硬件可裁 剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系 统,它将操作系统和功能软件集成于计算机硬件系统之中。 2 1 2 嵌入式系统的特性 裁剪性:提供多种可选功能,应用开发者根据自己的性能、功耗、体积 等选择某些功能,开发规模适中的应用产品; 开放性:提供管理者和维护平台的基本途径: 移植性:提供一个良好的编程模型,使平台可根据应用要求适应多种体 系结构需要。 往:这里主要指嵌入武系统软件方面的特点 其中,可移植性是嵌入式系统最重要的特性嘲。 2 1 3 嵌入式系统的基础架构 嵌入式系统通常包括硬件和软件两部分,基础架构如图2 1 所示。 其中,中间层为绽程模型平台 对下:以编译器、汇编器、连接器为接口工具,通过指令系统、总线和寄 存器视图操作c p u : 对上:以类库、函数库、系统调用规范为接口,为上层应用模型提供基本 支持。 如果再进步简化掉体系结构和应用模型平台,突出编程模型平台,嵌入式 系统基础架构则清楚地显出嵌入深度上的三级视图,如图2 2 所示。 北京邮电大学坝士研究生毕业论立第= 章嵌入式系统刈移植性及w i n c e 系统 圈2 , - 1 嵌入式系统基础絮构 亿帆一扳匣匮 基本引导程序ii 驱动程序i j 移7 植 开发扳 圈2 - 2 嵌入式系统基础架掏嵌入深度的兰级视圈 从嵌入式系统基础架构可以看出,只需对直接访问硬件的底层引导程序和驱 动进行适当修改,就可实现嵌入式系统的可移植性。而底层引导程序和驱动程序 也是b s p 包的组成部份,后面章节姆进行详细分析设计。 2 2w i r i c e n e t 系统 w i n c e 是微软公司研发的一个全新的、可移植的、实时的、模块化的3 2 位 多线程操作系统,具有一个可使用各种设备的开放性体系、小内存、高陛能、可 韭室邮电大必士型究生毕业论文第二章嵌入式系统可移植性及w i n c e 系统 伸缩性、支持未来嵌入式系统移动或多媒体发展潮流,同时,w i n c e 操作系统 还具有流行的微软程序开发界面,支持嵌入式专用系统工具的快速开发 2 2 1 系统分层模型和模块化组织 ( ) 分层模型 w i n c e n e t 是一种面向嵌入式应用的嵌入式操作系统,采用系统分层模型, 如图2 - 3 所示。通过修改相应的与硬件相关、包括设备驱动在内的b s p 等,就 可以实现w i n c e n e t 系统关于硬件平台的可移植性,从而使w i n c e n e t 实现 广泛的硬件支持。 i e 、o 怖c e 、w i n d o w sm e d l a 、s q ls e r v e r lm f c 、a t l 、c o m d c q m 、n e t c o m m 、g w e s 、s t o r g e c o r e d i i 、s c h e d u l e 、m e m o r y 、d e v i c e e i s p s 、c s p s 、d r i v e r s 硬件 应用集成层 虚用开控璧 应用支持层 操作系统层 o a l 硬件 田2 - 3w i n d o w s n e t 的分层模型 其中,上面的四层应用集成层、应用开发层、应用支持层和操作系统层 主要由微软公司维护开发,o a l 和硬件层主要由嵌入式产品开发商根据产品需 要开发。 ( 二) 模块化组织 从逻辑功能上来说,w i n c e n e t 是一个模块化的组织,包括:c o r e d l l 、 n k 、设备管理模块、数据存储模块、图形用户界面模块、通信模块、o a l 模块 以及驱动模块和w i n 3 2 服务模块,如图2 - 4 所示。 以下着重介绍几个模块: n k :在系统运行时体现为n k c x e ,是w i n c e 系统真正的核心,主要完成处 理器调度、内存管理、异常处理、系统内的通信机制、为其他部分提供核心 调用例程、为系统范围内的调试提供支持。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 c x e ,它隔离了应用和操作系统其 他模块,提供了外部调用系统功能代理和类似字符串处理、随机数生成、时 间计算等基本函数,这是w i n c e n e t 的最基本的模块。 设备管理模块:在系统运行时体现为d e v i c e e x e ,w i n c e ,n e t 的设备管理的 核心,提供系统范围内基本的设备列表管理、即插即用管理、电源管理、i o 资源管理并实现了设备驱动得以工作的基本机制。 ! ! 塞坚塑型主型塑皇兰些堡兰 第二章嵌入式系统可移植性及w i n c e 系统 圈2 - 4w i n c e n e t 筷块与体系结构 数据存储模块:在系统运行时体现为f i l e s y s e x e ,是w i n c e n e t 的文件系 统模块,提供包括对象存储和文件系统在内的基本的数据存储能力。 图形用户界面模块:在系统运行时体现为g w e s c x e ,是w i n c e n e t 提供 的图形用户界面的实现部分。 o a l 模块:这个模块没有确定形态,主要包括和硬件相关的若干功能。 驱动程序模块:是一个由驱动程序实体构成的集合。 作为嵌入式操作系统,可伸缩性、可裁减性也是重要的特点,w i n c e n e t 这种通过许多完成一定功能的模块组成整个系统且模块的分工细致的结构,只需 要通过对模块的选取,就可达到对整个系统功能的裁减。在w i n c e n e t 中,模 块通常以库文件的形式存在,选取这些模块,实质就是包含这些库文件。 2 2 2 任务管理 在w i n c e n e t 中,任务实现为进程,w i n c e n e t 最多只可支持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 n e t 系统提供了基于等待队列的四种基本进程通 信手段,他们都被实现为系统对象: i 缶界区:这是系统内最常用的种互斥手段,通常用于重要系统数据的 修改上,保证一段程序代码执行的不间断性,它不能被多个进程共享, 即同一时间,只有一个进程可以进入同一段临界区。相关函数包括 北京邮f b 火学 j j 七研究生毕业论文 第二章嵌入式系统可移植性及w i n c e 系统 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 ( 释放资源) 。 事件:类似于短消息,通知某个线程系统发生了一个特定的事件或者告 诉该线程该做什么事。例如当即插即用管理器发现了个新的设备,会 设置一个特定事件,系统则触发与该事件相关联的线程。事件在使用前 后也需要申请和释放资源句柄,对应函数为s e t e v e n 饼口p u i s e e v e n t ,使 用r e s e t e v e n t 可以重置事件对象的状态。 互斥信号量:互斥信号量只能有一个拥有者,当使用c r e a t e m u t e x 函数 申请资源成功时,线程就拥有了该资源的所有权,其他线程的同样资源 的申请就要进入等待队列,直到线程通过r e l e a s e m u t e x 函数释放为止。 同步信号量:实现与互斥信号量基本相同,只是它允许特定数目的线程 共享信号量,获得和释放的函数分别为c r e a t e s e m a p h o r e 芹1 r e l e a s e s e m a p h o n 。 w i n c e n e t 中的线程有运行态、可运行态、睡眠( 等待) 态三种任务状态。 任务调度:w i n c e n e t 是一个可抢占的多任务操作系统,采用基于优先级 的时间片轮转方法选择线程运行,拥有高优先级的线程将在低优先级的线程前面 运行。w i n c e n e t 中有八种不同的优先级别,最多2 5 6 个优先级。 2 2 3 内存管理和存储器管理 w i n c e n 已t 的内存管理,不仅极大的关系到应用程序的编写,还对驱动程 序的编写具有重要的指导作用。 w i n c e n e t 是3 2 位操作系统,支持4 g b 的虚拟地址空间,同时,它还提供 了灵活的内存访问机制,使系统中不同类型的应用程序可以充分的使用系统提供 的r a m 、r o m 以及f l a s h ,并有选择的有效利用处理器提供的虚存、保护等功能。 w i n c e ,n e t 的内存管理分为物理页面管理、虚存管理和堆管理三部分,其中, 物理页面管理负责跟踪系统的物理内存的使用情况:虚存管理负责系统的地址映 射,堆管理负责进程空间内部的动态内存释放与回收【7 】。 图2 5 为w i n c e ,n e t 约定的内存布局,它被划分为以下几个内存区域: 首先是3 3 个3 2 m 大小的s l o t ,每一个s l o t 就是一个进程的运行空间, 不同的进程运行在不同的s l o t 空间中,s l o t o 表示当前被激活的进程 的运行空间。w i n c e n e t 最多允许同时运行的进程数为3 2 个。 然后是被映射到一些各种文件的地址空间,也就是系统中存放的各种 文件的虚拟地址。 北京邮电大学坝= b 研究生毕业论文第二章嵌入式系统可移植性及w i n c e 系统 2 6 3 g 空间是一个特殊的空间,它通常是由c p u 以固定映射规则映射到 实际的物理内存空间。 n k s l o t 是核心态进程n k e x e 的空间,包含了操作系统核心的代码。 对物理内存相对比较紧缺的系统来说,进程空间和进程数目的限制能力将有 效的缓解内存系统可能的压力,例如,某个应用系统限制6 个进程,那么系统映 射只可能有1 6 个s l o t ,系统地址映射则不用关心其它部分。 琢 2 2 4 设备管理 圈2 - 5w i n c e n e t 内存布周 w i n c e n e t 系统的设备管理具有概念简单高效,支持多种不同类别、差异 极大的设备,以及处理系统的输入输出具有实时响应能力等特点。 ( 一) 注册表 w i n c e n e t 如同微软p c 桌面操作系统一样有一个注册表,但是它的注册表 比较简单,记录着系统中若干重要的配置信息,如设备的配置信息等。同时,它 的注册表也具有一个层次化的组织结构,包括若干个键以及其值组成,类似文件 系统,键相当予目录,值相当于文件。整个v v i 九c e n e t 注册表形成一个有三个 根节点的森林,每个根键下存储一类配置信息,如表2 1 所示。 h k e yl o c a lm a c h i n e硬件和驱动配置信息 h k e yc u r r e n tu s e r用户配置数据 h k e yc l a s s e sr o o to l e 和文件类型配置信息 表2 1w i n d o w sc e n e t 注册表的根键 1 0 ! ! 塑l 堕坚兰! 塑! 珊究生毕业论耋第二章嵌入式系统刚移植性殷w i n c e 系统 其中,当进行设备驱动设计时,需要修改根键h k e yl o c a lm a c h i n e 下 的相关键值。w i n c e ,n e t 通过r e g e n u m d l l 实现对注册表的访问。 ( 二) 设备管理器 设备管理器是w i n c e n e t 设备管理的核心机构,主要负责跟踪、维护系统 的设备信息并对设备资源进行调配。设备管理器在注册表中维护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 两个函数【8 1 。 在w i n c e n e t 中设备驱动程序必须提供g u i d 用来标识对外的接口,设备管 理器搜索注册表中的h k e yl o c a l - m a c h i n e d r i v e r s b u i l t l n 键值以确定驱动 程序装载的过程。所以设备管理器使用3 a c t i v e 和b u i l t l n 两个子键的值。 a c t i v e :该子键跟踪被设备管理器装载的当前活动的驱动,由设备管理 器自动进行添加和删除,当设备驱动程序被加载,设备管理器就在该键 中加入新值;当设备驱动被卸载时,设备管理器自动把相关的整个a c t i v e 键和内部的任何值都删除。 b u i l t l n :在引导期间,设备管理器调用由 h k e y _ l o c a l m a c h i n e d r i v e r s b u i l t l n 的注册键指定的 a c t i v a t e d e v i c e e x 进行默认设备驱动程序的加载。 ( 三) i o 资源管理 i o 资源管理器是设备管理模块内部的重要组成部分,它跟踪了设备驱动程 序装载前从注册表信息中初始化所需的系统资源,包括i r q 集合和i o 地址空间, 这些一般都是跟平台相关的信息。 ( 四) 设备驱动程序 ( 1 ) 设备驱动定义 w i n c e n e t 中设备可以是指任何需要控制的资源的物理或者逻辑的系统实 体( 包括软件和硬件) ,设备驱动程序则是一个管理设备、服务或者协议的软件 模块,它将操作系统和设备连接起来,使操作系统能够识别设备,并为应用程序 提供设备服务。这些设备驱动信息可以通过访问注册表记录得到,而驱动程序也 是通过设备管理的几个部分协作得以正常工作。当用户访问一个设备时,通过查 询注册表中的相关项目就可得到驱动程序可以提供的接口。 ( 2 ) 设备驱动的加载 设备驱动是通过d e v i c e e x e 进程加载的,d e v i c e e x e 的驱动加载是通 过装载注册表列举器( r e g e n u m d 1 1 ) 实现。r e g e n u m d l l 通过读注册表项发 现新设备,它一个一个扫描h k e yl o c a lm a c h i n e d r i v e r s b u i l t l n 的子键, 然后根据每个表项的内容初始化硬件设备。 w i n c e n e t 支持广泛的基于各种w i n c e n e t 平台的设备驱动程序,同时 北京邮电大学硕士研究生毕业论文第二章嵌入式系统可移植性及w i n c e 系统 也提供一些用于驱动开发的模型,其中包括来自其他操作系统的d r i v e rm o d e l , 正是因为这些丰富多变的d r i v e rm o d e l ,w i n c e n e t 适应大部分的内部和外围 设备。 另外,w i n c e n e t 中所有的设备驱动都是运行在用户模式下,这样,一方 面当设备驱动的开发出现错误动作时,内核被有效的保护起来了,因此由于内核 被驱动破坏,或可导致不可重起内核的潜在目标存储错误,以及其他灾难发生的 可能性减少;另一方面,设备驱动可访问所有的高效资源,c o m 、m f c 都可用 来进行驱动开发,也可调用w i n 3 2a p i 与用户配合。 2 2 5 中断处理 中断作为一种保证外部事件能够快速为操作系统所知的方法,一般包括物理 中断( i r q s ) 和逻辑中断( s y s i n t r s ) 两种,物理中断是硬件设备产生,并向微 处理器发出中断信号,逻辑中断则是由o a l 指定的。 中断处理是一种依靠事件触发的机制,另外,由于w i n c e n e t 给了i s t 两 个最高的线程优先级t h r e a dp r i o r i th i g h e s t和 t h r e a d _ t i m e c r i t i c a l ,因此,i s t 的优先级高于普通线程,可以抢占普通 线程的时间片完成优先处理。w i n c e n e t 的中断处理采用与l i n u x 类似的机制, 而且其内核和o a l 都为中断的传送和将事件分派到系统其他部分作了优化,在 中断发生后,w i n c e n e t 把中断处理过程分为了不可嵌套的核心码i s r 和用户 线程i s t 两部分例。 i s r ( i n t e r r u p ts e r v i c er o u t i n e ) :中断服务例程,是设备特有的,常驻o e m 适配层,是中断处理的内核模式的部分,可直接访问硬件注册表,唯一的任务是 响应设备并将物理中断映射为逻辑中断,然后以中断标识号形式,如串口中断标 识s y s i n t rs e r i a l ,返回给系统任务调度进程。w i n c e n e t 中与平台无关 的中断标识符声明在头文件n k i n t r h 中,而平台依赖的中断标识符声明在头文件 i n c o a l i n t r h 中。这一部分代码一般都很短小,指导内核启动相应的i s t 。 i s t ( i n t e r r u p ts e r v i c et h r e a d ) :中断服务线程,这是中断的实际处理程序, 被中断处理器调用。每个i s t 都与一个i s r 相联。 在w i n c e n e t 中,中断经常被用在设计设各的驱动程序中,下面就以一个 设备驱动程序为例,介绍中断的使用和处理过程: 首先,o e m 在启动的时候向异常处理程序登记i s r :核心在o a l 中调用 o e m i n i t 函数,该函数又调用h o o k i n t e r r u p t 函数将i s r 与单独的物理中断线联 系起来,既将硬件与某种相应的硬 牟中断联系; 接着,在设各驱动程序中产生一个i s t ,这个i s t 使用l n i e r r up i n i t z e 函 北京| | i | r 乜大学坝= 匕研究生毕业论文 第二章嵌入式系统可移植性及w i n c e 系统 数注册一个事件,这个事件在中断发生以及允许该中断的情况下将被通知,同时, i s t 进入等待该事件的队列中。 当一个中断发生后,内核进入异常中断处理程序,并由它屏蔽所有中断,再 调用i s r ,以中断标识符的形式返回逻辑中断;然后中断处理程序重新允许除当 前中断以外的所有其他中断发生,并产生一个将i s r 和i s t 相关联的事件,该 事件激活一个正等待在该事件的事件队列上的i s t ;i s t 调用依赖平台的驱动程 序访问硬件,进入具体的逻辑中断处理过程;i s t 完成中断处理后调用 i n t e r r u p t d o n e 函数;中断处理程序重新允许当前中断的发生,并在o a l 中调用 o e m i n t e r r u p t d o n e 函数。中断处理过程如图2 - 6 所示。 最后,设备驱动程序在关闭事件处理前必须调用i n t e r r u p t d i s a b l e 函数删除 i s t 和指定逻辑中断之间的联系,使硬件中断无效。 2 2 6 实时特性 图2 6 中断处理过程 w i n c e n e t 是一个具有一定实时能力的嵌入式操作系统,这主要是通过系 统采用了基于优先级的多级队列( 同级队列采用了时间片轮转) 和它的中断处理 i s r - i s t 体系上。 把中断处理分成i s r 和i s t 的划分,使i s r 非常小巧快捷,从而将中断 延迟减到最小,加快了中断的处理。 系统提供了2 5 6 个优先级运行各种系统组件和应用程序,i s r i s t 运行 在较高的优先级上,可以抢占较低优先级的组件区时间片。实际中,可 以将关键的实时任务设置较高的优先级。 在要求离实时性的应用中,可以实现一个较复杂的i s r ,把关键设备的 工作放在其中直接处理。 ! ! 塞坚堕丛堂竺! 兰堑堑皇毕业论文第三章嵌入式b s p 分析殷实验环境的搭建 第三章嵌入式b s p 分析及实验环境的搭建 w i n c e n e t 操作系统的优势之一是它提供了一种高级的体系结构,并且它 的应用程序代码是独立于硬件的,这归功于它将所有的硬件的功能函数分别放到 一系列库中,这些库就是板级支持包一b s p 。 3 1 嵌入式b s p 介绍分析 3 11 b s p 概念 对于嵌入式操作系统而言,将核心功能与具体的硬件平台尽可能区分开,这 是实现系统可移植性、尽快构建于各种平台上的根本,因此嵌入式操作系统把和 硬件相关的所有程序设计成一个软件层,这个软件层就是板级支持包b s p ( b o a r ds u p p o r tp a c k a g e ) 。创建自己平台的b s p 也是实现整个系统的关键。 在嵌入式领域,对b s p 大致有三种不同的理解,它们分别代表了b s p 功能 的三个方面,或者说系统开发的三个层次【1 1 】: 操作系统的驱动程序:b s p 为操作系统提供了面向开发板上各种设备的 统一接口,使得操作系统得到一定程度的硬件独立性。 驱动程序:对于认为b s p 就是驱动程序的人来说,他们通常接触的是 嵌入式系统提供商提供的某种应用方案的应用

温馨提示

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

评论

0/150

提交评论