Microchip Curiosity PIC32MZ EF 入门 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Microchip Curiosity PIC32MZ EF 入门

重要

该参考集成托管在已弃用的 Amazon-FreeRTOS 存储库中。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目,请参阅 Amazon-FreeRTOS Github 存储库迁移指南

注意

经 Microchip 同意,我们将从 FreeRTOS 参考集成存储库主分支中移除 Curiosity PIC32MZEF (DM320104),并且在新版本中将不再使用包含此开发主板。Microchip 已发布官方通知,建议不要继续在新设计中使用 PIC32MZEF (DM320104)。PIC32MZEF 项目和源代码仍然可以通过之前的版本标签进行访问。Microchip 建议客户使用 Curiosity PIC32MZ-EF-2.0 开发主板 (DM320209) 进行新设计。PIC32MZv1 平台仍然可以在 FreeRTOS 参考集成存储库的 v202012.00 中找到。但是,FreeRTOS 参考的 v202107.00 不再支持该平台。

本教程提供有关 Microchip Curiosity PIC32MZ EF 入门的说明。如果您没有 Microchip Curiosity PIC32MZ EF 包,请访问 Amazon 合作伙伴设备目录来从我们的合作伙伴购买一个。

该包包含以下项目:

您还需要以下项目以进行调试:

在开始之前,您必须配置 Amazon IoT 和 FreeRTOS 下载以将您的设备连接到 Amazon 云。有关说明,请参阅初始步骤

重要
  • 在本主题中,FreeRTOS 下载目录的路径称为 freertos

  • freertos 路径中的空格字符可能会导致构建失败。克隆或复制存储库时,请确保您创建的路径不包含空格字符。

  • Microsoft Windows 上的文件路径最大长度为 260 个字符。FreeRTOS 下载目录路径过长可能会导致构建操作失败。

  • 由于源代码可能包含符号链接,因此,如果您使用 Windows 提取存档,则可能必须:

    • 启用开发者模式,或者,

    • 使用已提升为管理员的控制台。

    这样,Windows 就可以在提取存档文件时正确创建符号链接。否则,符号链接将作为普通文件写入,该文件会将符号链接的路径作为文本,或者是空文件。有关更多信息,请参阅博客文章 Windows 10 中的符号链接

    如果您在 Windows 下使用 Git,则必须启用开发者模式,或者必须:

    • 使用以下命令将 core.symlinks 设置为 true:

      git config --global core.symlinks true
    • 每当您使用写入系统的 git 命令(例如,git pullgit clonegit submodule update --init --recursive)时,请使用具有管理员权限的控制台。

概述

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

  1. 将主板连接到主机。

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

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

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

  5. 跨串行连接与主板上运行的应用程序进行交互,以便进行监视和调试。

设置 Microchip Curiosity PIC32MZ EF 硬件

  1. 将 MikroElectronika USB UART click Board 连接到 Microchip Curiosity PIC32MZ EF 上的 microBUS 1 连接器。

  2. 将 PIC32 LAN8720 PHY 子板连接到 Microchip Curiosity PIC32MZ EF 上的 J18 接头。

  3. 使用 USB A 到 USB mini-B 线缆将 MikroElectronika USB UART click Board 连接到计算机。

  4. 要将主板连接到 Internet,请使用以下选项之一:

    • 要使用 Wi-Fi,请将 MikroElectronika Wi-Fi 7 click Board 连接到 Microchip Curiosity PIC32MZ EF 上的 microBUS 2 连接器。请参阅配置 FreeRTOS 演示

    • 要使用以太网将 Microchip Curiosity PIC32MZ EF Board 连接到 Internet,请将 PIC32 LAN8720 PHY 子板连接至 Microchip Curiosity PIC32MZ EF 上的 J18 接头。将以太网电缆的一端连接到 LAN8720 PHY 子板。将另一端连接到路由器或其他 Internet 端口。还必须定义预处理器宏 PIC32_USE_ETHERNET

  5. 将角度连接器焊接到 Microchip Curiosity PIC32MZ EF 上的 ICSP 接头。

  6. 将 PICkit 3 Programming Cable Kit 中的 ICSP 线缆的一端连接到 Microchip Curiosity PIC32MZ EF。

    如果您没有 PICkit 3 Programming Cable Kit,则可以改用 M-F Dupont 跳线进行连接。请注意,白色圆圈表示针脚 1 的位置。

  7. 将 ICSP 线缆的另一端(或跳线)连接到 MPLAB Snap Debugger。8 针 SIL 编程连接器的针脚 1 由板右下部上的黑色三角形标记。

    确保 Microchip Curiosity PIC32MZ EF 上到针脚 1 的任何线缆连接(由白色圆圈指示)与 MPLAB Snap Debugger 上的针脚 1 对齐。

    有关 MPLAB Snap Debugger 的更多信息,请参阅 MPLAB Snap 电路内置调试器信息表

使用板载 PICkit (PKOB) 设置 Microchip Curiosity PIC32MZ EF 硬件

我们建议您按照上一节中的安装过程进行操作。但是,您可以按照以下步骤操作,使用集成的板载 PICkit (PKOB) 编程器/调试器评估和运行具有基本调试功能的 FreeRTOS 演示。

  1. 将 MikroElectronika USB UART click Board 连接到 Microchip Curiosity PIC32MZ EF 上的 microBUS 1 连接器。

  2. 要将主板连接到 Internet,请执行以下操作之一:

    • 要使用 Wi-Fi,请将 MikroElectronika Wi-Fi 7 click Board 连接到 Microchip Curiosity PIC32MZ EF 上的 microBUS 2 连接器。(按照 配置 FreeRTOS 演示 中的步骤“配置您的 Wi-Fi”操作。

    • 要使用以太网将 Microchip Curiosity PIC32MZ EF Board 连接到 Internet,请将 PIC32 LAN8720 PHY 子板连接至 Microchip Curiosity PIC32MZ EF 上的 J18 接头。将以太网电缆的一端连接到 LAN8720 PHY 子板。将另一端连接到路由器或其他 Internet 端口。还必须定义预处理器宏 PIC32_USE_ETHERNET

  3. 使用 A 型 USB 到 USB micro-B 电缆将 Microchip Curiosity PIC32MZ EF Board 上的 USB micro-B 端口“USB DEBUG”连接到计算机。

  4. 使用 USB A 到 USB mini-B 线缆将 MikroElectronika USB UART click Board 连接到计算机。

设置开发环境

注意

此设备的 FreeRTOS 项目基于 MPLAB Harmony v2。要构建项目,您需要使用与 Harmony v2 兼容的 MPLAB 工具版本,例如 MPLAB XC32 编译器的 v2.10,以及 MPLAB Harmony Configurator (MHC) 的版本 2.X.X。

  1. 安装 Python 版本 3.x 或更高版本。

  2. 安装 MPLAB X IDE:

    注意

    FreeRTOS Amazon 参考集成 v202007.00 目前仅支持 MPLabv5.35。MPLabv5.40 支持以前版本的 Amazon FreeRTOS 参考集成。

  3. 安装 MPLAB XC32 编译器:

  4. 启动一个 UART 终端仿真器,使用以下设置建立连接:

    • 波特率:115200

    • 数据:8 位

    • 奇偶校验:无

    • 停止位:1

    • 流控制:无

在云上监控 MQTT 消息

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

使用 Amazon IoT MQTT 客户端订阅 MQTT 主题
  1. 登录到 Amazon IoT 控制台

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

  3. Subscription topic (订阅主题)中,输入 your-thing-name/example/topic,然后选择 Subscribe to topic (订阅主题)

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

构建并运行 FreeRTOS 演示项目

在 MPLAB IDE 中打开 FreeRTOS 演示

  1. 打开 MPLAB IDE。如果您要安装多个版本的编译器,则需要选择要在 IDE 中使用的编译器。

  2. File (文件) 菜单中,选择 New Project (新建项目)

  3. 浏览到并打开 projects/microchip/curiosity_pic32mzef/mplab/aws_demos

  4. 选择 Open project (打开项目)

注意

当您首次打开项目时,可能会收到一条有关编译器的错误消息。在 IDE 中,导航到 Tools (工具)Options (选项)Embedded (嵌入式),然后选择您要用于项目的编译器。

要使用以太网进行连接,必须定义预处理器宏 PIC32_USE_ETHERNET

通过 MPLAB IDE 使用以太网进行连接
  1. 在 MPLAB IDE 中右键单击项目,然后选择属性

  2. 项目属性对话框中,选择 compiler-name(全局选项)以将其展开,然后选择 compiler-name-gcc

  3. 对于选项类别,选择预处理和消息,然后将 PIC32_USE_ETHERNET 字符串添加到预处理器宏中。

运行 FreeRTOS 演示项目

  1. 重新生成您的项目。

  2. 项目选项卡上,右键单击 aws_demos 顶级文件夹,然后选择调试

  3. 当调试器在 main() 中的断点停止时,在 Run (运行) 菜单中选择 Resume (恢复)

使用 CMake 构建 FreeRTOS 演示

如果您不愿意使用 IDE 进行 FreeRTOS 开发,您也可以使用 CMake 来构建和运行使用第三方编辑器和调试工具开发的演示应用程序或应用程序。

使用 CMake 构建 FreeRTOS 演示
  1. 创建一个目录来包含生成的构建文件,例如 build-directory

  2. 使用以下命令从源代码生成构建文件。

    cmake -DVENDOR=microchip -DBOARD=curiosity_pic32mzef -DCOMPILER=xc32 -DMCHP_HEXMATE_PATH=path/microchip/mplabx/version/mplab_platform/bin -DAFR_TOOLCHAIN_PATH=path/microchip/xc32/version/bin -S freertos -B build-folder
    注意

    您必须指定 Hexmate 和工具链二进制文件的正确路径,例如 C:\Program Files (x86)\Microchip\MPLABX\v5.35\mplab_platform\binC:\Program Files\Microchip\xc32\v2.40\bin 路径。

  3. 将目录更改为构建目录 (build-directory),然后从该目录运行 make

有关更多信息,请参阅将 CMake 与 FreeRTOS 配合使用

要使用以太网进行连接,必须定义预处理器宏 PIC32_USE_ETHERNET

故障排除

有关故障排除信息,请参阅问题排查入门