嵌入式系统开发工具发展(8)
爱亚(IAR)软件技术咨询(上海)有限公司 总经理 叶涛
1.在嵌入式系统开发工具领域,现在技术发展的最新趋势是什么?
. 功能方面:工具之间加强了互相间的配合,使得客户能更方便地实现整个完整的工作流程。
- IAR的EW集成开发环境近几年加强了与第三方调试环境的配合,EW生成的各种文件能直接放到这些调试器中工作,相应的,通过插件方式,EW与这些调试器也实现了无缝的链接,例如:Atmel的AVR Studio(for AVR以及AVR32)、Microchip的MPLab(for PIC、PIC18与dsPIC等)、Aiji的EDS(for ARM),南京万利的MedWin(for 8051),等等;
- 集成开发环境与第三方操作系统之间的配合也大大加强了,比如:IAR的EW中集成了多种调试插件,能配合各种RTOS实现直观调试,如Micrium公司的uC/OS-II、Express Logic公司的ThreadX、ENEA公司的Epsilon,以及IAR公司自己的PowerPAC。
另外,EW中还能直接通过插件,直接调试基于Lab Center公司Proteus的虚拟开发板模型;
- 一些前道工具也加强了与编译器的配合,能直接生成符合编译器格式的工程文件,比如:Infineon的Dave(工程配置向导)以及IAR的VisualSTATE(状态机建模工具)在生成C代码时,能直接生成基于EW格式的代码;通过一个与EW协同工作的特别插件、VisualSTATE还可以实现在状态机级别的在线调试;
. 性能方面:
- 编译器的设计更加模块化,以实现更加精细的优化功能,使得客户能针对应用的需求实现代码效率和代码速度之间的均衡;
- 编译器的另一个功能发展是应对来自于汽车电子行业对代码可靠性的需求,需要编译器增加对代码进行MISRA C规则(Motor Industry Software Reliability Association, 汽车工业软件可靠性协会)的检查。IAR EW中的MISRA C检查器模块能很好地符合这部分客户的需求,目前支持的版本是MISRA C 1999版,明年将进一步支持到MISRA C 2004版;
- 面对消费类电子行业中Linux应用增长的趋势,实现集成开发环境对Linux代码某种程度的支持也是一个趋势,目前通用的做法是能支持对GNU生成代码的调试支持以及链接器层面的兼容。
1-1.未来两年内,哪类嵌入式开发工具增长最快?为什么?
就中国的情况而言,如果说就销售数量进行排序的话,大致为 仿真器>调试器>编译器>其他工具如建模等。主要是中国的电子产业主要以制造加工为主,研发层次比较低,工程师更多地依赖仿真器/调试器进行对代码的错误检查,因此这部分的工具(特别是低端的工具),数量比较大。
如果说就增长率而言,估计今后编译器的增长率会最快,因为我们明显感觉到,这两年随着工程师的研发水平提高,大家越来越意识到要“做好一个产品”,而不仅仅是“做出一个产品”,因此,在工具的使用上,也逐步从以调试工具为主,越来越多地转移到对商用编译器的关注上。
1-2.就技术和市场两方面来说,贵公司面临哪些挑战?为什么?
我想,最大的挑战不在于技术,也不是市场竞争,而来自于人们对知识产权的不够重视。很多人认为软件就是应该免费的,能不花钱就不花钱,这使得在中国使用免费工具以及盗版工具的比例相当高,而产品研发始终徘徊在一个低水平的层次上。我很欣赏这样一句话:“Nothing is Free, Free is Nothing”,相信随着工程师研发水平的提高以及眼界的开阔,这种情势会慢慢改变。
2.为了促进中国的发展,您对中国工程师有什么建议?
“整体解决方案是毒药”,这话可能有些偏激,但是不要迷信整体解决方案,可能是有道理的。在当前以制造为主的中国电子行业,往往“重制造、轻研发”,“Time to Market”对公司的压力特别大,于是,符合这一需求的“Total Solution”便应运而生,这也是中国特色。但是,我们同时看到,目前整个中国的电子产业是由半导体硬件公司来驱动的,因此整体解决方案可能存在问题:这些方案的发起是以某款芯片为中心的,方案随这款芯片具有时效性,因为不可能方案队伍始终专注于这个应用,这就造成了在应用需求分析上可能质量不高。另外,为了迎合客户不希望对软件的投入这一需求,许多方案往往采用一些免费工具去做,结果造成整体应用设计水平偏低以及产品BOM表的成本增高。从“设计优秀的产品”和“提高自身技术水平”两方面出发,我建议中国的工程师应该多接触商业工具(包括操作系统)公司,自己独立思考应用的设计,而不要太迷信“整体解决方案”,那会把整个产业带入死胡同。
3.贵公司的产品特点是什么?
IAR的产品有以下几个共同的特点:
- 代码效率高
我们的各种编译器的代码效率都是业内领先的,同样的一段C代码,在IAR的编译器中能实现最高的代码效率,从而节约用户对内存的使用,也就意味着客户节约成本;
- 跨平台
我们的集成环境支持30余种不同的芯片架构,而且基于同一个基础平台开发而成,因此在软件的使用界面上,一些关键字方面,都非常的类似。用户使用过我们一个工具后,将很轻松使用其他的工具,同时,在实现应用的跨平台移植上也会非常方便。所以我们的口号是“不同芯片架构、同一解决方案”;
- 软件模块化、性能稳定
在长期的开发中,IAR的研发团队按照软件功能模块的发展,形成了非常精细的分工,整个软件都是由数十人以结构化的方式开发而成,因此,在半导体芯片技术日新月异的发展过程中,IAR的产品能始终保持同步发展,而且性能稳定,Bug出现的概率也很小;而很多编译器公司只有数人的研发团队,在软件结构和性能上,与IAR有不小的差距;
- 工具链完整、产品整合度高
IAR拥有完整的产品线,从状态机建模、编译器、调试器、仿真器到实时操作系统,而且工具间整合度高、界面友好,用户使用IAR的工具,能极大的节约开发资源并缩短研发周期。
评论