unixlinuxsys 发表于 2011-09-20 08:33

【转】嵌入式开发正在日薄西山_有道理哦

嵌入式开发正在日薄西山_有道理哦
http://blog.chinaunix.net/space.php?uid=21284533&do=blog&id=2876423


嵌入式开发正在日薄西山_有道理哦 (2011-09-20 08:30) [编辑] [删除]
标签:td嵌入式开发blankbordercenter分类: 系统技术

嵌入式开发正在日薄西山
[日期:2011-09-20]         来源:blog.csdn.net/meteorcool作者:meteorcool


编者:嵌入式开发是不是会被抛弃,还有待时间的证明。

在IT领域做预言,很难准确。还好我只是一个无名小卒,预测对错与否,大家也只当胡咧咧好了。

毕业之后,工作职责中至今都带有嵌入式三个字,至今已经有6年的时间,对嵌入式开发,还算小有心得。最早的软件开发领域,原本没有embedded 这一分类,因为早期的PC计算能力太弱,内存太小,大家都相当于在从事embedded开发。之后PC行业出现了Microsoft + Intel联盟,两家很默契,Intel定期推出更快的处理器,Microsoft义不容辞的消耗掉所有新增的计算能力,却仅带给用户20%甚至更少的功能提升。之前已经说过,IT行业赢家通吃,速度是生存的根本。到PC进入Pentium时代时,大家发现,开发效率成为瓶颈,而不是计算能力,于是各种类库,IDE竞相出现,都是为了提高生产力,经过层层封装的软件在运行效率上大不如前,体积也越来越大,而硬件厂商趁此时机大赚特赚。

还记得超级解霸的作者梁肇新先生的书中提到他会很认真的过汇编代码,甚至手写,超级解霸在我的P166MMX上的表现给我留下了深刻的记忆。我的播放器历程大体是超级解霸->金山影霸->FFMPEG->mplayer classic->暴风影音->QQ影音。大学时代,罗云彬先生出的win32 汇编编程也成绝唱。喜欢汇编和底层的人,个人觉得往往是控制欲较强的人,想要从最底层控制计算机。好吧,又跑题了,本来要说嵌入式的,为什么扯到了PC?

最早的嵌入式概念应该是MCS-96/98/51单片机时代,Soc用于工控领域,今天8位机基本已经绝迹,AVR PIC之类更像是当年的COBOL,我们叫Legacy system,再玩工控,最少得ARM7,Cortex-M3起,还要能够上个freeOS eCos什么的,最后再带一Tcp/Ip协议栈+USB支持,你要是写一个while 1 大循环你都不好意思跟人打招呼。我进入这个领域的时候,Linux正是如日中天,我也刚好赶上那一拨潮流,研究Linux的虚拟内存机制、中断系统那些日子,至今历历在目。现在回想起来,其实那个时候的Linux已经鼎盛,底层的架构已经相当的完善,移植到新的芯片上越来越容易,而且芯片厂商的BSPs开始越来越完善,BUG越来越少。做driver其实就是总线协议翻译器,当然基本功还是很重要的,要有很强的并发思维能力才能做好driver,问题是,后面driver也越来越丰富,除了自己定义的FPGA需要开发一下驱动,而这种驱动又是建立在成熟总线之上的,连翻译器都不如。Anyway,我还是非常感谢那段岁月,让我对计算机的运行原理理解的还算透彻,从cache到MMU到内存时序,从IDE到SATA到genhd,从USB协议栈到mass storage,理解了底层的东西,对我的系统思考能力有相当大的帮助。

但是,今天如果你还想进入这个行业,我个人推荐,学习可以,但是不要指望它作为你职业生涯的动力源。早年的嵌入式,往往意味着资源受限,缺少良好的中间件,基本都要自己造轮子。今天的嵌入式已经变成当年PC的翻版,Android+ARM,正在冲击着嵌入式开发领域,Google买了Moto移动之后,更加暴露了司马昭之心。现在的Ti开发板拿来都能run android,现在的嵌入式,是一个app当道的年代,这时的app开发,跟当年的PC软件开发已经变的越来越接近,Android,Qt,Windows 8,iOS,都已经相当的完备,而计算资源也不再是问题,双核1.5G已经出现,内存随便也在256MB以上,而且还有先进的沙箱技术,应用开发变的越来越简单,很快就会出现一些寡头,占据这个领域。

看到这里,大家会说,现在玩Android Windows8 iOS不是正当其时么?薪酬高,就业机会也很多。且慢,随着大家的不断涌入,以及大公司将门槛不断降低,很快这个行业的薪酬就会被拉平,甚至更低。更何况,现在被Intel收购的windriver,把Virtualization已经引入到了嵌入式开发当中,连并行都不用怎么思考了。放心,我还在玩 “嵌入式”,不过也不妨碍我学习C#,Python,ruby,Lisp,因为医疗行业的缓慢,使得我还可以做相当长时间的Legacy man,呵呵。

设备的发展已经快到瓶颈,就如同今天PC升级的动力远不如之前一样,等到cortex A15 和 Ivy bridge普及时,设备将趋于饱和,没有在这一波占据上游的公司,会很危险,如Nokia MTK。

我个人觉得,云计算这个概念已经到了成熟期,在这个时期,平台服务和内容提供商将成为赢家,如何构建平台服务,以及如何在平台上二次开发,将成为一个热点,如在新的HTML5上构建中间件和控件库,如将在线服务渗透至每个人的日常生活(EverNote,麦库记事,DropBox...),而设备的重要性将大大降低。反而是传感器领域,正在不断的突破之中。
所以,今天的嵌入式,也许就是明天的C51

sep 发表于 2011-09-20 11:35

是啊。但人在江湖身不由己。

linux.sz 发表于 2011-09-20 14:01

商业模式上所谓的卖点就是差异化。
想差异化,完全用官方的包办不到。想自己定制,还是得从底层做起。
不过官方定好的架构确实也可以帮上大忙,简化不少工作量

我的归魂 发表于 2011-09-20 14:04

分析有理!

jack715239314 发表于 2011-09-20 17:52

未来的局势很是模糊化:dizzy:

crifan 发表于 2011-09-20 21:28

本帖最后由 crifan 于 2011-09-20 21:35 编辑

“而且芯片厂商的BSPs开始越来越完善”
如果是想说由于厂商bsp功能完善使得应用开发人员要做事情的事情相对变少和变简单,那么厂商的bsp呢,其实还是人开发的,如果可以,为何不去做厂商bsp的开发呢,呵呵。
所以,我觉得,只要有用户需求,那就有硬件,以及相关的软件开发,包括底层驱动基本,系统架构级别,和最终的上层应用。只要你有能力,任何一个方向,都可以做到很好,都可以获得对应的薪水,都可以有不错的前途和钱途。

上层引用再炫,终归有人要去做底层硬件之上的软件驱动基本的开发,总是有对应的事情要做的。所以,只是硬件能力提升了,但是对应的开发任务需求,没变少,而是变多了。所以,以后的日子,对于有对应的开发能力的人来说,还是有机会过的很好的。

个人觉得可以理解为,单独拿arm系列来说,可以看成:
今天的arm7就是明天的C51,明天的arm9就是今天的arm7,后天的arm11就是今天的arm9.
硬件能力总是在发展的,但再怎么发展,还是有对应的软件之下的硬件存在,就有对应的软件开发,包括底层的嵌入式和上层的应用。所以,嵌入式,是永远会继续的。
至于是否没落,要看消费者的需求,转化成的方案实现中,是否可以通过以普通PC端的芯片为基础的方案代替,如果可以,那么嵌入式的确慢慢会被替代。
但是可以看得见的未来,不论是从应用需求所要求的功耗,尺寸等要求来看,PC平台的方案,不可能取代嵌入式领域的方案实现。所以,算是各有各的长处,各自在不同领域,有自己的发展和演化了。

c04n05 发表于 2011-09-21 11:56

分析的挺在理的。

735611579 发表于 2011-09-25 21:25

我才开始学不懂。。:wink:

2007robot 发表于 2011-09-26 22:15

做方案!

zhj1011 发表于 2011-09-28 14:15

在外人眼里是白领,其实我们是IT民工啊
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【转】嵌入式开发正在日薄西山_有道理哦