首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入系统调试揭秘 03

嵌入系统调试揭秘 03

IEEE-ISTO 5001-2003是Nexus 5001 Forum针对全球嵌入处理器调试方法的开放式工业标准,它为嵌入处理器的软件开发与调试提供了一种通用接口。Nexus 5001 Forum最初关注点是汽车传动应用,但结果是发展成为一个通用标准。Nexus 5001 Forum成员遍及半导体、开发工具和汽车电子业。随着硅片成本不断下跌,以及片上调试接口与功能的标准化,处理器供应商很可能将高端的片上调试能力从高端处理器带入较低端的处理器,以提供更强大的片上可视性。这将成为获得设计成功的必需步骤。

  设计辅助

  针对系统级仿真工具的较高价格,Virtutech公司首席执行官John Lambert提供了一个立即可行的迁移因素。他说:“有一个开发团队通常用我们的平台作为他们当前项目的前后端支持,但一旦他们使用了这一工具,就更加彻底理解了它的价值,并用于未来项目设计周期的两端。”

  这个理论表明,当嵌入系统设计者称自己需要更好的调试工具时,他们的原意可能并非如此。调试工具的主要功能是提供系统运行时状态的可视性。当一个系统包含了复杂接口、传感器和促动器时,调试器可能是用于检查这些外部系统功能的最方便工具,因为要为所有这些紧密耦合的子系统生成准确的信号是一个重大挑战。因此,你可能会把它们称为调试工具,而不是设计辅助工具,一个原因是只有到了项目的系统集成阶段,这些工具的功能才可以使用,这时调试已走入正轨。

  将调试工具看作设计辅助工具提供了一个有价值的观点,尤其是在做闭环控制的系统时,此时输出会影响系统的输入。闭环控制系统的行为验证可能是一个挑战。我曾用最终系统软件和传感器硬件,对一只传感器要在一系列预期环境中使用的自动增益控制算法作了性能特性描述和验证(参考文献2)。在一个纯软件调试环境下,不存在对这种条件的仿真方法,甚至对类似事情的测试,因为传感器没有精确模型。结果是,我及时发现了传感器的一种未知特性。

  第二个例子是获取系统集成测试数据,并用一个数据表程序运行这些数据,以分析闭环控制算法的功能是否正常。同样,没有哪种软件仿真或设计工作可以真正将设备联系在一起并收集数据;在集成期间运行测试要比试图建立一次精确的原型系统模型更有性价比。但是,我确实使用获得的系统行为信息,为下一代开发工作建立了仿真模型。

  调试嵌入系统的另一个特点是,问题并非只来自软件错误。不过,因为在软件中修改大多数错误要更有成本效益和日程效益,设计者通常还是用软件修复来解决问题。然而,当软件变化时做一个修复和记录修复,与寻找、诊断和确定一个可接受的分辨率所需要的跨学科合作工作量不相适应。事实上,很多嵌入系统调试问题都是跨学科的问题,需要对系统硬件、软件和特定域约束条件的理解和专业知识。如果做系统集成测试的人恰好是三个方面的专家,那就没有问题了,但这种人寥若晨星。

  由于嵌入系统调试的跨学科特性,调试工具与工程服务就有了填补空缺的机会。仅仅因为调试工具能提供系统的某种可视性,而并不意味着开发者能用到这个特性。Green Hills Software公司首席技术官David Kleidermacher同意这个说法:“对开发者来说,工具中有太多选项需要大量的学习曲线,因此很多这类特性的使用率不高。”由于时间压力,开发者倾向使用最简单的功能,而先进的功能更多地是作为他们从前期项目中学到的一部分经验。作为对这种认识的一种响应,Green Hills公司在自己的Multi Time Machine调试工具中增加了“永远打开”(always-on)的跟踪能力;跟踪能力对开发者已越来越有用,因为默认条件几乎不会让开发者付出什么成本,不需要使用学习曲线,并且比显式地打开跟踪-捕捉功能更有效率。

  开发者调试嵌入系统时面临的另一个挑战是测试台的搭建与配置。这是一个低成本但高价值的问题,很多工具供应商都尝试在自己的工具集中解决这个问题。很多评估板的电源现在都带有USB连接,大大简化了这些电路板的电源设置工作。在嵌入系统与主控系统之间传送用户采集数据的接口现在也更易于使用,并且有了在不久的将来用无线接口作调试的说法。很多开发工具套件都提供一种预先配置好的设置,使开发者对电路板作测试,确认电路板及其工具都能在一种已知环境下正常工作。德州仪器公司技术研究员Reid Tatge解释说,该公司开发工具的一个目标就是使嵌入开发工作像“wintel”系统(即采用英特尔公司微处理器和微软公司Windows操作系统)的开发一样,从而简化设计者使用自己嵌入处理器的学习曲线。
返回列表