

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

# 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 mt7697HX 开发套件的入门说明。[如果您没有 MediaTek MT7697HX 开发套件，请访问 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 MT7697HX 开发套件上的 USB 端口。

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

您可以使用 GUI-based Keil 微控制器开发套件 (MDK) 在主板上配置、构建和运行 FreeRTOS 项目。Keil MDK 包括 μVision IDE 和 μVision Debugger。

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

**下载并安装 Keil MDK**

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

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

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

当演示项目在您的设备上成功运行时，您会多次看到“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 mt7697HX 开发套件设置为编程模式。

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

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

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

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

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

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

1. 在 MediaTek mt7697HX 开发套件上选择 “**重置**” 按钮。

## 问题排查
<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. 选择 “**目标**” 选项卡，然后选择 “**Read/Write 内存区域**”。确认 IRAM1 和 IRAM2 均已选中。

1. 选择 “**调试**” 选项卡，然后选择 “**CMSIS-DAP 调试器**”。

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

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

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

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

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

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

1. 按下 MediaTek mt7697HX 开发套件上的 “**重置**” 按钮。

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

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

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

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

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

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

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

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

1. 打开 Keil μVision。

1. Right-click 在`aws_demos`项目中，选择 “**选项**”，然后在 “**实用工具**” 选项卡下，选择 **“--使用调试驱动程序--” 旁边的 “**设置**”**。

1. 验证 **Debug (调试)** 选项卡下的设置是否如下所示：  
![CMSIS-DAP Cortex-M “目标驱动程序设置” 对话框包含序列号、固件版本、适配器类型、软件设备选项和配置设置。](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)。