STMicroelectronics STM32L4 Discovery Kit IoT Node 入门 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

STMicroelectronics STM32L4 Discovery Kit IoT Node 入门

重要

该参考集成托管在已弃用的 Amazon-FreeRTOS 存储库中。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目,请参阅 Amazon-FreeRTOS Github 存储库迁移指南

本教程提供有关 STMicroelectronics STM32L4 Discovery Kit IoT Node 入门的说明。如果您还没有 STMicroelectronics STM32L4 Discovery Kit IoT Node,请访问 Amazon 合作伙伴设备目录来从我们的合作伙伴购买一个。

确保您已安装了最新的 Wi-Fi 固件。要下载最新的 Wi-Fi 固件,请参阅 STM32L4 Discovery Kit IoT Node、低功耗无线、低功耗蓝牙、NFC、SubGHz、Wi-Fi。在 Binary Resources (二进制文件资源) 中,选择 Inventek ISM 43362 Wi-Fi module firmware update (read the readme file for instructions) (Inventek ISM 43362 Wi-Fi 模块固件更新 (有关说明请阅读自述文件))

在开始之前,您必须配置 Amazon IoT、FreeRTOS 下载和 Wi-Fi,以便将您的设备连接到 Amazon 云。有关说明,请参阅初始步骤:在本教程中,FreeRTOS 下载目录的路径称为 freertos

概述

本教程包含有关以下入门步骤的说明:

  1. 在主机上安装软件来开发和调试微控制器主板的嵌入式应用程序。

  2. 将 FreeRTOS 演示应用程序交叉编译为二进制映像。

  3. 将应用程序二进制映像加载到您的主板上,然后运行该应用程序。

设置开发环境

为 STM32 安装 System Workbench

  1. 浏览到 OpenSTM32.org

  2. 在 OpenSTM32 网页上注册。您需要登录以下载 System Workbench。

  3. 浏览到 System Workbench for STM32 installer 以下载并安装 System Workbench。

如果您在安装期间遇到问题,请参阅 System Workbench 网站上的“常见问题”。

构建并运行 FreeRTOS 演示项目

将 FreeRTOS 演示导入 STM32 System Workbench

  1. 打开 STM32 System Workbench,然后输入新工作区的名称。

  2. 文件菜单中,选择导入。展开 General (常规),选择 Existing Projects into Workspace (现有项目到工作区),然后选择 Next (下一步)

  3. Select Root Directory (选择根目录) 中,输入 projects/st/stm32l475_discovery/ac6/aws_demos

  4. 默认情况下应选中项目 aws_demos

  5. 选择 Finish (完成) 以将项目导入 STM32 System Workbench。

  6. Project (项目) 菜单,选择 Build All (全部生成)。确认项目成功编译,没有任何错误。

在云上监控 MQTT 消息

在运行 FreeRTOS 演示项目之前,您可以在 Amazon IoT 控制台中设置 MQTT 客户端来监控您的设备发送到 Amazon 云的消息。

使用 Amazon IoT MQTT 客户端订阅 MQTT 主题
  1. 登录 Amazon IoT 控制台

  2. 在导航窗格中选择测试,然后选择 MQTT 测试客户端,以便打开 MQTT 客户端。

  3. Subscription topic (订阅主题)中,输入 your-thing-name/example/topic,然后选择 Subscribe to topic (订阅主题)

当演示项目在您的设备上成功运行时,您会多次看到“Hello World!” 发送到您订阅的主题。

运行 FreeRTOS 演示项目

  1. 使用 USB 线缆将您的 STMicroelectronics STM32L4 Discovery Kit IoT Node 连接到计算机。(请查看主板附带的制造商文档,了解要使用的正确 USB 端口。)

  2. Project Explorer (项目资源管理器) 中,右键单击 aws_demos,选择 Debug As (调试方式),然后选择 Ac6 STM32 C/C++ Application (Ac6 STM32 C/C++ 应用程序)

    如果在首次启动调试会话时出现调试错误,请执行以下步骤:

    1. 在 STM32 System Workbench 中,从 Run (运行) 菜单,选择 Debug Configurations (调试配置)

    2. 选择 aws_demos Debug (aws_demos 调试)。(您可能需要展开 Ac6 STM32 Debugging (Ac6 STM32 调试)。)

    3. 选择 Debugger (调试程序) 选项卡。

    4. Configuration Script (配置脚本) 中,选择 Show Generator Options (显示生成器选项)

    5. Mode Setup (模式设置) 中,将 Reset Mode (重置模式) 设置为 Software System Reset (软件系统重置)。选择 Apply,然后选择 Debug

  3. 当调试器在 main() 中的断点停止时,在 Run (运行) 菜单中选择 Resume (恢复)

将 CMake 与 FreeRTOS 配合使用

如果您不愿意使用 IDE 进行 FreeRTOS 开发,您也可以使用 CMake 来构建和运行使用第三方编辑器和调试工具开发的演示应用程序或应用程序。

首先创建一个文件夹用于存放生成的构建文件 (build-folder)。

使用以下命令可生成构建文件:

cmake -DVENDOR=st -DBOARD=stm32l475_discovery -DCOMPILER=arm-gcc -S freertos -B build-folder

如果 arm-none-eabi-gcc 不在 Shell 路径中,您还需要设置 AFR_TOOLCHAIN_PATH CMake 变量。例如:

-D AFR_TOOLCHAIN_PATH=/home/user/opt/gcc-arm-none-eabi/bin

有关将 CMake 与 FreeRTOS 配合使用的更多信息,请参阅将 CMake 与 FreeRTOS 配合使用

排查问题

如果您在演示应用程序的 UART 输出中看到以下内容,您需要更新 Wi-Fi 模块的固件:

[Tmr Svc] WiFi firmware version is: xxxxxxxxxxxxx [Tmr Svc] [WARN] WiFi firmware needs to be updated.

要下载最新的 Wi-Fi 固件,请参阅 STM32L4 Discovery Kit IoT Node、低功耗无线、低功耗蓝牙、NFC、SubGHz、Wi-Fi。在 Binary Resources (二进制文件资源) 下,选择 Inventek ISM 43362 Wi-Fi module firmware update (Inventek ISM 43362 Wi-Fi 模块固件更新) 的下载链接。

有关 FreeRTOS 入门的常规故障排除信息,请参阅问题排查入门