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

2023-10-27

原文地址: http://blog.csdn.net/yefanqiu/article/details/17006331

随着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驱动的一部分,用户可以直接加载调用。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 六句话给出 Synchronized 和 Lock 的区别

    1 Synchronized 内置的 Java 关键字 Lock 是一个 Java 类 2 Synchronized 无法判断获取锁的状态 Lock 可以判断是否获取到了锁 3 Synchronized 会自动释放锁 Lock 必须要手动释
  • Windows下Anaconda3下载安装详细步骤

    第一步 去官网下载Anaconda Individual Editionhttps www anaconda com products individual 第二步 点击Download 在安装之前 要先安装python的版本 这里我先安装
  • C++ 实验8 继承

    编写一个学生和教师数据输入和显示程序 学生数据有编号 姓名 班级和成绩 教师数据有编号 姓名 职称和部门 要求将编号 姓名输入和显示设计成一个类person 并作为学生类student和教师类teacher的基类 类图如下 代码如下 头文件
  • Win10笔记本(机械革命)亮度调节快捷键失效-已解决

    Win10笔记本 机械革命 亮度调节快捷键失效 已解决 1 确定你已经安装了核心显卡驱动 驱动精灵检查一下 2 右击此电脑 管理 系统工具 设备管理器 监视器 单击展开 卸载dpms 卸载Generic Monitor 选中删除相关驱动 3
  • iText包对每页pdf文件加水印

    https ishare iask sina com cn f 31zwqlKmIwM html
  • 用户编写的python程序、无需修改就可以_python的笔记(一)

    Python的基本特点一种动态解释型的编程语言 规范的代码 Python 采用强制缩进的方式使得代码具有极佳的可读性 高级语言特性 封装内存管理等 可移植性 程序如果避免使用依赖于系统的特性 那么无需修改就可以在任何平台上运行 解释性 直接
  • 带你入门TypeScript

    一 为何学习TS 1 TypeScript 在社区的流行度越来越高 它非常适用于一些大型项目 也非常适用于一些基础库 极大地帮助我们提升了开发效率和体验 2 TypeScript 可以编译出纯净 简洁的 JavaScript 代码 并且可以
  • python画玫瑰图_python windrose(风玫瑰图)

    conda install c https conda anaconda org conda forge windrose b 用pip install windrose可以成功 但是安装的路径 python找不到 from windros
  • 多表联查优化

    多表联查优化我总结有以下几点 优化sql语句 索引优化 反范式设计 业务代码优化 使用缓存 优化sql语句 sql性能分析 查看执行频次 查看执行频次 select insert delete update shwo global sess
  • Python应该怎么学,如何系统地自学Python?

    这是一份kaggle上的银行的数据集 研究该数据集可以预测客户是否认购定期存款y 这里包含20个特征 1 分析框架 2 数据读取 数据清洗 导入相关包 import numpy as np import pandas as pd 读取数据
  • 厉害了,用 Java 也能实现图片识别!

    点击上方 Java基基 选择 设为星标 做积极的人 而不是积极废人 源码精品专栏 原创 Java 2020 超神之路 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 Rock
  • VS2010 编译 sqlite3 生成动态库和链接库

    如果想以dll的方式使用sqlite而新建空的dll工程 添加sqlite源文件 会发现能生成dll 但缺乏lib函数信息映射库 单独使用dll文件是比较麻烦的 而网上多数做法是通过lib exe手动生成lib 这当然不是我想要的 结合几篇

随机推荐