Nuvoton NuMaker-IoT-M487 入门 - FreeRTOS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Nuvoton NuMaker-IoT-M487 入门

该教程提供了 Nuvoton NuMaker-IoT-M487 开发主板的入门说明。Nuvoton NuMaker-IoT-M487 开发主板嵌入了 NuMicro M487 系列微控制器,并包含内置的 RJ45 以太网和 Wi-Fi 模块。如果您没有 Nuvoton NuMaker-IoT-M487,请访问 AWS 合作伙伴设备目录以从我们的合作伙伴处购买。

在开始之前,您必须配置 AWS IoT 和 FreeRTOS 软件以将开发主板连接到 AWS 云。有关说明,请参阅 初始步骤。在本教程中,FreeRTOS 下载目录的路径称为 freertos

概览

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

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

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

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

设置开发环境

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

为 NuMaker-IoT-M487 安装开发工具

  1. 从 Keil MDK 网站中下载 Keil MDK Nuvoton 版本

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

    如果您在安装过程中遇到问题,请与 Nuvoton 联系以寻求帮助。

  3. 安装 Nu-Link_Keil_Driver_V3.00.6951(或最新版本),它位于 Nuvoton 开发工具页面上。

构建并运行 FreeRTOS 演示项目

构建 FreeRTOS 演示项目

  1. 打开 Keil µVision IDE。

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

  3. 选择要构建的 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

  4. 要确保具有正确的设置以刷写主板,请在 IDE 中右键单击 aws_demo 项目,然后选择 Options (选项)。(有关更多详细信息,请参阅故障排除。)

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

  6. Debug (调试) 选项卡上,选择 Nuvoton Nu-Link Debugger (Nuvoton Nu-Link 调试器) 旁边的 Settings (设置)

  7. 确认 Chip Type (芯片类型) 设置为 M480

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

您可以使用 AWS IoT 控制台中的 MQTT 客户端监控您的设备发送到 AWS 云的消息。

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

  1. 登录 AWS IoT 控制台

  2. 在导航窗格中,选择测试以打开 MQTT 客户端。

  3. Subscription topic (订阅主题)中,输入 iotdemo/#,然后选择 Subscribe to topic (订阅主题)

运行 FreeRTOS 演示项目

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

  2. 重新构建项目。

  3. 在 Keil µVision IDE 中,在 Flash (刷写) 菜单上选择 Download (下载)

  4. Debug (调试) 菜单上,选择 Start/Stop Debug Session (启动/停止调试会话)

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

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

将 CMake 与 FreeRTOS 结合使用

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

确保您已安装 CMake 构建系统。按照将 CMake 与 FreeRTOS 结合使用中的说明进行操作,然后执行本节中的步骤。

注意

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

您还可以使用 AWS IoT 控制台中的 MQTT 客户端监控您的设备发送到 AWS 云的消息。

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

  1. 登录 AWS IoT 控制台

  2. 在导航窗格中,选择测试以打开 MQTT 客户端。

  3. Subscription topic (订阅主题)中,输入 iotdemo/#,然后选择 Subscribe to topic (订阅主题)

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

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

  2. 创建一个文件夹用于存放生成的构建文件。我们将该文件夹称为 BUILD_FOLDER

  3. 为 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
  4. 运行以下命令以生成二进制文件,以便刷写到 M487 上。

    cmake --build BUILD_FOLDER

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

  5. 要将主板配置为刷写模式,请确保打开了 MSG 开关(ICE 上的 ISW1 的第 4 个开关)。在插入主板时,将分配一个窗口(和驱动器)。(请参阅故障排除。)

  6. 打开终端仿真器以通过 UART 查看消息。按照安装终端仿真器中的说明进行操作。

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

    如果您使用 AWS IoT MQTT 客户端订阅了 MQTT 主题,则会在 AWS IoT 控制台中看到您的设备发送的 MQTT 消息。

故障排除

  • 如果您的 Windows 无法识别设备 VCOM,请从链接 Nu-Link USB Driver v1.6 安装 NuMaker Windows 串行端口驱动程序。

  • 如果通过 Nu-Link 将您的设备连接到 Keil MDK (IDE),请确保 MSG 开关(ICE 上的 ISW1 的第 4 个开关)为 OFF,如图所示。

如果您在设置开发环境或连接到主板时遇到问题,请联系 Nuvoton

在 Keil μVision 中调试 FreeRTOS 项目

在 Keil μVision 中启动调试会话

  1. 打开 Keil μVision。

  2. 按照构建并运行 FreeRTOS 演示项目中的步骤构建 FreeRTOS 演示项目。

  3. Debug (调试) 菜单上,选择 Start/Stop Debug Session (启动/停止调试会话)

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

  4. 在项目的源代码中设置断点,然后运行代码。项目应如下所示。

μVision 调试设置故障排除

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

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

  1. 打开 Keil μVision。

  2. 在 IDE 中右键单击 aws_demo 项目,然后选择 Options (选项)

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

  4. Debug (调试) 选项卡上,选择 Nuvoton Nu-Link Debugger (Nuvoton Nu-Link 调试器) 旁边的 Settings (设置)

  5. 确认 Chip Type (芯片类型) 设置为 M480