

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

# 新 NuMaker-IoT-M腾 487 入门
<a name="getting-started-nuvoton-m487"></a>

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

本教程提供了新唐 NuMaker-IoT-M 487开发板的入门说明。该系列微控制器，包括内置 RJ45 以太网和Wi-Fi模块。如果您没有 Nuvoton NuMaker-IoT-M 487，请访问[AWS 合作伙伴设备目录，从我们的合作伙伴](https://devices.amazonaws.com/detail/a3G0h000000Tg9cEAC/NuMaker-IoT-M487)处购买。

在开始之前，您必须配置 AWS IoT 和您的 FreeRTOS 软件以将您的开发板连接到云端。 AWS 有关说明，请参阅[初始步骤](freertos-prereqs.md)。在本教程中，FreeRTOS 下载目录的路径称为 `freertos`。

## 概述
<a name="getting-started-nuvoton-m487-overview"></a>

该教程将指导您完成以下步骤：

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

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

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

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

Keil MDK Nuvoton 版本是专为 Nuvoton M487 主板的应用程序开发和调试而设计的。Keil MDK v5 Essential、Plus 或 Pro 版本也适用于 Nuvoton M487（Cortex-M4 核心）MCU。你可以以折扣价下载新腾 Cortex-M4 系列的 Keil MDK Nuvoton 版本。 MCUs仅在 Windows 上支持 Keil MDK。

**安装 NuMaker-IoT-M 487 的开发工具**

1. 从 Keil MDK 网站中下载 [Keil MDK Nuvoton 版本](https://store.developer.arm.com/store/embedded-iot-software-tools/keil-mdk-nuvoton-edition?edition=1164)。

1. 使用您的许可证在主机上安装 Keil MDK。Keil MDK 包括 Keil µVision IDE、C/C\$1\$1 编译工具链和 µVision 调试器。

   如果您在安装过程中遇到问题，请与 [Nuvoton](https://www.nuvoton.com/contact-us) 联系以寻求帮助。

1. 安装 **Nu-Link\$1Keil\$1Driver\$1V3.06.7215r**（或最新版本），它位于 [Nuvoton 开发工具](https://www.nuvoton.com/tool-and-software/ide-and-compiler/)页面上。

## 构建并运行 FreeRTOS 演示项目
<a name="gsg-nuvoton-m487-build-run"></a>

**构建 FreeRTOS 演示项目**

1. 打开 Keil µVision IDE。

1. 在 **File (文件)** 菜单上，选择 **Open (打开)**。在 **Open file (打开文件)** 对话框中，确保将文件类型选择器设置为 **Project Files (项目文件)**。

1. 选择要构建的 Wi-Fi 或以太网演示项目。
   + 要打开 Wi-Fi 演示项目，请在 `freertos\projects\nuvoton\numaker_iot_m487_wifi\uvision\aws_demos` 目录中选择目标项目 `aws_demos.uvproj`。
   + 要打开以太网演示项目，请在 `freertos\projects\nuvoton\numaker_iot_m487_wifi\uvision\aws_demos_eth` 目录中选择目标项目 `aws_demos_eth.uvproj`。

1. 要确保具有正确的设置以刷写主板，请在 IDE 中右键单击 `aws_demo` 项目，然后选择 **Options (选项)**。（有关更多详细信息，请参阅[问题排查](#gsg-nuvoton-m487-troubleshoot)。）

1. 在 **Utilities (实用程序)** 选项卡上，确认已选择 **Use Target Driver for Flash Programming (使用目标驱动程序进行刷写编程)**，并将 **Nuvoton Nu-Link Debugger (Nuvoton Nu-Link 调试器)** 设置为目标驱动程序。

1. 在 **Debug (调试)** 选项卡上，选择 **Nuvoton Nu-Link Debugger (Nuvoton Nu-Link 调试器)** 旁边的 **Settings (设置)**。

1. 确认 **Chip Type (芯片类型)** 设置为 **M480**。

1. 在 Keil µVision IDE **Project (项目)** 导航窗格中，选择 `aws_demos` 项目。在 **Project (项目)** 菜单上，选择 **Build Target (构建目标)**。

您可以在 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 (订阅主题)**。

**运行 FreeRTOS 演示项目**

1. 将 Numaker-IoT-M 487 主板连接到主机（计算机）。

1. 重新构建项目。

1. 在 Keil µVision IDE 中，在 **Flash (刷写) ** 菜单上选择 **Download (下载)**。

1. 在 **Debug (调试)** 菜单上，选择 **Start/Stop Debug Session (启动/停止调试会话)**。

1. 当调试器在 `main()` 中的断点处停止时，打开 **Run (运行)** 菜单，然后选择 **Run (F5) (运行 (F5))**。

   您应该在控制台的 MQTT 客户端中看到您的设备发送的 MQTT 消息。 AWS IoT 

## CMake 与 FreeRTOS 一起使用
<a name="gsg-nuvoton-m487-cmake"></a>

您还可以使用 CMake 构建和运行 FreeRTOS 演示应用程序或使用第三方代码编辑器和调试工具开发的应用程序。

确保你已经安装了 CMake 编译系统。按照[CMake 与 FreeRTOS 一起使用](getting-started-cmake.md)中的说明进行操作，然后执行本节中的步骤。

**注意**  
确保编译器 (Keil) 位置的路径位于 Path 系统变量中，例如，`C:\Keil_v5\ARM\ARMCC\bin`。

您还可以在 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 (订阅主题)**。

**从源文件中生成构建文件并运行演示项目**

1. 在您的主机上，打开命令提示符并导航到 *freertos* 文件夹。

1. 创建一个文件夹以包含生成的构建文件。我们将此文件夹称为*BUILD\$1FOLDER*。

1. 为 Wi-Fi 或以太网演示生成构建文件。
   + 对于 Wi-Fi：

     导航到包含 FreeRTOS 演示项目的源文件的目录。然后，运行以下命令来生成构建文件。

     ```
     cmake -DVENDOR=nuvoton -DBOARD=numaker_iot_m487_wifi -DCOMPILER=arm-keil -S . -B BUILD_FOLDER -G Ninja 
     ```
   + 对于以太网：

     导航到包含 FreeRTOS 演示项目的源文件的目录。然后，运行以下命令来生成构建文件。

     ```
     cmake -DVENDOR=nuvoton -DBOARD=numaker_iot_m487_wifi -DCOMPILER=arm-keil -DAFR_ENABLE_ETH=1 -S . -B BUILD_FOLDER -G Ninja 
     ```

1. 运行以下命令以生成二进制文件，以便刷写到 M487 上。

   ```
   cmake --build BUILD_FOLDER 
   ```

   此时，二进制文件 `aws_demos.bin` 应位于 `BUILD_FOLDER/vendors/Nuvoton/boards/numaker_iot_m487_wifi` 文件夹中。

1. 要将主板配置为闪烁模式，请确保 MSG 开关（ICE ISW1 上的 4 号）已开启。在插入主板时，将分配一个窗口（和驱动器）。（请参见 [问题排查](#gsg-nuvoton-m487-troubleshoot)。）

1. 打开终端仿真器以通过 UART 查看消息。按照 [安装终端仿真器](gsg-troubleshooting.md#uart-term) 中的说明进行操作。

1. 将生成的二进制文件复制到设备上以运行演示项目。

   如果您通过 MQTT 客户端订阅了 MQT AWS IoT T 主题，则应该会在控制台中看到您的设备发送的 MQTT 消息。 AWS IoT 

## 问题排查
<a name="gsg-nuvoton-m487-troubleshoot"></a>
+ 如果你的 Windows 无法识别设备`VCOM`，请通过链接 [Nu-Link USB Driver v1.6 安装 NuMaker Windows 串行端口驱动程序](https://www.nuvoton.com/export/resource-files/Nu-Link_USB_Driver_V1.6.zip)。
+ 如果你通过 Nu-Link 将设备连接到 Keil MDK (IDE)，请确保 MSG 开关（ICE ISW1 上的 4 号）已关闭，如图所示。  
![\[标有 SD 卡插槽、微控制器、引脚、电源和复位连接器的电路板。\]](http://docs.aws.amazon.com/zh_cn/freertos/latest/userguide/images/nuvoton-m487-gsg.png)

如果您在设置开发环境或连接到主板时遇到问题，请联系 [Nuvoton](http://www.nuvoton.com/contact-us/)。

### 在 Keil μVision 中调试 FreeRTOS 项目
<a name="gsg-nuvoton-m487-troubleshoot-debug-projects"></a>

**在 Keil μVision 中启动调试会话**

1. 打开 Keil μVision。

1. 按照[构建并运行 FreeRTOS 演示项目](#gsg-nuvoton-m487-build-run)中的步骤构建 FreeRTOS 演示项目。

1. 在 **Debug (调试)** 菜单上，选择 **Start/Stop Debug Session (启动/停止调试会话)**。

   在启动调试会话时，将显示 **Call Stack \$1 Locals (调用堆栈 \$1 局部变量)** 窗口。μVision 将演示刷写到主板上，运行演示，然后在 `main()` 函数开始处停止。

1. 在项目的源代码中设置断点，然后运行代码。项目应如下所示。  
![\[用于设备微控制器项目的主源代码文件，其中包含硬件初始化、任务调度、和密钥预置。\]](http://docs.aws.amazon.com/zh_cn/freertos/latest/userguide/images/numaker-iot-m487-debug.png)

### μVision 调试设置故障排除
<a name="gsg-nuvoton-m487-troubleshoot-debug"></a>

如果在调试应用程序时遇到问题，请检查是否在 Keil μVision 中正确设置了调试设置。

**验证 μVision 调试设置是否正确**

1. 打开 Keil μVision。

1. 在 IDE 中右键单击 `aws_demo` 项目，然后选择 **Options (选项)**。

1. 在 **Utilities (实用程序)** 选项卡上，确认已选择 **Use Target Driver for Flash Programming (使用目标驱动程序进行刷写编程)**，并将 **Nuvoton Nu-Link Debugger (Nuvoton Nu-Link 调试器)** 设置为目标驱动程序。  
![\[选项窗口，展示了闪存编程、调试和输出文件处理的配置设置。\]](http://docs.aws.amazon.com/zh_cn/freertos/latest/userguide/images/nulink-debugger-target.png)

1. 在 **Debug (调试)** 选项卡上，选择 **Nuvoton Nu-Link Debugger (Nuvoton Nu-Link 调试器)** 旁边的 **Settings (设置)**。  
![\[Nu-Link 调试器设置对话框，其中包含驱动程序版本、ICE 版本、设备系列、设备 ID、端口、最大时钟频率、芯片类型、连接模式、复位选项和电源控制电压等选项。\]](http://docs.aws.amazon.com/zh_cn/freertos/latest/userguide/images/nulink-driver-setup.png)

1. 确认 **Chip Type (芯片类型)** 设置为 **M480**。