(计算机应用技术专业论文)嵌入式浏览器的研究与实现.pdf_第1页
(计算机应用技术专业论文)嵌入式浏览器的研究与实现.pdf_第2页
(计算机应用技术专业论文)嵌入式浏览器的研究与实现.pdf_第3页
(计算机应用技术专业论文)嵌入式浏览器的研究与实现.pdf_第4页
(计算机应用技术专业论文)嵌入式浏览器的研究与实现.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式浏览器的研究与实现.pdf.pdf 免费下载

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

文档简介

中文摘要 摘要 嵌入式浏览器是嵌入式i n t e r n e t 技术在嵌入式系统中的关键应用,是嵌入式信 息设备的核心技术之。目前,基于嵌入式信息设备应用之一的数字机顶盒技术 的研究正在如火如茶地进行着,而该技术的一个主要发展热点就是在数字机顶盒 中实现嵌入式浏览器,让数字电视具各浏览多媒体网页的功能。 本文分析了嵌入式浏览器的定义、特点和未来的发展趋势。从整体上研究了 嵌入式系统的组成、软件开发环境以及实时嵌入式操作系统p s o s 。在此基础上, 深入分析了机顶盒软件开发的关键技术、开发方法及开发环境。将上述理论、方 法、关键技术应用到嵌入式浏览器的开发中,设计并实现了基于h t m l 规范的 t m e b b r o w s e r 机顶盒浏览器系统。 文中简略分析了浏览器网络接口的多协议连接的实现方法,并深入分析了 h t t p 协议模块的实现机制及相关的容错方法:针对浏览器速度优化的问题,深 入研究了浏览器的预取技术及缓存置换策略。根据嵌入式系统内存有限的特点, 实现了一个简单的浏览器链接预取模块。以g d s f 缓存置换策略为原型,在综合 考虑了多种因素包括预取影响因子的情况下,提出了一种新的缓存置换策略 g d s f ( 1 + p r e ) 策略( p r e 为预取影响因子) ,并通过仿真试验验证了该策略的在优 化浏览器的速度方面具有较好的效果。 文中研究了n 旺b b r o w s c r 浏览器的体系结构。设计了浏览器的网络协议抽象 层,解析器解析抽象层以及图型用户接口抽象层,抽象层的实现能有效增加浏览 器可移植性和可扩展性:提出了布局链表的概念,围绕布局链表结构,深入研究 了浏览器的解析器模块和布局器模块的实现机制。将浏览器的h t m l 解析过程实 现为分词和词法分析两部分,实现了解析模块的分词算法和词法分析算法,分词 算法具有简单的容错功能。词法语法分析借助了解析堆栈来实现嵌套标签的解 析;深入研究了布局处理中的关于布局块、行( r o w ) 、矩形区域以及排列( a l i g n ) 等的概念和实现原理,提出了一个布局处理算法的实现过程;最后对浏览器的实 现情况作了总结和展望。 关键词:嵌入式系统,嵌入式浏览器,机顶盒,数据预取,缓存置换策略 英文摘要 a b s t r a c t e m b e d d e db r o w s e rw h i c hi sak e ya p p l i c a t i o no fe m b e d d e di n t e r n e t t e c h n o l o g yi ne m b e d d e ds y s t e m ,i sb e c o m i n gac o r et e c h n o l o g yi ne m b e d d e d i n f o r m a t i o ns y s t e m n o w a d a y s ,t h ed i g i t a ls e t t o p b o x ,o n eo ft h ea p p l i c a t i o n b a s e do ne m b e d d e di n f o r m a t i o ns y s l e m ,i st h ef o c u so fr e s e a r c ho ne m b e d e d s y s t e m s o n eo ft h ep r o p o s a l so fd i g i t a ls e t t o p b o xi st oc o m b i n et h eb r o s w e r t e c h n o l o g yw i t ht h ed i g i t a lt vs e t t o p - b o x ,w h i c ha i m st oa f f o r dd i g i t a lt v t h ea b i l i t yt ob r o w s em u l t i m e d i ap a g e s r e a l i z a t i o no ft h em u l t i - p r o t o c o lc o n n e c t i o ni nn e t w o r ki n t e r f a c eo f b r o w s e ri sd e s c r i b e d m e c h a n i s mo fh t t pp r o t o c o lp r o c e s sm o d u l ea n di t s f a u l tt o l e r a n c ea r ea l s oa n a l y z e di ns o m ed e p t h i no r d e rt os p e e du pt h ev i e w s p e e d o ft h i s b r o w s e r ,p r e f e t c h i n g a n dc a c h e r e p l a c e m e n tp o l i c y a r e d i s c u s s e d 。w i t ht h e v e r y l i m i t a t i o no fs e t t o p b o x sm e m o r yt a k i n gi n t o a c c o u n t ,w er e a l i z e das i m p l el i n kp r e f e t c h i n gm o d u l e t h eg d s fc a c h e r e p l a c e m e n tp o l i c ys e r v e sa sap r o t o t y p e ,a n dt a k ei n t oa c c o u n tm u l t i p l ef a c t o r i n c l u d i n gt h ep r e f e t c h i n gf a c t o r ,w ep r o p o s ean e wc a c h er e p l a c e m e n tp o l i c y n a m e dg d s f ( 1 + p r e ) ,i nw h i c hp r es e r v e sa sp r e f e t c h i n gf a c t o r m o r e o v e r ,s i m u l a t i o ne x p e r i m e n t sa r eu s e dt ov a l i dt h ev a l i d a t i o no ft h i ss c h e m e t h ea r c h i t e c t u r eo ft m e b b r o w s e ri ss t u d i e d t h en e t w o r ka b s t r a c t i o n l a y e r ,p a r s e ra b s t r a c t i o nl a y e ra n dg u ia b s t r a c t i o nl a y e ra r ed e s i g n e d 。t h e c o n c e p t i o no fl a y o u t p a r tl i n kl i s t i sp r o p o s e d s u r r o u n d i n gt h es t r u c t u r eo f l a y o u t p a r tl i n kl i s t ,t h er e a l i z a t i o no fp a r s e ra n dl a y o u t e ro ft m e b b r o w s e r i s d i s c u s s e d t h i sd i s s e r t a t i o ns e p a r a t e st h ep r o c e s so fp a r s i n gi n t ot w op r o c e s s : h t m ls e g m e n t a t i o na n dw o r d i n ga n a l y s i s t h eh t m ls e g m e n t a t i o n a l g o r i t h m ,w h i c hh a ss i m p l ef a u l tt o l e r a n c ea b i l i t y ,a n dp a r s em o d u l ea r eo f r e a l i z a t i o n i no r d e rt op a r s et h en e s t e dh t m lt a gs u c ha st a b l ea n dl i n kt a g , t h ew o r d i n ga n a l y s i sp r o c e s su s ep a r s e s t a c kt od ot h ej o b t h el a y o u tp r o c e s s i ss t u d i e di nd e p t h ,t h ec o n c e p ta n di m p l e m e n t a t i o nm e c h a n i s mo fl a y o u t p a r t ,r o w ,r e c t a n g l ea r e aa n dp a r ta l i g n m e n ti ss t u d i e d f i n a l l y ,t h ec o n c l u s i o n 英文摘要 a n dt h ef u t u r ew o r k sa r ea l s op r e s e n t e di nt h i sd i s s e r t a t i o n k e y w o r d s :e m b e d d e ds y s t e m ,e m b e d d e db r o w s e r ,d i g i t a ls e t - t o p b o x ,d a t ap r e f e t c h i n g ,c a c h er e p l a c e m e n tp o l i c y 西北大学学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻 读学位期间论文工作的知识产权单位属于西北大学。学校有权保留并 向国家有关部门或机构送交论文的复印件和电子版。本人允许论文被 查阅和借阅。学校可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学 位论文。同时,本人保证,毕业后结合学位论文研究课题再撰写的文 章一律注明作者单位为西北大学。 保密论文待解密后适用本声明。 学位论文作者签名:龃盔些 指导教师签 2 0 0 f 年6 月7 日斫月尸日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,本论文不包含其他人已经发表或撰写过的研究成果,也不包含 为获得西北大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 学位论文作者签名:胡素4 ) o o 譬年6 月q 日 第1 章引言 第1 章引言 1 1 嵌入式浏览器的应用与前景 近几年,嵌入式市场迅速崛起,嵌入式系统已成为计算机领域的一个重要 组成部分,并成为近年来新兴的研究热点。现在,嵌入式产品广泛地应用于人 们的生活和生产中,应用更是遍及金融、航天、电信、网络、信息家电、医疗、 工业控制、军事等各个领域。 在目前和未来,最具有时代特征的嵌入式产品应该是因特网上的信息设备, 如w e b 可视电话、网络机顶盒、p d a 、手机、导航设备、信息家电领域嵌入式 系统等。嵌入式系统接入i n t e m e t 是其发展的必然趋势,然而i n t e m e t 上被应用 最广泛的是w w w ,用户要访问w w w 上的资源,实现嵌入式信息设备上网邀 游,那么嵌入到信息设备里的浏览器软件是不可或缺的。目前,基于嵌入式信 息设备应用之一的数字机顶盒技术的研究正在如火如荼地进行着,而该技术的 一个主要发展热点就是在数字机顶盒中实现嵌入式浏览器,让数字电视具备浏 览多媒体网页的功能。 嵌入式操作系统的多样性以及嵌入式浏览器与通用操作系统平台上的浏览 器的差异性决定了嵌入式浏览器跨多行业应用,其应用范围是多种多样、千差 万别的,设备生产厂商在芯片选择、系统功能定义、显示设备特性、耗电限制 方面会有许多不同的要求,没有任何嵌入式浏览器可以满足所有嵌入式系统的 要求。这就决定了无论是嵌入式操作系统还是运行于嵌入式操作系统上嵌入式 浏览器市场,不会出现如同w i n d o w s 和m 在桌面p c 市场所呈现的一统天下的 局面。从市场情况看,嵌入式浏览器会出现多样化、多极化和系统定制的发展 趋势。针对不同的信息设备细分市场,会有不同的定制的浏览器出现。这些浏 览器不仅可能在显示方式、优化处理等方面存在差异,还可能在支持的协议、 标记语言方面存在差异。由于嵌入式信息电器市场空间巨大,这种定制式的嵌 入式浏览器都会有存在和生存的空间。所以软件开发商必须对市场进行进一步 细分,对特定信息设备,如掌上电脑、机顶盒、手机进行更有针对性的设计开 发,灵活地根据具体应用进行定制发展着自己的浏览器产品,才有可能赢得市 场和得到实用化推广。 第1 章引言 1 _ 2 嵌入式浏览器的特点 随着以计算机和以软件为核心的数字化技术的迅猛发展,多媒体技术与 i n t e m e t 的应用迅速普及,消费电子、计算机、通信( 3 c ) 一体化趋势同趋明显, 机顶盒、信息家电等新产品的出现让人们开始关注嵌入式系统,嵌入式浏览器 也随之成为研究热点。 嵌入式浏览器还没有一个准确、严格的定义,但从其可以完成的功能来看, 可以从两个方面进行描述。第一,它必须是一个网络信息浏览器,必须支持 h 兀p 、或者w a p 等具它传输协议、支待h t m l 、j a v a s c r i p t 或扩展x m l 、w m l 等标记语言,可以完成网页的浏览功能:第二,这个浏览器必须适合在非p c 的嵌入式信息设备中存在、运行并完整实现通讯传输协议、标记语言所规定的 功能,必须能够根据嵌入式设备的多样性需要而方便地进行裁减和修改,并满 足信息设备使用者对获取文字、图像、声音、视频等信息的需求。 嵌入式浏览器要针对硬件环境、操作系统进行合理设计、量体裁衣,其操 作系统与浏览器的关系相对非嵌入式环境要紧密得多,甚至不可分割。嵌人式 系统最大的特点是多样性,设备生产厂商在芯片选择、系统功能定义、显示设 备特性、耗电限制方面会有许多不同的要求,没有任何嵌入式浏览器可以满足 所有嵌入式系统的要求。 在桌面计算机环境中,浏览器仅仅是运行于操作系统之上的一个应用软件。 但嵌入式浏览器与一个普通的桌面应用软件不同:在嵌入式系统,特别是大家 普遍关注的可以作为i n t e r n e t 网络终端的嵌入式系统中,嵌入式浏览器可能成为 嵌入式操作系统最主要的应用软件,其至有可能是唯一直接支持的应用软件。 其它应用如m p 3 播放机、m p e g 视频、交互式游戏、i p 电话、1 c q 、股票接 收分析、甚至远程教育,办公软件都可以通过p l u g i n 接口或者直接用h t m l 、 j a v a s c r i p t 及其扩展语言来实现。在这种情况下,嵌入式操作系统的核心地位就 被浏览器所取代,蜕变成测览器与硬件系统之间的驱动和底层管理模块,完成 基本的内存管理、进程管理、硬件驱动等工作。甚至在一些设计性能优良的嵌 入式浏览器已经超越操作系统直接对硬件、内存进行管理以提高系统效率。 1 3当前主流嵌入式浏览器分析 综观目前国际上的嵌入式浏览器产品,已经有一些成熟的商业化产品。而 大多基于开源代码的嵌入式浏览器,则由于缺乏足够的技术支持,一般都不够 2 第1 章引言 成熟,实用化程度不高。不过目前随着嵌入式浏览器越来越得到广泛的应用, 已经有许多的开源浏览器在不同平台上得到了成功的移植和应用。总的来说, 主要有以下相关嵌入式浏览器: ( 1 )a c c e s sn e t f r o n t n e t f r o n t 是i n t e m e t 设备最流行的嵌入式浏览器之一。自它1 9 9 5 年问世以来, 已被用在了5 0 多种不同的i n t e r n e t 设备中,包括:i n t e m e t 电视、p d a 、机顶 盒( s t b ) 、汽车导航系统、迷你电话、w e b s c r e e n 电话、视频游戏控制台等。 n e t f r o n t 在有限的空间星,有很高的运行效率。它由许多的标准模块组成,包括: w e bb r o w s e r 、i n t e m e tm a i l 、p p p 驱动、t c p i p 模块、及其他i n t e m e t 访问模块。 通过添加可选模块,可以扩展n e t f r o n t 的功能,包括:j a v a - v m 、手写识别模块、 s s l 模块、动画模块、流视频音频模块等。n e t f r o n t 的内核小于2 2 0 k b ,它的 模块化和可升级的设计,使得设备制造商可以只选择特定需要的功能。这使得 他们拥有了个具有全部功能、且高性能的嵌入式浏览器系统。它只要2 0 m b 的r a m 和l o m b 的r o m 。n e t f r o n t 2 5 完全支持h t m l 3 2 、部分h t m l 4 0 、 f r a m e s 、j a v a s c r i p t 、c o o k i e s 、w e b - p r i n t i n g 、和多种语言。采用独立的用户界面 ( u i ) 层,设备制造商可以设计自己独特的界面,使浏览器看起来象是专为他 们的产品设计的【2 】。 ( 2 ) v i e w m l v e w m l ( v e w a b l em a r k u pl a n g u a g e ) 浏览器是第一个免费的,o p e ns o u r c e 的w e b 浏览器,专门针对嵌入式l i n u x 平台进行开发。v i e w m l 的源代码是公 开的,任何人都可以为它开发新的功能、或是对它进行维护。嵌入式l i n u x 的研 究成果也会对它的发展产生促进作用。它的产生加快了带有测览器的设备的开 发和应用。例如,掌上电脑,导航系统、迷你电话和机顶盒等。现在,包括界 面的v e w m l 浏览器需要2 1 m b 的r a m 。当有磁盘镜象时,仅需要7 6 0 k 。它 的第一个版本支持h t m l 3 2 、用户界面和基本的j a v a s c f i p t 解释器。它基于k d e 的k f m ( k d ef i l em a n a g e r ) 和f l t k ( f a s tl i g h tt o o lk i t ) ,可以在标准的x 窗e 1 系统和m i c r o w i n d o w s 嵌入式窗1 2 1 系统下运行。它提供给了o e m 高质量的,小 尺寸的浏览器。 ( 3 )z e n 一个并不知名的嵌入式浏览器,但却十分优秀,开放源码项目,不仅支持 表格,支持多种图像格式( g i f 、p n g 、j p e g 三种) ,而且在设计上很有特色, z e n 浏览器基于非常理想的模块化结构而设计,根据功能将z e n 清晰地分为网 第1 章引言 络模块、解析模块、布局模块、u i 接口模块等。其中,还将涉及到g u i 平台的 部分独立出来,支持g t k 、o f b i s 两种图形g u i ,用户可以通过配置采用不同 的g u i 平台运行,而无须对整个软件进行修改。z e n 的代码量很小,其内核编 译后的二进制版本可以达到3 0 0 k 左右,运行速度快。缺点是网络功能比较弱, 没有缓冲功能。另外不支持边下载边显示的技术,所以用户等待时间可能较长口】。 ( 4 )i p a n e l i p a n e l 嵌入式浏览器由深圳茁壮网络公司开发,得到包括国内外众多专业芯 片供应商、设备厂商的测试和移植使用,被认为是世界上最优秀的嵌入式浏览 器之一。i p a n e l 支持h t m l 4 0 、h t t p l 1 、j a v a s c r i p t i 3 、s s l 3 0 和d h t m l 、 t v h t m l 等格式。针对电视显示设计了特有的字体识别优化显示和抗闪烁算法, 完全支持包括中文、日文、韩文等双字节语言。占用存储空间小,全部主体 4 0 0 k b 只需1 m b 的f l a s h 、1 5 - 2 m b 的r a m 。对硬件要求低,c p u 的速率可 低至2 0 0 m i p s ,一般可在3 3 m h z 主频以上的c p u 下运行。另外由于i p a n e l 浏 览器是完全基于嵌入式系统环境设计的,因而有非常好的可移植性。 此外,还有其它商用嵌入式浏览器:s p ) 7 西a s sd e v i c em o s a i c 、p l a n e t w e b 、 t h r i v e i p a n e l 、中科院的c a s s 、t e k n e m ab r o w s e r 、e b s n e tm i c r o b r o w s e r 、e n r e a c h e b r o w s e r 、l i g h to f a d a m a s 、i c eb r o w s e r 、e s p i a le s c a p e 等等,上述产品除c a s s 和t h r i v e i p a n e l 外,大都还不支持汉字显示。 1 4课题内容和所作的工作 现在,随着网络的发展,网络用户在不断的增多。用户邀游网络世界,离 不开浏览器。但对于非计算机专业人士来说,为了上网而配备一台电脑是不合 适的,为此,厂家们纷纷在许多小产品中如手机、p d a 等集成了浏览器,以提 供上网功能。同时,还有很多厂家,为家庭用户提供了机顶盒设备,使得普通 用户可以通过电视机上网。 本项目是深圳键桥通讯技术有限公司数字机顶盒项目中的一个重要组成部 分,其主要目标是在数字机顶盒内实现上网浏览w w w 资源信息的功能。项目 前期目标是为d v b c 机顶盒提供一个能够浏览数据广播网页的浏览器,普通用 户通过就机顶盒就能够浏览服务商广播的天气预报、股票信息、网上商品等广 播数据,此阶段的浏览器功能比较简单,不具备复杂的交互功能,用户只是被 动地接收数据广播。第二阶段目标是对该浏览器的功能进行扩展( 比如加入播 4 第1 章引言 放视频的插件等) 为正在开发的i p 机顶盒终端提供一个可以上网、收发邮件、 视频点播以及在线玩游戏等的功能更强大、具有复杂的交互功能的i p 机项盒内 嵌式浏览器。有了这个浏览器,i p 机顶盒内的软件结构就可以设计得很简单, 绝大部分应用包括增值性业务等都可以围绕着该浏览器而开发,那时的数字电 视也将变成真正可交互式的。 本人以嵌入式浏览器的研究为课题,从项目开始启动,直到一个d e m o 版的 机顶盒浏览器的发布,直没有中断参与该项目的开发。所作的主要工作总结 如下: i 对当今几种流行的嵌入式浏览器的进行了分析,深入研究了z e n 浏览器 架构和原理,从理论上总结了嵌入式浏览器的体系结构及设计的关键技术包括 网络协议、缓存策略、网页预取技术、以及实现浏览器所涉及到的算法包括网 页解析、布局、显示等实现原理。提出了针对数字机顶盒而开发的嵌入式浏览 器的设计需求和原则。最后,把研究成果应用于实际浏览器开发项目中。 2 负责网络接口的设计开发。具体负责h t t p 通信协议模块、文件协议模 块、同o c 数据广播协议模块的对接工作。同时还完成了协议抽象层的设计和实 现。 3 设计和实现了网络接口的缓存模块、研究了网页预取的算法并初步实现 了简单的网页预取功能。 4 研究和参与了浏览器的解析器模块的实现,包括h t m l 解析、纯文本件 文件解析、图像解析等模块。独自完成了解析器抽象层的设计。 5 另外,在项目实施期间,对整个项目所涉及的内容进行了研究,包括嵌 入式系统,硬件和软件体系结构等。 5 第2 章嵌入式系统研究 第2 章嵌入式系统研究 2 1嵌入式系统基本概念 嵌入式系统是当今计算机行业最热门的话题之一,嵌入式计算机因其经常 隐藏在各种产品和系统中而得名,它是后p c 时代即信息家电时代到来的标志。 所谓嵌入式系统( e m b e d d e ds y s t e m s ) 就是:以应用为中,t l , ,以计算机技术为基 础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格 要求的专用计算机系统【4 j 。大多数人所熟悉的桌面计算机、工作站和大型主机, 都是通用计算机,被用来执行各种各样的普通任务,比如玩游戏、文字处理、 科学计算等诸如此类的事情。相反,嵌入式系统往往只执行单独一项定义明确 的任务。因此,嵌入式系统也可以被说成是由微处理器,相关的外围设备和用 于特定目的的软件所组成。 嵌入式计算机控制着当今大多数电子设备、家用电器与机器设备。它可以 应用到消费电子( 手机、p d a 、数码相机、数字电视及i p p h o n e 等) ,通信设 备( 路由器、交换机、防火墙、v p n 等) ,工业控制及军用电子等领域。但事实 上嵌入式系统的应用远不止这些,还有那些将计算机的主机嵌埋在应用系统或 设备之中,不为用户所知的计算枫应用方式也都是嵌入式应用,因此在手表、 电话、鼠标、键盘,甚至电饭锅里都有其身影,有关机构预测,到2 0 1 0 年,一 个成年人每天会接触到3 5 1 个嵌入式系统。毫不夸张地说,我们生活在一个嵌 入式的世界里。 2 _ 2嵌入式系统组成 嵌入式系统组成框图如图2 1 所示。嵌入式系统通常由嵌入式处理器、嵌入 式外围设备、嵌入式操作系统和嵌入式应用软件四大部分组成。嵌入式处理器 和嵌入式外围设备共同组成了嵌入式系统应用的硬件载体,通常称之为目标板。 嵌入式操作系统和嵌入式应用软件共同组成嵌入式系统的软件部分,它们通常 一同被编译连接并下载到目标板上,从而完成嵌入式系统预定的功能。 6 第2 章嵌入式系统研究 2 2 1嵌入式处理器 图2 1嵌入式系统缛成 输出 嵌入式系统的处理器种类繁多,处理器的功能跨度很广,寻址空间从6 4 k b 到1 6 m b ,处理速度从0 1 m i p s 至i j 2 0 0 0 m i p s ,常用封装从8 个引脚到1 4 4 个引脚。 目前,嵌入式处理器主要有以下几类【5 】: ( 1 ) 嵌入式微处理器( e m b e d d e dm i c r o p r o c e s s o ru n i t ,e m p l n 嵌入式微处理器的功能与标准的微处理器基本上是一样的。只是在某些方 面( 如工作温度、稳定性、功耗等) 要求比较严格。嵌入式微处理器的特点主 要有:体积小、重量轻、可靠性高和能耗低等。嵌入式微处理器的代表产品主 要有p o w e r p c 、m i p s 、a r m 、s t r o n g a r m 和x s c a l e 、以及5 1 9 8 单片机系列。 ( 2 ) 嵌入式d s p 处理器( d i g i t a ls g n a lp r o c e s s o r ) 在d s p 中专门为系统结构和指令系统进行设计,提高了编译效率和执行速 度。适合在数字滤波、f f t 、谱分析、图像处理分析等领域的应用。目前d s p 采 用最多的是t i 公司的t m s 3 2 0 系列和m o t o r o l a 的d s p 5 6 0 0 0 系列。 ( 3 ) 嵌入式微控制器( m i c r o c o n t r o l l e ru n i t ,m c u ) 嵌入式微控制器又称单片机。它是将一整个计算机系统集成到一块芯片上。 一般在单片机里面以一块嵌入式微处理器内核为核心,然后集成上r o m e p r o m 、r a m 、总线、总线逻辑、定时计数器、w a t c h d o g 、i j o 、串行口、脉宽调 制输出、a d 、d a 、f l a s hr a m 、e e p r o m 等必要的产品和功能外设。因为 这些功能外设是集成在这块单片机芯片中的,因此需要生产出一系列的产品方 便用户的定制。 7 第2 章嵌入式系统研究 目前的嵌入式微控制器主要有8 0 5 1 、p 5 1 x a 、m c s - - 2 5 1 、m c s - - 9 6 1 9 6 2 9 6 、c 1 6 6 1 6 7 、m c 6 8 h c 0 5 1 l 1 2 1 6 、6 8 3 0 0 等等。目前的嵌入式市场 由单片机占领了约7 0 的市场份额。 ( 4 ) 嵌入式系统s o c 芯片( s y s t e mo nc h i p ) 现在的集成电路技术可以把几十万门或者是几百万门的电路放在一个芯片 上。嵌入式系统整合芯片( s o c ) 把嵌入式软件,甚至是c p u 本身以i p 核的方 式集成到芯片内部中,使得应用系统电路板变得很简单,对于减小整个应用系 统的体积和功耗、提高可靠性非常有利。 2 2 2 嵌入式外围设备 嵌入式外围设备是指除中心控制部件以外的完成存储、通信、保护、调试、 显示等辅助功能的其他部件。根据外围设备的功能大体上可分为以下几类【5 1 : 存储器类型:包括静态易失型存储器( r a m ,s r a m ) 、动态存储器 ( d r a m ) 、非易失型存储器( r o m 、e p r o m 、e e p r o m 、f l a s h ) 等三种。其中,f l a s h ( 闪存) 以可擦写次数多,存储速度快,容量 大及价格便宜等优点在嵌入式领域得到广泛的应用。 接口类型:通常包括以下几种:r s 2 3 2 ,4 8 5 ( 串口) ,i r d a ( 红外线接 口) 、s p i ( 串行外设接口) 、i 2 c 接口、u s b ( 通用串行接口) 、e t h e m e t ( 以太网口) 、s c i 、s p i 、c a n 和通用并口。 键盘及输入类型:如传感器,a d ,键盘等 显示及输出类型:包括l e d 数码管,c r t 、l c d 和触摸屏等显示设 备和d a 等输出设备。 2 2 3 实时嵌入式操作系统( r t o s ) 实时多任务操作系统( r t o s ) 是嵌入式应用软件的基础和丌发平台,通常包 括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界 面等。r t o s 是一段嵌入在目标代码中的软件,用户的其它应用程序都建立在r t o s 之上。不但如此,r t o s 还是一个可靠性和可信性很高的实时内核,将c p u 时问、 中断、i 0 、定时器等资源都包装起来,留给用户一个标准的a p i ,并根据各个 8 第2 章嵌入式系统研究 任务的优先级,合理地在不同任务之渊分配c p u 时间。 r t o s 是针对不同处理器优化设计的高效率实时多任务内核,优秀商品化的 r t o s 可以面对几十个系列的嵌入式处理器m p u 、m c u 、d s p 、s o c 等提供类同的 a p i 接口,这是r t o s 基于设备独立的应用程序开发基础。因此基于r t o s 上的c 语言程序具有极大的可移植性。据专家测算,优秀r t o s 上跨处理器平台的程序 移植只需要修改1 5 的内容。在r t o s 基础上可以编写出各种硬件驱动程序、 专家库函数、行业库函数、产品库函数,和通用性的应用程序一起,可以作为 产品销售,促进行业内的知识产权交流,因此r t o s 又是一个软件开发平台。常 见的嵌入式实时操作系统,如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 系统软件公司的q n x 、a t i 的n u c l e u s 等。 2 2 ,4 嵌入式软件特点 嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器 系统软件和应用软件的要求也和通用计算机有所不同。 ( 1 ) 软件要求固态化存储 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储 器芯片或单片机本身中,而不是存贮于磁盘等载体中。 ( 2 ) 软件代码高质量、高可靠性 尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加, 但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求 程序编写和编译工具的质量要高,以减少程序二进制代码长度、提高执行速度。 ( 3 ) 系统软件( o s ) 的高实时性是基本要求 多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度 是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有 效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高 实时性是基本要求。 2 3嵌入式软件开发环境 嵌入式软件开发环境一般包括源代码编辑器、交叉编译器、交叉调试器、 代码优化器、仿真器、连接器、下载器等工具,如图2 3 所示。 9 第2 章嵌入式系统研究 图2 3 嵌入式软件开发 1 编译 在嵌入式开发过程中有宿主机和目标机的角色之分:宿主机是执行编译、 链接、定址过程的计算机:目标机指运行嵌入式软件的硬件平台。首先须把应 用程序转换成可以在目标机上运行的二进制代码。这一过程包含三个步骤:编 译、链接、定址。编译过程由交叉编译器实现。所谓交叉编译器就是运行在一 个计算机平台上并为另一个平台产生代码的编译器。常用的交叉编译器有 g n uc c + + ( g c c ) 。编译过程产生的所有目标文件被链接成一个目标文件,称 为链接过程。定址过程会把物理存储器地址指定给目标文件的每个相对偏移处。 该过程生成的文件就是可以在嵌入式平台上执行的二进制文件。 2 调试目标程序 嵌入式开发过程中另一个重要的步骤是调试目标机上的应用程序。一般采 用宿主机一目标机交叉调试的方式,它们之间由串行口线或以太网或b d m 线相 连,宿主机与目标机的调试连接有多种类型,经常使用的包括远程调试器和在 线仿真器i c e ( i n c i r c u i t e m u l a t o r ) 等。 在嵌入式系统的调试中,i c e 是最有效的工具。i c e 首先可以通过实际执行, 对应用程序进行原理性检验,排除以人的思维难以发现的设计逻辑错误。i c e 的 另一个主要功能是在应用系统中仿真微控制器的实时执行,发现和排除由于硬 件干扰等引起的异常执行行为。此外,高级的i c e 带有完善的跟踪功能,可以将 应用系统的实际状态变化、微控制器对状态变化的反应、以及应用系统对控制 的响应等以一种录像的方式连续记录下来,以供分析,在分析中优化控制过程1 6 j 。 在嵌入式领域中有很多种类的i c e ,通常提供的功能相似:可以实现汇编语言和 l o 第2 章嵌入式系统研究 源程序级的调试,可以暂停c p u 的运行,下载文件,上载文件,修改,查看内存 内容和寄存器内容。 交叉调试器有任务级、源码级和汇编级的调试,调试时需将宿主机上的应 用程序和操作系统内核下载到目标机的r a m 中或直接烧录到目标机的r o m 中。 目标监控器是调试器对目标机上运行的应用程序进行控制的代理,事先被固化 在目标机的f l a s h 、r o m 中,在目标机上电后自动启动,并等待宿主机方调试器 发来的命令,配合调试器完成应用程序的下载、运行和基本的调试功能,将调 试信息返回给宿主机【6 ”。 在嵌入式系统开发中其它的调试工具还包括r o m 仿真器、模拟器、逻辑分 析仪和示波器等【7 】。 2 4 嵌入式实时操作系统p s o s 研究 目前,业界最有名也最具竞争力,广泛用于各种嵌入式智能设备的嵌入式 操作系统是美国加州的集成系统公司( i n t e g r a t e ds y s t e m s i n c ) 推出的 p s o s y s t e m ,简称p s o s 。该公司于1 9 8 0 年在加州的s u n n y v a l e 成立,是业界领 先的嵌入式系统解决方案供应商。p s o s 是一个专门为嵌入式应用程序设计开发 的具有先进水平的实时操作系统( r t o s ) ,这个高性能、模块化的o s 是针对嵌 入式微处理器量身打造的。该系统提供了完全的多任务处理环境,在用户和商 业硬件上都能够有稳定的表现和方便的使用。 2 4 1 p s o s 操作系统结构 p s o s y s t e m 具有模块化的结构。围绕操作系统内核p s o s + 有一系列软件功 能模块。软件功能模块是标准的结构块,因此,不同应用可不加修改地使用它 们。这些模块采用了黑盒子技术,可以使用户免于维护,并且确保高可靠性。 其系统结构如图2 4 所示。 第2 章嵌入式系统研究 图2 4p s o s 系统 由图可见,p s o s 操作系统主要由以下模块组成【8 】: p s o s + :实时多任务内核,提供了实时系统中各种操作的协调机制 ( p s o s + m 为多处理器的多任务内核。此处不进行讨论,下面所讨论的 p s o s + 内核都是指单处理器的p s o s + 内核) ; p n a + :t c p i p 网络管理器,包括网关路由、u d p 、a r p 、i c m p 等协 议的一个完整的t c p i p 实现,并提供了一个标准的s o c k e t 网络编程接 口。 p r p c + :远端程序调用库,提供了s u n 兼容的的r p c 和x d r 调用, 可以用于构建分布式的系统应用; p h i l e + :文件管理系统,用于有效地访问本地或网络大容量存储设备。 支持c d r o m ,m s d o s 兼容的卷标,以及h p f s 文件系统,并可通 过p n a + 和p r p c + 提供客户侧的n f s 服务; p r e p c + :标准的a n s ic 库,提供了丰富的可重入a n s ic 运行函数; p r o b e + :p s o s 应用程序调试器,提供了多种程序调试模式。 模块化技术提供了硬件抽象层概念。硬件抽象层分为芯片级初始化和设备 驱动程序,这些底层的硬件程序独立于p s o s y s t e m 模块和用户的应用。这样开 发的应用程序不会因为处理器和外围设备的更新而被淘汰。因此,如果更新和 1 2 第2 章嵌入式系统研究 升级硬件,用户只需简单地修改一下硬件抽象层的设备驱动程序。 目前,p s o s y s t e m 支持的芯片包括:m o t o r o l a & i b m 的p o w e r p c 系列、 m o t o r o l a 的6 8 x x x 系列,包括c p u 3 2 c p u 3 2 + 、m o t o r o l a 的c o l d f i r e 、m i p sa r m 和s t r o n g a r m 、x 8 6 ,k 6 ,p e n t i u m 、i m e l1 9 6 0 系列,包括b i g l i t t l ee n d i a n s u p e rh i t a c h i ( s h ) 、m o t o r o l am c o r e 结构等【吼。 2 4 2 p s o s + r 勾核 上述各个功能模块中使用最多的就是实时多任务内核。p s o s + 内核作为一 个多任务操作系统内核,是一个管理软件内核,其基本功能可以分为如下几大 类【8 : 任务管理:任务创建,撤销及任务切换机制;实现了基于优先级的、 选择可抢占的任务调度算法,并提供了可选的时间片轮转调度。 内存分配:实现了两种动态内存分配机制一一定长缓冲区分配 ( p a r t i t i o n ) 和变长内存段分配( r e g i o n ) 。 消息队列服务:实现了定长消息队列和可变长度消息队列。 事件和异步信号服务:实现事件及异步信号的同步机制。 信号量服务:提供一系列信号量操作。一般说来,信号量在有互斥的 场合作为临界资源标识使用。 时钟管理和定时器服务:时间管理提供以下功能维护系统日历时 钟;超时( 可选) 一个任务,在它等待信息包、信号量、事件或内存 段;以一定的时间间隔或在特定的时间唤醒或发送告警到一个任务; 跟踪运行任务的时间片,处理时间片轮循。 中断实现:中断处理例程( i s r ) 响应中断,并处理最少的必须处理的 事项,如设备复位、读写一些数据等。 出错处理:通过内核的致命错误处理例程( f a t a le r r o rh a n d l e r ) 实现致 命错误的处理。 2 ,4 。3 p s o s 任务 在实时操作系统中,没有进程和线程的概念,任务才是参与资源竞争( 如 c p u 、m e m o r y 、i od e v i c e s 等) 的基本单位。任务之间可以相互并行、独立地 1 3 第2 章嵌入式系统研究 执行。任务与任务之间的切换、任务之间的通信都是通过系统调用( 在有些情 况下是通过i s r ) 进入p s o sk e r n e l ,由p s o sk e r n e l 完成的皑j 。 每个任务都有一个优先级。p s o s 系统支持0 2 5 5 级优先级,0 级最低,2 5 5 级最高。o 级专为i d l e 任务所有,2 4 0 2 5 5 级为系统所用。在运行时,任务( 包 括系统任务) 的优

温馨提示

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

评论

0/150

提交评论