经过WARREN KURISU, Mentor Graphics
操作系统及其处理任务的方式可以成就或毁掉活动追踪器和时尚电子产品等应用程序。
可穿戴设备行业仍处于早期发展阶段。据金融公司摩根士丹利(Morgan Stanley)估计,未来几年,可穿戴设备市场规模将达到1.6万亿美元。但是需要大量的软件工作来实现这些趋势。一个功能齐全的实时操作系统(RTOS)可以帮助智能可穿戴产品快速启动和运行。
大多数可穿戴设备的物理形状给电子设备留下了很少的空间。一个可穿戴设备可以根据它的尺寸打包一系列惊人的外围设备,但内存容量是一个无法超越几何尺寸的领域。实时操作系统可以帮助最小化可穿戴设备的内存需求。RTOS本身占用空间很小,并提供确定性行为,有助于保持代码紧凑。但它还必须在代码和数据要求上缩小到最小尺寸,才能在设备范围的最低端生存下来。同样的RTOS还必须能够扩展到功能最全面的服务范围。
在大多数情况下,可穿戴设备都非常小。他们通常使用时钟小于25 MHz的8位MCU,只有8k内存。基于arm的低功耗处理器是可穿戴设备的理想选择,因为它们体积小,功耗要求低。最近采用ARM方法的产品包括Pebble手表和Omate Racer智能手表。

OMATE是一家硬件和软件设计公司。它的赛车手表是一个独立的电信移动设备,适用于使用蓝牙连接到智能手机的众多iOS和Android应用程序。用户可以在其他通知中发送和接收传入的呼叫,社交媒体更新,消息和提醒。
这款Racer智能手表搭载了业界最小的可穿戴芯片ARM7联发科Aster。联发科芯片组依赖Mentor Graphics的Nucleus RTOS进行电源管理和无线编程。Nucleus可以缩放电压和频率,以减少单个或多个操作系统平台的功耗,最大限度地提高每瓦特的周期,以节省电力。
通过内置电源管理和连接功能,RTOS可帮助电力敏感的无线通信应用程序。Nucleus还适用于SoC中的每个外围设备的“系统电源状态”。这使得SOC独立地控制不同块,模块或外设的电源,允许各种应用程序同时运行。
更复杂的设计通常包括具有数百兆赫和兆字节内存的功能丰富的soc。这些混合系统可能包括专用处理器和多个应用程序和/或微控制器核心。更复杂的soc通常需要图形用户界面(GUI)和到互联网或云的无线连接。它需要一个全功能的实时操作系统来支持这些更复杂的设计。
如今的可穿戴设备与几年前的设备之间的显著区别在于,无线连接选项更加普及。无线连接范围从近场通信,蓝牙/BLE和WiFi,到巨大的移动蜂窝网络。这是一个技术、协议和选项变化迅速的领域。同样地,今天被认为太昂贵的解决方案很容易成为明天的经济标准。

通信技术在可穿戴设备的整个生命周期中,甚至在开发周期中都会发生变化。操作系统环境可以帮助处理这些更改,以最小化对应用程序的影响。
rtoss多年来一直存在,无数嵌入式设备已经使用它们。典型的RTOS包含基本功能,例如内核,调度程序,文件系统,连接和图形支持。可穿戴设备的RTOS在其他三个关键领域也具有严格的要求:可扩展性,空间分区和全面的电源管理。
RTOS环境的一个优点是能够将RTOS应用程序编程接口(API)作为目标机器。这使得软件人员可以根据该规范开发应用程序。在RTOS之下,中间件和设备驱动程序直接处理硬件。因此,应用程序可以通过使用API来适应特定产品版本的特定细节。这可以通过运行时对特性的动态评估,或者通过编译和链接期间的选择性构建选项来实现。
Nucleus RTOS允许应用程序与各种外设组合一起工作。它还允许开发人员传输应用程序,并在不同的处理器变体、家族和体系结构中使用它们。此外,它可以让一个功能简化版的应用程序在单片机上工作,其表现与高性能微处理器平台上的全功能版本几乎相同。
空间域分区
通过使用轻量级进程创建的空间域分区可以使系统更可靠,并防止一个子系统导致另一个子系统崩溃。其思想是根据应用程序的需要,通过加载和卸载内存模块来重用有限的内存资源。这些特性通常只在使用包含内存管理单元(mmu)的内核进行分区和内存虚拟化的高端或通用操作系统中发现。Nucleus RTOS为Cortex M设备带来了这些功能,但没有集成MMU。换句话说,它可以在没有虚拟化内存开销的情况下处理空间域分区。进程可以从文件系统加载到内存或直接在RAM或Flash (XIP)中运行。
配置用于处理空间分区的RTOSs可以在运行时配置MPU,以便在内核和用户空间中建立内存区域。api可用于在运行时加载流程,或在执行期间基于用例加载流程。
电池寿命显然对可穿戴性至关重要。现代处理器包含许多省电功能。示例包括空闲模式,睡眠模式,动态电压频率缩放(DVF)和休眠模式。如果底层操作系统没有框架来利用硅中的低功耗功能,则开发人员必须生成代码。所需的代码量创造了更复杂,可以添加到代码膨胀。
芯片内置省电功能。然而,在没有旨在处理它们的操作系统的情况下,它们的使用变得复杂。例如,考虑实现简单的省电功能,例如降低频率。在处理器可以移位频率之前,软件必须知道每个外围设备的状态。此外,它必须知道每个外围设备是否可以在新的较低频率下操作 - 有些情况可能不是。软件还必须知道每个活动设备可以脱机的时间有多长,以实现频率偏移而不会丢失任何数据。某些设备只能脱机一段时间,因此必须脱机最后并首先带回在线。频移之后,像UART这样的设备需要其波特率重置。

显然,所有这些细节的管理都在没有带有API的RTOS的RTOS中取得了重要的编码努力。但是通过可用的API,单个API调用可能会发生频移。总而言之,电源管理框架为API调用提供了一种方法来控制所有系统设备。
电源管理框架接近从四个方向的电力使用保护:1)系统状态用于控制外围电源;2)动态电压缩放 - 基本上,减少整个系统上的操作电压 - 专注于整个系统;3)闲置电源管理防止过度的能量而无需特定目标;4)休眠/睡眠模式,让系统在长时间不活动期间脱机。
电源管理框架允许软件开发人员编写代码来节省电源,而不会造成代码膨胀或增加内存占用。电源管理框架还允许软件开发人员在设计周期的早期就计划电源规格。结果代码可以在整个开发过程中进行测试,以确保功耗保持在目标水平。
最后,无线连接对于任何物联网应用都很重要。RTOSs,如Nucleus,包含处理无线标准(如WiFi、蓝牙/BLE和802.15.4)的设施。此外,像6LoWPAN (IPv6 over Low - power Wireless Personal Area Networks)这样的适配层为基于IPv6 (Internet协议的最新版本)的物联网设备提供可路由寻址。简而言之,RTOSs将需要支持许多无线方案和物联网协议,以及将无线设备集成到云中的方法。
参考文献
导师图形,核rtos
www.mentor.com/embedded-software/nucleus/
实时操作系统的维基百科页面
www.en.wikipedia.org/wiki/Real-time_operating_system
Nucleus RTOS的Wikipedia页面,
en.wikipedia.org/wiki/Nucleus_RTOS
《华盛顿邮报》IOT中可穿戴设备的实时操作系统第一次出现在微控制器的技巧。
![]()
提交:单片机的技巧




