随着ARM芯片的出货量越来越多,自信满满的ARM公司统一软硬件平台的战略和雄心壮志越来越凸显。最初ARM公司仅是出售自己的知识产权(IP核)给各大芯片公司,由于最初ARM公司处于劣势,所以给芯片厂商很大的自主权,在ARM7、ARM9和ARM11芯片时代,我们知道每家芯片的地址空间,寄存器操作各异,大不相同,也只能在代码编译的时候才能发现ARM公司的存在。随后ARM公司推出了Cortex系列的芯片,就如我以前文章所提及,其志不小:“对早已经被绑入其战车的各大芯片厂商,又勒紧了一下枷锁,对ARM最新的内核的架构做了进一步限定,如对SysTick、NVIC和FMSC芯片设计的限定。特别是CMSIS接口的标准推出,简直是卡住了各大芯片厂商的脖子,他们不加入这种计划,难免被边缘化,加入了,难免沦为ARM公司的一个生产车间。”

不知道是ARM公司成全了安卓系统(Android),还是安卓系统成全了ARM。在嵌入式领域和PC领域最大的不同就是,嵌入式芯片和X86芯片不同,X86主要有英特尔(Intel)公司把持,所以微软+英特尔软硬结合,很容易一统天下。而嵌入式芯片(32/64位芯片主要就是ARM芯片了)领域属于群雄割据的时代(不过现在高通公司有后Intel王者的气概),各个厂商基本是各自为政,每家芯片的寄存器操作相差比较大,所以对运行其上的操作系统开发者来说,难度很大(所以目前针对操作系统底层的BSP,基本都是芯片厂商自行开发提供)。ARM公司推出Cortex的芯片,及CMSIS等接口标准的努力,就是简化或者说降低这种开发难度,为统一芯片硬件平台打下坚实的基础。

从目前的形势来看,在嵌入式领域,偏软的方面安卓系统已经取代了微软的历史地位。偏硬的芯片方面是不是高通公司?个人认为ARM公司内心绝不会让一家芯片公司独大的,所以ARM公司从近似春秋战国的西周王朝时代,回归东周统一王朝的格局下,继续进行着统一硬件芯片的运作。高通想成为强秦,统一天下的梦想我想绝不会很快来临。

回归正题,谈一谈ARM公司在物联网上的战略布局。

2013年8月27日,ARM公司收购了芬兰物联网软件创业公司Sensinode,将继续推广和深化Sensinode公司的NanoStack、NanoRouter 和 NanoService三大产品。真对此消息,有的网站评论道“看来手机和平板市场的统治地位还不能满足 ARM 的胃口,吞下整个物联网才是它的目标”。

2020年,根据IMS Research的预测,全球联网的设备将有300亿个。ARM的Cortex-M(M0/M3/M4)芯片+ARM的 mbed项目和Sensinode公司的NanoStack、NanoRouter 、NanoService三大产品结合起来,将会从硬件到软件完整的覆盖整个物联网领域(手机和平板一般采用Cortex-A系列的芯片,作为移动互联网的主力,将成为物联网领域必不可少的输入端。另外ARM芯片进军服务器野心,也不可小觑,那是物联网另外一大领域—大数据—重点所在)。

下面就详细介绍一下ARM技术开发大会上《CreatingSecure,Efficient,and Open Standard Iot Systems》的讲座,从题目上来说,是讲“创建安全、高效和开放的标准物联网系统”,至于如何构建,就是采用以上我们所讲述的技术。

我的介绍和ARM技术开发大会上的张先生的讲述有些不同(讲解的顺序不同、着重点不同),我是按照自己的理解,进行说明的。

1、 传感器数据采集– 基于CMSIS的 ARM MBED技术的硬件简易开发

如果你是一个仅有一点开发技术的人,比如会一点C或一点Java,对硬件也是粗略了解一些,那么MBED技术将很快让你进行硬件开发(网上号称60秒让你完成嵌入式编程开发)。

如果你在做硬件原型设计,有不同的芯片去让你选择,或者是对外围的一些器件进行测试研究,那么采用MBED技术将让你这份工作变的轻松简单。

ARM MBED是一个什么样的技术呢?简单的说,它有两点特色,这两点特色分别对芯片提供商(或者说开发板提供商)、软件开发者提供了便利。

第一就是CMSIS,CMSIS就是ARM指定的一套接口框架,通过它,可以屏蔽各家芯片操作的差异。所以针对芯片厂家来说,仅需要实现这些规定的接口就可以了。

第二,对嵌入式开发来说,开发环境的搭建是一个耗时耗力的过程,能成功编写和调试第一个程序,犹如孩子出生一样,不经过一番挣扎和摸索是很难顺利完成的。而MBED技术是一套基于云计算的网页编译工具,可以在Windows、Linux、Mac等各种可以网页浏览的设备上进行编程。所以不需要安装调试工具,只要选好指定的开发板,就立即可以进行编程,编译后直接生成一个bin文件,直接烧写到设备即可运行。

另外的一个优势,由于用户是基于CMSIS的框架接口开发,所以理论上将,你可以很顺利地开发各种厂家的芯片(前提是相关芯片厂商已经提供了CMSIS的支持),不再向以前一样更换不同厂家的芯片是件难以抉择的事。

作为物联网开发来说,你通过AD、串口、SPI、I2C、USB、CAN甚至是以太网接口,用MBED技术很容易把各种传感器数据采集到Cortex-M0/M3设备,采集完毕后,另外一个最重要的环节,就是数据上传。而这一步,就是ARM收购的公司Sensinode的技术优势所在了。

2、 传感器数据上传– 基于CoAP通信协议(NanoStack/NanoRouter)

一直以来,物联网领域最令人头疼的事就是,接口协议繁多,每家都有各自的协议,在这种格局下,收集传感器数据,是件费时费力的事。

而CoAP是一个统一的协议接口,优势不仅仅在于标准统一,而在于对HTTP协议进行了简化,其压缩的数据头仅4个字节。这样在传输过程中,交互的数据量将大大减小,有效地降低了网络通信的负荷。

另外通过协议代理,可以很轻松的把CoAP转换为标准的HTTP协议。

以上不仅仅是ARM一家的标准,由于底层通信基于各种物理链路,所以ARM公司遵照或参与了很多底层标准通信协议的制订。IETF、Sensinode、6LoWPAN,Zigbee IP CoAP,TLS,OMA Lightweight etc等等。

有了MBED作为基础,在Cortex-M0/M3上集成CoAD协议是分分钟钟的事,数据采集和上传在这一步可以说是有效地集成在一起。

3、 数据存储、服务和展示– NanoServer服务支持

通过统一的数据接口,数据收集在NanoServer中,然后借助NodeView Web程序,去浏览去展示相关数据。

4、 小结

通过如下两张图,就可以看到ARM公司的基于IoT物联网领域的技术布局已经亦趋完善了。

MBED技术在最底层,通过标准接口采集各种传感器数据(由于基于CMSIS框架架构,所以各种厂家的芯片,其用户开发代码都是相同的)。

NanoServerClient和NanoStack技术,实现了CoAP通信支持。

NanoServer服务和NodeView进行数据收集和数据服务及展示。

另外这所有的代码、协议标准都是开源的,用户可以自行下载了解。

题外话:从以上介绍看出,ARM自有标准协议、安卓、Java技术在其中占有很很大比重,我从2008年以来就一直参加ARM的会议,一点点看着微软的技术被边缘化,最后完全退出了ARM技术会议的视野,这点替微软惋惜。但是从用户开发角度来看,特别是工控人员开发集成角度来看,微软的开发工具,其本地化界面,开发调试的简易型还是非常有市场的,特别是最近,微软改原来的嵌入式部门为物联网部门,说明还是看好物联网领域,并向这个方向努力发展的。我们所构建的YFIOs/YFHMI(http://blog.csdn.net/yefanqiu/article/details/8423421)技术架构平台,就是基于微软的技术,在Visual Studio 2010/2012开发工具中,用C#进行统一开发。以上技术总总,可以通过封装,直接支持相关协议,但是用户只需要调用相关C#接口即可,当然也可以成为YFIOs驱动的一部分,用户可以直接加载调用。

浅析ARM公司在物联网领域的战略布局(转)的更多相关文章

  1. 浅析ARM公司在物联网领域的战略布局

    From: http://www.cnblogs.com/yefanqiu/p/3447769.html 浅析ARM公司在物联网领域的战略布局 随着ARM芯片的出货量越来越多,自信满满的ARM公司统一 ...

  2. mbed OS - ARM关于物联网(IoT)的战略布局

    关于IoT 在刚刚过去的ARMTECHCON2014(Santa Clara Convention Center)第1天会议,首要的keynote就是ARM针对建立物联网(InternetOf Thi ...

  3. 半导体巨头青睐物联网领域 众强联手打造MCU生态系统

    随着万物互联的时代到来,众多半导体巨头纷纷转战物联网领域.早在十年前,意法半导体曾将STM32推向市场,意法半导体对32位MCU在物联网方面的应用在两年前就已展开攻势. 4月25日,历经两届盛况的ST ...

  4. [视频]ARM告诉你物联网怎么玩,mbed 6LoWPan demo

    该视频演示了基于arm mbed的物联网设备间的6LoWPAN应用,如连接家里的土壤湿度传感器,灯光控制,安防联动等应用. 演示视频       原创文章,转载请注明: 转载自 http://www. ...

  5. ARM和STM32的区别及ARM公司架构的发展

    ARM和STM32的区别及ARM公司架构的发展 转:https://www.cnblogs.com/kwdeblog/p/5260348.html ARM是英国的芯片设计公司,其最成功的莫过于32位嵌 ...

  6. 代码 or 指令,浅析ARM架构下的函数的调用过程

    摘要:linux程序运行的状态以及如何推导调用栈. 1.背景知识 1.ARM64寄存器介绍: 2.STP指令详解(ARMV8手册): 我们先看一下指令格式(64bit),以及指令对于寄存机执行结果的影 ...

  7. 易云捷讯MySQL云数据库上线,推进IaaS与PaaS融合战略布局

    日前宣布,其基于MySQL的关系型云数据库已经正式上线公测,用户可通过易云管理控制台创建.监控与管理mysql数据库.此服务包括在线扩容.自动备份.灵活配置和监控告警等功能,旨在帮助用户实现便捷的运维 ...

  8. [案例]某体育用品公司在零售领域BI的产品应用解决方案

    随着某体育用品公司集团经营规模的不断扩大,信息化的建设也在不断的深入,从POS系统到ERP系统,从MAIL系统到OA系统,整个集团的每项工作都与信息系统密不可分,可以说是行业内信息化建设的先导者.但是 ...

  9. 浅析arm的异常、中断和arm工作模式的联系

    说到异常向量,会让人联想到中断向量.其实,中断是属于异常的子集的,也就是说中断其实是异常其中的一种. 回到异常向量,他其实是一张表格,每个格子里存放的是一个地址,或者是一个跳转命令,不管是哪个,其目的 ...

随机推荐

  1. 使用 IntraWeb (7) - 主模板

    TIWLayoutMgrHTML.TIWTemplateProcessorHTML 属于页面级的模板, 如果要全站统一模板, 当然要用主模板. TIWTemplateProcessorHTML 通过其 ...

  2. 开源的服务发现项目Zookeeper,Doozer,Etcd - 木精灵的技术博客 - CSDN博客

    开源的服务发现项目Zookeeper,Doozer,Etcd - 木精灵的技术博客 - CSDN博客   http://blog.csdn.net/shlazww/article/details/38 ...

  3. spring-boot 速成(7) 集成dubbo

    github上有一个开源项目spring-boot-starter-dubbo 提供了spring-boot与dubbo的集成功能,直接拿来用即可.(记得给作者点赞,以示感谢!) 下面是使用步骤,先看 ...

  4. Android学习笔记PreferenceFragment的使用

    相信大家对Perference都比较熟悉了,也就是我们常说的偏好设置,首选项设置,可以保存一些数据,例如我们在上一次使用的时候的一些内容,希望在下一次启动后依然生效,而不需要再进行配置那么麻烦.一般这 ...

  5. C#访问远程主机资源的方法,多种方式

    最近要实现访问远程主机的共享目录中的一个文件.遇到了权限问题.google了一下,找到了几种解决方法,记录如下: 一.调用Net use命令 // 使用方法:        //if (Connect ...

  6. 多个按钮触发同一个Bootstrap自适应模态窗口

    在项目中可能会面对这样的一个场景: 界面上有多个按钮,我们希望点击这些按钮弹出同一个模态窗口,但希望模态窗口的内容是动态生成的,即,点击每个按钮弹出的模态窗口内容不同. 通常情况下,一个按钮对应一个模 ...

  7. AutoMapper在MVC中的运用03-字典集合、枚举映射,自定义解析器

    本篇AutoMapper使用场景: ※ 源字典集合转换成目标字典集合 ※ 枚举映射 ※ 自定义解析器 ※ 源中的复杂属性和Get...方法转换成目标属性 源字典集合转换成目标字典集合 □ Domain ...

  8. NSString 拼接字符串

    NSString* string; // 结果字符串 NSString* string1, string2; //已存在的字符串,需要将string1和string2连接起来 //方法1. strin ...

  9. EBS 系统当前完成请求时间监测

    /* Formatted on 2018/3/14 23:32:17 (QP5 v5.256.13226.35538) */ SELECT REQUEST_ID , PROGRAM , ROUND ( ...

  10. The Topo to Raster tool returns errors 010235 and 010067转

    Problem: The Topo to Raster tool returns errors 010235 and 010067 Description The Topo to Raster geo ...