不久前,市场研究机构Embedded Market Forecasters (EMF)发布了一份报告指出:与嵌入式Linux平台相比,基于Microsoft Windows Embedded操作系统平台进行嵌入式系统开发,速度快43%,开发成本低68%.得出这个结论所采用的是TCD(Total Cost of Development,开发总成本)。

  这个结论一经发布,可谓一石激起千层浪,热衷于嵌入式Linux的人们纷纷出来辩论,对其提出质疑。人们首先要怀疑这份报告的公正性,因为报告作者——EMF分析师Jerry Krasner博士公开承认,微软为他做出这份研究报告向他支付了费用。

  在包括嵌入式软件在内的大多数软件领域,微软的地位无疑是非常重要的。Linux不仅因为继承了Unix的技术特色,更因为开放源代码而在商业机制上与一贯封闭的微软相对垒,赢得了众多口碑。不过,我们不应该忘记,在嵌入式软件开发领域并不是两军对垒,而是三足鼎立。这里还有一个非常重要的阵营——商业嵌入式软件开发工具提供商,例如Wind River的VxWorks.在激烈竞争的商业环境中,谁都希望以更低的成本、更快的速度推出满足市场需求、具有独特竞争力的产品呢。那么,嵌入式软件开发平台究竟应该采用什么样的衡量标准呢?哪一种嵌入式软件开发平台更能有效地帮助电子产品开发商降低产品成本、加快上市速度呢?为了对这些问题有一个全面的认识,让我们对来自微软、嵌入式Linux和商业嵌入式软件开发商的声音做一个全面的了解。

  争执,从衡量尺度开始

  衡量任何事情,都必须先有一个标准的尺度。为了说明什么样的嵌入式开发平台最经济有效,首先必须形成一套衡量标准。在这个关键问题上,的确是公说公有理、婆说婆有理。究竟谁的对,我们不妨来个“兼听则明”。

  受微软公司的委托,EMF研究机构Krasner博士所提出的报告标题是《TCD:嵌入式开发平台的成本评估框架》,其中首先针对如何评估一个嵌入式软件开发平台提出了一套方法。Krasner博士说:“TCD( Total Cost of Development)评估框架可以帮助嵌入式设备制造厂商评估他们花在软件设计中的总体成本,从而便于他们提高开发设计质量,控制开发设计成本。”

  Krasner博士在报告中提出了这样一个模型:

  TCD=TTM x NOE x CPMM其中:TTM(Time to Market)为产品从开发工作开始到上市所用的时间,以“月”为单位;NOE(Number of Engineers used)为开发该产品所需的工程师数量;CPMM(Cost per Man-Month)为每个工程师每个月所需的费用。

  Krasner的调查结果认为:Windows Embedded平台的平均TTM为8.1个月,而嵌入式Linux平台的平均TTM为14.3个月,前者比后者快了43%;从对软件工程师的需求来看,Windows Embedded 平台中每开发一个产品所需的平均工程师数量为7.9人,而嵌入式Linux平台需要14.2人,前者比后者节省44%.不管是在哪一种平台之中,调查报告把每个嵌入式软件工程师的平均月成本都假定为7500美元,从而得出结论:Windows Embedded平台中,每个项目的TCD为48万美元,而嵌入式Linux的TCD为150万美元,前者大约只是后者的四分之一。

  Krasner博士对如此之大的差别所作的解释是:Windows CE .NET和Windows XP Embedded更为成熟,功能更加丰富,采用基于构件的设计方法,具有集成化的工具集,支持并行开发工作流程。

  然而,热衷于嵌入式Linux的人们对这样的结论非常不以为然,并且提出了强有力的反击。

  Jerry Epplin是一家名为EmbeddedSpace的嵌入式系统咨询公司的首席咨询师。他尖锐地指出:嵌入式开发平台的评估方法应该准确地衡量开发工作中的全部因素,TTM和TCD的确是很重要的因素,但是,除此之外还有很多不可忽视的因素。例如:。产品差别化:采用廉价方法开发的产品并不一定能够在市场上获得独特的竞争力;。 产品成本:采用能够运行在较廉价的硬件平台上的嵌入式操作系统,将会使产品成本大幅度降低,从而在市场上具有更强的竞争力;。工具的延续性:如果嵌入式软件开发者长期采用同一个平台,并且积累了大量的工具软件和开发经验,必将在产品功能、性能和成本方面占据更大的优势。

  另外还有其他许多因素都应当纳入嵌入式软件开发平台的评估体系之中。如果只是拿出来一两个指标来衡量,其结果一定是片面的……

  真正应该关注的是TCP

  Krasner博士提出的嵌入式开发平台TCD评估方法不仅非常简单,而且完全站在了微软的立场上,当然是树大招风,而且由于过于简单而显得非常脆弱,很容易受到攻击。反过来,对于简单而直截了当的结论,最有效的攻击方法莫过于让事情复杂化,即使自己提不出任何明确的结论,至少能够让对方的论断受到怀疑。这就是Jerry Epplin所采用的办法。

  在Window Embedded和嵌入式Linux争执不下的时候,我们不妨听听另外一方面的说法,相信有助于我们明辨是非。

  不论是微软还是Linux,实际上都是嵌入式系统的后来者。在这个领域,本来就有一些长期获得认同的开发平台,比如Wind River的VxWorks. Wind River中国区总经理韩青指出:“Krasner博士和Jerry Epplin先生是从不同层面得出的不同结论,他们所说的都有道理,对于搞清楚如何选择嵌入式软件开发平台都是有帮助的。Wind River在嵌入式软件开发领域已经有20多年的经验,对此也有自己的认识。”

  韩青先生认为:选择和采用一种开发平台,对于一个电子产品厂商来说就是一笔投资。现在人们都开始认识到“Total Cost”,而不是只看最初的一次性投资。总的来看,对于嵌入式软件开发工具的投资,人们的认识水平可以分为以下几个层面:第一层面:只看到购买开发工具时所花的费用。在这个层面上,Open Source的Linux无疑是最吸引人的,因为它是免费的,而其他商用嵌入式软件开发工具和商业化的Linux都需要支付一定的费用。

  第二层面:不仅看到购买开发工具软件是所花的费用,而且看到在一个产品开发过程中所花的费用,主要是产品License和产品生产成本。微软及Krasner博士的报告对于人们认识到开发过程中的隐形费用很有帮助,只是他们提出的TCD模型过于简单了。Jerry Epplin则提出了一些同样值得重视的因素。

  第三层面:从一个产品整个生命周期的范围内来看待不同嵌入式软件开发平台对成本的影响,所以我们要关注TCP(Total Cost of Product,产品总成本)。因为,企业开发和销售一个产品,最终要关注的是获利能力,所以就必须关注TCP.其实,关于嵌入式软件开发平台的投入产出分析还可以在更高的层面——整个企业的高度来进行。经过多年发展和积淀,成熟的嵌入式软件开发平台支持基于构件(Components)的开发方法,从而让不同产品、不同开发项目之间实现大范围的软件构件重复使用,从而加快开发速度,降低开发成本。另外,在工具与平台的维护以及工程师的培训方面都可以节省更多的成本。

  特别是对于消费电子产品是嵌入式软件的新兴市场,由于这类产品主要是批量生产销售,所以对成本极为敏感。软件对于消费电子产品成本的影响主要体现在四个方面:一是对CPU的要求越高,成本越高;二是对Flash存储器容量要求越高,成本越高;三是产品软件License的费用直接影响产品成本;四是系统稳定性、可靠性越好,产品售后服务费用就越低。

  不同嵌入式软件平台的TCP分析比较

  对于一个产品从开发到批量上市,其中的费用大致由三个方面构成:开发工具License、产品生产的License和相关成本以及开发与生产中的隐性费用。其中,隐形费用往往的不到应有的重视,这是因为开发工具与平台的选择常常有技术开发人员做出,而由此对产品开发整体成本(TCP)却远远超出了技术问题本身。

  目前广泛采用的嵌入式软件开发工具,从商业模式上可以分为两类:In-House(由各生产厂商自行研发和维护)和商业化的嵌入式开发工具;从沿革历史上也可以分为两类:传统嵌入式平台和由桌面操作系统经过裁剪而来的平台。

  对于嵌入式Linux要区别看待。如果是完全免费的,那么必然要求开发者自行修改和维护,最终形成各自不同的版本,这样就和In-House的嵌入式开发工具没有什么区别了。

  抛开桌面操作系统和嵌入式系统所用的RTOS(实时操作系统)在技术上的区别,仅仅从经济性上来看,我们可以Wind River 的VxWorks为代表,在传统商用嵌入式软件工具、免费的嵌入式Linux和Windows Embedded等不同工具之间作一下比较。

  开发工具与平台的License费用:开发者可以选用免费的Linux.VxWorks、Windows Embedded和商业化的Linux的入门费大体在一个水平上。

  产品License费用及生产成本:表面上看,Linux是Royalty Free(免收使用许可费)。VxWorks和Windows是要收取使用许可费(Royalty)的。产品license费用对于价格敏感的设备,如消费电子类设备,是非常重要的。基于VxWorks所开发的产品对于CPU和存储Flash的需求更低,因此可为客户节省硬件成本。据风河公司中国区总经理韩青先生透露“风河公司在消费电子类产品上产品license的订价很低,采用VxWorks为用户节省的硬件成本足以补偿使用许可费”。Windows和Linux原本都是桌面操作系统,即使经过裁剪,其成品软件在节省CPU和内存方面仍然远远不及VxWorks.隐形费用:微软及Krasner博士的报告对于强调开发过程中的隐性成本具有非常大的积极作用,但是没有考虑到产品生产中的隐性成本,而且对开发阶段隐形费用所做的分析也过于简单化。

  实际上,开发一个产品的成本究竟怎样,与开发者已有的资源密切相关。具体产品开发者熟悉哪一种工具,目标产品的参考设计基于哪一种平台,这些都是非常关键的因素。所以要具体情况具体分析。从现实情况看,传统上熟悉VxWorks平台的开发者很多,对于他们来说,当然是选用VxWorks平台成本最低。Linux和Windows都吸引了不少新加入的开发者。

  嵌入式软件平台的选择对产品上市后隐形费用的影响不可忽视,这主要是体现在产品售后服务与维修方面。如果产品稳定可靠、故障率低,售后服务与支持费用自然就低,通别是对消费电子产品更是如此。VxWorks的可靠性和行为的确定性为开发者设计出精简、实用、可靠的嵌入式软件奠定了基础,这是它最独特的优势。

  微软及Krasner博士的报告虽然引发了许多争议,但是这种争议对于全面认识嵌入式软件开发的整体成本还是有很重要的积极作用。总的看来,从只关心入门费到认识到后续的产品生产成本和隐形费用,这是嵌入式软件平台选择准则的一大进步。希望由此开始,广大开发者乃至企业的经营决策者都更加关注嵌入式软件开发平台对产品总成本的影响。

转载于:https://www.cnblogs.com/Q685656/archive/2013/01/05/2845322.html

如何选择嵌入式软件开发平台相关推荐

  1. 选择软件开发平台,“快速开发”是关键

    一.快速开发平台 传统代码级开发成本越来越高,软件的功能升级跟不上市场的变化,客户的满意度越来越低.造这方面的原因是多方面,最重要是人力成本大幅上升和企业对软件的要求越来越高,通用的软件产品已无法满足 ...

  2. 地图开发如何选择地图开放平台

    作为现代社会中不可或缺的一部分,地图应用越来越重要.在各种不同的行业中,地图已经成为了一种必须的解决方案.当然,要进行地图开发,我们需要一个好用又易用的地图开发平台.但是,选择一个适合自己的平台,并不 ...

  3. 系统架构师论文-论软件开发平台的选择与应用

    论软件开发平台的选择与应用 -银行中间业务系统 [摘要] 本文讨论选择新软件开发平台用于重新开发银行中间业务系统.银行中间业务系统是指银行通过与企事业单位.机关团体的合作,为客户提供金融服务的系统.X ...

  4. java快速开发平台

    前言: 按目前IT行业发展,企业系项目,行业系项目,已经慢慢走向开源交付为主,根据小编这边数据调查,很多中小企业没有过多资深的技术人员,导致很多项目没有办法去 承包,当然包括想要开展其它不是专区的大企 ...

  5. 嵌入式系统开发工程师嵌入式软件开发工程师

    嵌入式软件开发工程师 工作内容 从事数据产品嵌入式(底层)软件开发和设计工作: 负责数据产品相关软件子系统的方案设计: 负责数据产品相关的技术交流.标准及专利相关工作: 负责嵌入式软件系统的需求分析和 ...

  6. DSDP -- 设备软件开发平台

    [size=medium] Eclispe 的设备软件开发平台是一个开源协作软件开发项目,致力于提供一个可扩展的,基于标准的平台,由美国风河系统公司(Wind River System)于 2005 ...

  7. 一站式开发平台落地指南,让研发规范化、模块化、自动化

    一站式开发平台是什么? 举个例子,行政办事机构便民的一项措施:一站式服务平台,是指办理一件事,在一个地方和一个部门完成,不需要辗转多个地方和多个部门,其实质就是服务的集成.整合.同理来说,一站式开发平 ...

  8. 写代码太累,找一款低代码开发平台吧

    现代社会变化太快,一个好想法,如果不尽快落地,很快就会被其他公司抢先了或者错过了行情.软件行业尤其如此,因为传统开发程序的方法耗时长.成本高,还没等你开发出来,要么其他公司做出了类似产品,要么因长时间 ...

  9. 1.3-原来这才是大家常用的上位机开发平台

    一.有哪些上位机开发平台(优缺点和使用场景) 由于上位机概念的广泛性,所以上位机开发平台可以是任何开发平台.这里介绍几个常用的经典的上位机开发平台及其特性. VB(Visual Basic) 开发语言 ...

  10. 移动三国己然鼎立,普​通开发者如何选择开发​平台?

    Nokia和Microsoft 终于搞基成功,业内人事普遍都看好两家厂商的"软硬结合".这一结局直接把Windows Phone7 这一新兴手机移动操作系统送到与如日中天的Ipho ...

最新文章

  1. 判断字符串_python判断字符串以什么开始
  2. 金泰联限量稳定虚拟主机赞助计划
  3. 在命令窗口执行java文件时,提示找不到或无法加载主类
  4. 鸟哥私房菜(基础篇第三版)笔记
  5. 2018年9月杭州云栖大会Workshop - 基于日志的安全分析实战
  6. 聊天记录曝光,T-Mobile 证实内部工具和源代码遭 Lapsus$ 访问
  7. sms 2003 Service Pack 3 Open Beta
  8. 伯努利分布方差_学计量经济学,你应该知道的六种6个概率分布
  9. 拒绝“脏”数据——数据质量评估深入剖析
  10. 微处理器内部结构(寄存器)
  11. Snort 中文手册【http://snort.org.cn/】
  12. L9953LXP_车门致动器驱动器
  13. 第十四周练兵区——编程题——不计入总分
  14. fastadmin btn-ajax,FastAdmin 在线命令生成时出错的分析
  15. c51单片机烧录程序 控制台显示正在检测目标单片机
  16. python——Matplotlib饼图、直方图的绘制
  17. MFC修改图标简单方法(包括exe图标,任务栏图标,应用程序运行左上角图标)
  18. 关于linux开机出现initramfs的解决
  19. 计算机专业云平台管理试题,练习题云平台/计算机软考考试试题-考试系统
  20. 怎样才能胜任技术总监

热门文章

  1. HDF5数据模型介绍及h5py
  2. html怎么设置自动音乐播放器,运用js教你轻松制作html音乐播放器
  3. 进程控制(PCB,进程ID,进程状态,fork函数,文件共享)
  4. 【React Native 安卓开发】----侧边栏的实现DrawerLayoutAndroid以及第三方框架react-native-side-menu的使用【第六篇】
  5. Android View框架总结(五)View布局流程之Layout
  6. flask服务器获取多个文件,python - OkHttp将带有名称的多个文件上传到Python Flask服务器 - 堆栈内存溢出...
  7. php呼叫平台,什么是PHP运算符“?和“:”呼叫和他们做什么?
  8. 大脑构造图与功能解析_EXCEL函数中Indirect才是构造函数之王,其他函数只能靠边站...
  9. python replace替换多个字符_「Python 秘籍」字符串忽略大小写的搜索替换
  10. 华为手机邮箱 html邮件_华为手机使用小妙招,可以一键翻译外语邮件,帮我们轻松办公...