收藏 分享(赏)

嵌入式操作系统--如何选择适合当前项目的最佳操作系统.doc

上传人:cjc2202537 文档编号:1546049 上传时间:2018-08-01 格式:DOC 页数:8 大小:38.50KB
下载 相关 举报
嵌入式操作系统--如何选择适合当前项目的最佳操作系统.doc_第1页
第1页 / 共8页
嵌入式操作系统--如何选择适合当前项目的最佳操作系统.doc_第2页
第2页 / 共8页
嵌入式操作系统--如何选择适合当前项目的最佳操作系统.doc_第3页
第3页 / 共8页
嵌入式操作系统--如何选择适合当前项目的最佳操作系统.doc_第4页
第4页 / 共8页
嵌入式操作系统--如何选择适合当前项目的最佳操作系统.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、如何选择适合当前项目的最佳操作系统?(2009-09-20 02:47:54) uc/os-ii, linuxwincevxworks开发之道编者按:过去由于认识上的局限性,对如何选用合适的操作系统博主同样走过了很多弯路。在企 业的发展过程中, 为了 满足客户的需求,我们大批量使用了正版 uC/OS-II、WinCE、Vxworks、MontaVista Realtime Linux 以及开源的嵌入式 Linux 操作系统。在基于成本核算的项目管理过程中,博主领略了各种操作系统的优劣。对 于初学者来说,到底学习哪一种操作系统比较好呢? 这要看你的条件和兴趣了,因此不能一概而论。今特 别 从技术

2、经济的角度出 发,将个人的管理 经验奉献给 大家,本文仅一家之言,不一定适合所有的行业,也希望您 寻求各方面专 家的帮助以免误导。能满足大多数项目需求的 uC/OS-IIuC/OS-II 最大的应用价值是简洁与实用,当一个系统选用 uC/OS-II 时,最多只需要 2M 的 NOR Flash,2M 的 SDRAM 或最多 8M 的 SDRAM,因此整个系统的成本是最低的。但很多人却看不起这个小玩意儿,片面地认为它没有什么价值,而事实上 uC/OS-II 却能满足很多项目的需求。最近又推出了新的版本,命名为 C/OS-III,其新的一些特性是:抢占式多任务,在同一优先级支持任务的轮询调度,没有

3、任务数的限制,内核提供丰富的服务:信号量、互斥信号灯、完全支持优先级继承、事件标志、消息队列、定时器、固定大小的内存块管理,以及内置性能测量。如果将它移植到 ARM9,您会发现它的启动速度是最快的,甚至只需要 1 秒的时间。当开发基于 GUI的产品时,您会发现最终的效果可以与其它的操作系统媲美。当您点击 HMI 人机界面产品的效果时,我想您就不会忽视 uC/OS-II 的价值了。可是很多人不知道如何将 uC/OS-II 移植到 ARM9,其实只要支持 MMU即可。但也有很多人根本就没有尝试过,或者根本就没有这种意愿,于是就主观臆断下结论,一棍子将uC/OS-II 打死,所以一些开发人员常常只选

4、自己会的而不选对的,而且思想非常顽固。博主在过去的开发生涯中,也犯过各种类似的错误。是不是只要选择 uC/OS-II 就一劳永逸了呢?当然不是。虽然它能够满足很多产品对 CF 卡、SD 卡、TCP/IP 以太网、CAN-bus/CANopen/DeviceNet/J1939 现场总线、GUI 图形用户界面、RS232、RS485 等多方面的需求,但它还是有一定的局限性。如果需要支持 Wi-Fi 等更多的软件时,那就非常麻烦了。但还是有一些人要反驳博主,uC/OS-II 要收费不划算,事实上只要粗略地计算一下开发成本,其结论自然也就一目了然了。 资源丰富、继承性最好的 WinCE如果一次购买超过

5、 3000 个授权,价格还是很便宜的,这是很多用户都能够承受的。由于 WinCE 与Windows 一脉相承的关系,且使用同样的开发工具,那么对于熟练掌握 Windows 编程的软件开发人员来说也就非常方便了,所以很多客户还是选择 WinCE。如果项目中还需要用到 GUI 的话,那么 WinCE 可以说是最佳的选择了,这是 WinCE 最明显的优势之一。如果无论开发什么产品都选择 WinCE 的话,肯定是不划算的。比如选用 uC/OS-II 就可以实现的项目,如果因为开发人员的喜好而选用 WinCE,至少需要 2 片 32M 的 SDRAM,1 片 32M 的 NOR Flash 或一片 2M

6、 的NOR Flash+128M 的 NAND Flash(因为容量少的工业级 NAND Flash 越来越难购买),可想而知其硬件成本还是非常之高的。高贵、实时、稳定的 VxworksVxworks 最大的应用价值是实时性和稳定性,其血统高贵,由于系统使用了 Vxworks,用户对产品的信任度立即凸显。根据博主的经验,如果一次性购买的授权数量适当大一些,其价格是很多企业都能够接受的,最终您一定会惊讶得不可思议,在计算成本时甚至可以忽略不计。虽然原厂需要收至少 47250 美元的年费,但您可以得到所有丰富的源代码,并使用于任何 CPU 微处理器。如果您只选用某一系列处理器或不需要升级源代码,那

7、么以后每年的费用则是可以节省的,只要支付每个产品的授权费用即可。如果您不需要源代码,那么所要支付的年费将会更加便宜。开源、自由的嵌入式 Linux嵌入式 Linux 最大的应用价值是开源,如果需要支持 Wi-Fi 的话,那么嵌入式 Linux 是很好的选择之一,搭配 QT 开发 GUI 人机界面也是非常不错的。但很多人选择嵌入式 Linux 的出发点是免费,这是绝对错误的,因为很多企业长期采取放羊式的产品开发方法,即便一些企业实施了项目管理,但对于成本核算还是缺乏参照物,几乎没有购买商业化操作系统开发产品的经验,从而忽略了开发人员的高工资开支。从博主使用的情况来看,嵌入式 Linux 的内核是

8、比较稳定的,而相对 Vxowork、WinCE 来说却是最贵的。但为什么博主还是要推荐选用嵌入式 Linux 呢?首先 Linux 是支持新微处理器、新驱动软件和新协议软件最多、速度最快的平台,比如最近发布的 USB3.0 驱动软件。由于其最大的好处就是开源,所以我们可以根据需要而任意裁剪,即便某些驱动不稳定,但因为有源代码我们也可以任意修改,所以嵌入式Linux 最大的应用价值不是免费。随着 Linux 技术与时俱进式的发展,Linux 技术将会越来越完善,因为Linux 存在的价值,将时刻提醒垄断性商业化软件回归大众化的价格,市场势必呈现按需配置的多元化用户自由选择的新时代。事实上,我听到

9、的、感受到的和所接触到的很多嵌入式 Linux 开发工程师都是非常优秀的人才,他们的成功案例激发了我们投入使用开源嵌入式 Linux 的决心。在学习和应用嵌入式 LInux 的过程中,目前大多数人还是停留在了解内核原理,会写会修改驱动程序的层面,而对如何开发出一个稳定的基于嵌入式Linux 的产品,还是缺乏必要的能力。往往开发出来的软件不是“一劳永逸”而是“一逸永劳”,无论是软件架构,还是模块化都不尽人意。因此要想成为优秀的嵌入式 Linux 开发人员,一定要继承基于Windows 平台软件的优秀技术成果,最好有一些通用软件的开发经验作为基础。因为在嵌入式 Linux 软件的技术发展和积累过程

10、中,有关基于嵌入式 Linux 软件架构、模式等技术相应的参考资料还是比较缺乏的,所以兼容并蓄地吸收基于 Windows 软件平台的开发方法还是非常有必要的,但很多人却缺乏这种意识,所以在开发产品的过程中,常常会出现“跑起来很兴奋,但要稳定却需费很大的劲”。随着开发工具的发展和创新,嵌入式 Linux 的开发难度将会极度地降低,博主将推出在 Windows 下支持嵌入式 Linux 的 TKStudio 集成开发平台,能够非常方便地实现嵌入式 Linux 内核、驱动程序与应用层软件的调试,上百人的开发与技术支持团队将为您打造稳定的嵌入式 Linux 软硬件一体化开发平台。 开源软件刚起步的一些

11、网站、企业或个人由于对价格的敏感往往选择免费的开源软件,这些软件的性能正变得越来越好。然而大公司更注重将锋线降到最低点,因而他们愿意选用收费的微软软件或者红帽子等公司Linux 系统提供商的服务。公司知道,他们向软件公司开出了一张支票,就同时得到了一份合约,有了这份合约,这些公司就会得到“高水准服务的保证”。也就是说,如果软件出了故障,那么您就可以拨打某个维修电话了。如今,开源软件和非开源软件都代表了巨大的市场。从总营业收入来计算,微软远远超过了自己的开源软件对手。但是从用户数目来计算,两者之间的差距并非特别大。例如,火狐浏览器就在不断地侵蚀微软 IE 浏览器的市场份额,而开发商则通过完全通过

12、 Google 公司的广告收入分成。当人们使用火狐浏览器搜索内容的时候,就会链接到 Google 浏览器的搜索结果页面。而开发火狐浏览器的莫兹拉公司只有不到100 人,却可以和微软浏览器的强大工作团队竞争。这是建立在免费基础上的另一类生意,浏览器并非一定要捆绑到收费的操作系统里一起销售。这是一个免费和付费软件共存的混合世界,这种混合世界不仅可能存在,而且可能发展的很好,因为只有一道菜不一定适合所有人的口味。技术的价值体现事实上技术的壁垒不在于基础技术本身,每个人实际的竞争在于行业经验的积累,所以不要迷信学什么最容易赚钱,最容易就业之类骗人的鬼话。即便当前容易,但那也是暂时的。在 80C51 单

13、片机开始流行的初级阶段,如果会用 C51 语言开发产品,看起来比使用汇编语言显得水平要高一些;前几年如果会用ARM 开发产品,看起来似乎又上了一个台阶;再后来如果掌握了嵌入式 Linux,看起来好象更上一层楼了。而现实的情况是很多工程师至今仍然使用变种的 80C51 单片机开发产品,但产品的市场占有率和开发人员的价值依然坚挺,对于这种现象我们熟视无睹,所以即便有了很好的基础技术,但未必就能够创造令人满意的价值。博主自创业以来,开发了稳定性高的 CAN-bus 现场总线系列工控产品,可以毫不夸张地说,在国内一直具有绝对的竞争优势和市场占有率,口碑也非常之好,当客户加上与行业有关的软件之后,其售价

14、立即上升十倍,这才是真正的价值体现。当博主在 6 年前推出第一台 LA1032 逻辑分析仪时,只能卖 2800 元。今年推出了 LAB6000 系列高性能逻辑分析仪时,售价则为 1680029800 元,不曾想到这几天还卖断货。原因何在?新一代逻辑分析仪是面向终端用户的高附加值仪器,其购买对象为开发高技术含量产品,且注重技术发展有潜力的高端用户,因为能够实实在在地帮助客户解决实际的难题创造价值。闲谈 GUI 的开发经验我们不仅使用过 WinCE、uC/GUI,而且还使用过 QT,总体来说感觉都是非常不错的。要想产品卖得好,GUI 图形用户界面是至关重要的,并且要求承担设计的美工必须对用户心理学

15、、色彩心理学、人机工程学和软件框架结构必须有深入的研究,最好具有工业设计经验。因为这不是技术活而是艺术,所以一定要有天赋和灵气。其次就是 GUI 中用到的图片,其实是非常讲究的。一般公司开发的软件中所使用的图片都是软件工程师自己画的,稍微大一些的软件公司虽然配备了专业的美工,但其图片质量则不敢恭维。为什么会出现这种糟糕的现象呢?我们传统的产品开发思路,无论做什么都不注重细节,自己做得不好还非常有理,因为别人也是这样的。其次,我们的习惯性思维喜欢从头到尾自己掌控,只要给别人付费就不愿意,连非常有价值的商业化操作系统都不愿意支付权利金,所以也就更加不愿意花钱购买国外的专业图库了,总之一句话:给别人

16、赚钱就是不爽。而我们的做法是向世界级的第一流企业购买成熟的知识产权,然后投入人力资源从事基础研究和开发买不到的技术,全力以赴支持技术创新,最终转化为有竞争力产品。过去我们也开发过很多似乎领先的技术,但最后却付出了比购买技术还要大得多的代价。很多时候购买一项技术从谈判到消化只需要 2 个月,并且同步与世界先进技术水平;而自己开发却需要一年以上,后期的维护费用不少,而且技术水平一般。有时等自己开发出来之后,技术水平又落后一大截了,这样的自主创新事实上毫无价值。 后记:写到这里,我突然感到完全有必要写一篇文章,阐述开发过程之中的管理之道,那就是“自主创新一定有价值吗?”向大家介绍博主多年来在开发产品

17、和从事基础技术研究的成功经验与失败的教训,希望对更多的企业和初学者有所帮助。立志从事嵌入式技术的学生需要注意的一些问题(2009-09-24 08:07:07) 转载标签: 基础技术积累思想成功的方法编者按:这是我曾经在 21IC 论坛为回复网友而发表的一些看法,时间一久早已忘记,广 东工业大学自动化学院一位热心的同学将此文收集在他的博客上,经再次阅读稍作修改和整理发表于此,以回复在招聘现场很多同学的咨询。这位同学写的博客非常不 错( Tiger 技术空间 ),特此推荐给在校大学生交流与学习。先学什么后学什么完全取决于个人目前的基础,产品的开发也完全取决于个人的技术积累,因此注重个人在技术上的

18、修为和打好基础,则是未来成为出类拔萃人才的重要前提,而对开发思想和方法的深刻认识,则远比暂时能开发几个产品要持久得多。比方说,同样的项目选用 ARM9,则有几种可行的方案,Linux、WinCE 与 uC/OS-II,用 Linux、WinCE硬件成本很高,至少是 2 片 32M 的 SDRAM、1 片 NAND Flash 或者一片 2M NOR Flash。而用 uC/OS-II 的硬件成本最低,硬件成本大约 10 元人民币,即只需要一片 128K-2M DataFlash 和一片 2-8M SDRAM,同样可以支持 MMU 等所有的资源,而且支持 GUI 的速度之快是 Linux 与 W

19、inCE 所不能比的。但也不是所有的产品都适合用 uC/OS-II,则要看具体情况而定,而且还有很多客户用“裸奔”的办法。而 Linux 与 WinCE 强大的平台化软件支持是其突出的优势,如支持 Wi-Fi 最好的方案是 Linux 和 WinCE,因为 Linux 与 WinCE自带协议,而要在 uC/OS-II 上自己开发一个支持 Wi-Fi 的协议简直是开玩笑。所以作为一个未来具有竞争力的工程师,我想你已经知道初步该如何选择了。还有关键看您目标要成为什么样的人才,一般来说开发工程师有几个层次,(1)会开发产品,但理论水平一般,比方说,很多工程师会用 ARM 开发产品,但对 ARM 的细

20、节讲不清楚;(2)会开发产品,理论水平也不错,会写开发文档,也能够将问题讲清楚,但不一定能够做到深入浅出地详细阐述技术来龙去脉,同时也不善于从思想上启迪年轻人,一般来说这样的人才会做出令人难以想象的成就;(3)会开发产品,理论水平很高,会说、会写还会讲,属于技术专家型管理人才;(4)会开发产品,形象思维很好,条理性很强,沟通能力非常出色,属于管理型人才;(5)技术全面,沟通能力强,非常擅长从思想上毫无保留地全面关心和指导年轻人,这类人才则属于工程师中的思想家。事实上人才分为 4 大类,第一类大约 15%,第二类大约 65%,第三类大约 20%,第四类为 0,为什么还有为 0 的类别呢?在每次考

21、评之前就已经淘汰的人才,即归类为 0。属于第一层次的工程师,很难让人佩服和追随,因为这样的能力带不出高手,而且成功的企业家往往会将这样的“高手”永远拒之门外,这类人才大多存活于小企业之中;处于第二层次的工程师很多人是专家,但这样的人才不多见,需要多年埋头苦干才能成“佛”;处于第三层次的工程师,需要具备出色的形象思维和比较好的逻辑思维,同时也需要企业不惜一切代价去栽培,而且也离不开技术专家型管理人才长期巨无细事的指点和严格要求。 第一层次工程师的学习方法是人云亦云,往往听信“别人”无关紧要不负责任的建议(可能是专家也可能是一般的人,因为网络的时代你不认识谁是专家,你只认识人们眼中的牛人,其到底如

22、何不得而知,但不否认他一定开发过成功的产品),常常有人在网上说学这个好,也有人说学那个,这里面有一个学习方法的问题,但没有人说得出来;第二层次与第三层次的工程师注重向成功者学习,成功者早已超越了牛人的界限,他们对技术的细节了如指掌,不达目的不罢休,这些人永远在最好的状态下坚持学习和研究。总之要从基础抓起,虽然很多人听得进去,但却不肯下苦功夫坚持数十年如一日地奋斗。其实创业不是想象中那么容易得,要创业成功必先完成思想与技术等方面的原始积累,其实资本并不是最重要的必要条件,不是技术好就能够创业成功,而技术好的人才常常埋怨缺乏机会和资本,本来机会和资本就是稀缺资源,如果遍地都是机会和资本,那成功者一

23、定不是您,而事实上无论什么样的好技术都是用钱可以买得到的,什么样的好人才都是可以想办法请到的,唯有成功需要靠自己一步一个脚印地走出来,尽管成功者的结果是一样的,但成功的过程却从来是不可复制的,参与和共同经历过与别人成功的过程和帮助别人成功过,与自己做成功完全是两码事。QNX、RTLinux、uC/OS-II、Nucleus Plus、VRTX 、VxWorks、eCos 的相互比较工作 2009-09-25 11:03:26 阅读 314 评论 4 字号:大中小 到目前为止接触过 QNX、RTLinux、uC/OS-II、Nucleus Plus、VRTX、 VxWorks、eCos,总结下来

24、有以下特点:1:QNX 的可靠性很好,协议栈、各种外设驱动稳定,只是运行所需资源有些多,需要 MMU。如果需要高可靠性应用,QNX可能是最好的选择,本人公司现在就是基于 QNX 开发 RTOS 的。2:RTLinux 的实时性与其它 RTOS 相比有些差。但是,因为好多 Linux 资源可以利用,是 RTLinux 的优点。但是运行所需资源比 QNX 还多,也是需要 MMU。可以选用开源的 RTLinux 或内容新的商用 RTLinux。3:uC/OS-II 比较小巧,移植容易,网上资源很多,核心可以做得很小。但不是免费的,并且驱动需要自己编写,协议栈、图形驱动都要另外加。4:Nucleus

25、Plus 比 uC/OS-II 庞大,另外提供了文件系统、协议栈、图形界面等许多东西。当然也是分开卖的,不是免费的东西。使用起来比较容易上手。5:VRTX 是一款比较早的 RTOS,现在使用的人已经很少。运行还是比较可靠。配套的文件、协议栈等模块很少。6:VxWorks 是 RTOS 中的大牛,国内外用的人很多,开发工具功能强大,使用方便,但是价格昂贵。也有基于 MMU 的高可靠性的产品。所需资源比 QNX 小,比 uC/OS、eCos 多。对于一些私企或者好似小公司来说,可用性值得商榷。7:eCos 是开源的 RTOS。针对不同的 CPU 已经做了许多现成的移植。代码尺寸比 Nucleus 的略大。如果不用 USB host 等,并且不想花费太多的金钱,应该是不错的选择。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报