Intel® Edison 是一款为物联网(IoT)应用设计的微型计算平台,它集成了 Intel® Atom™ 处理器和专为微控制器(MCU)设计的硬件。本文将指导如何使用 Intel® Edison 开发板和 MCU 软件开发工具包(SDK)来创建、构建和调试应用程序。
MCU SDK 是一个基于 Eclipse 的软件开发工具包,支持 Windows、Mac OS X 和 Linux 操作系统。它为 MCU 提供了脚本、工具和文档,以便开发者能够设置环境变量、下载程序二进制文件、监控 MCU 设备跟踪等。MCU SDK 与用于编程 Intel Atom 处理器的 Eclipse SDK 是分开的。
MCU 包括一个主机 CPU 和 MCU 本身。MCU 提供了简单的实时外设控制功能,例如 GPIO、UART 和 I2C 接口。对于Intel Edison设备,主机 CPU 是运行 Linux 的 Intel Atom 处理器,而 MCU 是运行 Viper*(一种 Wind River 实时操作系统)的 Minute Intel® 架构 CPU,它提供了基本的操作系统功能支持,包括线程调度、内存管理、中断调度等。
MCU 应用程序是在 Viper 内核之上运行的应用程序,独立控制连接到 MCU 的外设。例如,它可以管理 GPIO 端口、控制和收集传感器数据,以及与主机 Intel Atom 处理器通信。MCU 还可以通过让 Intel Atom 处理器处于睡眠状态并在需要时唤醒处理器来节省电力。
MCU 驱动程序提供了 IPC 协议支持,并允许将 MCU 应用程序下载到设备。
MCU 子系统是一个低功耗的 Minute Intel 架构(IA)486 基础 CPU 系统,具有 Intel® Pentium® 架构兼容性,I/O(IPC、I2C、GPIO、HSU、DMA)和 SRAM。MCU 子系统的特点包括:
MCU SDK 是一个基于 Eclipse 的 SDK,允许用户在包括 Windows、Mac OS X 和 Linux 在内的多个操作系统上创建、构建、下载和调试 MCU 应用程序。
MCU SDK 包括 Java 运行时环境(JRE)、Cygwin(在 Windows 上运行 Linux 脚本)、工具链(用于 Intel® Edison Linux OS 的 gcc 交叉编译工具链)、启动器(MCU SDK 启动器用户界面)以及用于设置环境变量、下载二进制文件、从设备获取跟踪等的脚本和工具。
Intel Edison板上的 MCU 应用程序是在 Wind River 提供的实时操作系统 Viper 上运行的用户应用程序。MCU 应用程序的二进制文件存储在 Linux RootFS 上,并在 Linux 内核启动期间由 MCU 驱动程序下载。MCU 应用程序可以独立控制 GPIO 和 UART,收集和预处理传感器数据,并与主机 CPU(Intel Edison 板上的 Intel Atom 处理器)通信,该处理器可以在 MCU 仍在运行时进入低功耗状态。Intel 提供了 MCU SDK 和一组 API 来帮助开发 MCU 应用程序。
为用户空间 Linux 应用程序与 MCU 侧通信定义并公开了 TTY 通道和几个 sysfs 节点。
/dev/ttymcu0
:主机和 MCU 之间的消息/数据传输通道。主机应用程序可以通过此接口和 MCU 应用程序可以通过 host_send 和 host_receive API 与主机通信。/dev/ttymcu1
:此通道被定义为获取 MCU 日志消息的接口。/sys/devices/platform/intel_mcu/control
:一个只写控制节点,用于加载 MCU 应用程序。目前这个节点仅供内部使用。/sys/devices/platform/intel_mcu/fw_version
:用于构建 MCU 应用程序的 MCU SDK 版本。/sys/devices/platform/intel_mcu/log_level
:一个读写节点,用于设置和获取当前 MCU 应用程序日志级别。支持的输入字符串包括 fatal、error、warning、info 和 debug。MCU SDK 包括一个 Eclipse 插件,用于 MCU 应用程序开发。它包括预构建的工具来构建、下载和调试 MCU 应用程序。包括模板源代码,并将在创建项目时部署。MCU SDK 的主要功能包括:
以下是关于 Intel® Edison 平台上 MCU 实施的已知限制:
立即开始发明,使用 Intel® IoT 开发者计划,它提供了知识、工具、套件和专家社区,以快速轻松地将创新想法转化为物联网解决方案。