本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
STMicroelectronics STM32L4 Discovery Kit IoT Node 入门
此参考集成托管在 Amazon-FreeRTOS 存储库中,该存储库已过时。建议您在创建新项目时从这里开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目,请参阅亚马逊 FreeRTOS Github 存储库迁移指南。
本教程提供有关 STMicroelectronics STM32L4 Discovery Kit IoT Node 入门的说明。如果您还没有意法半导体 STM32L4 Discovery Kit IoT 节点,请访问Amazon合作伙伴设备目录从我们的合作伙伴
确保您已安装了最新的 Wi-Fi 固件。要下载最新的 Wi-Fi 固件,请参阅 STM32L4 Discovery Kit IoT Node、低功耗无线、低功耗蓝牙、NFC、SubGHz、Wi-Fi
在开始之前,必须进行配置Amazon IoT、下载 FreeRTOS 和 Wi-Fi 才能将设备连接到Amazon云端。有关说明,请参阅初始步骤:在本教程中,FreeRTOS 下载目录的路径被称为
。freertos
概览
本教程包含有关以下入门步骤的说明:
-
在主机上安装软件来开发和调试微控制器主板的嵌入式应用程序。
-
将 FreeRTOS 演示应用程序交叉编译为二进制图像。
-
将应用程序二进制映像加载到您的主板上,然后运行该应用程序。
设置开发环境
为 STM32 安装 System Workbench
-
浏览到 OpenSTM32.org
。 -
在 OpenSTM32 网页上注册。您需要登录以下载 System Workbench。
-
浏览到 System Workbench for STM32 installer
以下载并安装 System Workbench。
如果您在安装期间遇到问题,请参阅 System Workbench 网站
生成并运行 FreeRTOS 演示项目
将 FreeRTOS 演示导入 STM32 系统工作台
-
打开 STM32 System Workbench,然后输入新工作区的名称。
-
从 File (文件) 菜单,选择 Import (导入)。展开 General (常规),选择 Existing Projects into Workspace (现有项目到工作区),然后选择 Next (下一步)。
-
在 Select Root Directory (选择根目录) 中,输入
projects/st/stm32l475_discovery/ac6/aws_demos
。 -
默认情况下应选中项目
aws_demos
。 -
选择 Finish (完成) 以将项目导入 STM32 System Workbench。
-
从 Project (项目) 菜单,选择 Build All (全部生成)。确认项目成功编译,没有任何错误。
在云上监控 MQTT 消息
在运行 FreeRTOS 演示项目之前,可以在Amazon IoT控制台中设置 MQTT 客户端以监控您的设备发送到Amazon云端的消息。
使用 Amazon IoT MQTT 客户端订阅 MQTT 主题
-
登录到 Amazon IoT 控制台
。 -
在导航窗格中,选择 “测试”,然后选择 MQTT 测试客户端打开 MQTT 客户端。
-
在 Subscription topic (订阅主题)中,输入
,然后选择 Subscribe to topic (订阅主题)。your-thing-name
/example/topic
当演示项目在您的设备上成功运行时,您会看到 “Hello World!” 多次向您订阅的主题发送。
运行 FreeRTOS 演示项目
-
使用 USB 线缆将您的 STMicroelectronics STM32L4 Discovery Kit IoT Node 连接到计算机。(请查看主板随附的制造商文档,了解要使用的 USB 端口。)
-
在 Project Explorer (项目资源管理器) 中,右键单击
aws_demos
,选择 Debug As (调试方式),然后选择 Ac6 STM32 C/C++ Application (Ac6 STM32 C/C++ 应用程序)。如果在首次启动调试会话时出现调试错误,请执行以下步骤:
-
在 STM32 System Workbench 中,从 Run (运行) 菜单,选择 Debug Configurations (调试配置)。
-
选择 aws_demos Debug (aws_demos 调试)。(您可能需要展开 Ac6 STM32 Debugging (Ac6 STM32 调试)。)
-
选择 Debugger (调试程序) 选项卡。
-
在 Configuration Script (配置脚本) 中,选择 Show Generator Options (显示生成器选项)。
-
在 Mode Setup (模式设置) 中,将 Reset Mode (重置模式) 设置为 Software System Reset (软件系统重置)。选择 Apply,然后选择 Debug。
-
-
当调试器在
main()
中的断点停止时,在 Run (运行) 菜单中选择 Resume (恢复)。
在 FreeRTOS 上使用 cMake
如果您不想使用 IDE 进行 FreeRTOS 开发,也可以使用 CMake 来构建和运行演示应用程序或使用第三方代码编辑器和调试工具开发的应用程序。
首先创建一个文件夹用于存放生成的构建文件 (build-folder
)。
使用以下命令可生成构建文件:
cmake -DVENDOR=st -DBOARD=stm32l475_discovery -DCOMPILER=arm-gcc -S
freertos
-Bbuild-folder
如果 arm-none-eabi-gcc
不在 Shell 路径中,您还需要设置 AFR_TOOLCHAIN_PATH
CMake 变量。例如:
-D AFR_TOOLCHAIN_PATH=/home/user/opt/gcc-arm-none-eabi/bin
有关将 CAME 将与 FrAME 搭配使用的更多信息,请参阅在 FreeRTOS 中使用 cMake。
故障排除
如果您在演示应用程序的 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
有关 FreeRTOS 入门的一般故障排除信息,请参阅问题排查入门。