记得以前参加的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

2012 ARM嵌入式开发应用研讨会杂谈相关推荐

  1. arm嵌入式培训学校哪里好?看看有哪些arm学习建议

    arm嵌入式培训学校哪里好?想通过arm培训的初学者,究竟该怎么学习呢?除了要找到合适的arm嵌入式培训学校,还要针对arm进行相对应的学习. ARM到底指的是什么?ARM的处理器芯片应该如何来分类? ...

  2. 应聘linux/ARM嵌入式开发岗位

    **************************************************************** 因为发在中华英才和智联招聘没有人采我所以我 在这里发布我的个人简历希望 ...

  3. ARM嵌入式编程之STM32的命名方法 STM32F103VET6命名解释

    ARM嵌入式编程之STM32的命名方法 STM32F103VET6命名解释: ARM嵌入式编程之STM32的命名方法 STM32F103VET6命名解释

  4. ARM嵌入式平台性能测试

    在新项目需要选择一个全新的基于ARM嵌入式处理器平台的时候,难免会需要对新平台的性能进行评估,这时候有几种思路可以进行参考,一是ARM芯片厂家发布的性能指标,不过大多数是基于理论情况;二是购买同样平台 ...

  5. 嵌入式linux的运行过程,ARM嵌入式设备Linux系统启动步骤和方式

    > 1). 简介本文引用地址:http://www.eepw.com.cn/article/201607/294237.htm 本文简单介绍ARM嵌入式设备基于嵌入式Linux操作系统时候的启动 ...

  6. ARM嵌入式系统malloc的实现(C源码)

    在ARM嵌入式系统实现malloc内存分配机制. 在ARM cpu上验证通过. ps:也可在pc ubuntu linux进行验证 #include "include/lib_replace ...

  7. arm嵌入式linux应用实例开发pdf,零点起步——ARM嵌入式Linux应用开发入门一书的源代码...

    代码片段和文件信息 属性            大小     日期    时间   名称 ----------- ---------  ---------- -----  ---- 文件      2 ...

  8. arm嵌入式web服务器 性能,arm嵌入式web服务器

    arm嵌入式web服务器 内容精选 换一换 在待分析的服务器上安装节点.Web服务器(即安装鲲鹏性能分析工具的服务器)默认安装了节点,如果待分析的服务器与安装工具的服务器是同一个,请跳过该章节.已成功 ...

  9. 8、ARM嵌入式系统:UART初始化

    一.UART概述 百度上UART的定义:通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART.它将要传输的资料在串行通信与并行 ...

最新文章

  1. Linux常用命令汇总(二)
  2. 理解IDS的主动响应机制
  3. 天猫总架构师何崚:好的技术团队不是“需求翻译机”或“架构优化机”
  4. mysql查询后从高到低排序_[MySQL基础]三、排序查询
  5. 分支和循环结构的应用(习题)
  6. [Unity] ACT 战斗系统学习 7:使用 ScriptableObject 制作角色属性 2
  7. Dubbo面试 - dubbo 负载均衡策略和集群容错策略都有哪些?
  8. java中如何切割图片_Java 切割图片代码
  9. 7-将本地的javaweb项目部署到Linux服务器的一般操作
  10. js判断IE浏览器的方法
  11. php 打印debug日志
  12. MongoDB数据库基础教程
  13. 光敏传感器实验-传感器原理及应用实验
  14. OpenCV_信用卡识别代码_唐宇迪实战项目
  15. 【国家统计局】统计用区划和城乡划分代码2019
  16. 【Codecs系列】颜色空间转换CSConvert:YUV422P转YUV422SP(NV16)
  17. 谷歌FLASH无法添加保存网站
  18. Parallels Desktop | 在 Mac 里装 Windows 的最佳工具。
  19. 余世维《有效沟通》听课笔记
  20. 在 Word 中撰写并发布到博客的帮助

热门文章

  1. 《深入理解Java虚拟机》(第二版)学习1:JVM的内存划分
  2. echart x轴标签偏移_移动端H5页面滑动手势X轴实例
  3. hash是线程安全的吗?怎么解决?_这次进程、线程、多线程和线程安全问题,一次性帮你全解决了...
  4. echarts datazoom 显示的位置设置
  5. python 获取用户ip_Python爬虫教程:你还在苦苦拉票吗?刷票小程序案例原理剖析!...
  6. 算法(4)数据结构:堆
  7. 制作 Swift 和 Objective-C Mixed 的 Pod
  8. CSS3动画过渡的jquery动态弹出框插件
  9. 6.1.1 验证注解的使用
  10. mysql数据库常用命令