物联网承载着ARM统一软硬件的野心
导语:ARM的野心,把内核统一了,现在想要借助物联网的东风来统一软件,太“霸气外露”了!
虽然此次ARM 2014 智能嵌入式开发应用研讨会的主题是物联网,但是给记者印象最深刻的既不是物联网,也不是ARM引以为傲的Cortex-M核,而是ARM的软件平台。为什么呢?还是要先从物联网的盈利模式说起。
探索硬件在物联网中的价值
从1999年MIT提出IoT(物联网)到现在,IoT发展到什么程度?到底谁从中获利了呢?飞思卡尔亚区市场及业务拓展总监Edward Tsau的一席话,让我对于物联网的盈利模式有些清晰了,也更加为处理器厂商担忧。Edward说他在之前与一些行业大佬们的交流中了解到,未来硬件产品是送的或者以成本价格卖给用户。未来物联网的收入有两大方面:数据和服务。硬件只是一个媒介,通过把服务给用户而得到数据。我们现在也已经能够从国内外互联网巨头的行业动作中看出端倪。
那么硬件的“价值”是什么?1~2块对客户没有帮助,决定因素不再是低成本和低功耗,而是给客户一个完整的平台来获得服务和数据。物理网生态系统的各个成员都应该思考如何让客户以最低成本增加服务。
野心:统一软件让差异化何去何从?
在微控制器领域,ARM核已经基本上“统一江山”了,业内普遍认为ARM会继续保持它的内核统一战略,并且进一步向高端应用挺进。让记者没有想到的是,ARM的野心不再局限于在内核领域“指点江山”,而是想借助CMSIS把“统一”目标扩大到软件领域,恐怕这也是那些与ARM有紧密合作的处理器厂商始料未及的。
在内核逐渐统一以后,很多处理器厂商的卖点从内核转到了软件,他们希望用软件帮助用户做出差异化产品并提高效率。因此,处理器厂商们对于软件的投资也是越来越大,并且卓有成效。就在他们还满足于ARM核配合其独特的软件所带来的效益时,危机已经到来了。商场如战场,虽然现在一直保持“合作”的形式,但是处理器厂商们也曾经以ARM为竞争对手,后来不得不妥协。如果最后连软件也被ARM牵着鼻子走,他们如何去做差异化呢?我想留给处理器厂商们思考和作出决定的时间并不多。
当然到底CMSIS有没有实力呢?肯定有人会质疑它,我想就跟当时Cortex-M核一样,在质疑声中占领市场可能是ARM的强项。
用CMSIS扩大用户群
要提升硬件价值,特别是在物联网应用中的价值,扩大用户群是必须的。目前,智能手环、手表、智能插座等物联网初期终端产品众多,但功能相对单一,不知道如何拓展。ARM中国区现场应用工程师章政表示:如果这种现象一直维持下去,那么终端用户群太窄,APP也少。在MCU领域,市场千变万化,MCU厂商为不同客户提供不同的板级支持包(BSP),缺乏把一个OS做得非常完善的软件。例如,飞思卡尔、TI有不同的开发工具,但是考虑到厂商开发软件和维护成本高,软件学习昂贵,大厂商可能还可以得到定制化的软件服务,对于小厂商而言,开发环境就不那么乐观了。ARM提出的Cortex微控制器软件接口标准 (CMSIS) 弥补了不同操作系统的差异性,因为CMSIS上层API是一样的,让人们在不同操作系统之间调用、迁徙。可以用Keil、DS-5工具来承载CMSIS标准。总之,ARM的目的就是用CMSIS扩大芯片、应用和中间件的用户群。
ARM CMSIS是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。CMSIS 可实现与处理器和外设之间的一致且简单的软件接口,从而简化软件的重用,缩短微控制器开发人员新手的学习过程,并缩短新设备的上市时间。软件的创建是嵌入式产品行业的一个主要成本因素。通过跨所有 Cortex-M 芯片供应商产品将软件接口标准化(尤其是在创建新项目或将现有软件迁移到新设备时),可以大大降低成本。CMSIS 已与多个主要芯片和软件供应商建立了密切关系。值得一提的是,ARM还提供FPGA级 Cortex-M Prototyping System (原型系统),早期RTL设计时就能调试。

图1 CMSIS与MCU及上层API关系架构图
CMSIS 包含以下组件:
CMSIS-CORE:提供与 Cortex-M0、Cortex-M3、Cortex-M4、SC000 和 SC300 处理器与外围寄存器之间的接口;
CMSIS-DSP:包含以定点(分数 q7、q15、q31)和单精度浮点(32 位)实现的 60 多种函数的 DSP 库;
CMSIS-RTOS API:用于线程控制、资源和时间管理的实时操作系统的标准化编程接口;
CMSIS-SVD:包含完整微控制器系统(包括外设)的程序员视图的系统视图描述 XML 文件。
低功耗大管家
物联网终端产品最大的诉求莫过于低功耗。ARM高级嵌入式技术专家Joseph Yiu 从各个层面解释了Cortex-M核低功耗原理。低功耗取决于物理IP的
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
