




已阅读5页,还剩65页未读, 继续免费阅读
(计算机软件与理论专业论文)嵌入式调试方法分析及基于vxworks的调试工具实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 本文作者首先对嵌人式操作系统的特殊性进行了一定的允析和 探讨,然后对嵌入式操作系统的开发和调试理论着重进行了研究。 并以嵌入式操作系统v x w o r k s 为例,在研究了其开发和调试流程的 基础上,分析其有所欠缺的地方,提出了自己的改进方案,最后在 需求分析,高层设计,详细设计的之后成功的实现名为d e b u gt o o l 的调试工具。极大的提高了嵌入式软件的开发过程地效率。 关键词:嵌入式软件j 嵌入式系统,嵌入式操作系统。调试 a b s t r a c t f i r s t ,t h ea u t h o ra n a l y z e dt h ee m b e d d e do sp a r t i c u l a r i t y ,a n d a 1 s or e s e a r c ht h ee m b e d d e do s d e v e l o p m e n ta n dd e b u gp r o c e s s i n t h ee n d ,t h ea u t h o r s t u d y t h ev x w o r k se m p h a t i c a l l y ,b a s eo f r e s e a r c hi t sd e v e l o p m e n ta n dd e b u gp r o c e s s a n a i y z ei t sd e f e c ti r e , a n db r i n gf o r w a r dt h e i m p r o v ep r o j e c t a f t e r t h er e c u i r e m e u l a n a l y z e ,h i g h l e v e ld e s i g n ,d e t a i l e dd e s i g n ,i m p l e m e n tt h ed e b u g t o o lt r i :m n p h a n t l y i ti si m p r o v et h ee m b e d d e ds o f t w a r ed e v e l o p m e n t 1 a r g e l y , k e y w o r d :e m b e d d e ds o f t w a r e ,e m b e d d e ds y s t e m ,e m b e d d e do s ,d e b u g 硕士论文:嵌入式调试方法分析及基于v x w a r k s 的调试工具实现 第1 章引言 1 1 背景综述 我们平时接触和熟悉的诸如d o s 、w i n d o w s 、l i n u x 等操作系统都是 通用操作系统,它们针对的是p c 或是功能更为强劲的工作站。为了最 大幅度地兼容各种软硬件产品,充分发挥它们各自的功能,通用操作系 统一般都面面俱到、体积庞大。 区别于通用操作系统,这些用于电话系统、数字相机和其他智能化 电器中的系统软件被形象地称为“嵌入式操作系统”( e :t l b e d d e d0 s ) 。 区别嵌入式操作系统,这里强调另外一个重要概念_ i 嵌入式系 统。嵌入式系统则是计算机的一种应用形式,通常指埋藏在宿主设备中 的微处理机系统,此类计算机一般不被设备使用者在意,亦称埋藏式计 算机,典型机种如微控制器、微处理器和d s p 等。 由于嵌入式操作系统的完善和发展,嵌入式系统已经被广泛应用于 人类生活中,其中包括消费电子产品,交通系统,工业控制,通讯系统 等领域。在目前和未来,最具有时代特征的嵌入式产品应该是因特网上 的信息家电c i n t e r n e ea p p l i a n c e s ) ,如w e b 可视电话、w e b 游戏机、w e b p d a ( 俗称电子商务、商务通) 、w a p 电话手机、以及多媒体产品,如s t b ( 电 视机顶盒) 、d v d 播放机、电子阅读器等。 随着嵌入式系统的广泛应用,嵌入式系统中软件的规模和复杂性正 在迅速增加,嵌入式软件正在成为信息技术中发展最快的领域。 在越多的领域使用软件和微处理器控制各种嵌入式设备,对日益复 杂的嵌入式软件进行快速开发和有效的调试愈加显得重要。但是在嵌入 式软件的开发过程中,由于嵌入式软件交叉开发的特殊性,使其调试和 测试都是一项费时费力的工作,如何提高嵌人式软件的质量和开发效 率,是目前业界急需解决的问题 1 2 本课题总体情况 基于以上原因,制定了本课题的研究方向,其中包括以下的内容 嵌人式操作系统研究 1 一 硕士论文:嵌人式调试方法分析及基于v x w o r k s 的调试工具实现 嵌入式操作系统的软件开发环境研究 嵌入式操作系统的软件开发的特殊调试方法和理论研究 嵌入式操作系统调试工具的实现研究 v x w o r k s 开发环境和调试工具研究 v x w o r k 调试工具存在的问题研究 嵌入式软件开发人员对调试工具的需求调查 基于v x w o r k s 调试工具改进方案的概要设计,详细设计和实现 调试工具的发布 本论文的选题主要根据作者在本课题研究过程中承担的工作和获 得的成果作为主要内容,其中包括理论研究结果,调试工具设计实现方 案,以及设计过程中获得的宝贵经验。 1 3 选题的意义和价值 基于前面的分析,我们可以知道嵌入式系统有着巨大的市场,而且 嵌入式软件在可靠性和稳定性都有着极高要求。但是由于嵌入式软件和 嵌入式操作系统的特殊性,嵌入式系统的开发需要特殊的开发调试方 法,这就对嵌入式操作系统的调试工具和调试环境提出了特殊的要求。 目前的嵌入式操作系统的调试工具和调试环境还不尽人意,这导致 了嵌入式软件的开发比普通软件开发难度大,开发调试周期长等问题。 随着嵌入式操作系统和嵌入式软件的广泛研究和应用,需要对嵌入式操 作系统的调试理论进行研究,对嵌入式操作系统的调试环境和工具进行 改进,从而有效的降低嵌入式软件开发的难度,缩短嵌入式软件开发调 试的周期。这样就可以在一定程度上降低嵌入式系统的成本,使得嵌入 式系统能够尽快为太多数消费者所接受。 本课题基于以上的要求对嵌入式操作系统相关理论进行了研究,对 嵌入式软件开发调试方法进行了系统的总结。并且提出了一套完整的基 于v x w o r k s 的软件开发调试工具的解决方案,并且在该方案的基础上实 现了名为d e b u gt o o l 的开发调试工具。该工具在课题合作单位得到的 广泛的应用,有效的降低了嵌入式软件开发和调试难度,提高了嵌入式 软件开发的效率。 硕士论文:嵌人式调试方法分析及基于v x w o r k s 的调试工具实现 本课题的研究成果总结了嵌入式领域软件开发调试理论,并且对改 善嵌人式软件开发环境和调试工具进行了有效的实践探讨。 综上所述,本课题研究无论在理论上还是在实际应用上都有着一定 的意义和价值,并且具有广泛的社会经济价值。 1 4 国内外研究的动向 1 4 1 国外研究情况 对嵌入式操作系统的调试理论进行专门研究不多,相关的论文,参 考文献和专利比较少。致力于对嵌入式开发,调试环境的改进研究的就 更少。因此目前业界还广泛使用着传统的嵌入式开发调试环境和调试方 法。 1 4 2 国内研究情况 国内已经有一些公司推出了有自主产权的嵌入式操作系统及其调 试开发环境,但是在调试理论和调试环境上比较国外的嵌入式操作系 统,没有实质上的突破。 国内很多厂商使用v x w o r k s 作为自己的嵌入式软件的平台, v x w o r k s 软件开发调试环境被广泛应用,但是目前没有人对v x w o r k s 的 调试环境进行改进。 目前国内嵌入式软件开发,特别是调试,效率低,不方便,成为影 响嵌入式软件开发效率的瓶颈。 1 5 本文的主要工作 作者在本课题的研究过程中,承担了主要的理论研究,方案设计, 以及实现和工具发布等大量的工作。 作者在嵌入式软件的开发过程中,注意到了其调试和测试过程存在 的问题,并致力于改进嵌入式软件在调试和测试方法的理论研究,最终 提出了提高嵌入式软件开发效率的调试工具的改进方案,并且实现了该 方案。 从2 0 0 1 年3 月份开始,作者阅读了大量的嵌人式系统方面的文档, 对其中的原理进行理论研究,并实际了解调查了许多嵌入式软件开发人 硕士论文:嵌入式调试方法分析及基于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 为例提出在嵌人式操作系统下面的调试方法的改进 方案 v x w o r k s 开发环境的辅助工具的实现。其中包括了: 1 ) 需求分析 2 ) 调试方法改进方案的高层设计 3 ) 调试方法改进方案的详细设计 4 ) 根据设计文档进行编码 5 ) 发布测试版本给用户使用,并收集新的信息反馈,以便改 进 6 ) 根据测试版本中出现的问题对文档进行相应的改正,以及 对应的编码部分做相应的修改 7 ) 正式版本的发布,撰写用户使用文档 硕士论文:嵌入式调试方法分析及基于v x w o r k s 的调试工具实现 第2 章理论分析 2 1 嵌入式操作系统分析 在前面的引言部分,简单的对嵌入式系统,嵌人式操作系统进行了 介绍,下面将对嵌入式操作系统相关的概念和理论进行详细的论述。 2 1 1 发展现状 在介绍嵌入式操作系统之前,首先要明确另外一个概念,那就是嵌 人式系统。 何谓嵌入式系统? 嵌入式系统一般定义为,一种设备被用于控制( c o n t r 0 1 ) 、监视 ( m o n i t o r ) 或协助设施、机器、工厂之操作运转。它们可能是整个硬件设 备的一个零件,或一部机器;也可能是软件型态,或固件( f m m w 久r e ) 形式;有的以明显型态存在易于标识,也有隐存于机器内部不易为人所 识。 所有嵌入式系统大多是些比个人计算机还简单的设备,最简单的像 单一微处理器( 通常叫做晶片,c h i p ) ,大都与其他晶片套装在一组件上 ( h y b r i d ) 或特殊用途的i c 晶片上。其经某一探测器、感应器等输入讯号; 而输出为启动某一开关或一个动作( 开动、或关闭一部机器的运作) 、或 一个值、一个脉冲波以控制一部引擎的油料等。 简单的嵌入式系统可以执行单一或一组预先设计的功能,较复杂的 嵌入式系统大都经由应用程式控制执行一个特殊功能,或做成固件。嵌 入式系统是计算机的一种应用形式,通常指埋藏在宿主设备中的微处理 机系统,此类计算机一般不被设备使用者在意,亦称埋藏式计算机,典 型机种如微控制器、微处理器和d s p 等。而嵌人式操作系统就是在嵌 人式系统中扮演“灵魂”角色的系统软件。 区别于通用操作系统,这些用于电话系统、数字相机和其他智能化 电器中的系统软件被形象地称为“嵌入式操作系统”( e m b e d d e do s ) 。 实际上,安装有嵌入式微处理器、运行嵌入式o s 的各种电子设备和产 品对人们的日常生活的影响远胜于运行视窗的p c 。据统计,目前销售 的各种微处理器中有3 4 被用于各种嵌入式系统中。不管人们是否觉察 s 硕士论文:嵌a 式调试方法分析及基于v x w o r k s 的调试工具实现 到,嵌入式系统正在悄悄地改变着人们生活、工作、联络和旅行的方式。 因为嵌入式系统中的应用程序必须在极少人工介入的情况下完成 高度专业化和实时的工作,这就要求嵌入式o s 能为之提供高效的服务 和有力的支持。嵌入式系统中的硬件资源环境一般比较苛刻,嵌入式微 处理器和微控制器的内存一般都不大,要在如此紧张的资源下完成复杂 的功能,这就要求嵌入式系统软件必须尽量的小巧、稳定和高效。对于 程序员来说,要成功开发出精致高效的嵌入式应用软件也是一件极富挑 战性的事情。 计算机应用的普及、互联网技术的实用以及纳米微电子技术的突 破,正有力推动着2 1 世纪工业生产、商业活动、科学实验和家庭生活 等领域自动化和信息化进程。全过程自动化产品制造、大范围电子商务 活动、高度协同的科学实验以及现代化家庭起居,为嵌入式产品造就了 崭新而巨大的商机。除了沟通信息高速公路的交换机、路由器和 m o d e m ,构建c i m s 所需的d c s 和机器人以及规模较大的家用汽车电 子系统。最有量产效益和时代特征的嵌入式产品应该是互联网上的信息 家电( i n t e m e ta p p l i a n c e s ) ,如w e b 可视电话、w e b 游戏机、w e bp d a ( 俗 称电子商务、商务通) 、w a p 电话手机、以及多媒体产品,如s t b ( 电 视机的机顶盒) 、d v d 播放机、电子阅读机。 由此可见,嵌入式操作系统是一种不同于通用操作系统的特殊操作 系统,由于嵌入式操作系统的发展和完善,嵌入式系统逐渐得到应用, 并且在悄悄的改变人们的生活。嵌入式操作系统以及嵌入式系统理论已 经比较完善,也到了一定范围的应用,并且显示出良好的应用前景。但 是由于嵌入式系统的特殊性,也为嵌入式操作系统提出了诸多的要求, 随着嵌入是系统日益广泛的被应用到各行各业,对嵌入式操作系统的要 求也越来越多,越来越紧迫。 2 1 2 与通用操作系统区别 由于嵌人式操作系统和我们所知的常规的操作系统有比较大得区 别。所以我们要着重的研究一下他们的具体差别。 我们在日常工作学习环境中接触最多的是通用操作系统,通用操作 系统是由分时操作系统发展而来,大部分都支持多用户和多进程,负责 管理众多的进程并为它们分配系统资源。分时操作系统的基本设计原则 硕士论文:嵌入式调试方法分析及基于v x w o r k s 的调试工具实现 是:尽量缩短系统的平均响应时间并提高系统的吞吐率,在单位时问内 为尽可能多的用户请求提供服务。由此可以看出,分时操作系统注重平 均表现性能,不注重个体表现性能。如对于整个系统来说,注重所有任 务的平均响应时间而不关心单个任务的响应时间,对于某单个任务来 说,注重每次执行的平均响应时间而不关心某次特定执行的响应时间。 通用操作系统中采用的很多策略和技巧都体现出了这种设计原则,如虚 存管理机制中由于采用了l r u 等页替换算法,使得大部分的访存需求 能够快速地通过物理内存完成,只有很小一部分的访存需求需要通过调 页完成,但从总体上来看,平均访存时间与不采用虚存技术相比没有很 大的增加,同时又获得了虚空间可以远大于物理内存容量等好处,因此 虚存技术在通用操作系统中得到了十分广泛的应用。类似的例子还有很 多,如u n i x 文件系统中文件存放位置的间接索引查询机制等,甚至硬 件设计中的c a c h e 技术以及c p u 的动态分支预测技术等也都体现出了 这种设计原则。由此可见,这种注重平均表现,即统计型表现特陛的设 计原则的影响是十分深远的。 而对于嵌入式操作系统,前面我们已经提到,它除了要满足应用的 功能需求以外,更重要的是还要满足应用提出的实时性要求,而组成一 个应用的众多实时任务对于实时性的要求是各不相同的,此外实时任务 之间可能还会有一些复杂的关联和同步关系,如执行顺序限制、共享资 源的互斥访问要求等,这就为系统实时性的保证带来了很大的困难。因 此,嵌入式操作系统所遵循的最重要的设计原则是:采用各种算法和策 略,始终保证系统行为的可预测性( p r e d i c t a b i l i t y ) 。可预测性是指在系统 运行的任何时刻,在任何情况下,嵌入式操作系统的资源调配策略都能 为争夺资源( 包括c p u 、内存、网络带宽等) 的多个实时任务合理地分配 资源,使每个实时任务的实时性要求都能得到满足。与通用操作系统不 同,嵌入式操作系统注重的不是系统的平均表现,而是要求每个实时任 务在最坏情况下都要满足其实时性要求,也就是说,嵌入式操作系统注 重的是个体表现,更准确地讲是个体最坏情况表现。举例来说,如果实 时操作系统采用标准的虚存技术,则一个实时任务执行的最坏情况是每 次访存都需要调页,如此累计起来的该任务在最坏情况下的运行时间是 不可预测的,因此该任务的实时性无法得到保证。从而可以看出在通用 操作系统中广泛采用的虚存技术在嵌入式操作系统中不宜直接采用。 由于嵌入式操作系统与通用操作系统的基本设计原则差别很大,因 硕士论文:嵌入式调试方法分析及基于v x w o r k b 的调试工具实现 此在很多资源调度策略的选择上以及操作系统实现的方法上两者都具 有较大的差异,这些差异主要体现在以下几点: 。 ( 1 ) 任务调度策略: 通用操作系统中的任务调度策略一般采用基于优先级的抢先式调 度策略,对于优先级相同的进程则采用时间片轮转调度方式,用户进程 可以通过系统调用动态地调整自己的优先级,操作系统也可根据情况调 整某些进程的优先级。 嵌入式操作系统中的任务调度策略目前使用最广泛的主要可分为 两种,一种是静态表驱动方式,另一种是固定优先级抢先式调度方式。 静态表驱动方式是指在系统运行前工程师根据各任务的实时要求 用手工的方式或在辅助工具的帮助下生成一张任务的运行时间表,这张 时间表与列车的运行时刻表类似,指明了各任务的起始运行时间以及运 行长度,运行时间表一旦生成就不再变化了,在运行时调度器只需根据 这张表在指定的时刻启动相应的任务即可。静态表驱动方式的主要优点 是: 运行时间表是在系统运行前生成的,因此可以采用较复杂的搜索算 法找到较优的调度方案;运行时调度器开销较小;系统具有非常好的可 预测性,实时性验证也比较方便;这种方式主要缺点是不灵活,需求一 旦发生变化,就要重新生成整个运行时间表。 由于具有非常好的可预测性,这种方式主要用于航空航天、军事等 对系统的实时性要求十分严格的领域。 固定优先级抢先式调度方式则与通用操作系统中采用的基于优先 级的调度方式基本类似,但在固定优先级抢先式调度方式中,进程的优 先级是固定不变的,并且该优先级是在运行前通过某种优先级分配策略 ( 如r a t e m o n o t o n i c 、d e a d l i n e - m o n o t o n i c 等) 来指定的。这种方式的 优缺点与静态表驱动方式的优缺点正好完全相反,它主要应用于一些较 简单、较独立的嵌入式系统,但随着调度理论的不断成熟和完善,这种 方式也会逐渐在一些对实时性要求十分严格的领域中得到应用。目前市 场上大部分的实时操作系统采用的都是这种调度方式。 ( 2 ) 内存管理: 关于虚存管理机制我们在上面已经进行了一些讨论。为解决虚存给 硕士论文:嵌人式调试方法分析及基于v x w o r k s 的调试工具实现 系统带来的不可预测性,嵌入式操作系统一般采用如下两种方式: 在原有虚存管理机制的基础上增加页面锁功能,用户可将关键页面 锁定在内存中,从而不会被s w a p 程序将该页面交换出内存。这种方式 的优点是既得到了虚存管理机制为软件开发带来的好处,又提高了系统 的可预测性。缺点是由于t l b 等机制的设计也是按照注重平均表现的 原则进行的,因此系统的可预测性并不能完全得到保障: 采用静态内存划分的方式,为每个实时任务划分固定的内存区域。 这种方式的优点是系统具有较好的可预测性,缺点是灵活性不够好,任 务对存储器的需求一旦有变化就需要重新对内存进行划分,此外虚存管 理机制所带来的好处也丧失了。 目前市场上的嵌入式操作系统一般都采用第一种管理方式。 ( 3 ) 中断处理: 在通用操作系统中,大部分外部中断都是开启的,中断处理一般由 设备驱动程序来完成。由于通用操作系统中的用户进程一般都没有实时 性要求,而中断处理程序直接跟硬件设备交互,可能有实时性要求,因 此中断处理程序的优先级被设定为高于任何用户进程。 但对于嵌入式操作系统采用上述的中断处理机制是不合适的。首 先,外部中断是环境向实时操作系统进行的输入,它的频度是与环境变 化的速率相关的,而与实时操作系统无关。如果外部中断产生的频度不 可预测,则一个实时任务在运行时被中断处理程序阻塞的时间开销也是 不可预测的,从而使任务的实时性得不到保证;如果外部中断产生的频 度是可预测的,一旦某外部中断产生的频度超出其预测值( 如硬件故障 产生的虚假中断信号或预测值本身有误) 就可能会破坏整个系统的可预 测性。其次,实时操作系统中的各用户进程一般都有实时性要求,因此 中断处理程序优先级高于所有用户进程的优先级分配方式是不合适的。 一种较适合嵌入式操作系统的中断处理方式为:除时钟中断外,屏 蔽所有其它中断,中断处理程序变为周期性的轮询操作,这些操作由核 心态的设备驱动程序或由用户态的设备支持库来完成。采用这种方式的 主要好处是充分保证了系统的可预测性,主要缺点是对环境变化的响应 可能不如上述中断处理方式快,另外轮询操作在一定程度上降低了 c p u 的有效利用率。另一种可行的方式是:对于采用轮询方式无法满 硕士论文:嵌人式调试方法分析及基于v x w o r k s 的调试工具实现 足需求的外部事件,采用中断方式,其它时间仍然采用轮询方式。但此 时中断处理程序与所有其它任务一样拥有优先级,调度器根据优先级对 处于就绪态的任务和中断处理程序统一进行处理器调度。这种方式使外 部事件的响应速度加快,并避免了上述中断方式带来第二个问题,但第 一个问题仍然存在。 此外为提高时钟中断响应时间的可预测性,实时操作系统应尽可能 少地屏蔽中断。 ( 4 ) 共享资源的互斥访问: 通用操作系统一般采用信号量机制来解决共享资源的互斥访问问 题。 对于嵌入式操作系统,如果任务调度采用静态表驱动方式,共享资 源的互斥访问问题在生成运行时间表时已经考虑到了,在运行时无需再 考虑。如果任务调度采用基于优先级的方式,则传统的信号量机制在系 统运行时很容易造成优先级倒置问题( p r i o r i t yi n v e r s i o n ) ,即当一个高 优先级任务通过信号量机制访问共享资源时,该信号量已被一低优先级 任务占有,而这个低优先级任务在访问共享资源时可能又被其它一些中 等优先级的任务抢先,因此造成高优先级任务被许多具有较低优先级的 任务阻塞,实时性难以得到保证。因此在实时操作系统中,往往对传统 的信号量机制进行了一些扩展,引入了如优先级继承协议 ( p r i o r i t yi n h e r i t a n c ep r o t o c 0 1 ) 、优先级顶置协议( p r i o r i t yc e i l i n gp r o t o c 0 1 ) 以及s t a c k r e s o u r c e p o l i c y 等机制,较好地解决了优先级倒置的问题。 ( 5 ) 系统调用以及系统内部操作的时间开销: 进程通过系统调用得到操作系统提供的服务,操作系统通过内部操 作( 如上下文切换等) 来完成一些内部管理工作。为保证系统的可预测 性,嵌人式操作系统中的所有系统调用以及系统内部操作的时间开销都 应是有界的,并且该界限是一个具体的量化数值。而在通用操作系统中 对这些时间开销则未做如此限制。 ( 6 ) 系统的可重人性: 在通用操作系统中,核心态系统调用往往是不可重人的,当一低优 先级任务调用核心态系统调用时,在该时间段内到达的高优先级任务必 须等到低优先级的系统调用完成才能获得c p u ,这就降低了系统的可 硕士论文:嵌入式调试方法分析及基于v x w o r k s 的调试工具实现 预测性。因此,嵌入式操作系统中的核心态系统调用往往设计为可重入 的。 ( 7 ) 辅助工具: 嵌入式操作系统额外提供了一些辅助工具,如实时任务在最坏情况 下的执行时间估算工具、系统的实时性验证工具等,可帮助工程师进行 系统的实时性验证工作。 2 1 3 面临的问题 以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展 现了美好前景,注入了新的生命;同时也对嵌入式系统技术,特别是软 件技术提出新的挑战。这主要包括:支持日趋增长的功能密度、灵活的 网络联接、轻便的移动应用和多媒体的信息处理,此外,当然还需对付 更加激烈的市场竞争。 1 嵌入式应用软件的开发需要强大的开发工具和操作系统的支持。 随着因特网技术的成熟、带宽的提高,i c p 和a s p 在网上提供的 信息内容日趋丰富、应用项目多种多样。像电话手机、电话座机及电冰 箱、微波炉等嵌入式电子设备的功能不再单一,电气结构也更为复杂。 为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器 如3 2 位、6 4 位r i s c 芯片或信号处理器d s p 增强处理能力;同时还采 用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应 用程序设计、保障软件质量和缩短开发周期。 目前,国外商品化的嵌入式实时操作系统,已进入我国市场的,如 w i n d r i v e r , 、m i c r o s o f t 、q n x 和n u c l e a r 等产品。我国自主开发的嵌入 式系统软件产品如科银( c o r e t e k ) 公司的嵌入式软件开发平台 d e l t a s y s t e m ,它不仅包括d e l t a c o r e 嵌入式实时操作系统,而且还包括 l a m d a t o o l s 交叉开发工具套件,测试工具,应用组件等;此外,中科院也 推出了h o p e n 嵌入式操作系统。 2 网络成为必然趋势,因此嵌入式操作系统必须满足网络的相关需求。 为适应嵌入式分布处理结构和应用上网需求,面向2 1 世纪的嵌入 式系统要求配备标准的一种或多种网络通信接口。针对外部联网要求, 嵌入设备必需配有通信接口,相应需要t c p 协议软件支持;由于家 硕士论文:嵌入式调试方法分析及基于v x w o r k s 的调试工具实现 用电器相互关联( 如防盗报警,灯光能源控制,影视设备和信息终端交 换信息) 及实验现场仪器的协调工作等要求,新一代嵌入式设备还需具 备i e e e 3 9 4 、u s b 、c a n 、b l u e t o o t h 或i r d a 通信接口,同时也需要 提供相应的通信组网协议软件和物理层驱动软件。为了支持应用软件的 特定编程模式,如w e b 或无线w e b 编程模式,还需要相应的浏览器, 如h t m l 、w m l 等。 3 支持小型电子设备实现小尺寸、微功耗和低成本 为满足这种特性,要求嵌入式产品设计者相应降低处理器的性能, 限制内存容量和复用接口芯片。这就相应提高了对嵌入式软件设计技术 要求。如,选用最佳的编程模型和不断改进算法,采用j a v a 编程模式, 优化编译器性能。因此既要软件人员有丰富经验,更需要发展先进嵌入 式软件技术,如j a v a 、w e b 和w a p 等。 4 提供精巧的多媒体人机界面 嵌入式设备之所以为亿万用户乐于接受,重要因素之一是它们与使 用者之间的亲和力,自然的人机交互界面,如司机操纵高度自动化的汽 车主要还是通过习惯的方向盘、脚踏板和操纵杆。人们与信息终端交互 要求以g u i 屏幕为中心的多媒体界面。手写文字输入、语音拨号上网, 收发电子邮件以及彩色图形、图像已取得初步成效。目前一些先进的 p d a 在显示屏幕上已实现汉字写入,短消息语音发布。 2 1 4 嵌入式软件的发展 如前所述,嵌入式系统设计师们已利用现行嵌人式软件技术和p c 机积累技术迎接新一代嵌人式应用;同时,发展影响深远的若干新的软 件技术。这些技术包括:行业性编程接口a p i 规范,无线网络操作系 统、母构件库和嵌入式j a v a 等。 1 日趋流行的行业性开放系统和备受青睐的自由软件技术 为了对付日趋激烈的国际市场竞争势态,设计技术共享和软件重 用、构件兼容、维护方便和台作生产是增强行业性产品竞争能力的有效 手段。近几年,一些地区和国家的若干行业协会纷纷制定嵌入式产品标 准,特别是软件编程接口a p i 规范。如,欧共体汽车产业联盟规定以 硕士论文:嵌入式调试方法分析及基于v x w o r k s 的调试工具实现 o s e k 标准作为开发汽车嵌入式系统的公用平台和应用编程接口 ( o s e k 的名称来自于德文“车内电子设备的开放系统的接口oo s e k 规 定了汽车控制器的通信规程、网络管理规则以及高效利用存贮器的嵌入 式操作系统。虽然业界专家怀疑o s e k 标准是否能马上投入使用,而 w i n d r i v e r 等嵌入式软件公司已宣布推出兼容的操作系统,m o t o w o r k s , 充分利用行业软件技术开放带来的大笔商业利益。我国数字产业联盟, 也在制定本行业的开放式软件标准,提高中国数字产品的竞争能力。看 来,走行业开放系统道路是加快嵌入式软件技术发展的捷径之一。 此外,值得指出,国际上自由软件运动的顺利发展,g p l 概念正 对嵌入式软件产业深远影响。嵌入式l i n u x 多种原型的提出,和g n u 软件开发工具软件的实用化进展,正为我国加快发展嵌入式软件技术提 供了极好机遇和条件。 2 无线网络操作系统初见端倪 未来移动通信网络不仅能够提供丰富的多媒体数据业务,而且能够 支持更多功能和更强的移终端设备。为了有效地发挥第三代移动通信系 统的优势,许多设备厂商针对未来移动设备的特点努力开发无线网络操 作系统。e p o c 就是一例。 3 i p 构件库技术正在造就一个新兴的软件行业 嵌入式系统实现的最高形式是单一芯片系统( s o c ,s y s t e mo n c h i p ) ,而s o c 的核技术是口核( 即知识产权核i n t e l l e c t u a lp r o p e r t y k e r n e l s ) 构件。口核有硬件核、软件核和固件核,硬件核主要指8 1 6 3 2 1 6 4 位m p u 核或d s p 核。硬件提供商以数据软件库的形式,将其久经验证 的处理器逻辑和芯片版图数据,供e d a 工具调用在芯片上直接配置 m p u d s p 功能单元;而软件核则是软件提供商将s o c 所需的r t o s 内核软件或其它功能软件,如通信协议软件,f a x 功能软件等构件标 准a p i 方式和口核构件形式供i d e 和e d a 工具调用制成f l a s h 或 r o m 可执行代码单元,加速s o c 嵌入式系统定制或开发。目前一些嵌 入式软件供应商纷纷把成熟的r t o s 内核和功能扩展件,以软件口核 构件形式出售,如m i c r o t e c 的v r t x o cf o ra r m 就是典型例子。正在 兴起的口构件软件技术正为一大批小型软件公司提供发展机遇。 4 j 2 m e 技术将对嵌入式软件的发展产生深远影响 硕士论文:嵌入式调试方法分析及基于v x w o r k s 的调试工具实现 众所周知“一次编程,到处使用”j a v a 软件概念原本就是针对网 上嵌人式小设备提出的。几经周折,目前s u n 公司已推出了j 2 m e ( j a v a 2p l a t f o h nm i c r o e d i d o n ) 针对信息家电的j a v a 版本,其技术日趋成熟, 开始投人使用。s u n 公司j a 、,a 虚拟机( j v m ) 技术的有序开放,使得 i a v a 软件真正实现跨平台运行,即j a v a 应用小程序能够在带有j v m 的任何硬软件系统上执行。这对实现瘦身上网的信息家电等网络设备十 分有利。这一技术动向势必对嵌入式设备特别是上网设备软件编程技术 产生重大影响,更值得业界人事关注。 2 2 调试理论分析 由于嵌入式系统软件的特性,使得嵌入式操作系统对软件开发的调 试上需要特殊的支持。随着嵌入式技术的日益成熟以及嵌入式系统的广 泛应用,业界对嵌入式软件的开发的效率提出了要求。而嵌入式软件的 特殊的交叉开发调试特点,以及现有嵌入式操作系统调试工具存在的问 题,使得调试成为嵌入式软件开发效率的主要瓶颈。因此有必要对嵌入 式操作系统的调试进行系统的研究,作为对嵌入式操作系统的调试方法 和调试工具改进的理论基础。 2 2 1 嵌入式软件的特征 嵌入式软件的作为一个新兴的软件,有其自己的独有的特征。由于 嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理 器系统软件和应用软件的要求也和通用计算机有所不同。 ( 1 ) 软件要求固态化存储 为了提高执行速度和系统可靠性,嵌人式系统中的软件一般都固化 在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。 ( 2 ) 软件代码高质量、高可靠性 尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不 断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的 要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代 码长度、提高执行速度。 ( 3 ) 系统软件( o s ) 的高实时性是基本要求 硕士论文:嵌人式调试方法分析及基于v x w o r k s 的调试工具实现 在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的 合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是 无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完 成,因此系统软件的高实时性是基本要求。 2 2 2 嵌入式软件调试理论 调试是开发过程中必不可少的环节,通用的桌面操作系统与嵌入式 操作系统在调试环境上存在明显的差别。前者,调试器与被调试的程序 往往是运行在同一台机器、相同的操作系统上的两个进程,调试器进程 通过操作系统专门提供的调用接口( 早期u n i x 系统的p l r a c e 调用、如 今的进程文件系统等) 控制、访问被调试进程。后者( 又称为远程调试) , 为了向系统开发人员提供灵活、方便的调试界面,调试器还是运行于通 用桌面操作系统的应用程序,被调试的程序则运行于基于特定硬件平台 的嵌入式操作系统( 目标操作系统) 。这就带来以下问题:调试器与被 调试程序如何通信,被调试程序产生异常如何及时通知调试器,调试器 如何控制、访问被调试程序,调试器如何识别有关被调试程序的多任务 信息并控制某一特定任务,调试器如何处理某些与目标硬件平台相关的 信息( 如目标平台的寄存器信息、机器代码的反汇编等) 。 一般有两种远程调试的方案 插桩 第一种方案是在目标操作系统和调试器内分别加入某些功能模块, 二者互通信息来进行调试。上述问题可通过以下途径解决: 1 调试器与被调试程序的通信 调试器与目标操作系统通过指定通信端口( 串口、网卡、并口) 遵循远程调试协议进行通信 2 被调试程序产生异常及时通知调试器 目标操作系统的所有异常处理最终都要转向通信模块,告知调试 器当前的异常号;调试器据此向用户显示被调试程序产生了哪一类异 常。 3 调试器控制、访问被调试程序 调试器的这类请求实际上都将转换成对被调试程序的地址空间 1 s 硕士论文:嵌人式调试方法分析及基于v x w o r k s 的调试工具实现 或目标平台的某些寄存器的访问,目标操作系统接收到这样的请求可 以直接处理。对于没有虚拟存储概念的简单的嵌人式操作系统而言, 完成这些任务十分容易。 4 调试器识别有关被调试程序的多任务信息并控制某一特定任务 由目标操作系统提供相关接口。目标系统根据调试器发送的关于 多任务的请求,调用该接口提供相应信息或针对某一特定任务进行控 制,并返回信息给调试器。 5 调试器处理与目标硬件平台相关的信息 第2 条所述调试器应能根据异常号识别目标平台产生异常的类 型也属于这一范畴,这类工作完全可以由调试器独立完成。支持多种 目标平台正是g n ug d b 的一大特色。 综上所述,这一方案需要目标操作系统提供支持远程调试协议的 通信模块( 包括简单的设备驱动) 和多任务调试接口,并改写异常处 理的有关部分。另外目标操作系统还需要定义一个设置断点的函数: 因为有的硬件平台提供能产生特定调试陷阱异常( d e b u gt r a p ) 的断 点指令以支持调试( 如x 8 6 的i n t3 ) ,而另一些机器没有类似的指 令,就用任意一条不能被解释执行的非法( 保留) 指令代替。目标操 作系统添加的这些模块统称为”插桩”( 见下图) ,驻留于r o m 中则 称为r o mm o n i t o r 。通用操作系统也有具备这类模块的:编译运行于 a l p h a 、s p a r e 或p o w e r p c 平台的l i n u x 内核时若将k g d b 开关打开, 就相当于加入了插桩。 运行于目标操作系统的被调试的应用程序要在入口处调用这个设 置断点的函数以产生异常,异常处理程序调用调试端口通信模块,等待 主机( h o s t ) 上的调试器发送信息。双方建立连接后调试器便等待用户 发出调试命令,目标系统等待调试器根据用户命令生成的指令。这一过 程如下图所示。 硕士论文:嵌入式调试方法分析及基于v x w o r k s 的调试工具实现 运行调试器 山 忖自定调试通信端口 i 向目标系统发信息 主机 目标平台 这一方法的实质是用软件接管目标系统的全部异常处y - 塑( e x c e p t i o n h a n d l e r ) 及部分中断处理,在其中插入调试端口通信模块,与主机的调 试器交互。它只能在目标操作系统初始化,特别是调试通信端口初始化 完成后才起作用,所以一般只用于调试运行于目标操作系统之上的应用 程序。而且由于它必然要占用目标平台的某个通信端口,该端口的通信 程序就无法调试了。最关键的是它必须改动目标操作系统,这一改动即 使没有对操作系统在调试过程中的表现造成不利影响,至少也会导致目 标系统多了一个不用于正式发布的调试版。 片上调试 片上调试是在处理器内部嵌入额外的控制模块,当满足了一定的触 发条件时进入某种特殊状态。在该状态下,被调试程序停止运行,主机 的调试器可以通过处理器外部特设的通信接口访问各种资源( 寄存器、 存储器等) 并执行指令。为了实现主机通信端口与目标板调试通信接口 各引脚信号的匹配,二者往往通过一块简单的信号转换电路板连接( 如 下图所示) 。内嵌的控制模块以基于微码的监控器( m i c r o c o d em o n i t o r ) 或纯硬件资源的形式存在,包括一些提供给用户的接口( 如断点寄存器 等) 。具体产品有m o t o r o l ac p u l 6 、c p u 3 2 、c o l d f i r e 系列的b d m ( b a c k g r o u n dd e b u gm o d e ) ,m o t o r o l ap o w e r p c5 x x 、8 x x 系列的 e p b d m ( e m b e d d e dp o w e r p cb a c k g r o u n dd e b u gm o d e ) ,i b m 、t i 的 j t a g ( j o i n tt e s ta c t i o nd e b u g ,i e e e 标准) ,还有o n c e 、m p s d 等等。 如下是m p c 8 6 0 的e p b d m 的片上调试方式。 硕士论文:嵌入式调试方法分析及基于v x w o r k s 的调试工具实现 e p b d m 的运作相当于用处理器内嵌的调试模块接管中断及异常 处理。用户通过设置调试许可寄存器( d e b u ge n a b l er e g i s t e r ) 来指定哪 些中断或异常发生后处理器直接进入调试状态,而不是操作系统的处理 程序。进入调试状态后,内嵌调试模块向外部调试通信接口发出信号, 通知一直在通信接口监听的主机调试器,然后调试器便可通过调试模块 使处理器执行任意系统指令( 相当于特权态) 。所有指令均通过调试模 块获取,所有l o a d s t o r e 均直接访问内存,缓存( c a c h e ) 及存储管理单 元( m m u ) 均不可用;数据寄存器被映射为一个特殊寄存器d p d r , 通过m t s p r 和i 咄p r 指令访问。调试器向处理器送m ( r e t u r n 舶m m t e 删p t ) 指令便结束调试状态,被调试程序继续运行。 与插桩方式的缺点相对应,o c d 不占用目标平台的通信端口,无 需修改目标操作系统,能调试目标操作系统的启动过程,大大方便了系 统开发人员。随之而来的缺点是软件工作量的增加:调试器端除了需补 充对目标操作系统多任务的识别、控制等模块,还要针对使用同一芯片 的不同开发板编写各类r o m 、r a m 的初始化程序。 进一步的研究 传统的调试方法可概括为如下过程:设断点一程序暂停一观察程序 状态一继续运行。被调试的如果是嵌入式实时系统,即使调试器支持批 处理命令避免了用户输入命令、观察结果带来的延迟,它与目标系统之 间的通信也完全可能错过对目标平台外设信号的响应。于是,针对某些 调试器( 如g d b ) 提供的监视点( t r a c ep o i n t ) 这一特殊调试手段,目 标方的插桩在原有的基础上被改进,称为代理( a g e n t ) 。调试时用户首 先在调试器设置监视点,以源代码表达式的形式指定感兴趣的对象名。 为了减少代理解析表达式的工作,调试器将表达式转换为简单的字节 硕士论文:嵌入式调试方法分析及基于v x w o r k s 的调试工具实现 码,传送至代理。程序运行后命中监视点、唤醒代理,代理根据字节码 记录用户所需数据存人特定缓冲区( 不仅仅是表达式的最终结果,还有 中间结果) ,令程序继续运行;这一步骤无需与调试器通信。当调试器 再度得到控制时,就可以发出命令,向代理查询历次监视记录。较之于 插桩,代理增加了对接受到的字节码的分析模块,相应的目标代码体积 只有大约3 k 字节:当然,监视记录缓冲区也要占用目标平台的存储空 间,不过缓冲区的大小可在代理生成时由用户决定。总之,这一改进以 有限的目标系统资源为代价,为实时监视提供了一个低成本的可行方 案。 调试并不仅仅意味着设断点一程序暂停一观察一继续这一过程,往往 还需要p r o f i l i n g 、跟踪( t r a c e ) 等多
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床成人本科考什么试题及答案2025年版
- 临床本科呼吸系统试题及答案2025年版
- 2025年版标准的企业与个人间的借款合同范本
- 火锅餐饮行业可持续发展与绿色发展研究报告
- 2025标准的家庭保姆服务合同协议书示例
- 镜片基本知识培训课件
- 镜子动作课件
- 镜像法求静电场边值课件
- 镁熔炼安全操作规程培训课件
- 潮玩市场IP授权运营风险控制研究报告:2025年行业现状与应对策略
- 2025年 七年级上册语文第一单元测试卷含答案
- 2025年广西环保集团第三次公开招聘12人考试参考试题及答案解析
- 输液反应应急预案课件
- 2025年德惠市公开招聘社区工作者(194人)备考练习题库及答案解析
- 三同时培训课件
- 2025国家网络安全宣传周
- 预算评审课件
- 中国特色社会主义民族宗教理论知识竞赛题库及答案
- 2025年8月31日湖南省市直遴选笔试真题及答案解析(B卷)
- 银行双录专区课件
- 单位与个人劳务合同范本
评论
0/150
提交评论