发表于:2008-08-07 15:48:55
楼主
嵌入式系统设计人员正同时面临着调试工具的渐变和剧变。在渐变方面,调试工具正遵循着一般的设计趋势,向标准化开放式系统迈进。而剧变则可能表现在操作层面,因为开发人员在向嵌入式调试工具中增加无线连接功能。
嵌入式系统需要两种调试形式,其中一种基于软件,另一种则以硬件为中心。而且,业界在这两方面都已经做了大量标准化工作。其中,基于软件的调试正在转向一种基于Eclipse框架的开放式系统方法。大多数软件开发工具公司现在都有相应的插件,使其调试工具成为Eclipse集成开发环境(IDE)的一部分。例如,由于Altium公司的Tasking VX工具集允许内部集成在Eclipse平台中,以支持更多的工具配置选项。嵌入式工具公司也在加入到Eclipse基金会中来,从而有助于确保嵌入式工具能在未来Eclipse平台的进一步开发中扮演重要的角色。
这些工具插件的普及正在帮助催生Eclipse的标准化扩展途径,使原本针对企业级软件开发而创建的Eclipse平台如今也包含了嵌入式和器件级软件。这其中的一个倡导项目,便是由风河系统公司牵头的器件软件开发平台(DSDP),该平台涵盖了嵌入式系统的大量特定硬件要求。
DSDP倡导组织正在努力克服Eclipse处理调试方式的严苛性问题。原来的Eclipse(3.1版以前)接口具有“target-process-thread”堆栈帧层次,当调试视图改变时会跟着改变调试的相关内容。而DSDP组织则提供了可自适应的接口层,如用作浏览器和调试模型之间的桥的内容适配器,因此允许内容定制和模型驱动的内容浏览。这种方法还支持针对目标硬件的特殊配置实现调试器的定制。朝着实现这种方法迈出的第一步出现在2006年中期发布的Eclipse(3.2版)中,并且仍在不断得到修正。
JTAG主导处理器探测
在硬件调试方面,通过在线仿真(ICE)以及类似的工具来查看处理器内部的方法,正在从用外绑定处理器的定制探测转向内置调试。目前可以访问这种内置功能的标准接口是IEEE标准1149.1所定义的JTAG接口。JTAG的初衷是使用每个芯片内部的硬件资源检查高密度PCB上的连接完整性。如今,JTAG可以用作以追踪内置软件、读取内部处理器寄存器的访问端口,甚至用于存储器和可配置逻辑的板上编程。
将JTAG用于硬件调试的其中一个新兴趋势是通过单个接口同时控制多个器件的能力。JTAG的定义允许器件以菊花链的结构链接在一起,因此单个控制器可以访问电路板上的所有器件。而在嵌入式开发中,工具供应商最早是将JTAG接口用于单器件访问—也就是访问处理器。
然而,现代系统设计通常要使用两个以上的处理器,因此开发人员需要将单独的工具连接到每个处理器,然后独立地调试每个器件。硬件工具的因应措施是逐渐能够使用调试器探测菊花链处理器,并对它们同时实施控制以获得更协调的调试效果。另外,探测器逐渐能够通过处理器的JTAG接口访问其它硬件,如存储器。
Macraigor系统公司的OCDemon系列探测器就是近期涌现出来的这类多功能JTAG探测的一个例子。器件通过支持软件的配置可以控制目标处理器,从而提供了对处理器操作和寄存器访问的控制。此外,它还能控制与目标处理器连接的闪存。这种功能允许开发人员用单个器件和连接来加载软件,并测试它的执行情况,从而提高反复调试的速度。
然而,由于有潜力改变嵌入式系统调试实现的地点和方式,硬件调试的下一步发展将不仅是这类简单的功能扩展。当JTAG硬件调试象其它各种数据传送方式那样采用无线连接时,这将成为事实。到处理器的JTAG连接已经从并行端口转向USB,因此再从USB转到无线USB或其它无线形式只需一小步即可。
硬件调试连接无线化所提供的优势不言而喻:简化访问连接,并且无须使用线缆,还给现场系统维护和升级提供了新的可能性。通过JTAG接口已经可以使用硬件调试和存储器编程的全部功能。而使连接无线化,将允许已部署系统中这些功能的性能随时得以充分发挥。
根据所实现的无线链路类型,嵌入式系统设计可以通过笔记本电脑实现现场调试和维护,或者甚至通过与互联网的Wi-Fi连接实现远程操作。这样就扩展了维护方式,并且开启多种应用可能性,如收集事件统计数据用于故障分析,或确定应用模式以改进设计。