嵌入式成长轨迹7 【(转)十年后嵌入式设计技术将不再是独立的技术门类】

 

作为一个新人学生、、、也劝各位即将要学嵌入式的进来看看

 

之前在深圳,那天晚上辉哥跟我说了很久关于嵌入式的“重用”设想,我虽然听懂了内容,但是没有明白嵌入式的现况,所以估计是搞得辉哥很郁闷。因为我作为学生,一开始就学c++,一直都以面向对象编程思想学习着,不知不觉就以为“所有编程的都已经这样”,而没有看清楚行业现况,其实嵌入式现在就完全不是这样。

 

嵌入式为什么得学那么多东西?就是因为现在的它由于统一标准没有建立完全的关系。它还是面向过程的,没有重用这一说。这要求所有行内的人都要从底层到高级编程,不同平台的规则全部通晓

所以大家理解嵌入式现在为什么门槛那么高了。。。毕竟这样的人并不是好当的,要付出很大很大的努力。相比较之下就是收入高以及工作节奏相对慢。

 

但是这种吃香情况会持续下去么。。。

大家也开始看到各个公司都开始联合起来,试图确定嵌入式的企业标准,嵌入式编程局面的剧变总有一天要到来!我觉得这篇文章说得有道理,如果打算届时想屹立不倒坚持你的理想,还是默默地尝试去理解甚至运用“面向对象的嵌入式编程”会比较好:

“与其说十年之后再痛苦地‘转身’,就不如从现在开始未雨绸缪,偷偷地留上一手,或者几年之后见好就收。总而言之别等到现在那些主打嵌入式的独立设计公司很快没饭吃的那天,你再像今天的“嵌粉”那样,一次次拍青你的大腿!”

 

*****************************************************************************************************

 

      眼下的嵌入式技术在IT行业风生水起,大有执行业牛耳的架势。它的一路飘红,让那些因当年没学好硬件技术,眼下只好眼巴巴望“嵌”兴叹的“嵌粉”们一次次因后悔不迭而拍青了自己的大腿!
  为什么嵌入式眼下能达到这样大红大紫的地步的呢?其“亮点”无非如下几点:
  1 它面对的用户几乎涵盖当今工业的所有行业及门类,市场潜力巨大;
  2 它拥有一个并不是谁都能够轻易跨越得了的高技术门槛,从而便可保障行业内部不会出现过于激烈的相互竞争;
  3 眼下从事该技术的收入较高,工作环境好,让从业者容易获得成就感和满足感。
  的确,拥有了上述几项难得的行业优势,嵌入式技术眼下这样吃香自然就在情理之中了。
  但要判断一个行业是否是朝阳产业,仅仅拥有上述几点还是远远不够的。按照通常意义上的“朝阳产业”的定义,一个行业还必须在以上几点的基础上,再同时拥有下面几点,那它才是真正“朝阳”的:
  ——不随着科技的进步和时间的推移降低自身的价值;
  ——不以大量消耗资源和污染环境作为其发展的条件;
  ——不与社会公序良俗、伦理道德、法律法规相违背。
  而笔者之所以在本文中能得出标题所述结论,恰恰就是因为笔者觉得,上面三条中的首条,眼下的嵌入式技术与之相违。
  那么眼下嵌入式技术的症结在哪里?依笔者看,症结在于它走上了发展的弯路。具体说来,就是眼下的嵌入式系统走进了彻底的“面向过程”这个泥潭。
  是谁把嵌入式系统拉进了今天的泥沼?半导体厂商及片上系统设计应用商(SOC)的推波助澜,以及EDA工具软件和EOS开发软件的无限制滥用,均难辞其咎。
  那么眼下嵌入式系统完全采用“面向过程”的落后理念的具体表现到底在哪里呢?
  它具体体现在“硬”、“软”两个方面。
  在硬件上,这种“面向过程”的理念表现为嵌入系统硬件上的“一元架构”系统设计理念;
  在软件上,则表现为应用程序的“从底层到现场”的单级程序编制模式,或者说是应用程序编制人员直接实施底层数据操作这种危险的控制方式。
  所以,要想把嵌入式技术完全引入正确的发展道路,彻底解决这“硬”、“软”两方面的问题,将眼下的嵌入式彻底拉出“面向过程”这个泥潭是根本之策。
  一 大力推广“两元架构”系统构建方式,大力推广系列化、标准化,实现硬件上的“面向对象”
  什么是“一元架构”系统构建体系?
  这就是眼下SOC大力鼓吹和提倡的,在技术人员中也极为有市场的、彻底的“单板机”设计方法。
  这种设计方法指导下生产出的嵌入式产品,系统的CPU系统、存储系统、I/O系统、总线、电源系统等,统统在一个完整的大电路内实现,各系统之间通过内部总线连接,相互间几乎无真正的隔离。
  这种系统构建方法固然存在系统效率高、体积小、硬件上冗余少、针对性强等优点,但它的缺点与之相比,却日益显得突出。
  1 面对一个具体的嵌入系统对象而言,这种系统构建方法的设计者根本无法判断整个系统设计中,嵌入系统上述几大部分,尤其是CPU系统和I/O系统之间权重的比例关系。一个嵌入式系统,可能它的I/O数量很大,但对CPU的运算能力和存储能力的要求却非常低(例如新式家用滚筒洗衣机等);但对于另一个系统而言,却可能正相反(如MP4等)。
  正是由于在对一个新的系统进行嵌入式设计时的这种对CPU、I/O、存储能力上的不同要求,才导致了嵌入式系统目前的这种千变万化,进而导致目前嵌入式系统根本无法实现系列化、标准化设计及制造;
  2 无论是从性质还是从计算机硬件设计沿革下来的习惯来说,计算机处理器、存储器部分的设计与I/O系统的设计根本就是完全不同两大部分。他们自身也因为在面对每个具体对象的不同而导致其各自运行强度的不同的同时,形成对总线、供电、抗干扰、冷却等支持系统有着完全不同的要求;
  3 不利于嵌入式系统的设计走向更加规范、更有利于降低设计难度的良性循环道路。由于正是这种将一个计算机系统所有部分完全设计在一个电路内的做法,实际上,这就意味着除了个别技术环节之外,眼下嵌入式系统的设计甚至要比台式机的主板设计还要困难。因为PC机主板的设计所及毕竟仅仅是计算机中的局部,而一个嵌入式系统所包含的却是计算机的所有部分。所以眼下嵌入式设计这种实在是“高”的令人望而生畏的“门槛”,是不利于这个行业的持续、健康发展的;
  4 “一元架构”非常不利于对系统安全性的要求。现代系统设计理念中,其中最重要的一条原则就是“分级管理”。无论系统的构成多么简单,让顶层的操作者,尤其是未来的用户完全可以毫不受限制地直面底层数据,甚至可以直接对底层实施操作,这实在是一种十分危险的做法。
  怎么解决上述问题?
  采用“二元架构”体系,是解决“一元架构”面临问题的最佳良方。
  所谓的“二元架构”,就是在嵌入系统设计中,将处理器和存储器设计成一个独立的单元,将I/O系统设计成另一个独立单元,两者之间可通过两板间的直接插拔、或通过小的网络线缆进行连接的、独立的总线进行数据交换。
  有了这种系统构建方法,整个嵌入式技术,就可以走上一条与目前的PLC技术几乎完全相同的道路。SOC便可将其产品的范围向下延伸,直接做成各种系列、各种规格的“CPU/存储单元”、“I/O单元”(就像PLC系统对应的各种模块一样)。
  这种情况下,对于应用层面的嵌入式系统的设计者来说,就真正地摆脱了必须成为嵌入式系统所有方面都必许成为真正的专家,这种技术上的巨大门槛。面对一个新的嵌入系统设计工程,他只要搞清楚具体的I/O数量有多少,对CPU运算的速度及存储能力的要求是怎样,在所选系列的产品的手册中,分别选出两个单元相应的型号,整个系统的硬件“设计”就OK!
  相比较于“一元架构”冗长的硬件设计周期而言,这种效率的提高,岂止是用“倍”能形容得了的呢?依笔者看,用“数量级”来形容它可能才是恰当的。
  怎么样,采用这种系统构建体系的好处令人垂涎么?
  其实,嵌入系统采用“二元架构”的好处岂止这些?它的更大的好处还在于:
  二 在嵌入式系统设计中全面采用“两元架构”,可实现软件设计上真正的“面向对象”
  如果嵌入系统采用“二元架构”,并且各单元都能实现系列化、标准化,那么底层数字变量化即可完全实现。即底层数字的类型预定义、缓存、抗干扰处理、自动地址映射等诸多非常复杂的技术手段,就可以成为现实。而这些难得的数字预处理工作,如果让眼下嵌入式系统的设计方式中仍处于个人“单打独斗”状态的设计者自己设计电路予以实现的话,无疑将是十分困难的。但这对于大的SOC供应商提供的标准化、系列化的产品来说,却实在是“小菜一碟”。
  有了这种标准化、系列化的I/O单元,当CPU/存储单元通过总线与其相接后,通过USB、RS232等外部接口送入I/O单元的底层数字量,立刻便可成为CPU通过定义后可随时进行操作、带有具体地址的变量。
  有了这种从数字到变量的一大步飞跃,对操作系统来说,“可移植性”就不再会是一个令人头疼的问题。如果嵌入式系统真的能够实现在不同的硬件环境下的可移植,特别是操作系统如果能够做到像今天的PC机这样,设计者根本不用关注你是AMD的主板还是Intel的主板,你是Windows XP还是 Windows 98,你只要专心做你想做的事就行,这样一种完美的境地,那不正是眼下搞嵌入式技术的人心中的理想王国么?
  而我们要达到的,还远不止是操作系统的可移植性的目的。我们要达到的更高的目标,是组态软件的全面推广。
  在应用软件的编制上,组态软件的使用,是一场真正的革命。
  组态软件,是一种充分体现了现代理念的、完全有别于以往控制程序设计手段的、里程碑式的产物。它通过将一个个抽象的变量变成一个个可动、可变、可显、可调、可“拖”等鲜活的形象,在动画一般的过程中,将过去看不见、摸不着、想不出的,复杂的控制过程,形象地呈现给系统的设计者,尤其是使用者。
  有了它,对系统的理解、设计,便一下子由过去的大学毕业可能都不够用,变成了中专毕业生来从事都绰绰有余。
  除此之外,组态软件的应用,还很好地做到了底层分离,过程、数据分级控制及管理。所以系统的安全便得到了全面的保障。
  由此可见,当嵌入式系统及相关技术一旦真的达到笔者所设想的这种理想王国,即硬件上实现“二元架构”,软件编制上实现组态软件唱主角,嵌入系统硬件能够做到像如今的PC机的各种板、卡、芯片那样,只是专业的大公司来制造,那么嵌入系统应用软件的编制工作就可像如今的PLC系统的程序编制那样,变成为普通的电气技术人员很容易就可掌握的、普通的一门“技能”,而非“专门技术”了。
  当然,即便是“二元架构”体系完全建立之日,嵌入式系统的“一元架构”体系也并不会完全消失。就像如今的DVD、电视机这样普及,你仍然能找到录像厅、看到电影放映队一样,到那时,“一元架构”体系也仍然会有其生存空间,尽管彼时之“空间”与今日之“空间”相比早已不可同日而语。
  例如,在军事等关系国家安全的关键技术领域,甚至可能会“有意”去制造些破解困难、保密性强的,专用、特殊的一元架构的嵌入式系统。当然到那时,这种昂贵的、不计较成本的“嵌入式系统”是否还是真正意义上的“商品”,可就另当别论了。另外在电子钟、八音盒等那些小得实在是不能再小的应用领域当然也还会有其一定的市场。
  另一方面,当二元架构的嵌入式系统大行其道之日,在用户的系统构建层面上,单片机可能就真的该“寿终正寝”了。就像在普通的程序编制工作中,完全可以用VB来编的普通程序,还有谁愿意不厌其烦地用汇编来编制呢?当然,板级的制造领域,这因该是它的天下。尤其是二元架构体制下的I/O单元部分,其内部的大部分的工作,还应当是由各类的单片机来完成的。
  第三个方面,当二元架构体制形成之后,PLC技术当中的梯形图技术,很有可能引入到嵌入系统的程序编制工作中来。尤其是在类似简单的机械控制等时序控制领域,如在笔者此前提到的洗衣机、各类小机床等嵌入系统的控制程序编制工作中,这种技术绝对是任何其他技术都无法比拟的。
  还有一个需要说明的问题是,所谓的“二元架构”体制,在实际应用中并不一定就真的必须是一块CPU单元与另一块I/O单元组成。外部总线(如MODBUS+、以太网等)技术最大的好处就是可以在有限的范围内总线上各分站的随意扩充及挂接。所以到那时,一个CPU单元配以两个、多个I/O单元,甚至总线上挂接双CPU单元以实现双机热备等更先进的系统设计方式,在嵌入式系统中实现都不再是神话!
  已经进入嵌入式或正在准备进入嵌入式的年轻人们,你们可要准备好了。与其说十年之后再痛苦地“转身”,就不如从现在开始未雨绸缪,偷偷地留上一手,或者几年之后见好就收。总而言之别等到现在那些主打嵌入式的独立设计公司很快没饭吃的那天,你再像今天的“嵌粉”那样,一次次拍青你的大腿!
  欢迎转载,信息来自维库电子市场网(www.dzsc.com
 

posted @ 2012-03-01 21:08  MooreZHENG  阅读(310)  评论(0编辑  收藏  举报