

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

# STMicroelectronics STM32L4 Discovery Kit IoT Node 入门
<a name="getting_started_st"></a>

**重要**  <a name="deprecation-message"></a>
此参考集成托管在已弃用的 Amazon-FreeRTOS 存储库中。当您创建新项目时，我们建议[从此处开始](freertos-getting-started-modular.md)。如果您已经有一个基于现已 Amazon-FreeRTOS 弃用的存储库的 FreeRTOS 项目，请参阅。[Amazon-FreeRTOS Github 存储库迁移](github-repo-migration.md)

本教程提供有关 STMicroelectronics STM32L4 Discovery Kit IoT Node 入门的说明。[如果您还没有意法半导体 STM32L4 Discovery Kit 物联网节点，请访问 AWS 合作伙伴设备目录，从我们的合作伙伴处购买。](https://devices.amazonaws.com/detail/a3G0L00000AANsWUAX/STM32L4-Discovery-Kit-IoT-Node)

确保您已安装最新的 Wi-Fi 固件。要下载最新 Wi-Fi固件，请参阅 [STM32L4 Discovery kit 物联网节点、低功耗无线、低功耗蓝牙、NFC、sub Wi-Fi GHz 等](https://www.st.com/resource/en/utilities/inventek_fw_updater.zip)。在 **Binary Res** ources 下，选择 **Inventek ISM 43362 Wi-Fi 模块固件更新（请阅读自述文件**了解说明）。

在开始之前，您必须配置 AWS IoT您的 FreeRTOS 下载， Wi-Fi 并将您的设备连接到云端。 AWS 有关说明，请参阅[初始步骤](freertos-prereqs.md)：在本教程中，FreeRTOS 下载目录的路径称为 `{{freertos}}`。

## 概述
<a name="w2aac31b9b7c25c46c13"></a>

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

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

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

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

## 设置开发环境
<a name="st-setup-env"></a>

### 为 STM32 安装 System Workbench
<a name="install-system-workbench"></a>

1. 浏览到 [OpenSTM32.org](http://www.openstm32.org/HomePage)。

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

1. 浏览到 [System Workbench for STM32 installer](http://www.openstm32.org/System%2BWorkbench%2Bfor%2BSTM32) 以下载并安装 System Workbench。

如果您在安装期间遇到问题，请参阅 [System Workbench 网站](http://www.openstm32.org/HomePage)上的“常见问题”。

## 构建并运行 FreeRTOS 演示项目
<a name="st-build-and-run-example"></a>

### 将 FreeRTOS 演示导入 STM32 System Workbench
<a name="st-freertos-import-project"></a><a name="st-import-project"></a>

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

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

1. 在 **Select Root Directory (选择根目录)** 中，输入 `projects/st/stm32l475_discovery/ac6/aws_demos`。

1. 默认情况下应选中项目 `aws_demos`。

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

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

### 在云上监控 MQTT 消息
<a name="w2aac31b9b7c25c46c17b5"></a>

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

**要通过订阅 MQTT 主题 AWS IoT MQTT 客户端**

1. 登录 [AWS IoT 控制台](https://console.aws.amazon.com/iotv2/)。

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

1. 在 **Subscription topic (订阅主题)**中，输入 **{{your-thing-name}}/example/topic**，然后选择 **Subscribe to topic (订阅主题)**。

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

### 运行 FreeRTOS 演示项目
<a name="st-run-example"></a>

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

1. 在 “**项目资源管理器**” 中`aws_demos`，右键单击，选择 “**调试为**”，然后选择 **Ac6 STM32 C/C \+\+ 应用程序**。

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

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

   1. 选择 **aws\_demos Debug (aws\_demos 调试)**。（您可能需要展开 **Ac6 STM32 Debugging (Ac6 STM32 调试)**。）

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

   1. 在 **Configuration Script (配置脚本)** 中，选择 **Show Generator Options (显示生成器选项)**。

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

1. 当调试器在 `main()` 中的断点停止时，在 **Run (运行)** 菜单中选择 **Resume (恢复)**。

### 将 CMake 与 FreeRTOS 配合使用
<a name="w2aac31b9b7c25c46c17b9"></a>

如果您不愿意使用 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 配合使用](getting-started-cmake.md)。

## 问题排查
<a name="st-troubleshooting"></a>

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

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

要下载最新 Wi-Fi 固件，请参阅 [STM32L4 Discovery kit 物联网节点、低功耗无线、低功耗蓝牙、NFC、sub Wi-Fi GHz 等](https://www.st.com/resource/en/utilities/inventek_fw_updater.zip)。在 **Binary Res** ources 中，选择 **Inventek ISM 43362 Wi-Fi 模块**固件更新的下载链接。

有关 FreeRTOS 入门的常规故障排除信息，请参阅[问题排查入门](gsg-troubleshooting.md)。