

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

# Microchip Curiosity PIC32 MZ EF 入门
<a name="getting_started_mch"></a>

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

**注意**  
根据Microchip的协议，我们将从FreeRTOS参考集成存储库主分支中删除好奇号 PIC32 MZEF (DM320104)，并且将在新版本中不再使用它。Microchip已发布[官方通知](https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/DM320104)，不再建议将 PIC32 MZEF (DM320104) 用于新设计。 PIC32MZEF 项目和源代码仍然可以通过之前的版本标签进行访问。Microchip 建议客户使用好奇号 [ PIC32MZ-EF-2.0 开发板 () DM320209](https://devices.amazonaws.com/detail/a3G0h0000077I69EAE/Curiosity-PIC32MZ-EF-2-0-Development-Board) 进行新设计。该 PIC32MZv1 平台仍然可以在 FreeRTOS 参考集成存储库的 [v202012.](https://github.com/aws/amazon-freertos/tree/202012.00) 00 中找到。但是，FreeRTOS 参考的 [v202107.00](https://github.com/aws/amazon-freertos/tree/202107.00) 不再支持该平台。

本教程提供了 Microchip Curiosity PIC32 MZ EF 入门的说明。[如果您没有 Microchip Curios PIC32 ity MZ EF 捆绑包，请访问 AWS 合作伙伴设备目录从我们的合作伙伴处购买。](https://devices.amazonaws.com/detail/a3G0L00000AANscUAH/Curiosity-PIC32MZ-EF-Amazon-FreeRTOS-Bundle)

该包包含以下项目：
+ [好奇号 PIC32 MZ EF 开发委员会](https://www.microchip.com/Developmenttools/ProductDetails/DM320104)
+ [MikroElectronika USB UART 点击板](https://www.mikroe.com/usb-uart-click)
+ [MikroElectronika WiFi 7 点击 Board](https://www.mikroe.com/wifi-7-click) 
+ [PIC32 LAN8720 PHY 子板](http://www.microchip.com/DevelopmentTools/ProductDetails.aspx?PartNO=ac320004-3)

您还需要以下项目以进行调试：
+ [MPLAB Snap 电路内置调试器](https://www.microchip.com/Developmenttools/ProductDetails/PG164100)
+ （可选）[PICkit 3 个编程电缆套件](https://www.microchip.com/TPROG001)

在开始之前，您必须进行配置 AWS IoT 并下载 FreeRTOS 才能将您的设备连接到云端。 AWS 有关说明，请参阅[初始步骤](freertos-prereqs.md)：

**重要**  
在本主题中，FreeRTOS 下载目录的路径称为 `freertos`。
`freertos` 路径中的空格字符可能会导致构建失败。克隆或复制存储库时，请确保您创建的路径不包含空格字符。
Microsoft Windows 上的文件路径最大长度为 260 个字符。FreeRTOS 下载目录路径过长可能会导致构建操作失败。
由于源代码可能包含符号链接，因此，如果您使用 Windows 提取存档，则可能必须：  
启用[开发者模式](https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development)，或者，
使用已提升为管理员的控制台。
这样，Windows 就可以在提取存档文件时正确创建符号链接。否则，符号链接将作为普通文件写入，该文件会将符号链接的路径作为文本，或者是空文件。有关更多信息，请参阅博客文章 [Windows 10 中的符号链接](https://blogs.windows.com/windowsdeveloper/2016/12/02/symlinks-windows-10/)。  
如果您在 Windows 下使用 Git，则必须启用开发者模式，或者必须：  
使用以下命令将 `core.symlinks` 设置为 true：  

    ```
    git config --global core.symlinks true
    ```
每当您使用写入系统的 git 命令（例如，**git pull**、**git clone** 和 **git submodule update --init --recursive**）时，请使用具有管理员权限的控制台。

## 概述
<a name="getting_started_mch_overview"></a>

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

1. 将主板连接到主机。

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

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

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

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

## 设置 Microchip Curiosity PIC32 MZ EF 硬件
<a name="setup-hw-mch"></a>

1. 将 MikroElectronika USB UART click Board 连接到 Microchip Curiosity MZ EF 上的 micro PIC32 Bus 1 连接器。

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

1. 使用 USB A MikroElectronika 转 USB mini-B 电缆将 USB UART click Board 连接到电脑。

1. 要将主板连接到 Internet，请使用以下选项之一：
   + 要使用 **Wi-Fi，请将 Wi- MikroElectronika Fi** 7 click Board 连接到 Microchip Curiosity MZ EF 上的 MicroBus 2 接口。 PIC32请参阅[配置 FreeRTOS 演示](freertos-prereqs.md#freertos-configure)。
   + 要使用**以太网**将 Microchip Curiosity PIC32 MZ EF 板连接到互联网，请将 PIC32 LAN8720 PHY 子板连接到 Microchip Curiosity MZ EF 上的 J18 接头。 PIC32将以太网电缆的一端连接到 LAN8720 PHY 子板。将另一端连接到路由器或其他 Internet 端口。还必须定义预处理器宏 `PIC32_USE_ETHERNET`。

1. 如果还没有完成，请将角度连接器焊接到 Microchip Curiosity PIC32 MZ EF 上的 ICSP 接头上。

1. 将 ICSP 电缆的一端从 PICkit 3 编程电缆套件连接到 Microchip Curiosity PIC32 MZ EF。

   如果你没有 PICkit 3 个编程电缆套件，你可以改用 M-F Dupont 跳线来接线。请注意，白色圆圈表示针脚 1 的位置。

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

   确保 Microchip Curiosity PIC32 MZ EF 上引脚 1 的所有电缆（以白色圆圈表示）都与 MPLAB Snap Debugger 上的引脚 1 对齐。

   有关 MPLAB Snap Debugger 的更多信息，请参阅 [MPLAB Snap 电路内置调试器信息表](http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB%20Snap%20In-Circuit%20Debugger%20IS%20DS50002787A.pdf)。

## 使用 PICkit On Board (PKOB) 设置 PIC32 Microchip Curiosity MZ EF 硬件
<a name="setup-env_mch-pkob"></a>

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

1. 将 MikroElectronika USB UART click Board 连接到 Microchip Curiosity MZ EF 上的 micro PIC32 Bus 1 连接器。

1. 要将主板连接到 Internet，请执行以下操作之一：
   + 要使用 **Wi-Fi，请将 Wi- MikroElectronika Fi** 7 click Board 连接到 Microchip Curiosity MZ EF 上的 MicroBus 2 接口。 PIC32（按照 [配置 FreeRTOS 演示](freertos-prereqs.md#freertos-configure) 中的步骤“配置您的 Wi-Fi”操作。
   + 要使用**以太网**将 Microchip Curiosity PIC32 MZ EF 板连接到互联网，请将 PIC32 LAN8720 PHY 子板连接到 Microchip Curiosity MZ EF 上的 J18 接头。 PIC32将以太网电缆的一端连接到 LAN8720 PHY 子板。将另一端连接到路由器或其他 Internet 端口。还必须定义预处理器宏 `PIC32_USE_ETHERNET`。

1. 使用 USB A 型转 USB micro-B 电缆将 Microchip Curiosity PIC32 MZ EF 板上名为 “USB DEBUG” 的 USB micro-B 端口连接到电脑。

1. 使用 USB A MikroElectronika 转 USB mini-B 电缆将 USB UART click Board 连接到电脑。

## 设置开发环境
<a name="setup-env_mch"></a>

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

1. 安装 [Python 版本 3.x](https://www.python.org/downloads/) 或更高版本。

1. 安装 MPLAB X IDE：
**注意**  
FreeRTO AWS S 参考集成 v202007.00 目前仅支持 .35。 MPLabv5.40 支持以前版本的 F AWS reeRTOS 参考集成。 MPLabv5

**MPLabv5.35 次下载**
   + [MPLAB X Integrated Development Environment for Windows](http://ww1.microchip.com/downloads/en/DeviceDoc/MPLABX-v5.35-windows-installer.exe)
   + [MPLAB X Integrated Development Environment for macOS](http://ww1.microchip.com/downloads/en/DeviceDoc/MPLABX-v5.35-osx-installer.dmg)
   + [MPLAB X Integrated Development Environment for Linux](http://ww1.microchip.com/downloads/en/DeviceDoc/MPLABX-v5.35-linux-installer.tar)

**最新 MPLab 下载次数 (MPLabv5.40)**
   + [MPLAB X Integrated Development Environment for Windows](http://www.microchip.com/mplabx-ide-windows-installer)
   + [MPLAB X Integrated Development Environment for macOS](http://www.microchip.com/mplabx-ide-osx-installer)
   + [MPLAB X Integrated Development Environment for Linux](http://www.microchip.com/mplabx-ide-linux-installer)

1. 安装 MPLAB XC32 编译器：
   + [适用于 Windows 的 MPLAB XC32 /32\$1\$1 编译器](http://www.microchip.com/mplabxc32windows)
   + [适用于 macOS 的 MPLAB XC32 /32\$1\$1 编译器](http://www.microchip.com/mplabxc32osx)
   + [适用于 Linux 的 MPLAB XC32 /32\$1\$1 编译器](http://www.microchip.com/mplabxc32linux)

1. 启动一个 UART 终端仿真器，使用以下设置建立连接：
   + 波特率：115200
   + 数据：8 位
   + 奇偶校验：无
   + 停止位：1
   + 流控制：无

## 在云上监控 MQTT 消息
<a name="getting_started_mch_monitor_mqtt"></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="mch-build-and-run-example"></a>

### 在 MPLAB IDE 中打开 FreeRTOS 演示
<a name="mch-freertos-import-project"></a><a name="mch-load-project"></a>

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

1. 从 **File (文件)** 菜单中，选择 **New Project (新建项目)**。

1. 浏览到并打开 `projects/microchip/curiosity_pic32mzef/mplab/aws_demos`。

1. 选择 **Open project (打开项目)**。

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

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

**通过 MPLAB IDE 使用以太网进行连接**

1. 在 MPLAB IDE 中右键单击项目，然后选择**属性**。

1. 在 “**项目属性**” 对话框中，选择 ***compiler-name*（全局选项）**将其展开，然后选择 ***compiler-name*-gcc**。

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

### 运行 FreeRTOS 演示项目
<a name="mch-run-example"></a>

1. 重新生成您的项目。

1. 在**项目**选项卡上，右键单击 `aws_demos` 顶级文件夹，然后选择**调试**。

1. 当调试器在 `main()` 中的断点停止时，在 **Run (运行)** 菜单中选择 **Resume (恢复)**。

### 使用以下方法构建 FreeRTOS 演示 CMake
<a name="microchip-cmake"></a>

如果您不想使用 IDE 进行 FreeRTOS 开发，也可以 CMake 使用来生成和运行使用第三方代码编辑器和调试工具开发的演示应用程序或应用程序。

**要使用构建 FreeRTOS 演示 CMake**

1. 创建一个目录来包含生成的生成文件，例如*build-directory*。

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

   ```
   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\bin` 和 `C:\Program Files\Microchip\xc32\v2.40\bin` 路径。

1. 将目录更改为生成目录 (*build-directory*)，然后`make`从该目录运行。

有关更多信息，请参阅 [CMake 与 FreeRTOS 一起使用](getting-started-cmake.md)。

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

## 问题排查
<a name="getting_started_mch_troubleshooting"></a>

有关问题排查信息，请参阅[问题排查入门](gsg-troubleshooting.md)。