已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着计算机硬件制造技术的进步,新的硬件设计理念不断涌现,硬件产品正 以前所未有的速度更新换代。嵌入式硬件系统的这种发展现状对嵌入式设备的大 规模生产和测试提出了新的要求,传统生产线上的个体硬件裸机检测和程序灌装 的方式无论是在生产成本上还是开发周期上都不能适应目前嵌入式行业的发展需 要。我们迫切需要一种辅助生产工具,能够使用在嵌入式设备大规模测试检测、 程序灌装等生产线上。 本课题的目标是设计并实现一个专业的用于嵌入式设备生产线上大批量板级 测试和程序灌装的生产辅助工具。课题首先对目前的生产测试现状、趋势进行了 细致的分析,在此基础上确定了课题的设计意图和思想。然后,对所要设计的生 产辅助工具p r o d u c t a s s i s t a n t 进行了基本概念解释和原理的细致分析,从而确定了 p r o d u c t a s s i s t a n t 实现中的关键技术。在对原理进行充分分析的基础上深入研究 g d br s p 协议,明确了p r o d u c t a s s i s t a n t 运行的生产服务器与目标端通信协议。在 进行生产测试时,p r o d u c t a s s i s t a n t 需下载集成开发环境生成的e l f 格式的可执行 文件至目标端,由于课题设计只要求下载执行,并不要求具有调试功能,因此 p r o d u c t a s s i t a n t 不需要集成g d b 调试器,对e l f 格式的解析和下载需要 p r o d u c t a s s i s t a n t 独立完成,因此有必要对e l f 格式文件有个详细的了解。对e l f 格式文件的分析为后面p r o d u c t a s s i s t a n t 的设计做了必要的准备工作。 在对关键技术进行深入分析和完全吸收的基础上,本课题解决了底层通信、 程序下载,数据访问等一系列关键技术问题并最终实现了p r o d u c t a s s i s t a n t 生产辅 助工具。 关键词:板级测试、生产辅助、r s p 、e l f a b s t r a c t w i t ht h ed e v e l o p m e n to ft e c h n o l o g yo ft h ee m b e d d e dh a r d w a r e ,n e wi d e ao f h a r d w a r ed e s i g nc o n s t a n t l yc o m ea l o n g ,p r o d u c to fh a r d w a r eh a sb e e nu p d a t i n gw i t h u n p r e c e d e n t e ds p e e d t h e s i t u a t i o no ft h ee m b e d d e dh a r d w a r e s y s t e mr e q u i r e e m b e d d e de q u i p m e n t sp r o d u c i n ga n dt e s t i n go fa 陋g h e rs t a n d a r d o nt r a d i t i o n a l p r o d u c t i o nl i n e ,s i n g l eh a r d w a r et e s t i n ga n dp r o g r a ms o l i d i f i c a t i o nc a nn o tm a t c hu pt o e m b e d d e dt r a d ed e v e l o p m e n tn e i t h e ri nc o s tn o rd e v e l o p m e n t c y c l e s ow en e e dak i n d o fa s s i s t a n tp r o d u c et o o lt ot e s te m b e d d e de q u i p m e n ta n ds o l i dp r o g r a mi nl a r g es c a l e p r o d u c t i o nl i n e t h eg o a lo f t h i ss u b j e c ti st od e s i g na n dr e a l i z ea k i n d o f p r o f e s s i o n a lt o o lt ol z g ei n l a r g es c a l ep r o d u c t i o nl i n ef o rp c bt e s t i n ga n dp r o g r a ms o l i d i f i c a t i o n f i r s t , t h i ss u b j e c t a n a l y s es i t u a t i o na n dt e n d e n c yo fc u r r e n t l yp r o d u c et e s t i n g 。o nt h eb a s i so ft h ea n a l y s e , e s t a b l i s ht h eg o a la n dc o n c e p t i o no ft h es u b j e c t t h e ne x p l a i nt h eb a s i cc o n c e p t i o na n d l o g i co ft h ep r o d u c ea s s i s t a n tt o o l p r o d u c t a s s i s t a n t ,a n dm a k et h ek e yt e c h n i q u eo f t h ei m p l e m e n to ft h ep r o d u c t a s s i s t a n t o nt h eb a s i so f a n a l y s i so ft h el o g i c ,w ed e e p l y s t u d yt h eg d br s pp r o t o c o l ,a n dd e f i n et h ec o m m u n i c a t ep r o t o c o lo f p r o d u c t a s s i s t a n t w i t ht a r g e t w h e np r o d u c ea n dt e s t ,p r o d u c t a s s i s t a n tn e e dt od o w n l o a de x e c u t a b l ef i l e i ne l ff o r m a tt ot a r g e t a st h e r ei st u m e c e s s a r yt oi n t e g r a t eg d bt op r o d u c t a s s i s t a n t , d o w n l o a d i n ge l ff i l en e e dp r o d u c t a s s i s t a n tc o m p l e t ei n d e p e n d e n t l y s ow em u s th a v e i d e ao fe l ff o r m a tf i l e t h ea n a l y s i so fe l ff o r m a tf i l ep r e p a r ef o rl a t e rd e s i g no f p r o d u c t i o n o nt h eb a s i so fa n a l y s i so fas e r i e so fk e yt e c h n o l o g y , w es o l v e ds u b s t r a t i v e c o m m u n i c a t i o n ,p r o g r a md o w n l o a d ,d a t av i s i ta n das e r i e so fk e yt e c h n i c a lp r o b l e m , a n dt h e ni m p l e m e n tp r o d u c ea s s i s t a n tt o o l - p r o d u c t a s s i s t a n t k e yw o r d s :p c bt e s t ,p r o d u c ea s s i s t ,r s p ,e l f i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 乙丝五= _ 一日期:知名年,月日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:毒幺亟塾一 导师签名: 日期:刃年f 月多日 第一章引言 1 1 课题背景 第一章引言 嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应 应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。目前, 嵌入式系统开发已成为计算机工业的热点之一,嵌入式系统应用渗透到信息家电、 工业控制、通信与电子设备、人工智能设备等领域。 随着计算机硬件制造技术的进步,新的硬件设计理念不断涌现,硬件产品正 以前所未有的速度更新换代。特别是a r m 大力推广的内核定制技术,让芯片生产 厂商能够根据实际应用的需求定制处理器功能,使嵌入式处理器的设计摆脱了结 构固定、功能专一的传统处理器模式,嵌入式设备的硬件设计更为灵活多样。嵌 入式硬件系统的这种发展现状对嵌入式设备的大规模生产和测试提出了新的要 求,传统生产线上的个体硬件裸机检测和程序灌装的方式无论是在生产成本上还 是开发周期上都不能适应目前嵌入式行业的发展需要。 与此同时,嵌入式系统通常采用成熟的商用操作系统,使系统运行在一个高 性能的、可靠的软件平台上,为实现各种大型的复杂的应用打下了良好的基础。 面对系统复杂性的增加,自然需要功能强大、性能稳定的应用软件与之相适应。 众所周知,整个嵌入式系统的设计开发是软硬件结合的,在操作系统和应用软件 功能不断增强、规模不断增大的情况下,能否提供快速、稳定的硬件平台对整个 嵌入式系统的开发影响盛大。 综上所述,随着嵌入式硬件和软件的不断发展,我们迫切需要一种辅助生产 工具,能够使用在嵌入式设备大规模测试检测、程序灌装等生产线上。 1 2 课题综述 本课题以g d br s p 调试协议为基础,以e c l i p s e 3 1 为开发平台,在深入研究 和消化吸收其技术的基础上,独立完成具有自主知识产权的用于嵌入式设备测试 和生产工作的辅助工具p a ( p r o d u c t a s s i s t a n t ) 。本人在本课题的中主要进行除界面 以外的后台各组件部分的设计和实现,重点在目标控制中心的设计实现上。 电子科技大学硕士学位论文 1 3 章节安排 第一章主要讲述本课题的相关背景和情况 第二章详细介绍目前嵌入式设备板级测试和程序灌装的现状并由此提出了设 计需求 第三章介绍对生产辅助工具p r o d u e t a s s i s t a n t 进行了总体设计并对相关的技术 进行了充分细致的分析 第四章详细介绍了生产辅助工具p r o d u c t a s s i s t a n t 的设计,包括其设计原理、 模块划分和具体的实现。 第五章对生产辅助工具p r o d u c t a s s i s t a n t 进行了测试以验证其实现的功能 第六章对本文进行总结 最后是致谢和参考文献 第= 章p r o d u c t a s s l s t a n t 设计需求 第二章p r o d u o t a s s is t a n t 设计需求 2 1 板级测试与程序灌装现状 2 1 1 板级测试 片上系统已经发展成为当今的一种主流技术。为了有效地利用设计资源,加 快上市时间,这种基于核的设计将i c 设计界分成核供应商与系统集成商,系统集 成商通过贿买不同厂商的口,直接加以整合复用来降低设计与制造成本。但这种 设计给测试带来了新的特点与挑战: 由于各个理核的测试开发是由不同的i p 厂商提供的,因此需要用于传递 核测试信息的测试语言以及用于测试访问的核测试环结构的标准制定 ( i e e e p l 5 0 0 标准) ; 由于核是深深地嵌入到系统中的,而测试是在s o c 的管脚进行的,因此 需要一个从核的端口到芯片i 0 的测试通道,这也是s o c 测试结构研究的 焦点; s o c 级测试优化问题。 在传统的板级测试中,一般i c 都已由其厂商测试过,因此系统集成商主要进 行的是互连测试。目前,最有效的互连测试方法之一就是边界扫描测试,即 i e e e 1 4 91 标准( j t a g 标准) 测试。为了解决板级的互连测试,边界扫描测试需 要加额外的逻辑电路。它的每个边界扫描单元是加在引脚处的移位寄存器。把所 有数字边界扫描单元串接起来就构成了一个可以串行移位的边界扫描链。这个链 在t a p ( 测试存取口) 控制器的控制下工作,完成互连及其他测试。 2 1 2 程序灌装 嵌入式系统开发基本都是采用交叉开发方式,程序设计人员在宿主( h o s t ) 平 台进行整个系统的开发与设计,而最终启动运行是在目标( t a r g e t ) 平台,这样就 存在一个将开发实现的程序搬迁到目标平台上过程,通常我们采用的方式是将最 终确定的应用程序固化到目标平台上。 把程序或数据写入到只读存储器的过程叫做编程( 或程序灌装) 。只读存储器 的编程有两种方式:种是离线编程,一种是在线编程。 的编程有两种方式:一种是离线编程,种是在线编程。 第二章p r o d u c t a s s is t a n t 设计需求 2 1 板级测试与程序灌装现状 2 1 1 板级测试 片上系统已经发展成为当今的一种主流技术。为了有效地利用设计资源,加 快上市时间,这种基于核的设计将i c 设计界分成核供应商与系统集成商,系统集 成商通过购买不同厂商的m ,直接加以整合复用来降低设计与制造成本。但这种 设计给测试带来了新的特点与挑战: 由于各个口核的测试开发是由不同的i p 厂商提供的,因此需要用于传递 核测试信息的测试语言以及用于测试访问的核测试环结构的标准制定 ( i e e e p l 5 0 0 标准) ; 由于核是深深地嵌入到系统中的,而测试是在s o c 的管脚进行的,因此 需要一个从核的端口到芯片i o 的测试通道,这也是s o c 测试结构研究的 焦点; s o c 级测试优化问题。 在传统的板级测试中,一般i c 都己由其厂商测试过,因此系统集成商主要进 行的是互连测试。目前,最有效的互连测试方法之一就是边界扫描测试,即 i e e e l l 4 9 1 标准( j t a g 标准) 测试。为了解决板级的互连测试,边界扫描测试需 要加额外的逻辑电路。它的每个边界扫描单元是加在引脚处的移位寄存器。把所 有数字边界扫描单元串接起来就构成了一个可以串行移位的边界扫描链。这个链 在t a p ( 测试存取口) 控制器的控制下工作,完成互连及其他测试。 2 1 2 程序灌装 嵌入式系统开发基本都是采用交叉开发方式,程序设计人员在宿主( h o s t ) 平 台进行整个系统的开发与设计,而最终启动运行是在目标( t a r g e t ) 平台,这样就 存在一个将开发实现的程序搬迁到目标平台上过程,通常我们采用的方式是将最 终确定的应用程序固化到目标平台上。 把程序或数据写入到只读存储器的过程叫做编程( 或程序灌装) 。只读存储器 的编程有两种方式:一种是离线编程,一种是在线编程。 电子科技大学硕士学位论文 离线编程方式是将只读存储器从线路板上取下来,放到一种叫做编程器的装 置上进行编程,然后将编程好的只读存储器重新安装到线路板上。 在线编程方式是在只读存储器安装到线路板上之后进行编程,具体的编程方 法可以在开发装置上提供。一般地,f l a s h 和e e p r o m 可以进行在线编程。 2 1 2 1 离线编程方式 在早期的嵌入式系统中,最常用的程序载体是e p r o m 或e e p r o m ,这种载 体满足不易失特征,但它是只读的,因而无法进行在线写入程序,唯一的方法是 利用编程器对其进行离线编程,然后将已经烧入程序的芯片接入电路中。这种情 况下,程序每次发生改动,开发者都需要将大而笨的r o m 芯片从插座上拔下,装 到编程器上编程,然后再插回到插座上。这种方式在当时的情况确实解决了程序 灌装的问题,但其缺点也不容忽视。由于每次使用烧片器对f l a s h 芯片进行编程都 需要进行插拔操作,这样很容易造成f l a s h 芯片的损坏和硬件的不稳定;同时程序 每次发生改动,开发者都需要将r o m 芯片从插座上拔下再装到编程器上,这样对 程序的开发造成了很大的不便。 2 1 2 2 在线编程方式 传统的嵌入式应用开发方法主要是使用仿真器模拟目标系统中微控制器m c u 的运行情况,希望达到在目标系统硬件尚未定型与制版情况下,先行调试目标系 统的硬件、软件设计,为目标系统的研制提供前期基础。但是,一些情况下,难 以实现的1 0 0 实时仿真,有些功能在用仿真器调试时十分正常,而到了实际应用 系统却不能顺利运行。同时,传统的仿真方式的一些调试功能仅适用于初学者, 对于具有一定开发经验并拥有通用功能模块积累的开发者,往往增加了开发时间。 目前,随着计算机制造技术的发展,许多公司新推出的m c u 具有片内f l a s h 存储 器,f l a s h 存储器具有电可擦除、无需后备电源保护数据、可在线编程等特点。在 线编程( i n c i r c u i t p r o g r a m m i n g ) 允许单片机内部运行的程序去改写存储器的内容, 利用这个特点,不仅可以在运行过程中修改某些运行参数,也为研制新型嵌入式 应用开发工具提供了技术基础。 通过j t a g 接口除了可以进行嵌入式系统电路板和芯片的测试,还可以实现对 电路板上的f l a s h 进行编程。要通过j t a g 接口对系统板上f l a s h 进行编程可以利 用专用的硬件控制器或独立的编程器来访问j t a g 器件实现,也可以直接用电缆线 把p c 机并行口与嵌入式系统的微处理器的j t a g 引脚连接起来,由p c 机上的程 4 第二章p r d d u c t f ! l s s i s 乜n t 设计需求 序模拟j t a g 时序实现。嵌入式系统的f l a s h 芯片的地址线、数据线和控制信号 线接到嵌入式系统带j t a g 接口的微处理器相应引脚上。在对f l a s h 编程时,p c 机上运行的程序控制p c 机发送指令或数据到嵌入式系统微处理器内部的边界扫 描寄存器里,再把此数据或指令通过j t a g 专用指令传送给f l a s h ,从而将代码写入 f l a s h 中。 在嵌入式系统开发过程中,使用系统微处理器的j t a g 接口对系统程序存储器 f l a s h 进行编程不需要其他附加设备的支持,是一种较为简便的方法。随着嵌入式 系统的发展,越来越多的带j t a g 接口的芯片被使用。利用芯片的j t a g 接口不仅 方便了系统的硬件测试,保证系统正确性,同时也方便了对f l a s h 进行编程,这对 加快嵌入式系统的开发和调试具有重要作用。 2 1 2 3 批量生产 无论采用离线编程方式还是在线编程方式,一旦运用在生产线上就涉及到批 量生产的问题。嵌入式系统和软件的设计阶段采用的是面向个体的,即开发涉及 的软件只在一块目标板上调试运行;而在设计调试完成后需要投入到生产上时需 要进行批量作业。 2 2p r o d u c t a s sis t a n t 设计需求 由以上分析可知,传统生产线上的个体硬件裸机检测和程序灌装的方式无论 是在生产成本上还是开发周期上都不能适应目前嵌入式行业的发展需要。目前, 使用在生产线上的板级测试和程序灌装软件并不多见。p r o d u c t a s s i s t a n t 辅助工具 正是应这种情况提出设计需要的。 设计实现的生产助理p a ( p r o d u c t a s s i s t a n t ) 主要用于嵌入式设备的大规模测 试和生产工作,例如生产线上硬件裸机的自动化检测和程序灌装工作,要求具有 操作自动化程度高,灵活性高,扩展性强等特点。其要实现的功能和特性有: 能够一次性完成硬件裸机的检测和程序灌装,中途无需人工干预; 要求具有高度自动化功能,能够通过目标机的上电和掉电来控制生产检测 任务的重新开始,无需界面操作; 速度要求高,采用“以太网+ j t a g ”的连接方式; 具有高度扩展性,能同时支持多台目标机的生产检测工作; 灵活性高,操作员可自主定制生产检测的流程及其参数; 电子科技大学硕士学位论文 专业、友好的监控操作界面,操作员能轻松的监测和控制生产测试过程; 能够支持多平台( w i n d o w 、l i n u x ) : 最终,通过p r o d u c t a s s i s t a n t 工具,根据实际的生产和测试情况,能够在生产 现场快速搭建所需的工作平台。 2 3 本章总结 本章主要介绍了嵌入式系统开发过程中的板级测试和程序灌装,根据目前板 级测试和程序灌装的现状提出了p r o d u c t a s s i s t a n t 的设计需求,确定了 p r o d u c t a s s i s t a n t 实现的主要功能。 第三章p r o d u c t _ a s s i s t a n t 的总体设计和相关技术分析 第三章p r o d u c t a s s is t a n t 的总体设计和相关技术分析 3 1p r o d u c t a s sis t a n t 总体设计 生产测试工具p r o d u c t a s s i s t a n t 作为生产测试工作的主体并不是独立存在,它 的实现和运行依赖于整个生产环境。本小节主要从生产测试系统的组成、 p r o d u c t a s s i s t a n t 的运行环境和系统结构三个方面对以p r o d u c t a s s i s t a n t 构成的生产 测试系统进行原理性的分析,从一个全局角度对p r o d u c t a s s i s t a n t 进行总体的设计。 3 1 1 生产测试系统的组成 多口交换机 l a m b d a o d a l a m b d a o d a l a m b d a o d a 。昏 标 织祝? 目 标 机 图3 - 1p r o d u c t a s s i s t a n t 系统组成 由p r o d u c t a s s i s t a n t 构成的生产测试系统总体结构如图3 1 所示,主要由三个 部分组成: 生产服务器:生产测试的宿主平台,提供p r o d u c t a s s i s t a n t 运行的主机环境, 运行的操作系统为w i n d o w s 2 0 0 0 ; l a m b d a o d a :l a m b d a o d a 是片上调试方式实现的硬件仿真器,支持 l 爨臻一 电子科技大学硕士学位论文 a r m 7 t d m i 提供的片上调试功能;提供标准的r s p 调试协议服务;支持 与生产服务器网络数据传输方式; 目标机( t a r g e t ) :支持任何采用a r m 7 t d m i 内核处理器的目标板。通 过j t a g 口与o d a 仿真器连接; 3 1 2 p r o d u c t a s sis t a n t 运行环境 3 1 2 1 宿主机环境 p r o d u c t a s s i s t a n t 运行的主机环境采用通用的商用p c 机。硬件要求有:主频 8 0 0 m h z 以上、内存1 2 8 m 或以上、1 7 寸显示器为宜,同时,为建立交叉调试环 境的1 0 m 以太网卡不可缺少。软件方面的要求有:w i n d o w s 2 0 0 0 操作系统平台。 3 1 2 2 目标机环境 在理论上,p r o d u c t a s s i s t a n t 支持任何一款以a r m 7 t d m i 为内核的目标板,唯 一的要求是目标板提能够为配套调试工具l a m b d a o d a 供标准1 4 针或者2 0 针 j t a g 接口。 3 1 2 3 调试环境 作为p r o d u c t a s s i s t a n t 配套工具的l a m b d a o d a 仿真调试器运行在a r m 4 5 1 0 b 处理器( a r m 7 t d m i 内核) ,主频6 0 m ,内存8 m ,可擦写存储器2 m ,对外提供 1 0 m 以太网接口和r s 2 3 2 串行接口。另外,p r o d u c t a s s i s t a n t 支持同时对多台目标 机的操作,因此提供多口路由器是必须的。 3 1 2 4 连接方式 鉴于p r o d u c t a s s i s t a n t 设计目的和原理,主机端通过多口路由器与多台 l a m b d a o d a 调试代理物理上相连接,而逻辑上则采用u d p 方式。采用u d p 方式 不仅符合这里p r o d u c t a s s i s t a n t 连接多台l a m b d o d a 的要求,同时具有数据传送速 度快、性能稳定等优点。 每台l a m b d a o d a 通过j t a g 口与目标机进行连接,可支持1 4 针和2 0 针两种。 3 1 3 p r o d u c t a s ss t a n t 系统结构 整个p r o d u c t a s s i s t a n t 由四部分组成:集成开发环境i d e ( l a m b d a i d e ) 、任务 第三章p r o d u c t a s s i s t a n t 的总体设计和相关技术分析 控制中心m c c ( m i s s i o nc o n t r o lc e n t e r ) 、目标机控制中心t c c ( t a r g e tc o n t r o l c e n t e r ) 和状态显示中心s d c ( s t a t u sd i s p l a yc e n t e r ) 。如图3 - 2 所示。 图3 - 2p r o d u e t a s s i s t a n t 系统组成 3 1 3 1 集成开发环境l d e i d e 的使用者是软件工程师,软件工程师通过集成开发环境i d e 来开发任务 控制中心m c c 所需的“工作”,典型的“工作”包括: 固化一个文件到目标机指定位置; 固化一个文件到目标机文件系统; 从主机端某个文件中读取数据,写到目标机内存的制定地址; 从目标机的指定地址读一段数据,写到主机端某个文件中; 测试目标机所有串口; 测试目标机所有r o m ; 每个完成的“工作”由如下几个文件组成: c m d x s d :命令参数的s c h e m a 描述文件,供m c c 使用。 t r o d j a r 命令的主机端代码,供t c c 执行。 c m d e l f i 命令的目标机端代码,配合主机端共同完成命令的执行。 命令的目标机端代码以e l f 格式存在。e l f ( e x e c u t a b l ea n d l i n k a b l e f o r m a t ) , 即执行连接格式,是u n i x 系统实验室( u s l ) 作为应用程序二进制接( a p p l i c a t i o n b i n a r yi n t e r f a c e ( a b i ) 而开发和发布的。工具接口标准委员会( t i s ) 选择了正在发展 中的e l f 标准作为工作在3 2 位i n t e l 体系上不同操作系统之间可移植的二进制 9 电子科技大学硕士学位论文 文件格式。 通常,在进行嵌入式软件开发过程时,通过集成开发环境i d e 最终生成的e l f 可执行文件是通过交叉调试器g d b 进行下载调试执行的。由于p r o d u c t a s s i s t a n t 设计时并不要求有g d b 交叉调试功能,因此在实现上就不需要集成g d b 。这样 对用i d e 开发的e l f 格式的“工作”必须由p r o d u c t a s s i s t a n t 自身进行解析并下载 至目标机端运行。要实现对e l f 的解析必须清楚e l f 格式文件的组成,这部分请 参见3 2 2 目标文件格式e l f 分析。 3 1 3 2 任务控制中心m c c 任务控制中心m c c 的使用者是生产工程师,其输入是集成开发环境i d e 输出 的“工作”,生产工程师通过任务控制中心m c c 来开发目标机控制中心t c c 所需 的“任务”,每个“任务”由一个或多个“工作”组成,每个“工作”在被添加到 “任务”时都需要设置运行参数,例如“固化一个文件到目标机指定位置”工作 至少需要指定固化的文件名和固化地址两个参数。可见,通过任务控制中心,操 作人员能根据当前的生产测试工作自主的编辑生产钡9 试所需的任务,操作人员可 以创建作业,并设置每个作用的状态、参数和属性。操作人员能方便的管理项目 中的任何一个作业,包括添加删除作业和设置不同作业的参数等。最后根据配置 生成生产或测试任务,提供给目标控制中心执行。任务控制中心的主要特征如下: 创建任务,任务下可创建多个具体作业: 能同时管理和编辑多个作业,保存编辑信息: 通过“上移、下移”按钮,可以方便的调整作业的次序; 任务控制中心主要功能有: 添加、删除任务中的作业; 调整任务中的作业顺序; 调整每个作业的参数; 创建当前作业的副本; 任务控制中心的输出即任务以x m l 文件的形式存放,便于任务的描述和 解析。一次编辑完成后可以多次在不同的地方重复使用。也可以针对不同的情况 创建多种不同的任务流程和参数,保存在不同的文件中,具体使用哪个任务由操 作员决定,灵活性高。 第三章p r o d u c t a s s i s l a n t 的总体设计和相关技术分析 3 1 3 3 目标控制中心t c c 目标控制中心t c c 是p m d u c t a s s i s t a n t 的核心组件,t c c 的输入就是m c c 输 出的“任务”。t c c 运行在生产现场,连接多台l a m b d a o d a ,每台l a m b d a o d a 都连接一台目标机,t c c 通过l a m b d a o d a 间接控制目标机完成具体的工作。如 图3 1 所示,t c c 运行在生产服务器上,通过以太网连接多个l a m b d a o d a 。 目标机控制中心用于管理控制所有现场目标机。操作人员可以创建、删除和 复制目标机,对任意目标机进行启动和停止操作,并根据监控结果采取适当的措 施,从而保证生产或测试过程的顺利进行。目标机控制中心的主要特征如下: 通过设置目标机属性,可以最大限度的进行自动化生产和测试; 可以保存和恢复生产测试环境; 目标机控制中心的主要功能有: 创建一个新的目标机; 修改目标机的运行参数; 启动一个目标机的运行; 停止一个目标机的运行; 删除一个目标机; 目标控制中心作为整个p r o d u c t a s s i s t a n t 的核心组件连接多台l a m b d a o d a , 这就涉及到p m d u c t a s s i s t a n t 与l a m b d a o d a 通信的问题。l a m b d a o d a 针对宿主机 提供串口和以太网两种通信方式,并且l a m b d o d a 的实现采用g d b 远程调试协 议r e m o t es c r i a lp r o t o c o l ( r s p ) 。串口通信方式主要用于对l a m b d a o d a 本身进行 升级;以太网方式真正用于应用通信,而且网络通信速度远大于串口通信;而对 于l a m b d a o d a 实现则采用r s p 协议,为了实现的方便和统一,目标控制中心与 l a m b d a o d a 的通信协议也采用r s p 协议。对r s p 协议的具体介绍请参见3 2 1 底 层通信协议r s p 分析。 3 1 3 。4 状态显示中心s d c 状态显示中心s d c 用于显示每台目标机的运行状态以及任务的执行状态,监 控生产或测试过程。操作人员根据实际运行情况进行除错、更换硬件平台等操作。 状态显示中心主要特征: 实时反映每台目标机以及每个任务的执行情况,包括成功失败状态和执行 进度。 电子科技大学硕士学位论文 状态显示中心的主要功能有: 观察任一台目标机的状态( 停止运行) ; 观察任一台目标机的运行结果( 成功失败) ; 观察任一台目标机的当前进度: 观察任一台目标机的相关信息( 例如失败,则会显示失败的原因) 。 3 2 相关技术分析 3 。2 。1 底层通信协议r s p 分析 嵌入式交叉调试环境下,运行在主机端的调试器和运行在目标机的调试服务 程序通常运行在两套硬件平台上。它们之间通过串口、网络或者其他设备建立通 讯连接。为了保证传送数据的稳定可靠,同时也为了统一规范,避免重复开发, 调试器开发厂商定义了各自的调试通讯协议( 如:删调试器支持的s d i 协议, g d b 调试器支持的r s p 协议,w i n c e 也有自己的调试协议) 。尽管各调试协议实 现的方法不同,但是功能都大同小异。 g d b 远程调试协议r e m o t es e r i a lp r o t o c o l ( r s p ) 是心m 调试器g d b 和远 端目标机之间的标准调试协议。该协议基于标准的a s c i i 消息通讯方式( 也就是 控制台方式) ,支持的硬件设备很多,可广泛应用。在实际使用中可以非常灵活的 利用目标机的设备如串口、网络等,建立交叉调试环境。 目前,与p r o d u c t a s s i s t a n t 配套使用的i c e 是由科银京成公司设计开发的 l a m b d a o d a ( l a m b d ao nc h i pd e b u g a g e n t 片上调试代理) ,该调试代理开发设计 遵循的是标准r s p 协议,因此本章将对r s p 协议作简单分析。 3 2 1 1 通讯协议 r s p 协议在g d b 和远程目标间交换的数据是使用简单的a s c i i 码字符实现 的。与其他通讯协议一样,r s p 的通讯协议包含起始位、结束位以及校验和。一 个典型的r s p 数据包结构如下: $ # c h e e k s u r n $ :起始位,所有的r s p 包都是以$ 开始; :数据段,至少长1 字节。大部分的数据都用a s c i i 码十六进制字 符m o 9 ,a - f ,a - f 】表示。这样傲的目的主要是为了调试人员阅读方便, 但是明显存在通讯效率低下的问题。为解决这个问题,某些数据传送命令 第三章p r o d u c t a s s i s t a n t 的总体设计和相关技术分析 支持传送原始格式的数据段; 挣:结束位; c h e c k s u m :8 位校验和,将发送的数据以字节( 8 位) 为单位累加,结果 作为校验和。 r s p 数据包的长度是有限制的,不能超过传送设备支持的数据包大小。如网 络方式最大能支持1 0 0 0 字节左右的数据包,串口方式尽管没有数据长度限制,但 是实际使用中也最好不要超过1 0 0 0 字节为宜。 当接收端收到发送端发出的数据以后马上对收到的数据进行校验,根据校验 结果接收端会向发送端返回一些信息: “十”:如果接收校验和正确且此时接收方已经准备好接收下一个包,则返 回“+ ”; “一”:如果接收校验和不正确,信息必须重新发送,则返回“一”。 发送端在发出一个包之后会等待接收端的返回数据包,若返回“+ ”则发送下 一数据包;若返回“”则重新发包;若等待一段时间之后没有收到接收端任何响 应,则自动重新发包,假如尝试几次发包都没有收到回应则认为连接失败,停止 发包。 目标机响应从g d b 来的信息的方式有两种:一种是表示命令执行成功( 或消 息发送正确) 的符号“o k ”,另一种是目标机自己定义的错误码。当g d b 接收到 错误码时,可以通过g d b 控制台向用户报告该错误码的代号。 3 2 1 2r s p 协议定义的命令 当前,g d b 远程调试协议r e m o t es e f i f lp r o t o c o l ( r s p ) 已经定义了很多命 令和对应的语法结构,在具体实现过程中并不要求完全实现这些命令,但对于寄 存器和内存相关的五个基本命令:g 、g 、p 、m 、m 必须实现。占位程序( s t u b ) 在处理未定义的命令时将返回$ 捍o o 空包,在需要时我们便可以扩展这些未定义的 命令。 1 基本读写命令 r s p 的为数据读写提供了最基本的几个命令,包括寄存器相关和内存相关两 类,寄存器相关命令有g 、g :与内存相关命令有p 、m 和m : 1 命令名称:r e a dr e g i s t e r 描述:读取当前所有寄存器数据。调试器在任何需要知道当前寄存器信息的 电子科技大学硕士学位论文 时候就会发出该命令。返回的寄存器数据按照调试器和调试代理事先约定好的顺 序排放,数据宽度为定长。 数据段格式:单字符g 用例:$ g # 6 7 ,读取全部寄存器输入的 返回结果:+ $ 1 2 3 4 5 6 7 8 9 0 a b c d e f # x x 该响应指出,寄存器0 的数据是0 x 1 2 3 4 5 6 7 8 ,寄存器1 的数据是0 x 9 0 a b c d e f , 依此类推。x ) ( 是校验和。 2 命令名称:w r i t er e g i s t e r 描述:写全部寄存器指令。新的寄存器数据按照调试器和调试代理事先约定 好的顺序排放,数据宽度为定长。 数据段格式:以字符g 开头,后面接寄存嚣数据的a s c i i 编码。 用例:$ g 1 2 3 4 5 6 7 8 9 0 a b c d e f # x x ,写寄存器 返回结果:+ $ o k # 9 a 该响应指出,写寄存器操作成功。 3 命令名称:p 描述:写指定寄存器n 数据段格式:以字符p 开头,后面接寄存器i d 号n ( 调试器和调试代理 事先约定好的) ,最后是写入的寄存器数据。 用例:$ p 0 = 0 0 4 0 1 4 9 c # b 3 ,向寄存器0 写入0 x 1 2 3 4 5 6 7 8 。 返回结果:+ $ o k # 9 a 该响应指出,写寄存器操作成功。 4 命令名称:r e a dm e m o r y 描述:读取内存 数据段格式:以字符m 开始,接内存区起始地址,逗号后面是数据长度。 用例:$ m 4 0 1 5 b c ,2 # 5 a ,读取0 x 4 0 1 5 b c 开始的2 字节内存数据。 返回结果:+ $ 2 f 8 6 # 0 6 该响应指出,0 x 4 0 1 5 b c 是o x 2 f , o x 4 0 1 5 b c 是0 x 8 6 。 5 命令名称:w r i t em e m o r y 描述:写内存 数据段格式:以字符m 开始,接内存区起始地址,逗号后面是数据长度, 分号后是连续的内存数据。 用例:$ m 4 0 1 5 c c ,2 :c 3 2 0 # 6 d ,向0 x 4 0 1 5 e c 开始的内存写入2 字节数据0 x c 3 和 1 4 第三章p r o d u c t a s s i s t a n t 的总体设计和相关技术分析 o x 2 0 。 返回结果:+ $ o k # g a 该响应指出,写内存操作成功。 查询命令 r s p 支持的目标机状态如表3 一l 所示。 表3 - 1 r s p 支持的目标机状态 g d b s i g n a l s 信号值信号名称 0 h a n g u p ( 挂起) 1 i n t e r r u p t ( 断) 2 q u i t ( 关闭) 3 i l l e g a li n s t r u c f i o n ( 非法指令) 4 t r a c e b r e a l c p o i mt r a p ( 跟踪断点陷阱) 5 a b o m d ( 异常终止) 6e m u l a t i o nl r a p ( 仿真陷阱) 7 a r i t h m e t i ce x c e p t i o n ( 代数异常) 8 k i l l e d ( 杀掉) 9b u se
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东松山职业技术学院《经济师资格》2023-2024学年第一学期期末试卷
- 广东水利电力职业技术学院《服装工艺制作二》2023-2024学年第一学期期末试卷
- 广东石油化工学院《经济学世界经济》2023-2024学年第一学期期末试卷
- 广东汕头幼儿师范高等专科学校《信息分析与预测》2023-2024学年第一学期期末试卷
- 广东农工商职业技术学院《中小企业管理》2023-2024学年第一学期期末试卷
- 广东南方职业学院《现代食品高新技术进展》2023-2024学年第一学期期末试卷
- 打造美丽乡村-共筑人与自然和谐-乡镇林业站年终工作总结
- 【名师一号】2020-2021学年高中英语(北师大版)必修二-双基限时练3
- 【9语一模】2024年合肥市瑶海区中考一模语文试题
- 【名师一号】2021年岳麓历史必修3-双基限时练17
- 2024年认证行业法律法规及认证基础知识
- 促销活动方案(共29页).ppt
- 华中数控车床编程及操作
- 农民专业合作社财务报表(三张表)
- 培训准备工作清单
- 沉井工程检验批全套【精选文档】
- 贝类增养殖考试资料
- 旅游专业旅游概论试题有答案
- 3、起重工、焊工、电工安全技术交底
- 水稻幼穗分化八个时期的划分表
- 卡特彼勒生产体系手册(PDF62页)
评论
0/150
提交评论