

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

# MediaTek MT7697Hx 开发套件入门
<a name="getting_started_mediatek"></a>

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

本教程提供了 MediaTek MT7697 Hx 开发套件的入门说明。如果您没有 MediaTek MT7697 Hx 开发套件，请访问 AWS 合作伙伴设备目录，从我们的[合作伙伴](https://devices.amazonaws.com/detail/a3G0L00000AAOmPUAX/MT7697Hx-Development-Kit)处购买。

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

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

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

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

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

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

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

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

在设置环境之前，请将计算机连接到 MediaTek MT7697 Hx 开发套件上的 USB 端口。

### 下载并安装 Keil MDK。
<a name="install-keil-mdk"></a>

您可以使用基于 GUI 的 Keil 微控制器开发工具包 (MDK)，在主板上配置、构建并运行 FreeRTOS 项目。Keil MDK 包括 μVision IDE 和 μVision Debugger。

**注意**  
只有 Windows 7、Windows 8 和 Windows 10 64 位计算机上支持 Keil MDK。

**下载并安装 Keil MDK**

1. 转到 [Keil MDK Getting Started (Keil MDK 入门)](http://www2.keil.com/mdk5/install/) 页面，然后选择 **Download MDK-Core (下载 MDK-Core)**。

1. 输入并提交信息以注册到 Keil。

1. 右键单击 MDK 可执行文件并将 Keil MDK 安装程序保存到您的计算机。

1. 打开 Keil MDK 安装程序并按照步骤完成操作。请务必安装 MediaTek 设备包（MT76x7 系列）。

## 建立串行连接
<a name="mediatek-serial-connection"></a>

使用 USB 线缆将主板连接到主机。Windows 设备管理器中显示的 COM 端口。要进行调试，您可以使用终端实用工具（如 HyperTerminal 或）打开与端口的会话 TeraTerm。

## 在云上监控 MQTT 消息
<a name="gsg-mediatek-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！” 发送到您订阅的主题。

## 使用 Keil MDK 构建并运行 FreeRTOS 演示项目
<a name="mediatek-build-and-run-keil"></a>

**在 Keil Vision 中构建 FreeRTOS 演示项目**

1. 从**开始**菜单，打开 Keil μVision 5。

1. 打开 `projects/mediatek/mt7697hx-dev-kit/uvision/aws_demos/aws_demos.uvprojx` 项目文件。

1. 从菜单中，选择 **Project (项目)**，然后选择 **Build target (生成目标)**。

   生成代码之后，您可以看到位于 `projects/mediatek/mt7697hx-dev-kit/uvision/aws_demos/out/Objects/aws_demo.axf` 的演示可执行文件。

**运行 FreeRTOS 演示项目**

1. 将 MediaTek MT7697 Hx 开发套件设置为编程模式。

   要将工具包设置为 PROGRAM 模式，请按住 **PROG** 按钮。按住 **PROG** 按钮的同时，按下并释放 **RESET** 按钮，然后释放 **PROG** 按钮。

1. 从菜单中，选择 **Flash (闪存)**，然后选择 **Configure Flash Tools (配置闪存工具)**。

1. 在 **Options for Target '`aws_demo`' (目标“aws\$1demo”的选项)** 中，选择 **Debug (调试)** 选项卡。选择 **Use (使用)**，将调试器设置为 **CMSIS-DAP Debugger (CMSIS-DAP 调试器)**，然后选择 **OK (确定)**。

1. 从菜单中，选择 **Flash (闪存)**，然后选择 **Download (下载)**。

   μVision 在下载完成后通知您。

1. 使用终端实用程序打开串行控制台窗口。将串行端口设置为 115200 bps、无奇偶校验、8 位和 1 个停止位。

1. 在 MediaTek MT7697 Hx 开发套件上选择 R **ES** ET 按钮。

## 问题排查
<a name="mediatek-troubleshooting"></a>

### 在 Keil μVision 中调试 FreeRTOS 项目
<a name="mediatek-debugging"></a>

目前，必须先编辑 Keil μVision 中包含的 MediaTek 软件包，然后才能使用 Keil μVision 调试 FreeRTOS 演示项目。 MediaTek 

**编辑 MediaTek 软件包以调试 FreeRTOS 项目**

1. 查找并打开位于您 Keil MDK 安装程序文件夹中的 `Keil_v5\ARM\PACK\.Web\MediaTek.MTx.pdsc` 文件。

1. 将出现的所有 `flag = Read32(0x20000000);` 替换为 `flag = Read32(0x0010FBFC);`。

1. 将出现的所有 `Write32(0x20000000, 0x76877697);` 替换为 `Write32(0x0010FBFC, 0x76877697);`。

**开始调试项目**

1. 从菜单中，选择 **Flash (闪存)**，然后选择 **Configure Flash Tools (配置闪存工具)**。

1. 选择 **Target (目标)** 选项卡，然后选择 **Read/Write Memory Areas (读/写内存区域)**。确认 IRAM1 并 IRAM2均已选中。

1. 选择 **Debug (调试)** 选项卡，然后选择 **CMSIS-DAP Debugger (调试器)**。

1. 打开 `vendors/mediatek/boards/mt7697hx-dev-kit/aws_demos/application_code/main.c`，并将宏 `MTK_DEBUGGER` 设置为 `1`。

1. 在 μVision 中重新构建演示项目。

1. 将 MediaTek MT7697 Hx 开发套件设置为编程模式。

   要将工具包设置为 PROGRAM 模式，请按住 **PROG** 按钮。按住 **PROG** 按钮的同时，按下并释放 **RESET** 按钮，然后释放 **PROG** 按钮。

1. 从菜单中，选择 **Flash (闪存)**，然后选择 **Download (下载)**。

   μVision 在下载完成后通知您。

1. 按下 MediaTek MT7697 Hx 开发套件上的 R **ES** ET 按钮。

1. 从 μVision 菜单，选择**调试**，然后选择**启动/停止调试会话**。在您启动调试会话时将打开 **Call Stack \$1 Locals (调用堆栈 \$1 本地)** 窗口。

1. 从菜单中，选择 **Debug (调试)**，然后选择 **Stop (停止)** 以暂停代码执行。程序计数器在以下行停止：

   ```
   { volatile int wait_ice = 1 ; while ( wait_ice ) ; }
   ```

1. 在 **Call Stack \$1 Locals (调用堆栈 \$1 局部变量)** 窗口上，将 `wait_ice` 的值更改为 `0`。

1. 在项目源代码中设置断点，然后运行代码。

### 解决 IDE 调试器设置的问题
<a name="gsg-mediatek-ts-ide"></a>

如果您在调试应用程序时遇到问题，则调试器设置可能不正确。

**验证您的调试器设置是否正确**

1. 打开 Keil μVision。

1. 右键单击 `aws_demos` 项目，选择**选项**，然后在**实用工具**选项卡下，选择**--使用调试驱动程序--**旁边的**设置**。

1. 验证 **Debug (调试)** 选项卡下的设置是否如下所示：  
![\[CMSIS-DAP Cortex-M 目标驱动程序设置对话框，其中包含序列号、固件版本、适配器类型、SW 设备选项和配置设置。\]](http://docs.aws.amazon.com/zh_cn/freertos/latest/userguide/images/mediatek-debug-2.png)

1. 验证 **Flash Download (闪存下载)** 选项卡下的设置是否如下所示：  
![\[Cortex-M 目标驱动程序设置窗口，其中包含下载功能、算法 RAM、编程算法描述和设备详细信息的选项。\]](http://docs.aws.amazon.com/zh_cn/freertos/latest/userguide/images/mediatek-debug-3.png)

有关 FreeRTOS 入门的常规故障排除信息，请参阅[问题排查入门](gsg-troubleshooting.md)。