Blog:
Amazon FreeRTOS,异构核心以及全新的 Apalis 和 Colibri iMX8

2018年5月28日星期一
Amazon FreeRTOS
Amazon FreeRTOS
Amazon acquires FreeRTOS

FreeRTOS 是针对嵌入式设备的实时操作系统。从 2003 年开始开发,FreeRTOS 已经成为了实时操作系统的市场领导者,被移植到超过 40 种微处理器架构。在 2017 年 10 月 29 日,Amazon 收购了 FreeRTOS 并发布 Amazon FreeRTOS (又名 a:FreeRTOS),基于 FreeRTOS 的实时操作系统内核,专注于低功耗和互联设备。

Amazon 似乎乐于将广泛使用的实时操作系统 — 这显然拥有大量的用户基础 — 集成到他们的云服务,如 AWS IoT Core 和 AWS Greengrass。在收购后,Amazon 发布了 FreeRTOS V10 版本。随着新功能诸如云和边缘设备互联库发布,内核授权也从之前 FreeRTOS 所采用的修改版本 GNU General Public License (GPL) 变为更为宽松的 MIT 授权。这意味着 FreeRTOS 仍是一个单独的产品,可以自由使用,无论是否使用 Amazon 服务。

为什么和这相关:异构多核处理 HMP

Toradex 提供 Colibri iMX7Colibri VF61 计算机模块。这些产品分别使用了NXP® i.MX7 和 Vybrid SoC。模块上的处理集成一个 Arm® Cortex-A 核,通常可以运行诸如 Linux 的嵌入式操作系统,以及一个 Arm Cortex-M4 微控制器核,可以直接运行代码或者如 FreeRTOS 之类的实时操作系统。下面是大概的应用场景:

  • 实时: 如果需要硬实时,那么可以通过在 Cortex-M4 上运行 FreeRTOS 实现。
  • 控制系统:Cortex-M4 可以用作动态系统的控制器,例如 PID 控制器,减少运行 Linux 的 Cortex-A 负荷,该核心则可以用于显示人机界面。
  • 数据采集:对于需要使用模数转换的应用,Cortex-M4 能够更加容易得实现高速采样,从而减轻其他核的负荷。
  • 低功耗: 在电池供电的应用中 Cortex-M4 可以用作低功耗核心节约能源。在微处理器保持运行的同时,Cortex-A 可以被关闭并在需要的时候唤醒。

一个采用 Toradex Colibri iMX7 模块的应用案例是 TAQ 自平衡机器人。其由我们的合作伙伴 Antmicro 和 Qt 开发完成。机器人在 Cortex-A7 上运行嵌入式 Linux,显示机器人脸部动画以及来自 Cortex-M4 的传感器数据。Cortex-M4 运行 FreeRTOS,采样加速器和陀螺仪等传感器数据。机器人使用这些数据,借助 PID 控制器和 Kalman 滤波器控制动态系统。双核之间通过 RPMsg 通信。内核模块在 Linux 侧创建一个虚拟串口接口连接 Cortex-M4,通过读写该串口设备实现数据交换,就像使用“真实””的串口设备一样。

该演示品的代码已经公开,Linux 端用户界面Cortex-M4 固件

Toradex Colibri iMX7 同样也被用于演示低功耗应用。该视频介绍了演示品,实现数据采集和呈现,并在单独的 LCD 上显示功耗。

Toradex 支持和维护我们计算机模块的 FreeRTOS。诸多外设驱动和例程都包括在内,并可以直接使用。
在 Toradex 开发者中心上的一些文档介绍了如何上手和运行编译好的 FreeRTOS 例程。
观看我们的网络研讨会议,进一步了解异构多核系统开发。


关于未来?
软件层面

RTOS 有众多参与者。在 2016 年,Wind River Systems 和 Linux Foundation 发布了 Zephyr 实时操作系统,同样专注于 IoT 市场的小型、互联设备。Toradex Colibri iMX7 计算机模块正式支持 Zephyr,开发工作正在进行中。

硬件层面:基于 NXP i.MX 8 的全新 Apalis 和 Colibri 模块

Toradex 已经启动了 Apalis iMX8 的早期访问计划。该强劲的模块采用 NXP i.MX 8QuadMax (i.MX 8QM) 处理器,带有两个 Cortex-A72 核,四个 Cortex-A53 核,两个 Cortex-M4 核。封装了 4GB LPDDR4 RAM 和 16GB eMMC 存储,内置双频段 Wi-Fi (802.11ac) 和 Bluetooth (Bluetooth 5-ready)。该模块非常适合计算机视觉:集成两个 GC7000 GPU,支持 Vulkan 和 OpenGL ES。

双核 Cortex-M4 开启许多可能性:例如你可以运行两个不同的应用或者独立的实时操作系统,平衡数据处理应用;或者将一个核用于数据采集,另外一个用作后期处理。微控制器还可用作图形显示安全后备,或者显示前期启动动画而不是一张静态图片。

Toradex 在 Embedded World 2018 展示了 Apalis iMX8 。 观看该视频了解详情,以及其他来自合作伙伴有趣的演示。

即将上市: Colibri iMX8

Colibri 家族产品也即将迎来新成员:Toradex 即将发布 Colibri iMX8 计算机模块。该模块基于 NXP i.MX 8X,同样支持异构多核架构,Cortex-M4 core 和 Cortex-A35 核并列运行。敬请期待即将上市的计算机模块的更多信息。

作者: Gustavo Leal, Field Application Engineer, Toradex Brasil

评论

Please login to leave a comment!
Have a Question?