硬件规划人员运用逻辑剖析仪剖析总线和处理器的二进制时序波形,因为它显现的是最底层硬件每个时钟周期的改动,即数字器材与总线的二进制转化情况,所以一般也称为实时硬件盯梢。
底层操作体系规划工程师也常常运用逻辑剖析仪,但他们愈加重视调查那些和二进制转化相似的存储指令,也便是一般所说的实时指令盯梢。现在逻辑剖析仪配有一种称为反汇编的东西可完结这项使命,反汇编东西专门针对处理器或总线规划,它能够从一系列二进制信息中提取特定的处理器存储内容。
软件规划人员一般都不太了解硬件东西,所以他们总是防止运用这些东西。软件规划人员在电脑或作业站上用C++、VB及相似的言语编写程序源代码,并期望运用这些渠道完结整个规划、调试和评价进程。他们用软件东西(仿真器和调试器)运转新的方针器材,而硬件东西如逻辑剖析仪对许多软件规划人员来说总是显得方枘圆凿。但因为现在体系日趋杂乱,相互之间影响也越来越大,这种情况正在逐渐改动。
现在用得最广泛的是一种所谓在线仿真器(ICE)的东西,它能够追寻方针器材并提取出源代码。ICE是软件规划作业站中运转操控东西的一个集成组件,它监测方针器材总线的活动情况,给出源代码运转成果信息。有了ICE后,软件工程师不需求运用逻辑剖析仪调试就能够完结整个项目。
然而对软件工程师来说,不幸的是ICE在有些方面的功用已落后于新一代高速处理器、存储器材和总线,速度和衔接性限制使它无法独立观测现代高速总线的杂乱活动,软件工程师有必要运用逻辑剖析仪这一丈量东西来验证他们源代码的日子现已到来。
现代数字规划人员常常要与高速杂乱多处理器体系打交道,如像图1所示的一个用于通讯体系的底子嵌入式多处理器体系。上述三个范畴的工程师都需求能有一种东西获取长时刻相关数据,可从图1体系中得到数以百万计的运转周期信息,该东西要能够从主处理器及其它从处理器、存储总线和外围总线取得信息,重要的是这些信息还要和时刻联系起来,以便用户能够清楚地知道一切不同的处理器和总线之间是怎样相互作用的。只要逻辑剖析仪才干立刻满意一切要求。
用集成东西完结软件剖析调试
软件规划人员都很理想地期望其软件评价作业两端优点都能占到,既能够在了解的作业站操控终端上运转逻辑剖析仪的采样、显现和剖析,又不需求接触到真实的逻辑剖析仪。现在仪器出产厂商已开宣布能满意这种要求的解决方案,能够把功用强大的逻辑剖析仪(如Tektronix TLA700系列)和经验证的操控/仿真/调试东西(如Wind River的VisionClick)集成在一同。
这两种功用结合起来的功用远大于各部分功用的简略相加。假如没有履行操控东西,逻辑剖析仪尽管能得到被测体系(SUT)的实时相关数据,但却不能修正CPU的情况,也不能单步履行程序,或许操控所监测的数据转化;而假如没有逻辑剖析仪,履行操控东西尽管能够操控程序的每步履行情况,可是得不到满意的次纳秒级时序数据,或与时刻对应的成果。
将两种功用集成在一同的开发体系能收集实时信号、存储情况及源代码,一切这一切都能够在易于操作的仿真(履行操控)东西环境下取得。有了这种东西,软件工程师就能够得到长时刻高精度盯梢数据,即便总线速度很高也不怕,有些逻辑剖析仪的存储才能乃至到达64M。
这样一来,逻辑剖析仪看起来就像是操控东西的一部分,得到的数据以软件开发人员能看懂的方式显现在仿真作业站屏幕上,它能够显现出不同等级的数据,从存储器到高档源代码,还包含带有清楚时刻显现的每一运转周期的功用(图2)。
值得一提的是许多逻辑剖析仪没有供给满意的分辨率,无法将多个总线得到的成果正确联系起来,尤其是那些旧式仪器。如有些仪器宣称能够显现时序调整的波形和存储内容,但调整图形却是以多个被测体系周期显现的,当企图在一个杂乱体系中追索一项数据转化时,它底子就不或许盯梢出每个周期最终将衔接到什么方位,有问题出现时也难以分辨出原因和成果之间的联系。尽管从技术上说,得到的波形和存储的内容是实时追寻成果,但它太不准确了,对硬件和操作体系的毛病判别没有多大协助。
要想使显现的多种方式时序总线数据有意义,关键在于每次采样的时刻信息,并要有满意的分辨率。假如每次收集的数据都带有时刻信息(分辨率500皮秒),就能够把主处理器总线指令与体系外设总线的成果同等起来。
数据采样东西有必要既要“宽”(有许多输入通道)又要“深”(有很大的存储容量贮存得到的数据),带有扩展内存的组合式逻辑剖析仪可满意这些要求,特别是当扩展内存能够从64K到64M时,能担任%&&&&&%E环境下的任何要求。
要注意逻辑剖析仪发生的每一个画面都是从二进制波形信息得来的,所取得的信息及其高分辨率和时刻精度都是一些底子单元,经过反汇编器和支撑处理器转化成存储内容和源代码显现出来,这些都是主动按时刻调整的,在多总线测试点上会导致履行推迟。
高功用逻辑剖析仪和仿真器真实结合在一同后,能够为更快、更有用的代码验证和除错创造条件,例如对每一个采样点都用不同的窗口进行显现就很有用,有些用存储内容或许代码格局,而另一些则用时序格局。关于屏幕上的这些显现,每个窗口的光标都处于程序履行的同一点上,假如软件工程师在履行某一步程序时遇到问题,只需求把光标指向那一步,此刻带有光标的硬件周期波形就会在另一窗口中主动显现出来,这样软件和硬件规划人员就能很容易地一同协作解决问题。
归纳式仿真/逻辑剖析仪对代码优化也很有协助。软件规划师要在预订的时刻内使程序运转结束,运用仿真器屏幕上可显现实践时刻值的特性(如图2),能够很方便地看出程序是否能在规则的时刻内完结,其它代码优化东西如直方图还能对软件工程师供给进一步协助。
运用集成逻辑剖析仪还增加了许多其它仿真器功用,如功用归纳东西可得到单个指令的最小、最大和均匀完结时刻,这得益于改善后逻辑剖析仪所供给的时刻分辨率,条件追寻东西和代码器也能进一步进步时刻分辨率和采样深度。
最重要的是,归纳型仿真/逻辑剖析仪能使对硬件不感兴趣的软件工程师不需求接触它就能够操控这一功用强大的采样仪器。工程师能够对剖析仪进行全面操控,不论什么时候,只要按下仿真器上的“运转”按钮,仿真应用程序和逻辑剖析功用都会当即履行,仿真器运转代码,逻辑剖析仪则进行全面追寻,把描绘方针器材活动的一切数据都存起来。逻辑剖析仪的高分辨率和高精度可把每一个处理器和总线周期都记录下来,一起也有赖于这两个东西的结合,使得软件工程师依然能够在了解的环境下更有用地作业。
作者:Davis Chen
区域出售司理
泰克公司
Email:davis.chen@exgate.tek.com