记得以前参加的ARM的研讨会,名称是技术研讨会,不知道为什么现在改名为嵌入式开发应用研讨会了。不过今年演讲的重点就是 ARM DS-5开发工具(还免费发放了一本《Linux/Android开发利器 ARM DS-5使用指南》书籍),也许这就是所谓的嵌入式开发应用名称的由来吧。

学编程语言的时候,人们经常说,真正的程序员用C。虽然一直在微软体系打拼,但我个人认为,在嵌入式领域,如果做产品,还是要选择linux体系的技术。

无论是linux还是java语言,ARM体系都是从芯片级别进行支持,这次从开发工具入手,对Linux/Android开发直接支持,更是升到了战略层面。微软技术生态体系中,最为重要的就是得益于开发工具的方便和易用,而linux多年来发展比较缓慢,和开发工具相对难用不无关系。微软通过推出.NET技术的开发工具,一举灭掉了当年的宿敌Borland公司,从此windows平台的开发工具,再无可以挑战其统治地位的对手。但是很多事情是两面的,当你不给别人路走的时候,别人也只能另辟蹊径了,这也是谷歌等其他公司大力发展linux体系的原因。到头来,也许自以为构建的很稳固的王国,被边缘化的更快。

闲言少叙,还是说一下ARM嵌入式开发应用研讨会本身。 

ARM技术会,真是人气一年不如一年,今年参展的厂商更少了,也没有什么让人眼前一亮的新技术出现,更没有新产品可展示。微软的嵌入式产品,更是远离了ARM,在后PC,嵌入式为王的时代,妄图以所谓的Win8来打天下,真是有点螳臂挡车了。一个技术王国的兴衰其实和生态系统关系很大,诺基亚之所以死的那么快,这和它没有良性的生态系统不无关系。有了好的生态系统,虽然不一定长治久安,但是绝不会那么快灭亡。

除了讲解ARM DS-5工具,另外最为重要的,就是讲解基于MDK-ARM工具的RTOS系统,除了系统核心,另外还提供了CAN接口库、文件系统、USB Host、USB Device、TCP/IP协议栈和GUI库(如下图)。 

以前参加ARM的技术交流会,一直不太明白,ARM提供的这套库,如何适应不同厂家的ARM芯片,不过听了后续所讲的CMSIS - Cortex 微控制器软件接口标准,才有所悟。 

从上图中,可以看出主流的Cortex芯片厂商,都已经加入了这个合作计划。

我在以前的文章中就曾经说过,ARM推出Cortex系列的芯片,其志不小。特别是对早已经被绑入其战车的各大芯片厂商,又勒紧了一下枷锁,对ARM最新的内核的架构做了进一步限定,如对SysTick、NVIC和FMSC芯片设计的限定。特别是CMSIS接口的标准推出,简直是卡住了各大芯片厂商的脖子,他们不加入这种计划,难免被边缘化,加入了,难免沦为ARM公司的一个生产车间。

从恩智浦几次的技术演讲,不难看出,这些厂商,在努力的寻找和实现和其它厂商的差异化,就差一点推出自己的软件系统了。

如果ARM公司的这套系统和工具,逐渐降低价格,甚至是开源免费。我就可以收回我开篇所说的“在嵌入式领域,如果做产品,还是要选择linux体系的技术”这句话了。

我们知道,在PC领域,微软+英特尔两大巨头,一软一硬统治PC领域几十年(不过Win8开始支持ARM芯片了,为这种合作模式吹响了丧钟),而在嵌入式领域,特别是ARM7,ARM9,ARM11时代,ARM公司的对芯片公司约束力较少,各家芯片厂商,推出的芯片,差异化非常大,可以说各自为政,所以做软件的很难在嵌入式领域一统江湖(他们不可能,也没有实力,或者是意义对所有的芯片进行底层移植,以前这种移植工作都是芯片厂商完成的)。

而ARM利于自己的优势地位,一步一步再向这个目标靠近。

如果把产品也比着生命,那么芯片就是细胞核了,上面的程序就是基因了。一旦可靠的基因模式确定,也许和地球上的生命一样,嵌入式产品的寒武纪时代已经来临。(有兴趣的朋友,可以看看我以前写的这篇《计算机和生命体畅想曲》文章)

ST厂商在PPT中主要谈了Cortex-M0+相关芯片的技术特色,而恩智浦的调调和前几年没有什么区别,富士通新做的芯片简直就是为变频器专做,这些乏善可陈,就不多说了。

最后值得一提的是赛普拉斯半导体公司推出的PSoC解决方案,感觉是介于ARM一般芯片和FPGA芯片之间的一种产品。微感不足的是Cortex核的芯片主频才6M,但是对一些特殊的应用场合,还是蛮实用的(比如需要若干个串口或SPI等接口)。 

总体来说,这次会议的规模更小了,参展也移到会议厅了,也许这是受中国经济大环境的影响,期待明年有新的亮点出现。

附:

2010年 ARM技术研讨会杂记

http://blog.csdn.net/yefanqiu/article/details/6033661

2011年ARM技术研讨会杂记

http://blog.csdn.net/yefanqiu/article/details/7029270