

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

# 新唐入门 NuMaker-IoT-M487
<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-M487开发板的说明。该系列微控制器，包括内置 RJ45 以太网和模块。 Wi-Fi 如果您没有 Nuvoton NuMaker-IoT-M487，请访问[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. Cross-compile 二进制图像的 FreeRTOS 演示应用程序。

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

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

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

**要安装开发工具 NuMaker-IoT-M487**

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 \+\+ 编译工具链和 µVision 调试器。

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

1. [安装 **Nu-Link\_ Keil\_Driver\_V 3.06.7215r**（或最新版本），它位于新唐开发工具页面上。](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. 在 “**实用工具**” 选项卡上，确认已选中 “**使用目标驱动程序进行 Flash 编程**”，并且 **Nuvoton Nu-Link Debugger** 已设置为目标驱动程序。

1. **在 “**调试**” 选项卡上，在 “**新唐调 Nu-Link试器”** 旁边，选择 “设置”。**

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

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

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

**运行 FreeRTOS 演示项目**

1. 将您的主 Numaker-IoT-M487 板连接到主机（计算机）。

1. 重新构建项目。

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

1. 在 “**调试**” 菜单上，选择 “**Start/Stop 调试会话**”。

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

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

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

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

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 开关（No.4 在 ICE 上的 ISW1）已开启。在插入主板时，将分配一个窗口（和驱动器）。（请参见 [问题排查](#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 驱动程序 v1.6 链接中安装 NuMaker Windows 串行端口驱动程序](https://www.nuvoton.com/export/resource-files/Nu-Link_USB_Driver_V1.6.zip)。
+ 如果您通过将设备连接到 Keil MDK (IDE) Nu-Link，请确保 MSG 开关（在 ICE 上的 ISW1）处于关闭状态，如图No.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. 在 “**调试**” 菜单上，选择 “**Start/Stop 调试会话**”。

   在启动调试会话时，将显示 **Call Stack \+ Locals (调用堆栈 \+ 局部变量)** 窗口。μ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. Right-click IDE 中的`aws_demo`项目，然后选择 “**选项**”。

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

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

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