freertos开源协议
扫描二维码
随时随地手机看文章
传统的嵌入式系统开发人员一般使用不联网的设备在裸机上工作,但 IoT 却要求系统连接到因特网。这就要求嵌入式系统开发人员了解如何连接其设备和使用较高级别的操作系统,如实时操作系统 (RTOS)。
有了 Amazon FreeRTOS,开发人员不需要从头开始和进行面面俱到地学习,即可以将嵌入式系统安全地连接到因特网。该系统能够让开发人员以安全的方式将设备快速简单地连接到 Amazon Web Services (AWS),从而简化其开发工作。本文将讨论并演示如何使用 Amazon FreeRTOS。
Amazon FreeRTOS 简介
Amazon FreeRTOS 是一种以开源 FreeRTOS 内核为核心的 RTOS,配备有附加组件,以实现本地和云连接、安全保护以及无线 (OTA) 更新。FreeRTOS 内核是已经存在十年以上的知名 RTOS,能提供下列有用的功能:
基于优先级的任务调度
信号
互斥器
消息队列
另外,FreeRTOS 免费提供,拥有 MIT 软件许可。
让 Amazon FreeRTOS 独树一帜并能吸引嵌入式软件开发人员的原因是,它向 FreeRTOS 增加了连接库和安全性。然后将所有功能结合到一个单一聚合框架中,使开发人员能够以安全方式将其设备立刻连接到云服务,开箱即用。
选择 Amazon FreeRTOS 硬件
FreeRTOS 内核本身依赖几十个不同的微控制器架构才能工作。Amazon FreeRTOS 现已通过 Amazon FreeRTOS Qualification Program 资格认证程序,在四个不同的微控制器供应商硬件平台上进行了充分测试和集成。具体包括:
Microchip 的Curiosity PIC32MZ EF 开发板
NXP Semiconductors 的 LPC54018 IoT 模块(图 1)
STMicroeletronics 的 STM32L4 Discovery 套件 IoT 节点
Texas Instruments 的 CC3220SF-LaunchXL
图 1:NXP Semiconductors 的 LPC54018 IoT 模块基于带有 128 Mb Macronix MX25L12835 Quad-SPI 闪存的 Arm® Cortex®-M4 180 MHz 微控制器。一个可以快速启动 Amazon FreeRTOS 的全集成 Wi-Fi 模块。(图片来源:NXP Semiconductors)
这些开发套件全部都进行了充分的 Amazon FreeRTOS 测试,但开发人员也可以选择自己偏好的芯片供应商。例如,值得注意的是,Amazon FreeRTOS 还支持 OTA,但这种支持目前只在 Texas Instruments CC3220SF-LaunchXL(图 2)的公测版中提供。此开发板基于 Arm® Cortex®-M4 微控制器,并且具有板载温度传感器、加速计、三个 LED 指示灯和可编程用户按钮。该模块提供了一个可以启动 Amazon FreeRTOS 的全集成解决方案。
未来,OTA 毫无疑问也会支持其它开发板,但如果当前该功能是关键设计特性,那就要从 Texas Instruments 解决方案开始着手。
图 2:Texas Instruments 的 CC3220SF-LaunchXL 是一个可以启动 Amazon FreeRTOS 的全集成解决方案。它还支持 Amazon FreeRTOS OTA 测试版演示示例。(图片来源:Texas Instruments)
大多数开发套件是单模块套件,属于单板解决方案。不过,Microchip Curiosity 开发套件要求开发人员购买其它模块,如以太网、Wi-Fi 模块和 USB 到 UART 转换器。
该开发板基于 PIC32 微控制器,但为了获得可与 Amazon FreeRTOS 一起使用的全功能开发板,开发人员还需要购买其它组件。能够获得全功能 Amazon FreeRTOS 的最佳实例组件是 MikroElektronika 的 MIKROE 扩展模块:
MIKROE-2046 Wi-Fi 模块
MIKROE USB 到 UART 子板
Microchip LAN8720 子板
之后,完成组装的开发板将如图 3 所示。此时开发人员即已准备就绪,可以运行 Amazon RTOS 示例应用。
图 3:Microchip Technology 的 PIC32MZEF Curiosity 开发套件提供模块化设计,便于开发人员通过其开发套件定制其应用需要的组件。所示的图片还包含 MIKROE Wi-Fi 以及 MIKROE USB 到 UART 子板。(图片来源:Microchip Technology)
将 Amazon FreeRTOS 连接到云
在上一节讨论的任何开发套件上启动并运行 Amazon FreeRTOS 都比较简单。每个开发板都有演示,随时可以按照有关演示的逐步说明来运行演示。例如,Microchip 开发板的说明位于以下链接中。
首先,找到该开发套件的相应入门指南。
接下来,安装硬件。对于大多数开发套件,硬件是全包含的,但如果选择了 Microchip 解决方案,则需要将每个模块板添加到 Curiosity 板上,并且还需要连接一个外部编程工具,如 ICD4。
图 4:已组装并连接到 ICD4 编程工具的 PIC32MZEF Curiosity 开发套件。此设置使用有线以太网连接来运行演示。(图片来源:Amazon)
硬件安装完成后,下一步便是安装编译 Amazon FreeRTOS 示例的开发环境。例如,使用 Microchip 的开发人员应下载 MPLAB X 以及 XC32 编译器。
要想能够访问 Amazon FreeRTOS 示例,注册 AWS 并访问其控制台。AWS 提供 12 个月的免费试用套餐,以便开发人员可以访问 AWS、Amazon FreeRTOS 和对开发连接设备有帮助的其它功能。单击此处可以完成帐户注册。一旦帐户创建完毕,即可访问 Amazon FreeRTOS 页面,该页面会提供 Amazon FreeRTOS 的软件配置列表。这些配置包括每个开发套件的源文件以及 Amazon FreeRTOS 仿真器。下载与开发套件匹配的预定义配置,并将其导入开发环境中。例如,相应的 Curiosity 板应使用针对 Curiosity PIC32MZEF 的预定义“Connect to AWS IoT – Microchip” 配置。