

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

# STMicroelectronics STM32L4 探索套件物联网节点入门
<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 STM32 L4 探索套件 IoT 节点入门的说明。如果您还没有 STMicroelectronics STM32 L4 Discovery Kit 物联网节点，请访问 AWS 合作伙伴设备目录从我们的[合作伙伴](https://devices.amazonaws.com/detail/a3G0L00000AANsWUAX/STM32L4-Discovery-Kit-IoT-Node)处购买。

确保您已安装了最新的 Wi-Fi 固件。要下载最新的 Wi-Fi 固件，请参阅 [STM32L4 Discovery 套件物联网节点、低功耗无线、低功耗蓝牙、NFC、Sub GHz、](https://www.st.com/resource/en/utilities/inventek_fw_updater.zip) Wi-Fi。在 **Binary Resources (二进制文件资源)** 中，选择 **Inventek ISM 43362 Wi-Fi module firmware update (read the readme file for instructions) (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
<a name="install-system-workbench"></a>

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

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

1. 浏览到[系统工作台以获取 STM32 安装程序](http://www.openstm32.org/System%2BWorkbench%2Bfor%2BSTM32)，下载并安装 System Workbench。

如果您在安装过程中遇到问题，请参阅 Sy [stem FAQs Workbench 网站上](http://www.openstm32.org/HomePage)的。

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

### 将 FreeRTOS 演示导入系统工作台 STM32
<a name="st-freertos-import-project"></a><a name="st-import-project"></a>

1. 打开 STM32 系统工作台并输入新工作区的名称。

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

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

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

1. 选择 “**完成**” 将项目导入 STM32系统工作台。

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

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

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

**使用 MQTT 客户端订阅 M AWS IoT QTT 主题**

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 STM32 L4 Discovery Kit 物联网节点连接到计算机。（请查看主板附带的制造商文档，了解要使用的正确 USB 端口。）

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

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

   1. 在 STM32 System Workbench 中，从 “**运行**” 菜单中选择 “**调试配置**”。

   1. 选择 **aws\$1demos Debug (aws\$1demos 调试)**。（您可能需要展开 A **c6 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 套件物联网节点、低功耗无线、低功耗蓝牙、NFC、Sub GHz、](https://www.st.com/resource/en/utilities/inventek_fw_updater.zip) Wi-Fi。在 **Binary Resources (二进制文件资源)** 下，选择 **Inventek ISM 43362 Wi-Fi module firmware update (Inventek ISM 43362 Wi-Fi 模块固件更新)** 的下载链接。

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