




已阅读5页,还剩65页未读, 继续免费阅读
(计算机软件与理论专业论文)嵌入式系统硬件开发平台设计及os移植.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息丁程大学硕士学位论文 摘要 随着嵌入式技术的蓬勃发展和广泛应用,嵌入式系统的平台化开发已成为发展趋势。 但是,目前国内外还没有一种能够支持软硬件一体化开发的通用平台产品。针对这一现状, 论文对嵌入式软硬件集成通用开发平台的关键技术进行了深入研究,主要工作包括: 设计并实现了一个通用的模块化硬件开发平台,并给出了接口电路设计和改造的通用 方法,解决了硬件模块的可复用性问题,使硬件开发平台在逻辑上形成了一个硬件模块库, 支持硬件的模块化开发和复用,提高了硬件的开发效率。 针对传统板级支持包( b s p ) 结构封闭、代码专用的弊端,提出了一种可重构b s p 的 设计方法,设计并实现了开放的、通用的可重构b s p ,降低了b s p 的开发难度,提高了开 发效率,并兼具硬件抽象层的优点,支持操作系统跨平台移植的快速实现和软硬件的并行 开发。 通过深入分析操作系统内核及其可移植性,给出了一种基于可重构b s p 的操作系统规 范化和跨平台移植方法,并以实例论述其具体实现过程,与传统移植方法相比,移植效率 得到了提高。 以上工作已在项目中得到实际应用和验证,收效良好。 关键词:硬件开发平台;板级支持包;操作系统移植;模块化;可重构:跨平台;规范化 第v i 页 信息工程大学硕士学位论文 a b s t r a c t a l o n g 、 ,i t l lt h er 印i dd e v e l o p m e n t 锄dw i d e 印p l i c a t i o no fe m b e d d c dt e c l l i l o l o 鼢t l 他 p l a t f b m - i 刎o nd e v e l o p m c n to fe m b c d d e ds y s t e mh 鹊p r e v a j l c d h o w e v t on 峙b e s to f o i l r h o w l c d g e ,n eo ft l l ee x i s t m gp f o 山i c t so fd e v e l o p m e n tp l a 仃o mi ss u c hau i l i v e r s a lp l a 仃o r i i l t l l a ts u p p o r t st l l ei n t e l 妒t e dd e v c l o p m e n to f n w a 陀锄d 脚眦a i m j n ga tt l l i sa c 删i 吼 p a p e rt l l o r o u g m ye x p l o f e dt l l ek e yt c c h n o l o 西e so fm e 1 i v e r s a id e v e l o p m e n tp l a t f o 册t l i a ti s i n l e g r a t c db o t l li ns o f 细a 心锄dt l a r d w a 阳m yc o n t 咖u t i o i l sc 蛐b e 蝴a r i z e d 嬲t h l 豫p a r t s t l l i st l l e s i sp r e s e m e dam o d u l a r i z e dm e m o do fp l a t f o 肌d e v e l o p m e m ,粕dt l l e nd e s i g n e d 龇di m p l e m e l l t e dam o d u l a r i z e dh a r d 嘴d e v e l o p m e n tp l a t f b 肌w h i c hi so p e n e d ,砌v e r s a l , c u s t o m i z a b l e ,粕dp r e s e m e dm el l l l i v e r s a lm e t t l o dt 0d e s i g na n dm o d i 母m ei n t e r f h c ec i r c l l i t s , 坞s o l v e dt i l er c 惦ea _ b i ep m b l c m so fh a r d w a r em o d u l e s ,a r l dm a d ei t s e l ft ob eaw a r e h o u o f l i a r d 咄m o d u l c sl o g i c a l l y s u p p o r t e dm em o d u l a r i z e dd e v e l o p m e m 锄d 嘟eo fh a w a 他, i m p r o v c dt h ee m c i e n c yo f l l a r d w a r ed e v e l o p m e m a i i i l i n ga tt h e 仃a d i t i o n a lb s pa _ b u s e so fc l o ds t n l c t i l r e 觚ds p e c i f i cc o d e s ,m em e s i sp u t f o i w i r dam 胁o r i a b l ew a yt od e s i 印b sp ,m 锄d e s i 鲫e da 1 1 di m p l e m e n t c dt l l er e f k t o r i a b l eb s p 研l i c hi so p e d 锄dl l l 】j v c r s a l 1 h sb s p 化d u c e di t sd e v e l o p i n gd i f f i c u l t i e s ,锄di m p r o v e di 协 d e v e l o p m e me 伍c i e n c y ,锄dp o s s e s s e dt l l ea d v a n t a 【g e so fh a l ( h a r d w a r ea b s 破l c t i o nl a y e r ) c o n c u “e n t l y ,w i l i c hw o u l ds u p p o r tt l l e f a s tc r o s s - p l a c f o 衄p o m n go f0 sa i l dt l l ep a r a l l e l d e 、,e l o p m 饥to f s 0 r w a 锄dt l a r d w a r e t h r o u 曲m e 翘a l y z i n g o f o sk 锄e la i l d i t s p o r t a b i l 陬m c t h e s i sp r e s 蜘t e da m e m o d t o p 叫 o sc r o s s p l a t f 0 衄a 1 1 ds t a n d a r d i z e d l yw h i c hi sb 船i n go nm er e f a c t o r i a b l eb s p ,a i l d 船nc 撼n g p r a c t i c a le x 锄p l e st 0d i s c l l s st h ei l i l p l e m e n 衄t i o np r o c e s si nd e t a i l ,c o m p a r e d 、i t l ln 佗妇d i t i o n a i m e t h o d ,t h en e wo n ei m p r o v e dt h ep o n i n ge 儡c i e n c y a ua b o v eh a v eb e e np u t p r a c t i c ci no l l rp r o j e c t 卸dg o tw e l lr c a c t i o i l a le 位c t s k e yw 6 r d s :1 1 a r d w a r ed e v e l o p m e n tp l a t f o r m ;b o a r ds u p p o r tp a c l 【a g e ;o s 订a i l s p l a n t ; m o d u l a r i z e ;r e f a c t o r i a b l e ;c r o s s - p l a t f b n n ;s t a l l d a r d i z e 第v 页 信息工程大学硕士学位论文 表目录 表le 铀y m o t d 在两种开发模式下开发所需的工作量对比3 0 表2 “c ,o s - 中与移植相关的代码。5 l 第页 信息工程大学硕士学位论文 图目录 图l 嵌入式通用开发平台结构框图9 图2 工作流程及技术难点分布1 2 图3 微内核与宏内核结构示意图1 3 图4 硬件平台的开发流程。1 6 图5m m c 2 1 0 7 外部总线时序图1 7 图6l p c 2 2 1 0 外部总线时序图。1 8 图7 模块化设计的e 鹊”r m 1 9 图8 模块化设计的e a s y m o t o 1 9 图9 r t l 8 0 1 9 a si ,o 读写时序图2 1 图l o 网络接口模块电路示意图2 3 图1 1 网络接口模块的接口电路改造示意图( 初步) 2 4 图1 2e a s y m o t d 上的网络接口模块电路示意图( 优化) 2 5 图1 3i s p l 5 8 1 寄存器访问时序图2 6 图1 4 u s b 接口模块示意图2 7 图1 5e a s y m 0 1 r o 上的u s b 接口模块电路2 8 图1 6b s p 与硬件抽象层的区别3 4 图1 7 可重构b s p 设计示意图3 5 图1 8 网络接口抽象模块内部结构示意图3 6 图1 9b s p 资源库结构示意图3 9 图2 0e 船v a r m 上的b s p 结构图4 1 图2 lb 州m o t o 上的b s p 结构图4 l 图2 2 可重构b s p 在整个系统中的示意图4 3 图2 3 串行与并行开发模式对比图4 3 图2 4m i n i b o o t l o a d c r 流程图4 9 图2 5 此,o s i i 代码结构图5 0 第v 页 原创性声明 本人声明所提交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表和撰写 过的研究成果,也不包含为获得信息工程大学或其他教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 学位论文题目:丛煎盘: 塾塑聋亟送聋丝丝红垦堕垡堕 学位论文作者签名:j 氆型1 日期: 柙年7 月f 口日 作者指导教师签名:蔓盎趣:艮 日期:纱7 年7 月口日 学位论文版权使用授权书 本人完全了解信息工程大学有关保留、使用学位论文的规定。本人授权信息工程大学 可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允许论文被查阅和借 阅;可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目: 戤扛强堑鞘车丘型醴丘坠堡遁匾一 学位论文作者签名: 作者指导教师签名: 日期:矽7 年7 月,4 日 日期:叩年7 月7 口日 信息工程大学硕士学位论文 第一章绪论 e v e r y w h e r e e v e r y t i m e ,e v e r y o i l e 一我们生活在一个嵌入式产品无处不在、无所不 有【l j 的时代! 嵌入式技术为人类带来的改变不亚于一场工业革命【2 1 。随着信息技术的高速 发展,嵌入式技术的应用已经广泛渗透到人们的工作、生活中。从家用电器、手持通讯设 备、信息终端、仪器仪表,到汽车、航天航空、军事装备、制造工业、过程控制等,各种 形式多样的嵌入式产品已经成为信息化时代市场的主流。嵌入式技术是未来计算技术的重 要发展方向【引,因此,顺应嵌入式的发展潮流,研究嵌入式开发的新技术将极具战略意义。 1 1 课题背景 1 1 1 嵌入式系统概述 1 嵌入式系统的定义 嵌入式系统实际上是“嵌入式计算机系统”的简称,它是相对于通用计算机系统而言 的。关于它的定义,目前还没有一个统一的标准。 电机工程师协会( m e ) 对其的定义为:“用于控制、监视或者辅助操作机器和设备的 装置( d e v i c e su s c dt oc o n t f o i ,m o n i t o ro ra s s i s tt l l eo p e r a t i o no f e q u i p m e m ,m a c h i n e 眄o r p l a “t s ) ”【4 ,5 1 。 而国内嵌入式工作者普遍认同的两种嵌入式系统定义为: 从技术角度定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应特定应 用系统,并对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统【6 】。 从系统角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在 一起的计算机系统。术语“嵌入式”反映了这些系统通常是更大系统中的一个完整的部分, 称为嵌入式系统。嵌入的系统中可以共存多个嵌入式系统1 6 1 。 2 嵌入式系统的组成 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各行各业的具体应用相 结合后的产物,是软件与硬件的综合体,是一个技术密集、资金密集、高度分散、不断创 新的知识集成系统【7 】。 嵌入式系统由嵌入式硬件和嵌入式软件两部分组成:硬件架构上以嵌入式处理器为核 心,包含存储器、接口和人机交互等外围设备;软件部分包括一般嵌入式操作系统和应用 软件,但操作系统并不是必需的,在小型嵌入式应用系统中一般不用。 3 嵌入式系统的特点 嵌入式系统是应用于特定环境下,面对专业领域的应用系统,与通用计算机系统相比 主要有以下特点: ( 1 ) 响应及时。许多嵌入式系统都有实时性要求,需要对外部时间迅速做出反应,这 第1 页 信息工程大学硕士学位论文 一点在硬件和软件上都会有很明显的体现 8 】o ( 2 ) 资源有限。嵌入式系统在处理器的计算能力和速度、存储器容量等方面与通用计 算机系统相比都是相当有限的,这就要求它的硬件和软件的设计都必须简单高效,在保证 稳定、安全、可靠的基础上量体裁衣,去除冗余,力争以最低的成本实现最高的性能。 ( 3 ) 低功耗。一方面是为了省电,因为嵌入式系统往往以电池供电;另一方面是要减 少发热量,因为嵌入式系统中通常没有风扇等排热手段。 ( 4 ) 不具备自举开发能力。正是由于自身资源的闲置,嵌入式系统不能具备完整的开 发环境,需要借助上位机的交叉开发工具和环境才能进行开发。 4 嵌入式系统的发展历程 自1 9 7 1 年i n t e l 公司推出第一款微处理器4 0 0 4 以来【9 】,嵌入式系统的发展主要经历了 三个阶段( 以嵌入式操作系统为主线) :无操作系统的嵌入式算法阶段、简单监控式的实 时操作系统阶段和通用的嵌入式实时操作系统阶段【7 1 。目前,嵌入式系统已与人们的日常 生活工作紧密结合,发挥着越来越重要的作用,其功能的强大、设计的复杂与其诞生之初 已不可同日而语。嵌入式系统正朝着网络化、小型化、智能化、多核化和人机界面友好化 的方向发展,相信嵌入式系统会给我们带来更多的惊喜,让我们的世界更精彩1 5 嵌入式技术的重要性 嵌入式技术的发展以及对未来工业革命将产生的巨大影响已经引起世界各国的高度 关注。目前,欧洲的嵌入式技术在航空、汽车电子、通信和消费电子领域处于领先地位, 为了继续保持其自身相对于美国和日本的领先优势,欧盟在2 0 0 4 年成立了a r t e m i s ( a d v a n c e dr c s c a r c h 卸dd e v e l o p m e n to ne m b e d d c di n t e l l i g e ms y s t e m s ) 1 2 j 组织,在欧洲范 围内整合资金和技术优势,把嵌入式技术上升到一个重要的战略高度进行发展。欧盟认为, 嵌入式技术是i t 领域中发展最快的内容,并将保持巨大的技术发展和商业应用机会,掌握 嵌入式技术的领导位置,将具有强大的经济和政治利益。在我国,嵌入式技术方兴未艾, 国家已经把汽车电子、船舶电子军事、工业控制等嵌入式系统开发应用列为十一五计划的 重点【i 】全力打造嵌入式系统孵化基地( d e s i g i lh o i l s e ) ,努力实现嵌入式产品由中国制造 向中国创造的转变,嵌入式技术在产业发展中的重要性仍在持续提升。 1 1 2 嵌入式系统的平台化开发趋势及国内外现状 当前,随着嵌入式技术的蓬勃发展和广泛应用,日益增长的应用需求与相对落后的嵌 入式系统开发模式之间的矛盾,已成为我国乃至世界嵌入式产业界最为突出的矛盾。从零 开始的传统小作坊式开发模式将越来越难以满足日益复杂嵌入式产品开发的要求i l o 】,而基 于软硬件基础平台的开发方式能够最大限度的利用已有的研究成果,减小开发难度、缩短 开发时间、抢占市场先机,因此,平台化将是嵌入式产品开发未来的发展方向【1 “。但是, 平台化开发需要有先进的开发平台作支撑,而目前嵌入式开发平台的发展状况尚不尽人 意。 第2 页 笪星三堡盔兰堡主兰堡丝奎 1 国外发展现状 国外的嵌入式技术起步较早,嵌入式平台开发已初具规模,在众多的嵌入式开发平台 厂商中,最负盛名的是美国的风河( w i n d 鼬v c r ) 公司,它的实时操作系统v x w o r k s 以其 优异的性能一直把持着嵌入式操作系统的半壁江山,它的风河平台( w i n d 鼬v e rp l a t f o 咖s ) 曾获英国电子工业设计奖,其上集成了操作系统、开发工具、接口软件和管理工具等模块, 还包含了硬件和服务器操作参考指南,可以为电子产品的软件开发提供全方位的支持,广 泛应用于消费电子、工业设备、网络设备、服务器等领域。但是,它主要侧重于软件平台 的集成,操作系统只包含了自产的v x w b r l 【s 和风河l i n l l ) 【,硬件上只提供某些特定领域的 解决方案,还未真正实现硬件平台化,实际上就是一个自家产品的集成版。风河公司对其 自身的定位是嵌入式软件厂商,公司既定方针及其自身利益的限制,注定了它不能将平台 化进行到底,不会也不可能站在整个业界的高度去开发一个真正兼容并包的软硬件一体开 发平台。风河之后发布的客户专属平台( c u s t o m e rs p e c i f i cp l a t f o r r n s ,c s p ) ,紧密集成了 风河平台,能够按照客户要求进行定制的集成、扩展和优化,虽然在灵活性上有所提高, 但仍未改变其仅作为一个软件厂商的局限性。现在,风河公司已把自己定位成一家设备专 用软件优化( d s o ,d e v i c es o f t 咄0 p t i m i z a t i o n ) 的领先厂商,推崇的平台化策略是 电子设备厂商必须采用关键任务中间件和标准化的平台方法,通过提高软件部件的重复使 用率,把设备软件的开发、部署和维护提升到一个全新的水平【1 2 l 。但这恐怕是它自己的一 个一厢情愿的想法,真正实现还有待时日。 随着m i c r o s o f t 公司w i n c e 的加入,嵌入式操作系统的市场迅速向两极化发展,形成 了w m c e 与v x w b r l 硌平分秋色的局面。w i n c e 专用的集成开发平台p l a t f o mb u i l d e r 功能 强大,它包括集成开发环境、平台生成器、s d k 导出器、调试器、远程实用工具、仿真器 等,但不包括硬件开发平台。 总的来说,国外嵌入式平台的优秀产品不少,但都是作为特定操作系统的配套产品而 存在,有一定的封闭性和专用性,并且一般不支持硬件开发。社会分工的细化是国外嵌入 式产业的优点,但也使其产品总是带有与生俱来的局限性,难以实现整个行业标准化、集 成化,难以出现真正的软硬件集大成者。与p c 机系统不同,嵌入式行业中不存在像当年 的i b m 一样的统治者,也就不能出现与p c 机一样的行业标准,而且这种情况还将长期存 在。 2 国内发展现状 目前,我国正处于嵌入式技术发展的初级阶段,国内的嵌入式平台市场可以说还是“洋 产品”的天下。国内从事嵌入式平台开发的厂商不少,但成气候的不多,相当一部分的厂 商还以代理国外产品为主,只有极少几个厂商已经开发出自主的嵌入式开发平台,北京科 银京成公司就是其中难得的一个。科银京成可以说是国内嵌入式产业界的执牛耳者,其自 行开发的“道系统( d e l t a s y s t e m ) ”是国内第一套具有自主知识产权的嵌入式软件开发平 刨”j ,在我国的海军、航空等国防领域有一定的市场占有率;此后,又推出l 锄b d a 系列 第3 页 信息工程大学硕十学位论文 的嵌入式基础软件平台,最新的l 锄b d a p r 03 已将开发工具和嵌入式实时操作系统集成在 一起,但只包含了自产的实时操作系统d e l t a o s 3 ,而且不包含硬件平台,只对一些十 分看好的领域,提供软硬件解决方案,如税控收款机等。总之,国内的嵌入式平台还相对 落后,正处于起步阶段,嵌入式产业链还有待完善,各厂商还缺乏提供软硬件整体解决方 案的能力。 可见,无论国内国外目前都缺乏一种真正完整的、通用的嵌入式开发平台产品,尤其 是硬件开发还没有实现平台化,操作系统的支持也十分有限。 1 2 课题来源及意义 本课题来源于国家电子发展基金项目嵌入式系统通用开发平台,该项目以“打造 开发平台,孵化嵌入式系统【l p 的方针为指导,着眼于行业性开放系统和平台建设,旨在 为我国的嵌入式产品开发提供一个通用的、系统的、完整的、可定制的软硬件集成开发平 台,这对于完善我国的嵌入式系统产业链,支持嵌入式系统孵化基地的建设,促进嵌入式 系统开发模式的平台化转变,加速嵌入式新技术和新产品的开发与应用,推动我国信息产 业的迅速发展都具有十分重要的意义。 嵌入式系统通用开发平台是一个集软、硬件平台为一体的综合性开发平台。在硬件上, 以各种微控制器为核心,以嵌入式系统常用组成部件为基本要素,构建成一个通用的硬件 开发和调试平台。在软件上,以各种嵌入式操作系统为核心,构建c p u 类型支持库、各种 硬件部件的设备驱动程序库,编制各种仿真、开发、调试、测试、性能分析工具和标准化 的设计例程,并把所有要件集成为一个通用的软件开发和调试平台。通用硬件平台与通用 软件平台有机结合成的通用开发平台,可以为嵌入式系统设计提供一个完整的开发平台和 优化设计方案。 如果将嵌入式通用开发平台自底向上分为硬件开发平台、操作系统和软件平台三层的 话,那么本课题完成的是其中作为基础的下面两层,其目的是为通用开发平台提供硬件开 发平台和操作系统的支持;同时,也可以直接作为通用的软硬件基础开发平台提供给用户, 支持嵌入式硬件的平台化开发和复用,并提供多种跨平台的操作系统支持,相比同类产品 具有一定的优越性。 1 3 本文的主要研究内容及章节安排 根据嵌入式通用开发平台的总体设计思路,本课题坚决贯彻项目的平台化思想,将这 一思想真正渗透到课题设计开发的每个细小环节中去,实现硬件开发平台和操作系统的充 分平台化,做到“一砖一瓦”皆平台。课题完成的主要工作有: 1 针对传统硬件开发复杂、低效的弊端,给出了一种模块化的平台开发方法,设计并 实现了一个通用的模块化硬件开发平台,并给出了接口电路设计和改造的通用方法,解决 了硬件模块的可复用性问题,使硬件开发平台在逻辑上形成了一个硬件模块库,支持了硬 第4 页 笪星三翌查堂堡主堂堡堡奎 件的模块化开发和复用,提高了硬件开发效率。 2 针对传统b s p 结构封闭、代码专用的弊端,提出了一种可重构b s p 的设计方法, 设计并实现了开放的、通用的可重构b s p ,打破了传统b s p 的封闭性和专用性,降低了 b s p 的开发难度,提高了开发效率,支持了操作系统跨平台移植和软硬件的并行开发。 3 通过深入分析操作系统内核及其可移植性,给出了一种基于可重构b s p 的操作系 统规范化和跨平台移植方法,改写了操作系统内核中与移植相关的代码,并将其抽象为b s p 的操作系统接口,实现了基于可重构b s p 的操作系统规范化和跨平台移植,提高了操作系 统移植效率。 论文后续章节安排如下: 第二章首先论述了嵌入式平台化开发的思想基础、特点、开发内容和步骤,然后论述 了嵌入式通用开发平台的总体设计思路及整体结构,并对课题要解决的技术难点进行了分 析,最后论述了几个下文即将用到的相关概念。 第三章主要论述了模块化硬件开发平台的设计与实现过程。首先论述了模块化硬件开 发平台的总体设计方案,然后以网络接口和u s b 接口电路的模块化设计为例,详细论述了 硬件平台的模块化设计与复用的实现过程,并对微处理器与外围模块的时序匹配问题进行 了深入分析,给出了接口电路设计与改造的通用方案,解决了功能模块复用过程中可能出 现的与处理器的工作时序不匹配的问题,最后对模块化硬件开发平台的效能进行了对比分 析。 第四章首先在深入剖析传统b s p 弊端的基础上,提出了一种可重构b s p 的设计方法, 然后设计并实现了开放的、通用的可重构b s p ,并以实例详细论述了其设计和实现过程。 第五章首先深入分析了操作系统内核及其可移植性,给出了一种基于可重构b s p 的操 作系统规范化和跨平台移植方法,然后对其中与硬件相关( 移植相关) 的代码进行规范地 改写和整理,并将其抽象为b s p 的操作系统接口,最后在可重构b s p 的基础上,实现了 操作系统的规范化和跨平台移植。 第5 页 信息工程大学硕士学位论文 第二章嵌入式通用开发平台的总体设计与关键技术分析 在科学技术的世界里有一个通行的规则【1 4 】站在前人的肩膀上,充分利用前人已经 取得的成果,把自己的精力专注于自己具有独特竞争优势的地方。要提高嵌入式系统的开 发效率必须解决两个问题:一是不要让所有的软硬件工作都从头做起:二是提高软硬件的 可重用性。解决这两个问题的正确方法就是实现嵌入式系统的平台化开发。 2 1 平台化开发的理论基础 2 1 1 平台化思想概述 平台思想实际上是一个很朴素的思想,它广泛地体现在平时的工作生活中,比如我们 学习的知识往往都是前人留下来的宝贵知识财富平台,我们只是在此平台上的不断应用和 创新,并对平台的不断扩充。因此,平台实质上就是某个领域经验知识的集成,由知识模 块及其管理和应用工具组成。平台的意义在于更好的应用已有的经验知识来开发和探索新 的知识。这里所说的知识包括科学原理、技术方法、工具、产品等等,但这些都必须以某 种具体的方式出现,譬如科学原理可以用编程语言描述的算法和流程来表述,技术方法可 以用函数库来组织。所以说,平台是一种技术,它既可以用于科学研究,也可以用于产品 开发。 平台又是一种形象的说法,实际上也可以看成一个知识库,这个知识库按照一定的规 范来组织,库内的知识都用某种方式( 描述规范和语汇) 进行描述,并提供了很多接口和 接口工具。描述知识库的方式并不局限于我们比较容易理解的软件的方式,也可以是硬件 的形式,譬如微处理器实际上就是把很多行为抽象成为由很多基本逻辑运算组成,然后用 硬件来实现这些基本逻辑运算。 开发人员通过接口操纵和组合这些基本逻辑运算,创造新的行为。可见开发人员或者 上层平台是利用接口来操作知识库的,并将其中的知识重新组合起来开发出新的产品,或 者产生新的行为【1 5 】。 接口工具的作用在于填补各个平台之间的“缝隙”,因为不同的平台都有自己的语汇 和规范,接口工具就像一个翻译机,把一种语汇和规范翻译成另一种语汇和规范,更强大 的接口工具还会提供一些管理方法来维护和进化知识库,这种进化不仅局限于容易理解的 软件知识库的增添和修改,而且在硬件中也能实现,譬如现在出现的可重构技术,可以在 不同的时间,在一块f p g a 上实现多种不同的电路。 综上所述,我们可以归纳出平台的三个组成要素:知识库、知识库的接口、接口工具。 此外,需要特别指出的是,以软件形态出现的知识库比较常见,称为软库;也存在类似c p u 这样的硬件形态知识库,称为硬库。 这种广义平台思想已经在各行各业以各种形式被广泛应用,而它也正是开发平台的思 第6 页 信息工程大学硕士学位论文 想基础和理论依据。 2 1 2 平台化开发的特点和优势 将平台思想应用于产品开发就是产品的平台化开发,也就是指在一个设计集团中,实 行严格的标准化、系列化、规范化设计,将某一类产品领域的基本硬件和基本软件集成为 产品的“统一机芯”,也即基础平台,并对基础平台相关的周边扩展电路及应用软件进行优 化和筛选,形成基础平台的平台资源库【16 】。在开发新产品时,只需基于基础平台,选择平 台库中的相关资源进行集成即可,力求用最小的代价开发出满足应用需求的产品。在平台 化模式下,产品的开发是基于平台建设基础上的,企业的先进技术表现在有先进的软硬件 平台,以及在先进的平台上迅速开发出新产品。平台化开发的技术路线可概括为:根据需 求选择开发平台、进行软硬裁剪、重新制作电路板、自行开发或委托开发应用软件,这是 一种从复杂到简单、从通用到专用的裁剪过程,开发投入少、周期短、风险低。符合专业 技术分工明确、技术合作与交流日益加强的时代发展潮流。 而传统开发模式则是各自为战的、随意性的、个体的、“自然经济”的、所有工作都 需从头做起,大量基础工作不断重复,严重阻碍了生产力的发展和生产效率的提高。其技 术路线可概括为:根据开发需求选定微控制器、选定硬件设计方案、选购特定型号的开发 板及开发系统( 如果有的话) 、设计和调试硬件电路、自行设计或委托开发底层软件和应 用软件,这是一种从无到有、由简到繁的开发过程,开发投入大、周期长、风险高。 与传统开发模式相比,平台化开发的优势主要体现在: ( 1 ) 易用性。屏蔽了具体实现思想,只经过必要的相对较少的接口,为平台应用者提 供一个易于理解、易于操作的友好界面。 ( 2 ) 快速性。就像建筑工人构建房屋,不用从零开始,而是在基于大量知识集成的基 础上,通过采用通用构件来组装目标系统,进而缩短产品的研发周期。 ( 3 ) 可维护性。平台的标准化、系列化、规范化、模块化、参数化设计,降低了平台 产品失败的风险,提高了系统的可理解度,有利于产品的建设、维护与更新。 ( 4 ) 易扩展性。可扩展性,或者说可持续发展的能力,是任何开发项目都需要考虑的。 而平台化开发则天生具有这种能力,它还可以简单地添加满足条件的、经过实践检验的新 构件模块,以进一步扩展平台的规模和功能等【l6 。 总之,平台方式代表了广大产品开发者最根本的利益,代表了先进企业文化的前进方 向,代表了先进生产力的发展要求,是现代化大生产方式下产品开发不可扭转的发展方向 和唯一的正确模式。 2 1 3 嵌入式平台化开发的内容与步骤 嵌入式技术的不断发展和应用需求的不断增长,使得嵌入式开发的难度和复杂度不断 增加,需要采用先进的开发模式来降低开发难度,提高开发速度,改变嵌入式产品开发举 步维艰的现状。因此,构建通用开发平台,应用平台化思想进行嵌入式产品的开发成为必 第7 页 堕星三堡奎堂堡主堂垡笙塞 然。中国计算机学会微机专业委员会最新的中国计算机科学技术发展报告指出:平台 化开发策略被广泛采用将是嵌入式系统发展的趋势之一脚。 嵌入式系统的开发平台化包括硬件开发平台化和软件开发平台化。 1 硬件开发平台 硬件的平台化要求硬件电路的设计尽量做到“模块化”和“拼图化”,根据产品的系统扩 展与配置要求,制定外围扩展的典型系列电路。这些典型电路应具有典型性、通用性、系 列性和扩展性,做到不需改动或者经很小改动就可以运用到类似的产品中。并针对不同的 应用,规划出优选的硬件结构,例如智能仪表中,针对不同的精度要求规划出低、中、高、 超高精度的优选数据采集模块电路。 2 软件开发平台 软件的平台化要求实现软件的构件化设计,以提高软件的易复用性和可重构性,应大 力采用中间件的设计思想,增强软件的可移植性和硬件无关性,并形成标准的、构件化的 应用软件库、驱动库、专家函数库、中间件库等。以操作系统为核心,借助其出色的“软 件核心”能力,将所有的软件资源都方便、灵活的管理并调度起来,更好地为整个系统服 务。同时,操作系统及系统功能软件( 文件系统、网络服务等) 应根据嵌入式系统的自身 条件和特点按需选择。 嵌入式系统的平台化开发步骤如下: ( 1 ) 客户需求分析 相对台式机系统,嵌入式系统的客户需求一般都明确清晰。这一部分所占开发周期比 重也应相应降低。但在对客户需求分析的同时要考虑客户潜在的后续应用,在设计系统硬 件时尽可能留出余量。 ( 2 ) 选择合适的开发平台 主要包括硬件开发平台的选择、操作系统的选择和其它软硬件资源的选择。 硬件开发平台的选择主要是指嵌入式处理器及其开发板的选择。其中,嵌入式处理器 是整个硬件开发平台的核心,它的选择原则是:满足功能性和非功能性指标( 价格、供货 速度) 需求的、市场应用收效良好的、硬件配置最少的嵌入式处理器【l7 。同时也需要考虑 开发人员对此系列处理器的熟悉程度及处理器对嵌入式操作系统的支持程度。处理器开发 板的选择原则是能够使其所带硬件资源在最大程度上满足应用需求,宁多勿缺,因为裁剪 总是相对比添加容易。 操作系统的选择首先要考虑处理器是否支持的问题,然后考虑系统的复杂程度、实时 性需求和其它系统功能需求( 文件系统、网络服务等) ,此外,如果操作系统是非开源的, 还应考虑其购买和服务成本的问题。 其它软硬件资源是指在已选择的硬件开发板和操作系统尚不能完全满足需求的情况 下,需要增加的软硬件资源,主要包括:硬件模块及其驱动程序、应用软件等。而且这些 软硬件资源应尽量从各种资源库中选择,实在没有的才自行开发。 第8 页 笪:垦三堡奎堂堡主堂笪堡苎 ( 3 ) 软硬件裁剪、集成和调试 根据应用需求,对硬件开发平台和操作系统进行裁剪,去掉不必要的功能模块,以减 小体积,降低成本。将所有软硬件资源集成并调试,其中,软硬件的设计和调试可以是串 行的,也可以是并行的,这取决于是否有硬件抽象层的支划蝎l 。 ( 4 ) 系统重制作并形成产品 只需将上一步集成并调试好的软硬件,特别是硬件,进行重新制作,在物理上实现裁 剪,以满足产品在体积、成本、外观等方面的要求,最后加载上已调试好的软件就可以形 成产品了。产品也许还会经过严格的测试,解决出现的问题,直至开发出一个可靠而优秀 的产品。因此,在建立开发平台的时候,应尽量保证各软硬件资源都是经过优选,并具有 相当的可靠性的。 2 2 通用开发平台的总体设计 2 2 1 平台的整体结构 如前所述,嵌入式系统通用开发平台是一个集软、硬件平台为一体的综合性开发平台, 旨在为用户提供一个近乎完美的嵌入式解决方案:硬件支持范围广、软件集成程度高,可 扩展、可定制、可重构、操作系统内核可裁剪、功能组合模块化、平台架构可拆分,这一 切使得嵌入式系统的开发变得像搭积木一样简单,其整体结构如图l 所示。 封 硬 件 开 发 平 台 l 瓣| 嵌入式实时操作系统 1 i l i 图l 嵌入式通用开发平台结构框图 2 2 2 平台的分层设计 由图l 可见,嵌入式通用开发平台在结构上主要可分为硬件开发平台、操作系统和软 第9 页 厂,、l 信息工程大学硕士学位论文 件平台三层,各层设计如下: 1 硬件开发平台层 硬件开发平台层由一系列硬件开发板组成,它的主要作用是为通用开发平台提供广泛 的硬件支持。 在硬件组成上以嵌入式处理器为核心,包括网络接口、u s b 接口、s p i 接口、标准串 口、液晶控制及显示、触摸屏、存储器等常用外围部件。其中,嵌入式处理器的支持范围 应广泛,支持a r m 、m i p s 、e i a 、p o w e r p c 、c o l d f i r c 、m c o r e 等主流体系结构;网络 接口支持l o m l o o m 传输速率;u s b 接口支持u s b l o ,1 1 2 o 标准;触摸屏应包括电阻式、 电容式等不同类型;串口支持r s 2 3 2 4 2 2 4 8 5 等标准:液晶显示支持彩色、黑白、灰度三 种等级:存储器包括d r a m 、s r a m 、f l a s h 等不同类型和容量的存储芯片。此外,其 它常用外围部件也应具有一定的硬件包容性,以满足不同的应用需求。 在电路设计上应具有典型性、系列性、可扩展性和一定的通用性,做到模块化、拼图 化,实现可定制、可裁剪、可扩充和可复用。 硬件开发平台在物理形态上是一系列独立的硬件开发板,但在逻辑上是一个资源丰富 的硬件模块库,各模块功能完整,有机结合为硬件开发平台;从功能模块到硬件开发板到 硬件平台都可作为产品提供给用户。 2 操作系统层 操作系统层由各种嵌入式实时操作系统组成,主要包括“c l i n t i 】【、a i 洲l i n u x 、 p c o s - 、v x w b r l 岱、w i n c e 等常用操作系统。该层所需工作主要是:实现多种操作系统 在硬件开发平台上的跨平台移植;分析操作系统内核结构和原理,实现对内核的改造、改 进、裁剪和定制;设计并实现可重构的板级支持包b s p ,支持b s p 的快速开发和操作系统 的跨平台移植。 3 软件平台层 软件平台层包括应用软件库、专家函数库、设备驱动库、c p u 类型库、编译器、连接 器、调试器、反汇编器和仿真工具等各种开发中用到的软件资源。 根据项目安排,本课题完成的是硬件开发平台层和操作系统层。其中,课题又将操作 系统层的工作分为b s p 的开发和操作系统的移植,本文将按顺序分别对它们进行论述。 2 3 通用开发平台的关键技术分析 2 3 1 硬件开发平台的模块化设计及模块复用问题 硬件开发平台由一系列通用硬件开发板组成,每块开发板都以某款嵌入式处理器为核 心,包含几乎所有的嵌入式系统常用的功能外设。如果采用传统开发模式,单独为各款处 理器设计其开发板,一则工作量太大,二则违背了平台化思想,导致大量重复工作,降低 了开发效率。因此,硬件开发平台中的各开发板均采用模块化设计,将各开发板上的功能 电路设计成硬件模块,所有模块以开发板为载体在逻辑上形成一个资源丰富的硬件模块 第1 0 页 堡星王堡查兰堡堂垡笙奎 库。各硬件模块都是精心设计、优选的电路,具有典型性、通用性和系列性,不经改动或 稍作改动就可以运用到各开发板中,各个模块即是一个个小平台,每块开发板都是基于这 些“模块平台”开发的。模块化硬件开发平台在物理上是一系列分离的开发板,但在逻辑 上却是一个有机结合的硬件模块库,可以支持嵌入式硬件的模块化开发。而这便是平台思 想的精髓所在,也是模块化硬件开发平台与其它厂商开发板的本质区别。 但是,只有实现各模块的成功复用,模块化才有意义,各硬件模块才不会被“拘禁” 在具体的开发板上,它们“游离”于整个平台空间,可以进行“自由组合”,从而开发出 不同的硬件开发板或产品来。然而,硬件模块的设计是与处理器密切相关的,不同处理器 的接口和时序有可能是不一样的。因此,在这块开发板上的硬件模块也许会因为接口和时 序不匹配而无法直接复用到另一块开发板上去,或者平台中的硬件模块无法直接复用到新 的嵌入式系统中去。可见,硬件模块的复用问题实际上就是怎样使各模块与各款处理器匹 配工作的问题。如果模块与处理器的接口和时序匹配,则可以不经改动直接复用,如果模 块与处理器的接口和时序不匹配,则需要先对模块的接口电路进行改造,然后才能复用。 因此,这部分的难点主要有两个:一是怎样设计使硬件模块更具通用性和可复用性; 二是怎样解决硬件模块复用过程中出现的与处理器时序不匹配的问题,也即接口电路的设 计与改造问题。 2 3 2 板级支持包的可重构性问题 板级支持包( b s p ) 是介于硬件和操作系统之间的一层【1 9 1 ,确切地说是属于操作系统 的一部分,其主要目的是:支持操作系统,使之能够更好地运行于硬件主板;隔离操作系 统和硬件平台之间的相关性,增强操作系统的可移植性。b s p 是相对于操作系统而言的, 不同的操作系统对应于不同定义形式的b s p ,不同操作系统b s p 的写法和接口定义一般是 不同的1 2 0 l 。b s p 也是与具体硬件相关的,电路板上的硬件不同,编写的b s p 也会不同。可 见,b s p 是特定操作系统和特定硬件环境专用的:若硬件环境完全相同,而操作系统不同, 则需要专门开发不同的b s p ;即使操作系统相同,若硬件环境稍有不同,仍需开发专门的 b s p 。而且,由于b s p 与硬件和操作系统密切相关,需要其开发人员对底层硬件、处理器 指令集和操作系统都非常熟悉
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车租赁托管协议书
- 土地抵押担保协议书
- 药品委托物流协议书
- 异地过户协议书范本
- 通信施工免责协议书
- 现金托管协议书范本
- 农户果树变卖协议书
- 幼师租房诚信协议书
- 装修后续承诺协议书
- 机电就业协议书范文
- 2025年广东能源集团云浮蓄能发电有限公司招聘笔试参考题库含答案解析
- 2024年考生面对挑战时的心理调整试题及答案
- 2025-2030全球及中国4,4-二氟二苯甲酮行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 【初中地理】撒哈拉以南非洲课件-2024-2025学年人教版地理七年级下册
- 2024年信息安全试题及答案
- 药物治疗管理MTM
- 广东省佛山市南海区2024-2025学年七年级外研版英语期中练习题(含答案)
- 钢筋精算管理操作手册
- 2025年河南水利与环境职业学院单招职业技能测试题库审定版
- 近十年英语中考完形填空试题
- 《孟子》导读PPT课件
评论
0/150
提交评论