嵌入式系统开发工具发展(5)
NI技术市场工程师 汤敏
1 在嵌入式系统开发工具领域,现在技术发展的最新趋势是什么?
现在的嵌入式系统开发工具非常多样化,市场很分散,目前据不完全统计,全世界嵌入式处理器的品种总量已经超过1000多种,流行体系结构有30多个系列,在其上运行的操作系统环境也非常多样化,包括VxWorks、QNX、Linux、 Nuclears、WinCE等等。不仅各种操作系统有各自的开发工具,在同一系统下开发的不同阶段也有不同的开发工具。如在用户的目标板开发初期,需要硬件仿真器来调试硬件系统和基本的驱动程序,在调试应用程序阶段可以使用交互式的开发环境进行软件调试,在测试阶段需要一些专门的测试工具软件进行功能和性能的测试等等。对于设计人员来说,要掌握、驾驭这样庞大的开发体系是一件非常困难的事情,而且编程的复杂度相当大。
现在传统工具很难降低编程工作的复杂度,嵌入式领域需要另一种方法来应对这些挑战。挑战不仅是工具方面的,还有解决问题的途径。 Edward Lee博士是加州大学伯克利分校嵌入式研究方面的领先者,他指出现在嵌入式系统的开发手段如基于文本编程和面向对象的工具都难以用来构建嵌入式实时系统,因为面向对象很难直观地表达时间和平行性(parallelism),而时间和平行性在现在的嵌入式系统中是必不可少的。Lee博士提出面向角色(actor-oriented)的图形化方法是更适合嵌入式软件设计的工具。
所以一种更为理想的、釜底抽薪的解决方案是向基于平台的工具转移,它能够更好地表达整个系统,而减少与特定硬件以及操作系统的相关性,这使得更多的软件设计和算法容易理解并被重复使用。而从基于文本的工具向图形化工具的转移则可以直观地表达系统,图形化系统设计(Graphical System Design)的理念就是源于这两大趋势。通过简化嵌入式编程的复杂性,它降低了对系统开发人员和领域专家在嵌入式设计流程中各个步骤的要求;同时提供了从设计、原型到部署,从软件调试、功能测试到生产检测的统一环境,使得工程师和科学家们可以更快速地进行重复设计。
2 为了促进中国的发展,您对中国工程师有什么建议?
现在很多工程师在设计嵌入式系统的时候往往选择最底层的工具,把绝大部分的时间都花在了底层的细节,而往往忽视了创新性和系统级的把握。工程师无论是为了自身的发展还是为了所设计产品的竞争力,这两点其实都是至关重要的。
说起电子工程师,大家第一个想到的就是coding,还有加班,甚至还有人自嘲为’IT民工’. 那么工程师的价值究竟体现在哪里,而且如何体现呢?有人将理想的工程师用字母T来描述。T表示在顶部具有广泛的知识和技能,同时在至少一个领域中具有深入的技术知识。工程师能够分析问题或是编写程序是远远不够的,他们还要能够利用他们的知识完成独特创新的设计。
所以,工程师要体现自身价值,必须有系统性的眼光,能够进行有创新性的设计。在这种情况下,工程师们更多的应该从底层的编程细节中‘逃离’出来,让工具去处理那些“常规”事务,而工程师本身就可以专注于自己的设计或研究领域,从更高的角度来看待自己在设计的系统,而不是只见树木,不见森林。
3 贵公司的产品特点是什么?
NI的宗旨一直是致力于帮助全球的科学家和工程师们不断创新,为了实现这样的目标NI采用的途径是提供全系列的工具和平台,这些工具和平台的优势在于充分集成最新的商用即成科技,降低用户学习和使用的复杂性,从而在此基础上,让用户在他们的工作中充分得享这些技术带来的好处。现在NI的产品应用于从系统设计、原型到发布的研发全过程。
基于NI一以贯之的宗旨:为工程师和科学家们降低学习最新技术的复杂性并提高工作效率,通过NI的LabVIEW图形化开发平台,工程师们不需要使用最底层的汇编语言甚至C语言进行编程,就可以将他们的设计实现快速的原型甚至发布,从而将嵌入式设计提升到了系统设计的层次。
和传统的文本编程相比,LabVIEW天生是一种并行结构的编程语言,而时间和并行性在现在的嵌入式系统中是必不可少的。LabVIEW可以支持多种算法设计,并通过丰富的硬件I/O支持,帮助工程师快速构建原型,更进一步的是,LabVIEW嵌入式开发模块提供了一个开放的框架,它可以集成任意的第三方工具链,将生成的C代码与LabVIEW运行库函数和板卡支持程序包,编译成为针对某一目标并能在之上运行的二进制代码。通过LabVIEW嵌入式开发模块和工具链,可以发布到运行任何操作系统的任何的32位处理器。
图1 LabVIEW嵌入式模块的开放框架
LabVIEW为嵌入式系统开发提供了一个跨越多种、多代产品的连贯性的平台,使设计人员能够多年重复并改进其设计,而不必替换其整个工具集或者重新学习不同的设计方法,从而使设计的速度和质量得到提高。同时,其图形化的编程模式使得更多的工程师和科学家可以使用他们的专业知识开发嵌入式应用,通过LabVIEW平台,来自各行各业的专家,例如控制工程师、生物医学工程师以及机械工程师能够利用最新的计算技术,解决最终目的,而不必在底层的嵌入式系统编程细节上花费太多的时间。可以说,LabVIEW为嵌入式系统开发提供了前所未有的革新方式。
评论