(计算机应用技术专业论文)嵌入式系统开发平台系统功能层的设计与实现.pdf_第1页
(计算机应用技术专业论文)嵌入式系统开发平台系统功能层的设计与实现.pdf_第2页
(计算机应用技术专业论文)嵌入式系统开发平台系统功能层的设计与实现.pdf_第3页
(计算机应用技术专业论文)嵌入式系统开发平台系统功能层的设计与实现.pdf_第4页
(计算机应用技术专业论文)嵌入式系统开发平台系统功能层的设计与实现.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式系统开发平台系统功能层的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要能够支持嵌入式系统资源复用、缩短嵌入式系统开发周期、降低产品开发成本的嵌入式系统开发平台是嵌入式产品开发的有效工具。然而随着嵌入式系统应用的不断深入和产业化程度的不断提高,新的应用环境对嵌入式系统的设计和制造提出了更加严格的要求,主要体现在嵌入式系统的可扩展性、程序和数据的组织和存储方式以及对丰富的外围设备的管理能力等各个方面。针对这问题,我们在进行嵌入式系统开发平台的设计时充分考虑上述因素,构建了一个可扩展性强、数据组织高效合理,设备管理功能丰富的开发乎台,使得该开发平台能够为嵌入式系统的开发提供有效服务,并通过在此基础上实现一个蓝牙i p 核进行验证。本课题是山东省科技攻关计划重大专项“具有自主知识产权嵌入式系统的研究及开发”的一个子课题。本课题的主要工作是完成基于层次模型的嵌入式系统开发平台系统功能层的设计与实现。系统功能层是嵌入式开发平台层次模型中重要的组成部分,其主要功能是为嵌入式应用提供文件和设备的管理方法,并为工具层提供系统服务的调用接口。本文在对现有的系统扩展性技术、文件系统组成结构和设备管理方式进行深入研究的基础上,实现了嵌入式系统开发平台的系统功能层。该方案将嵌入式系统开发平台系统功能层划分为2 个主要功能模块( 文件管理和设备管理模块) 和部分辅助模块( 如网络协议栈管理模块、核心层系统服务调用接口) 。在进行文件管理和设备管理功能模块设计过程中,采用核心扩展技术实现了模块的动态加( 卸) 载机制,从而增强了嵌入式系统的可扩展性和易维护性。文件管理功能模块中,通过构建文件系统抽象层( f s a l ) 支持对多种具体文件系统的兼容。该抽象层提供文件的通用操作管理接口,实现了挂接到f s a l 的具体文件系统的接口的定义。设备管理功能模块中,将设备看作一类特殊的文件,采用文件管理的方式对设备进行操作,并支持任意给定设备的动态j l 】卸载。该设计方案能够很好地满足特定应用对嵌入式系统可扩展性的要求,并为数据资源的存储、组织和外围设备的控制管理提供了有效的解决办法。关键词:嵌入式系统开发平台;动态加载;设备管理;文件管理d e s i g na n dr e a l i z a t i o no fe m b e d d e ds y s t e md e v e l o p i n gp l a t f o r ms y s t e mf u n c t i o nl a y e ra b s t r a c ta ne m b e d d e ds y s t e md e v e l o p i n gp l a t f o r mw h i c hs u p p o r t se m b e d d e ds y s t e mr e s o u r c er e u s a g e ,r e d u c e se m b e d d e ds y s t e md e v e l o p i n gp e r i o da n di m p r o v e sd e v e l o p i n ge f f i c i e n c yi sa l le f f e c t i v eu t i l i t yf o re m b e d d e dp r o d u c td e v e l o p i n g h o w e v e r a l o n gw i t l lt h er a p i dd e v e l o p m e n to f e m b e d d e ds y s t e ma n di m p r o v e m e n to f i n d u s t r i a l i z a t i o n , t h en e ws i t u a t i o nh a sp u tf o r w a r ds t r i c t e rr e q u i r e m e n tf o re m b e d d e ds y s t e ma n di ti sm a i n l ye m b o d i e di nt h ee x p a n s i b i l i t yo f e m b e d d e ds y s t e m ,o r g a n i z a t i o na n ds t o r a g ew a yo f p r o g r a ma n dd a t aa sw e l la st h em a n a g e m e n ta b i l i t yo np e r i p h e r a ld e v i c ea n ds oo n s ow ec o n s i d e r e da l lt h ea b o v ef a c t o r sw h e nd e s i g n i n gt h ee m b e d d e ds y s t e md e v e l o p i n gp l a t f o r m , a n dh a v eb u i l tad e v e l o p i n gp l a t f o n n 、v i t hs t r o n ge x p a n s i b i l i t y , e f f e c t i v ea n dr e a s o n a b l ed a t ao r g a n i z a t i o n ,r i c hf u n c t i o no fd e v i c em a n a g e m e n tt om a k et h ed e v e l o p i n gp l a t f o r mm o r es u i t a b l ef o rt h ee m b e d d e ds y s t e md e s i g n i n g t h em a i n l yt a s ko ft h i st h e s i si st h ed e s i g na n dr e a l i z a t i o no ft h es y s t e ml a y e ro fe m b e d d e ds y s t e md e v e l o p i n gp l a t f o r mb a s e do nl a y e rm o d e l s y s t e ml a y e ri s 锄i m p o r t a n tc o m p o n e n ti nt a y e rm o d e lo f e m b e d d e ds y s t e md e v e l o p i n gp l a t f o r m ,i t sm a i n l yf u n c t i o ni sp r o v i d i n gm a n a g e m e n tm e t h o d sf o rf i l e sa n dd e v i c ei nt h ee m b e d d e ds y s t e ma p p l i c a t i o n , a n dp r o v i d i n gs y s t e ms e r v i c ea p i a nc o n s u m m a t ed e s i g no ns y s t e ml a y e ro fe m b e d d e ds y s t e md e v e l o p i n gp l a t f o r i l li sp u tf o r w a r db a s e do nt h ed e t a i l e dr e s e a r c ho fa v a i l a b l es y s t e me x p a n s i b i l i t yt e c h n i q u e s ,c o m p o s i n ga n dc o n f i g u r a t i o no ff i l es y s t e ma n dd e v i c em a n a g e m e n tw a y t h es y s t e ml a y e ri sd i v i d e di n t ot w om a i n l yf u n c t i o nm o d u l e s ( f i l em a n a g e m e n ta n dd e v i c em a n a g e m e n t ) a n dp a r ta s s i s t a n tm o d u l e s ( s u c ha sn e t w o r kp r o t o c o ls t a c km a n a g e m e n ta n dt h ek e r n e ll a y e rs e r v i c ea p t ) d y n a m i cl o a d i n go rr e m o v i n gm e c h a n i s mi sr e a l i z e dw i t ht h ek e r n e le x p a n d i n gt e c h n i q u ed u r i n gt h ed e s i g no ff i l ea n dd e v i c em a n a g e m e n t , w h i c hm a k et h ea b i l i t yo fe x p a n s i b i l i t ya n dm a i n t e n a n c eo fe m b e d d e ds y s t e ms t r o n g e r t h ef i l em a n a g e m e n tm o d u l es u s t a i n st h ec o m p a t i b i l i t yt om a n yk i n d so ff i l es y s t e m sb yb u i l d i n gt h ef i l es y s t e ma b s t r a c tl a y e r ( f s a l ) t h ef s a ls u p p l i e st h eu n i v e r s a lo p e r a t i o nm a n a g e m e n ti n t e r f a c eo ff i l ea n di t sr e a l i z a t i o no fi n t e r f a c ei sd e p e n d e do nt h em a t e r i a lf i l es y s t e mt h a ti sc o n n e c t e dt of s a l i nt h ed e v i c em a n a g e m e n t ,t h ed e v i c ei st a k e na sap a r t i c u l a rf i l ea n do p e r a t e dw i t ht h ew a yo ff i l em a n a g e m e n t i ts u s t a i n sl o a d i n go rr e m o v i n go fa n yg i v e nd e v i c e t h i sd e s i g nc a l lw e l ls a t i s f yt h ee x p a n s i b i l i t yr e q u i r e m e n to f e m b e d d e ds y s t e mt os p e c i a la p p l i c a t i o na n da p p l yt h ee f f e c t i v es o l v i n gm e t h o dt od a t ar e s o u r c es t o r a g e ,o r g a n i z a t i o na n dt h ec o n t r o lm a n a g e m e n to f p e r i p h e r a ld e v i c e k e y w o r d s :e m b e d d e ds y s t e md e v e l o p i n gp l a t f o r m ;d y n a m i cl o a d i n g ;d e v i c em a n a g e m e n t ;f i l em a n a g e m e n t学位论文独创性声明本人声明,所呈交的学位论文系本人在导师指导下独立完成的研究成果。文中依法引用他人的成果,均已做出明确标注或得到许可。论文内容未包含法律意义上已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的沦文或成果。本人如违反上述声明,愿意承担由此引发的一切责任和后果。沦文作者签名邢盹店日期:、旧年妇馆学位论文知识产权权属声明本人在导师指导下所完成的学位论文及相关的职务作品,知识产权归属学校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权利。本人离校后发表或使用学位论文或与该论文直接相关的学术论文或成果时,署名单位仍然为青岛大学。本学位论文属于:保密口,在年解密后适用于本声明。不保密0( 请在以上方框内打“”)论文作者签名:7 罨腿麟日期:词年妇瞻导师签名:吖勺乃记j -同期:z 一7 年广月j 臼( 本声明的版权归青岛大学所有,未经许可,任何单位及任何个人不得擅自使用)第一章绪论第一章绪论为有效提高嵌入式系统开发效率,降低开发成本,课题组提出了一个嵌入式系统开发平台层次模型,系统功能层是该层次模型的重要组成部分,其主要任务是通过核心层提供的服务接口,实现对嵌入式系统中文件和外围设备的管理,并为嵌入式应用的开发提供系统服务调用接口。1 1 选题的背景与研究意义嵌入式系统是“嵌入到对象体系中的专用计算机系统”。“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要烈”。对象系统则是指嵌入式系统所嵌入的宿主系统。不同的嵌入式系统其特点会有所差异,但从一般意义讲,嵌入式作为一种有别于通用计算机系统的一个分支,它们有着许多共同的本质特征,嵌入式系统的具体特点如下:l 、由于是嵌入到对象系统中,必须满足对象系统的环境要求,如物理环境( 小型) 、电器环境( 可靠) 、成本( 低廉) 等要求;2 、软、硬件具有可裁剪性、满足对象要求的最小软硬件配置、针对具体应用而设计等;3 、嵌入式系统必须是能满足对象系统控制要求的计算机系统1 2 】。2 1 世纪以来,嵌入式系统发展的明显特点是:嵌入式系统的发展正从嵌入式系统技术走向嵌入式产业,“3 c ”融合和r r 技术大融合加速嵌入式系统产业化进程。随着计算机软件和集成电路技术的发展,嵌入式系统产品日益完善,在航天、航空、交通、网络、电子、通讯、金融、智能电器、智能建筑、仪器仪表、工业自动控制、数控机床,掌上型电脑、各种智能i c 卡,第二代身份证验证、公共交通收费系统、医药系统以及军事等领域得到广泛应用 3 1 。如今。嵌入式系统己成为信息产业的新热点,如何高效率地进行嵌入式系统的设计与开发是嵌入式系统学科发展中需要解决的一个关键问题。“基于层次模型的嵌入式系统开发平台”是本课题组为了解决嵌入式系统资源的复用问题,使嵌入式系统设计厂商能够保证产品的快速上市和产品开发的低成本而提出的。该开发平台能够支持嵌入式系统的高效开发,从而提高嵌入式产品的市场竞争力。本课题针对该开发平台层次模型中的系统功能层进行设计,主要工作为基于核心模块的动态加载机制实现开发平台的文件管理和设备管理两大功能模块,从而为嵌入式应用的开发提供高效的数据组织存储方式和灵活丰富的设备控制能力。青岛大学硕士学位论文1 2 国内外研究现状1 2 1 嵌入式系统开发平台研究现状近几年来,嵌入式系统和嵌入式技术的国际会议、国内会议、学术论坛或半导体厂商的展销活动逐年增多。微软、i n t e i 、t i 、i b m 、s u n 等信息产业的知名厂商都针对新兴的嵌入式系统市场投入巨资进行研究与开发,推动着嵌入式应用水平的不断提高和应用范围的不断拓展。巨额的投资费用、逼近设计极限的性能功耗之比、越来越苛刻豹产品面市对阕、行业起落的不可测风险等因素综合在一起,促进了先进的i p 库,保证软硬件资源可复用的嵌入式平台技术的发展。国外在嵌入式系统开发平台技术的竞争中,t i 公司的o m a p 、飞利浦公司的n e x p c f i a 已显现了其突出的优势。其中n e x p e r i a 面向消费类电子与移动通讯o m a p主要面向无线通讯。1 1 在1 9 9 8 年就推出了可扩展的开放式o m a p 处理器平台,被业界称为无线世界发展的里程碑。o m a p 平台提供了语音、数据和多媒体所需的带宽和功能,可以极低的功耗为高端2 ,5 g 积3 g 无线设备提供最高的性能。t l 还提供了o m a p 解决方案,将无线调制解调器与专用应用处理器组合在单个芯片上。1 r i 因拥有能满足一体化语音及数据产品需求能力而在无线业遥遥领先,在提供全球范围的技术支持的同时,还提供了可降低系统成本的高度集成的解决方案【4 j 。九十年代末,飞利浦在做了大量市场调查工作之后,从1 9 9 9 年开始酝酿推出了n c x p e r i a 平台。目前,n e x p e f i a 平台已经被世界上很多著名电子厂商应用在自己的产品当中,其中包括高端手机、高清数字电视、机顶盒和汽车电子等。近几年来国内的嵌入式系统开发平台技术发展迅速,周立功、搏刨兴业等厂商已经成功研制出了自己的嵌入式系统开发平台。国外的嵌入式系统平台的共同问题是价格昂贵,且核心技术和若干标准都受限于国外的开发商。国内嵌入式系统开发平台以单片机居多,大部分是支持某一个c p u的开发装置,功能单一,通用性不强,缺乏相关的核心技术,如通用性较好的1 p 。国内大多数嵌入式系统开发平台c p u 是固定的,以销售厂家的芯片为主要目的,并不能够满足产品开发商的快速上市、低成本及高可靠性的需求。1 2 2 嵌入式文件系统研究现状截至目前,在不同领域中应用的文件系统已有一百多种。理论上讲,几乎所有的文件系统都可以挂接到嵌入式操作系统上,但在事实上,由于嵌入式系统的具体应用的要求各不相同,以及作为文件系统运行环境的嵌入式硬件的局限性差异很大,2第一章绪论对于操作系统的配置也各有要求和制约。嵌入式文件系统必须考虑嵌入式用户要求和硬件设备的制约因素。嵌入式系统是面向用户、面向产品、面向应用的,嵌入式处理器的功耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等方面均受到应用要求的制约,最主要的是存储空间的限制。这就使得嵌入式文件系统的可选范围大大缩小,只有少数文件系统才能符合这些要求,如r o t o r s ,c r a m f s ,j f f s 等1 5 】。在先行者的实践中己经有过将r o m f s ,c r a m f s ,j f f s ,f a t ,e x t 2 等文件系统挂接或者移植到嵌入式操作系统上的经验了。这些经验为我们开发嵌入式文件系统提供了宝贵的资源。e x t 2 文件系统,象所有多数文件系统一样,建立在文件的数据存放在数据块中的前提下。这些数据块都是相同长度,虽然不同的e x t 2 文件系统的块长度可以不同,但是对于一个特定的e x t 2 文件系统,它的块长度在创建的时候就确定了。每一个文件的长度都按照块取整。如果块大小是1 0 2 4 字节,一个1 0 2 5 字节的文件会占用两个1 0 2 4 字节的块。e x t 2 用一个i n o d e 数据结构描述系统中的每一个文件,定义了系统的拓扑结构。一个i n o d e 描述了一个文件中的数据占用了哪些块以及文件的访问权限、文件的修改时间和文件的类型。e x t 2 文件系统中的每一个文件都用一个i n o d e 。描述,而每一个i n o d e 都用一个独一无二的数字标识。文件系统的i n o d e都放在一起,在i n o d e 表中。e x t 2 的目录是简单的特殊文件( 它们也使用i n o d e 描述) ,包括它们目录条目的i n o d e 的指针【6 】。e x t 2 文件系统通过块实现文件管理,只要提到文件系统,块设备都可以看作一系列能够读写的块。文件系统不需要关心自身要放在物理介质的哪一个块上,这是设备驱动程序的工作。当一个文件系统需要从包括它的块设备上读取信息或数据的时候,它请求对它支撑的设备驱动程序读取整数数目的块。e x t 2 文件系统把它占用的逻辑分区划分成块组( b l o c k c r o u p ) 。每一个组除了当作信息和数据块来存放真实的文件和目录之外,还复制对于文件系统一致性至关重要的信息。这种复制的信息对于发生灾难,文件系统需要恢复的时候是必要的。r o m f s 是基于块的只读文件系统,它使用块( 或扇区) 访问存储设备驱动( 比如磁盘,c d ,r o m 盘驱动1 。由于它小型、轻量,所以常常用在嵌入系统和系统引导时。这种文件系统结构简单,实现容易。r o m f s 这种文件系统相对于一般的e x t 2 文件系统要求更少的空间。空间的节约来自于两个方面,首先内核支持r o m f s 文件系统比支持e x t 2 文件系统需要更少的代码,其次r o m f s 文件系统相对简单,在建立文件系统超级块( s u p e r b l o c k ) 需要更少的存储空间。r o m f s 文件系统不支持动态擦写保存,对于系统需要动态保存的数据采用虚拟l r r f l 盘的方法进行处理( r 咖盘将采用e x t 2 文件系统) 。r o m f s 是种很简单的文件系统,它的文件布局和e x t 2 等文件系统相比要简单的得多。在l i n u x 内核源代码中的d o e u m e n t f s r o m f s 中介绍了r o m f s 文件系统的布青岛大学硕士学位论文局和文件结构。c r a m f s 是c o m p a s s e dr o mf i l es y g e m 。的缩写,为只读文件系统,其容量上限只有2 5 6 m b ,c r a m f s 中的数据己被压缩,属于只读性文件系统,不能在闪存中修改。用户想获取数据时,c r a m f s 先把数据送到r a m 中,用户从r a m 中读取。一般c r a m f s 的上层为r a m f s 文件系统,经修改过的文件都保存在r a m 中。c r a m f s 结合的缺陷在于,一旦出现掉电等特殊情况,保存在r a m f s 中的修改数据将全部丢失。为此l i n u x 采用了新的文件系统j f f s 2 ,它允许在闪存中直接进行修改,在掉电时会自动保存数据。j f f s 2 的数据压缩方式和c r a m f s 一样,其数据可存放在全部的闪存区域中,数据的写入和删除分布在很大一片区域中以防止同样的块会被重复使用。j f f s ( j o u m a l i n gf l a s hf i l es y s t e m ) 是一种专门针对f l a s h 设备的日志文件系统。按照性质上来区分它属于l o g s t r u c t u r e d 日志文件系统它把整个f l a s h 设备当作可循环的一个日志文件来组织,每次修改都在这个文件的逻辑上的尾部进行。考虑到多数系统需要能够读写的文件系统,可以使用m t dd r i v e r 的j f f s 和j f f s 2 日志式文件在f l a s h 头部建立根文件系统( r o o tf i l es y s t e m ) 。日志式文件系统可以免受系统突然掉电的危险,并且在下一次系统引导时不需要文件系统的检查。由于j f f s 和j f f s 2 文件格式是特别为f l a s h 存储器设计的,二者都具一种称为“损耗平衡”的特点,也就是说f l a s h 的所有被擦写的单元都保持相同的擦写次数。利用这些特有保护措施,f l a s h 的使用周期得到相当大的提升。j f f s 2 使用压缩的文件格式,为f l a s h 节省了大量的存储空间,它更优于j f f s 格式在系统中使用。值得注意的是,使用j f f s 2 格式可能带来少量的f l a s h 空间的浪费,这主要是由于日志文件的过度开销和用于回收系统的无用存储单元,浪费的空间大小约是两个数据段。1 2 3 嵌入式系统设备管理研究现状外围设备是嵌入式系统的重要硬件资源,与c p u 、主存资源一样,它们接受操作系统的管理和控制。进入2 0 世纪9 0 年代以来,随着超大规模集成电路v l s i 技术的不断发展,嵌入式系统所能采用的外围设备日趋多样化、复杂化和智能化。作为操作系统的一个重要组成部分,设备管理模块需要对种类繁多的外围设备进行统一管理,并为用户提供相应的设备操作接口。设备管理的具体实现与外围设备的特点紧密相关。本节将对v x w o r k s 和w i n d o w s c e 的设备管理方式进行介绍。1 ) v x w o r k s 系统下的设备管理在v x w o r k s 系统中,设备分为:字符设备、随机存储块设备、虚拟设备、控制监视设备和网络设备。在v x w o r k s 应用程序中,系统访问设备是通过v x w o r k s 的i o 子系统操作的。对于字符设备和块设备v x w o r k s 的f o 系统提供一些标准的i o4第一章绪论接口函数,网络设备则提供另一套接口函数 9 1 。在v x w o r k s 系统中,设备驱动程序需要定义一个被称为设备头( d e vh d r ) 的数据结构。在这个结构中包括了设备名称和为设备所服务的驱动程序索引号。i o 系统中所有设备的设备头都保存在一个叫做设备列表的链表结构中,构成这个链表的结点的数据结构称为设备描述符,设备头是设备描述符的起始部分。v x w o r k s 的i o 系统结构:v x w o r k s 中i o 系统与设备驱动程序之间的层次关系非常明显。对于块设备来说,应用程序通过i ,o 系统访问文件系统,而后由文件系统调用驱动程序访问设备,而其他的非块设备则是i o 系统直接调用驱动程序访问设备。应用程序所看见的设备都是以文件名或文件描述符的形式存在,设备驱动程序与文件名或文件描述符无关。设备驱动程序与i o 系统的通信都是通过设备描述符和设备i d 来实现的。对于一个字符设备来说驱动程序包含7 种基本i o 操作函数:o p e n ( ) ,c r e a k ) ,r e a d ( ) ,w r i t e ( ) ,i o e t l 0 ,c l o s e ( ) 和r e m o v e 0 ”】。应用程序、i o 系统和设备驱动程序的关系如图1 1 所示。o p e n ( )t r e a t 0r e a d 0w r i t e 0i o c t l 0督c l o s e 0r e m o v e 0图1 0 lv x w o r k s 应用程序、i o 系统和设备驱动程序的关系应用程序、系统和设备驱动程序关系的实现是通过设备列表、驱动程序描述表和文件描述符表来完成的,这三张表构成了应用程序与设备之间的桥梁。设备列表具体来说,是一个双向链表,每当添加设备时,系统都会向链表中添加新的环节,设备列表的大小是动态的,可以任意向其中添加新设备,不论是否访问同一个驱动程序,每一个设备都会占用链表的一个环节。设备列表的作用是为o p e n ( ) ,t r e a t 0和r e m o v e ( ) 甬数提供文件与设备的连接。当应用程序开始执行这三个函数中的一个时,m ) 系统会将与文件名参数最匹配的设备返回,用于应用程序对文件的其他操作。驱动程序描述表由驱动程序索引号和i o 操作函数表项组成,表中填入每个设备相应操作的函数入口地址和驱动程序索引号。v x w o r k s 的i o 系统通过这个表存储驱动程序各个函数的入口点。文件描述符表是系统将文件描述符与驱程序、设备对应5青岛大学硕士学位论文起来的手段。文件描述符表由文件描述表、驱动程序索引号和驱动程序指定的设备号三个表项组成。文件描述符的索引是由o p e n s 或c r e a t e 返回的文件描述符v x w o r k si ,o 系统的工作流程:安装驱动程序和创建设备不属于i o 系统访问的范围,但它是用户使用设备驱动程序的前提。v x w o r k s 通过i o s d r v l n s t a l l 0 函数将驱动程序的入1 2 1 点填入到驱动程序表中。i o s d e v a d d 0 函数将设备加入到设备列表中。系统工作流程:应用程序调用o p e n 或c r e a t e 函数,进入o p e n o 或c r e a t 0 函数后,i 0 系统根据设备的文件名在设备列表中找到相应的文件名,并通过设备描述结构的d r v n u m 字段中存储的驱动程序索引号在驱动程序描述表中查找相应的驱动程序入口,从而实现与相应的设备驱动程序的关联;并得到文件描述符,并把对应的驱动程序索引号和设备号加入到文件描述表。最后返回对应的文件描述符。这样就实现了通过设备的文件名到文件描述符再到对应设备驱动程序的映射。之后对硬件的读写及控制功能的操作就可以通过对文件描述符来实现了。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 设备驱动的特点在于组件化和分层化。w i n d o w sc e支持广泛的基于各种c e 平台的设备驱动程序。也提供用于驱动程序开发的模型( m o d e l ) 。目前,w i n d o w s c e 提供了四种设备模型,其中两种是专用于w i n d o w s c e模型,另外两种外部模型来自其他的操作系统。基于w i n d o w sc e 的两种模型是本机的设备驱动程序和流接1 2 驱动程序。两种外部模型用于通用串行总线叫s b ) 和网络驱动器接口标准( n d i s 的驱动程序。由微软提供的许多驱动程序实例都采用了分层结构,这样可以减少开发人员在将这些实例移植到别的新设备上时的工作量。特别是针对本机设备驱动程序的设计上,即采用了分层的驱动程序也提供单片驱动程序。这样对编写性能和速度要求特别高的设备提供了方便。w i n d o w sc e 分层结构模型如图1 2 所示。其中:g w e s 指视窗和事件子系统,m d d 指上层的模型设备驱动程序,p d d 指下层依赖平台的驱动程序,d d i 指设备驱动程序接口,d d s i 指设备驱动程序服务提供器接口【i “。6d d s i 函数d d s i 函数d d s i 函数图1 2w i n d o w sc e 驱动分层结构模型3 ) 嵌入式系统设备管理小结由以上v x w o r k s 和w i n d o w sc e 的设备管理模式和设备驱动程序的实现思想来看,目前,嵌入式系统设备驱动在分类上不论是那种操作系统,设备类型均大体可划分为三类,即字符设备、块设备和网络设备。第二,在i o 系统操作上大体也都采用了基本的6 个操作函数o p e n ( ) ,t r e a t 0 、c l o s e ( ) 、r e a d ( ) 、w r i t e ( ) 、和i o c t l ( ) ,通过指针函数来实现与低层的直接驱动相联。但在具体实现上各有差异。第三,在中断处理方面,为了尽力达到中断及时响应和减少中断延时,通常采用中断服务例程来尽快完成中断处理程序的工作。青岛大学硕士学位论文第二章系统功能层的设计本章介绍了嵌入式系统开发平台的相关技术,主要内容包括:开发平台的设计方法、平台体系结构层次模型的设计以及各层次的功能描述。其中,重点围绕本课题的工作核心嵌入式系统开发平台系统功能层的设计震开讨论,详细阐述了系统功能层所包含的功能模块,并提出了该平台层的整体设计方案。2 1 基于平台的设计方法基于平台的设计方法学来源于p c 机领域的经验,该领域的制造商能够围绕标准的“平台”快速及高效地丌发他们的产品。这种平台已经出现数年,其体系结构标准如下:x 8 6 指令集体系结构( i s a ) 使操作系统及应用软件在二进制代码级上可复用一个完全规范的总线集( i s a 、u s b 及p c i ) 使不同产品共用相同的扩展板或集成电路成为可能;一贯支持处理软件与硬件之间交互作用的i s a 中断控制器;若干非常规范的i o 设备,如键盘、鼠标、音响及视昕设备。从上述规范可见,p c 平台的结构不但在硬件细节方面的微体系结构是标准化的,而且还存在一系列完成特定功能的抽象层次。按照各层的规范和标准实现整个p c 系统,可使设计时间大幅度地缩短。根据上述经验,将基于平台的设计定义为:建立一个稳定的基于微处理器的体系结构,该体系结构可快速地扩展、能够为某些应用进行定制以及为用户提供快速的解决方案。基于平台的设计是以在设计流程中所有关键节点上对平台层次的定义和划分为基础的。平台中的一个层次代表系统设计流程中的某个关键步骤,是所涉及到的后续设计步骤的一种抽象。一个平台是由从低层到高层的多个层次构成的,其中某特定层隐藏了低一层的实现细节,并为上一层提供相应的服务。基于这一思想,嵌入式系统的设计流程则转化为划分平台层次、定义和细化各层功能以及对各层进行设计与实现的过程【1 5 】。2 2 基于层次模型的嵌入式系统开发平台概述2 2 1 嵌入式系统开发平台体系结构作为一种有效的解决方案,嵌入式系统开发平台能够支持嵌入式系统的高效开发,极大程度地提高了开发人员的时间投入回报率。嵌入式系统开发平台包含硬件8第二章系统功能层的设计系统和软件系统,根据应用领域的不同,开发平台的组成,结构和复杂程度不尽相同。最简单的嵌入式开发平台包括c p u 、内存及串口,如单片机开发装置。最理想的嵌入式开发平台其软件以外的硬件系统都是以i p 的形式存在,电子产品( 目标嵌入式系统) 的设计过程就是i p 的开发与组合一测试与验证一流片及大规模生产。为了解决嵌入式系统的设计技术落后于制造工艺这一矛盾,课题组在对嵌入式系统领域进行深入研究的基础上,完成了基于层次模型的嵌入式系统开发平台的设计工作。对该开发平台体系结构的设计采用基于平台的设计方法学作为指导,目的是最大程度地实现嵌入式系统的资源复用,从而从根本上提高嵌入式系统的开发效率。基于层次模型的嵌入式系统开发平台体系结构由若干个平台层构成,各层实现该开发平台的部分功能,同时又为高层提供所需的服务。用( n ) 层表示某一特定的平台层,( n + 1 ) 层表示( n ) 层相邻的上一平台层,而( n 一1 ) 层表示( n ) 层相邻的下一平台层。各平台层最终以层次实例的形式来实现本层功能,在分层结构中,( n ) 层实例被定义为能够实现( n ) 层部分功能的一个特定模块;显然在分层结构中,( n ) 层可以具有一个( _ n ) 层实例( 如提供专用功能的i p 核) ,也可能由多个( n ) 层实例的集合来完成本层功能( 如由多个软件模块共同完成某种系统服务) 。在( n ) 层中详细地定义了该层所提供的服务,把分层结构中( n ) 层实例通过该层与上一层边界上的接口向( n + 1 ) 层实例提供( n ) 层及其下位层处理能力的功能称为( n ) 层服务。当( n + 1 ) 层实例要实现某种功能时,只需通过该层与( n )层之间的接口,调用( n ) 层服务。这种调用与( n ) 层服务的实现无关,而且根本不需要考虑其它下位层的情况,这一点正反映了分层结构的独立性。相邻平台层之间存在接口,接口是开发平台分层结构中的重要组成部分,由它完成低层向高层的服务提供。基于上述设计思想,将嵌入式系统开发平台层次结构划分为物理层、硬件抽象层、核心层、系统功能层、工具层、接口层以及应用层,如图2 1 所示。应用层接口层工具层系统功能层核心层硬件抽象层物理层图2 1 嵌入式系统开发平台体系结构抽象层次模型9青岛大学硕士学位论文2 2 2 嵌入式系统开发平台各层功能描述1 ) 物理层物理层位于体系结构层次模型的最底层,是嵌入式系统开发平台的硬件基础。通常将嵌入式系统中硬件资源的集合看作一个物理层实例。该层实例不是对若干已经开发出来的独立模块的组装,而是由特定系列的体系结构元素演化而来,其目的是解决某类特殊的应用,并为开发者提供进行修改的能力。系列中的元素实际上是一种能够适应多种应用场合的“硬件”的另一种命名方法,其中的每个元素都可通过改变控制其结构的相应参数而迅速得到。例如,系列可以由相同的可编程处理器及相同的互连模式构成,但外设及存储器可以根据具体的应用可以从预先设计好的平台部件库中选择。对最终所选择的物理层实例进行包括掩膜在内的标准制造,即可迅速地构造嵌入式系统的硬件环境,从而满足了节省设计时间的需求。2 ) 硬件抽象层物理层的设计有利于实现嵌入式系统硬件资源的复用,而为了使上层能够有效地利用这些硬件资源,必须由一个平台层提供对物理设备的逻辑访问接口,该平台层即硬件抽象层。硬件抽象层的功能是实现对底层物理功能部件的逻辑封装,并提供访问这些功能部件的操作接口;为物理层平台的设计提供设计需求和规范并实现从逻辑功能到物理操作的转换。硬件抽象层的设计,屏蔽了物理层实例的结构差异性,有利于实现嵌入式系统的软硬件协同设计并缩短开发周期。嵌入式系统开发平台是由硬件系统和软件系统所组成的,即除了物理层实例所包含的硬件资源为整个系统搭建物理运行环境之外,还包括了以软件形式存在的各种计算资源来实现丰富的功能。为了使得软件系统能够有效地运行于硬件环境之上,需要有其它的平台层提供相应的功能对整个系统及其所操作的部件、装置以及计算资源等进行统一协调、指挥和控制,而这一功能是由核心层和系统功能层共同完成的。3 ) 核心层核心功能层完成任务管理、内存管理以及任务通信等基本功能,简要描述如下:任务管理:在多任务系统中,任务是调度执行和资源竞争的基本实体单元。核心功能层最基本的功能是任务管理。任务管理主要包括创建任务、删除任务、改变任务状态和查询任务状态,其核心是任务调度。任务调度策略是否符合嵌入式应用的特定要求对嵌入式系统的设计和实现至关重要。中断管理:使得中断服务程序( i s r ) 和其它应用任务之间协同工作,快速、合理地响应外部事件,并完成后续的处理过程。时间管理:为任务的实时响应提供支持,保证系统的实时性、正确性,以提高第二章系统功能层的设计嵌入式系统开发平台的实时工作能力。与时间相关的管理包括时钟管理和定时器管理。对共享资源的互斥管理:协调任务对共享资源的访问,避免出现竞争资源时的系统死锁现象。实现资源互斥访问的方法主要有关中断、使用测试并置位指令、禁止任务切换和使用信号量。同步与通信管理:通过信号量、消息队列、事件、异步信号以及管道等机制实现任务与任务之间、中断服务程序与任务之间的同步和通信。内存管理:核心功能层的内存管理机制将各种任务的运行限制在分配的内存区域中,使得一个任务的执行不会影响到其它任务。内存管理包括的主要内容有:二次定址、保护、共享、逻辑组织和物理组织等。4 ) 系统功能层系统功能层向上层提供丰富的系统调用接口,使得上层实例能够通过接口请求系统服务完成特定的功能。在响应请求的过程中,由核心功能层完成各系统服务模块之间的协调和通信。系统功能层由文件管理功能模块、设备管理功能模块,网络协议栈等功能模块组成。文件管理功能模块:该功能模块提供文件的建立、组织、读写、修改、复制等功能,并对文件操作所需要的资源( 如目录表、文件系统等) 实施管理。通过使用该模块提供的操作接口,上层实例( 客户任务) 可以建立某种类型的文件系统,并对该种文件系统下的文件进行存取和管理。设备管理模块:该功能模块通过各种设备驱动程序的实现,为上层提供对硬件设备进行结构化管理的功能。一个功能丰富的嵌入式产品之上可能安装多种硬件设备,然而嵌入式系统的资源相对有限,若在系统初始化时将所有的设备驱动程序全部加载,使得系统功能层庞大而不灵活,且造成了资源的浪费。因此在对设备管理功能模块的设计采用的是模块的动态加卸载机制,即只有在系统用到这些设备的时候才进行加载,不需要时卸载并释放该设备所占有的资源。网络协议栈模块:一个嵌入式系统在与外界通信时会使用各种通信协议,典型的有t c p i p 协议、蓝牙协议、8 0 2 1 l 协议等。网络协议栈模块除了实现基本的通信协议之外,还为上层平台提供一个统一的通信协议管理平台,可实现通信协议的添加和删除,便于嵌入式系统功能的扩充和对各种通信协议的管理。5 1 工具层工具层主要为嵌入式软件设计人员提供程序设计接1 2 1 以及编程工其,包括:嵌入式应用基础类库、嵌入式交叉开发套件以及引导开发工具等。工具层面向二次开发用户和应用服务开发人员,用以简化嵌入式软件的开发。6 ) 接口层青岛大学硕士学位论文接1 3 层为嵌入式应用的集成提供了解决方案。基于层次模型的嵌入式系统开发平台支持两种开发模式:传统的嵌入式应用开发和i p 核的集成。针对这两种开发模式,接1 3 层分别提供了应用设计接口和i p 核接口。应用设计接口应用设计接口通过嵌入式应用基础类库的形式为传统的嵌入式系统的开发提供支持。嵌入式应用基础类库的设计目标是为嵌入式系统开发人员提供通用的编程接口( a p i ) ,形成面向具体应用的一系列标准的可扩展功能模块,从而提高嵌入式软件产品的开发效率。嵌入式应用基础类库由基本函数库( 如字符串处理函数、数值处理函数以及日期处理函数等) 、嵌入式图形调用库( 如j p e 6 格式封装包、图形处理操作集等) 以及嵌入式通信协议库等功能模块构成。一i p 核接口i p 核模块是一种预先设计好的甚至已经过验证的具有某种确定功能的集成电路、器件或部件“”。i p 核接口的设计是为了解决不同来源的i p 核在嵌入式系统开发平台中的快速集成。该层通过对i p 核与总线的接口进行抽象和封装来达到缩短i p 核的设计周期和提高i p 核复用率的目的。i p 核接口的主要功能有:第一,定义了i p 核进行系统集成的接口规范,使开发人员可以根据此规范快速开发出基于该开发平台的i p 核;第二,实现了i p 核在总线上的挂载接口,使得遵循接口规范开发的i p 核在无需了解具体s o c 互连信息的前提下即可实现核内传输机制;第三,除了实现物理集成外,通过系统功能层装载i p 核的驱动程序,便于嵌入式系统使用该i p 核所提供的各项功能。

温馨提示

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

评论

0/150

提交评论