快速入门

本文档旨在指导用户快速配置 RTL8773EWE/RTL8773EWE-VP/RTL8773EWE-VS 的开发环境,包括编译 SDK ,烧录固件,更新固件及抓取 Log。用户可以下载 SDK 中的测试文件,确保 EVB 可以正常工作,并与开发环境兼容且具备相应功能。

概述

用户可以通过 Keil 来编译 SDK 中的工程,使用 MPPG Tool 将文件烧录到 EVB 中,然后通过 Debug Analyzer 来抓取 SoC 日志,硬件接线配置及对应 PC 机软件架构可以参考 EVB 工作原理图

../../_images/Environment_Setup.png

EVB 工作原理图

准备 EVB

EVB 评估板提供了用户开发的 硬件环境,用于开发和应用调试设计。它包含 RTL8773E 评估板母板、RTL8773EWE/RTL8773EWE-VP/RTL8773EWE-VS 评估板子板,使用中需要再搭配几块功能子板一起实现 SDK 中的手表功能, 用户需要准备一条 USB 数据线连接 EVB 和 PC 机,EVB 的外围接口接线请参考 EVB 接口分布图

../../_images/Hardware_Environment.png

硬件环境

准备文件

EVB正常工作需要烧录以下文件。

  • 基础文件: 包括了 RTL8773EWE/RTL8773EWE-VP/RTL8773EWE-VS 所需固件和配置文件。

  • 应用文件: 包括了目标工程的具体代码和功能实现。

以下是正常运行需要的 烧录文件,文件说明可以参考 编译和下载 章节。

默认烧录文件

文件

Realtek 提供

文件类别

RTL8773EWE/RTL8773EWE-VP 默认文件路径

RTL8773EWE-VS 默认文件路径

System Config File

(通过 MCUConfig Tool 生成)

基础文件

bin\rtl87x3ep\8773EWE\nor\rcfg\For EVB

bin\rtl87x3ep\8773EWE\nand\rcfg\For EVB

Boot Patch0 Image

基础文件

bin\rtl87x3ep\8773EWE\nor\BANK0

bin\rtl87x3ep\8773EWE\nand\BANK0

Boot Patch1 Image

基础文件

bin\rtl87x3ep\8773EWE\nor\BANK0

bin\rtl87x3ep\8773EWE\nand\BANK0

Platform EXT Image

基础文件

bin\rtl87x3ep\8773EWE\nor\BANK0

bin\rtl87x3ep\8773EWE\nand\BANK0

BT Controller EXT Image

基础文件

bin\rtl87x3ep\8773EWE\nor\BANK0

bin\rtl87x3ep\8773EWE\nand\BANK0

BT Host File

基础文件

bin\rtl87x3ep\8773EWE\nor\BANK0

bin\rtl87x3ep\8773EWE\nand\BANK0

OTA Header File

(通过 MPPG Tool 生成)

基础文件

bin\rtl87x3ep\8773EWE\nor\BANK0

bin\rtl87x3ep\8773EWE\nand\BANK0

Stack Patch Image

基础文件

bin\rtl87x3ep\8773EWE\nor\BANK0

bin\rtl87x3ep\8773EWE\nand\BANK0

System Patch Image

基础文件

bin\rtl87x3ep\8773EWE\nor\BANK0

bin\rtl87x3ep\8773EWE\nand\BANK0

APP Image

(工程编译生成)

应用文件

bin\rtl87x3ep\8773EWE\nor\BANK0

bin\rtl87x3ep\8773EWE\nand\BANK0

DSP SYS Image

基础文件

bin\rtl87x3ep\8773EWE\nor\BANK0

bin\rtl87x3ep\8773EWE\nand\BANK0

DSP APP Image

基础文件

bin\rtl87x3ep\8773EWE\nor\BANK0

bin\rtl87x3ep\8773EWE\nand\BANK0

DSP Config Image

(通过 DSPConfig Tool 生成)

基础文件

bin\rtl87x3ep\8773EWE\nor\BANK0

bin\rtl87x3ep\8773EWE\nand\BANK0

APP Config File

(通过 MCUConfig Tool 生成)

基础文件

bin\rtl87x3ep\8773EWE\nor\rcfg\For EVB

bin\rtl87x3ep\8773EWE\nand\rcfg\For EVB

VPData Config File

(通过 MCUConfig Tool 生成)

基础文件

bin\rtl87x3ep\8773EWE\nor\rcfg\For EVB

bin\rtl87x3ep\8773EWE\nand\rcfg\For EVB

User Data File

(由字库和图片资源合并生成)

基础文件

bin\rtl87x3ep\8773EWE\nor\BANK0

bin\rtl87x3ep\8773EWE\nand\BANK0

软件工具

用户在开发 SDK 的过程中,需要使用到 Realtek 的开发工具包及 ARM 开发套件,请参考如下的表格。

准备工具

工具

链接/路径

版本

OS

ARM Keil MDK

https://developer.arm.com

uVision: V5.36

ARMCC: V5.06 update 6 (build 750)

Win10

MPPG Tool

RTL87X3E-MCU-SDK-Watch-vx.x.x.x\tool\MPPGTool-vx.x.x.x_Watch\MPPGTool.exe

Win10

MCUConfig Tool

RTL87X3E-MCU-SDK-Watch-vx.x.x.x\tool\MCUConfigTool-vx.x.x.x-Watch\McuConfigTool.exe

Win10

Debug Analyzer

RTL87X3E-MCU-SDK-Watch-vx.x.x.x\tool\DebugAnalyzer-vx.x.x.x-Watch\DebugAnalyzer.exe

Win10

DSPConfig Tool

RTL87X3E-MCU-SDK-Watch-vx.x.x.x\tool\DspConfigTool-vx.x.x.x-Watch\DSPConfigTool.exe

Win10

Font Convert Tool

RTL87X3E-MCU-SDK-Watch-vx.x.x.x\tool\FontConvertTool-vx.x.x.x\fontDictionary.exe

Win10

Image Converter Tool

RTL87X3E-MCU-SDK-Watch-vx.x.x.x\tool\ImageConverter_Vx.x.x.x-Watch\ImageConverter.exe

Win10

Android OTA APP

RTL87X3E-MCU-SDK-Watch-vx.x.x.x\tool\OTA Android\OTA_Vx.x.x.x_customer.apk

Android

iOS OTA APP

RTL87X3E-MCU-SDK-Watch-vx.x.x.x\tool\OTA IOS\RtkOTAx.ipa

iOS

Android Audio Connect

RTL87X3E-MCU-SDK-Watch-vx.x.x.x\tool\AudioConnect Android\AudioConnect_Vx.x.x.x_realtek.apk

Android

iOS Audio Connect

RTL87X3E-MCU-SDK-Watch-vx.x.x.x\tool\AudioConnect IOS\LocalPlayback-x.x.x (x).ipa

iOS

备注

  • 路径下的安装包均为 .zip 格式,需要用户自行解压缩。

ARM Keil MDK

用户可以通过 Keil Microcontroller Development Kit (MDK) 编译 SDK 中的应用,更多信息请查阅 Keil MDK 章节。

MPPG Tool

用户可以通过 MPPG Tool 来烧录文件,MPPG Tool 有量产 (MP) 和调试两种烧录模式,量产烧录模式适用于大规模生产,本文主要在章节 MPPG Tool 下载 中描述调试烧录模式, 描述适用于开发者在软件开发的前期阶段的,更多信息可查阅 SDK 中 MPPG Tool User Guide。

MCUConfig Tool

用户可以通过 MCUConfig Tool 来更改配置文件,通过导入 RTL8773EWE.rcfg/RTL8773EWE-VP.rcfg,修改配置后导出可重新生成 APP Config File、System Config File、VPData Config File, 更多信息可查阅 SDK 中 MCUConfig Tool User Guide。

Debug Analyzer

用户可以通过 Debug Analyzer 抓取 SoC 端 Log,更多信息可查阅 SDK 中 Debug Analyzer User Guide。

DSPConfig Tool

DSPConfig 工具允许开发人员配置内置的信号处理算法参数,包括电话通话、音乐播放等场景。除此,该工具还提供了友好的参数微调功能、支持生成 DSP 配置图像,可以大大缩短参数调优的时间。 至于如何使用 DSPConfig 工具,请参阅工具中的用户指南。

Font Convert Tool

用户可以通过 Font Convert Tool 生成字库文件,更多信息请参考 字体转换工具

Image Converter Tool

用户可以通过 Image Converter Tool 生成图片资源文件,更多信息请参考 图片转换工具

Android OTA Tool

Android OTA Tool 用于通过 Android 升级 Realtek 芯片的固件,更多信息请参考 SDK 中的 Android OTA App User Guide。

iOS OTA Tool

iOS OTA Tool 用于通过 iOS 升级 Realtek 芯片的固件,更多信息请参考 SDK 中 iOS OTA APP User Manual。

Android Audio Connect

Android Audio Connect 中集成了一些音频相关的功能,手表应用主要使用其中 LocalPlayback 用于 Android 文件传输,更多信息请参考 Android Audio Connect App User Guide。

iOS Audio Connect

iOS Audio Connect 中 LocalPlayback 用于 iOS 文件传输。

启动 EVB

为确保 EVB 可以正常使用,用户可以按照以下步骤进行烧录测试:

  1. 准备一块 EVB,确认 EVB 接口 接线正确,让 EVB 进入 下载模式,给 EVB 上电

  2. 双击运行 MPPG Tool.exe,通过 MPPG Tool 给 EVB 烧录 默认文件

    1. 在 Flash Map 处点击打开文件图标,加载 flash_map.ini 文件。

    2. 点击 Add File(s) 加载所有 烧录文件

    3. 点击 Detect 成功识别 EVB 的 COM 口。

    4. 点击 Open 成功打开 COM 口。

    5. 点击 Download 进行烧录,进度条显示当前烧录进度。

    6. 进度条显示 Success 表示文件烧录成功。

  3. 程序烧录完成后,让 EVB 进入 工作模式

  4. 观察 EVB 行为,可以通过 LCD 界面显示验证,或者查看 SoC 端 Log 是否符合预期。

../../_images/MPPG_Tool_Download_Interface.png

MPPG Tool 烧录界面

备注

  • 请将 SDK、Tool 等资料存放在不含空格的非中文路径下。

  • 烧录时只根据需要下载的文件进行擦除,如果需要将 Flash 进行全擦,可以在下载前可以点击 Chip Erase

硬件开发环境

EVB 提供了用户开发和应用调试的 硬件环境,它由主板和子板组成。EVB 有 下载模式工作模式,用户需要使用不同的接线方法来设置正确的模式。

EVB 接口和模块

../../_images/EVB_Interface_Distribution.jpg

EVB 接口分布图

备注

  • 本节旨在快速入门,针对评估板硬件的详细文档可参阅 评估板指南

供电

通过 CON2 的 USB 接口与电脑连接给 EVB 供电、或者通过 3.7V 电池供电,接线图分别如下所示。

../../_images/EVB_Power_Supply.png

EVB 供电接线

Log 接线

在 EVB 的正面有一个拨码开关,将开关拨至 “1” 端,RX 和 LOG 用跳线帽相接,连接完成后, 查看 SoC 端 Log 是否符合预期。

../../_images/Log_Wiring.png

Log 接线

下载模式

  1. 给 EVB 上电前,用户需要先将 Log Pin (默认 P2_0) 接地,有以下两种方法:

  • 方法一: 跳帽连接 J12,将 P2_0 接地。

  • 方法二: 将 EVB 正面的拨码开关,拨至 “ON”,即表示 Log 接地。

../../_images/GroundingLogPin_Method.png

Log 接地方法

  1. EVB 进入下载模式后,可以通过 MPPG Tool 进行程序烧录。

备注

  • 芯片在上电后会读取 Log Pin 的电平信号,电平为低,则 Bypass Flash 进入下载模式,否则进入工作模式,运行应用层程序。

工作模式

EVB 正常工作需要将正面的拨码开关拨至 “1”,断开 Log 和 GND。

编译和下载

默认烧录文件 说明如下:

文件说明

序号

文件名称

说明

1

System Config File

用于记录 IC 硬件配置和蓝牙配置等信息,例如:配置蓝牙地址,修改 Link 数目等,DSP 配置文件,可以通过在 MCU config Tool 里重新配置生成

2

Boot Patch Image

包含 Boot Patch 0 Image 和 Boot Patch 1 Image 两份文件,ROM code 中保留了 Patch 函数入口,通过 Patch 可以优化 Boot 流程、修改 secure ROM code 原有行为、扩充 ROM code 功能等

3

Platform EXT Image

扩展了平台代码的文件

4

BT Controller EXT Image

扩展了 BT Controller 协议栈的文件

5

BT Host File

BT Host 协议栈文件

6

OTA Header File

定义 Flash Bank layout 的文件

7

BT Stack Patch Image

BT Controller 中 stack 相关 feature 的支持文件

8

System Patch Image

ROM code 中保留了 Patch 函数入口,通过 Patch 可以修改 non-secure ROM code 原有行为、扩充 ROM code 功能等

9

APP Image

开发人员通过 Keil 编译生成的应用文件

10

DSP SYS Image

DSP 系统文件

11

DSP APP Image

DSP 应用文件

12

DSP Config Image

DSP 配置文件,可以通过在 DSP config Tool 里重新配置生成

13

APP Config File

APP 配置等信息,例如:配置设备名称地址等,可以通过在 MCU config Tool 里重新配置生成

14

VPData Config File

提示音铃声配置文件,可以通过在 MCU config Tool 里重新配置生成

15

User Data bin

包含了用户在 MCU 中需要索引和使用的 GUI 资源,主要包括图片和字库,这个 bin 文件与屏幕显示效果密切相关。

备注

请将 SDK 等相关资料存放在不包含空格或中文字字符的路径下。

生成 Flash Map

Flash map 文件是用户对整个 flash 空间分布的规划,用户可以按照如下步骤重新分配 flash 空间, 如果没有参数需要修改,可以跳过此章节,SDK 提供的默认 flash map 位于 bin\rtl87x3ep\flash_map_config\watch_flash_32M\flash_map.ini

  1. 在 MPPG Tool 的 Tool 选项中,点击 FlashMapGenerator,进入 FlashMapGenerator 界面。

  2. 用户可以点击 Import… 导入默认的 flash_map.ini 文件进行修改。

  3. 点击下拉 Flash Size 选项,用户可以根据 Flash 的实际使用情况选择合适的 Flash Size。

  4. 点击 Layout Init,用户可以根据实际需求,自行修改 Flash Layout,调整各区域大小。

  5. 确认后点击 Confirm

  6. 配置完成后可点击 Generate… 生成 flash_map.ini,同步还会生成一份 flash_map.h 文件。

../../_images/Flash_map_Generate.png

Flash Map Generate Tool

备注

  • Flash map 调整后,需要更新对应的 OTA Header,MCU config 文件。

  • FlashMapGenerator 中可以修改 User Data 文件是否支持 OTA 的属性。

生成 OTA Header

BootLoader 会根据 OTA Header 文件读取各 Image 的布局分布,在 MPPG Tool 的 Tool 选项中,点击 Generate OTA Header,进入 Generate OTA Header 界面,可以重新生成 OTA Header。 首先需要加载 flash_map.ini (e.g. bin\rtl87x3ep\flash_map_config\watch_flash_32M\flash_map.ini )和 ECDSA key (e.g. tool\Gadgets\ecdsa_key.pem ), 然后用户可以修改版本号信息,最后点击 Generate,会生成 OTA Header File

如果没有参数需要修改,可以跳过此章节,SDK 提供的默认 OTA Header 位于 bin\rtl87x3ep\8773EWE\BANK0\OTAHeader_Bank0_vx.x.x.x.bin

../../_images/OTA_Header_Generate.png

OTA Header File

备注

如果 Flash Layout 有被修改, OTA Header File 也会同步更新,请注意 flash_map.iniOTA Header File 的一致性。

生成 MCU Config 文件

用户可以通过 MCUConfig Tool 来生成 MCU Config 文件,能够在不修改源代码的情况下更改一些应用程序设定和系统行为,包括 APP Config File、System Config File 和 VPData Config File。 接下来将简要介绍生成的步骤,用户可以基于 Realtek SDK 提供的默认 rcfg 进行自定义修改,MCUConfig Tool 的具体规范请查看 MCUConfig Tool User Guide。

如果没有参数需要修改,可以跳过此章节,直接使用 SDK 中的 MCU Config 文件,位于 bin\rtl87x3ep\8773EWE\rcfg

双击打开 McuConfigTool.exe,选择对应芯片后点击 Import Bin File,加载 SDK 中默认的 rcfg,对应的路径如图所示。

../../_images/MCUConfig_Tool_Import.png

MCUConfig Tool 导入文件

用户可以根据项目需求在对应的栏位修改配置,完成后点击 Export 按钮,此时有两个选项,一个是 Save as 可以直接导出相应芯片的 MCU config bin, 另一个是 RTL8773EWE To RTL8773EWE_VP 允许用户将芯片 RTL8773EWE 的配置保存为芯片 RTL8773EWE_VP 的配置,便于项目的移植。

../../_images/MCUConfig_Tool_Export.png

MCUConfig Tool 导出文件

备注

  • 在配置过程中,如果想要重新导入 rcfg,可以通过点击 Reset 界面下 Reset all data 按钮,返回到主界面重新选择。

../../_images/MCUConfig_Tool_Note1.png

重置 MCUConfig Tool 中当前文件

  • MCUConfig tool 需要导入 flash_map.ini 文件,在 Flash Layout 有被修改时,需要重新生成 MCU config 文件。

../../_images/MCUConfig_Tool_Note2.png

MCUConfig Tool 加载 flash map ini

  • 目前 RTL8773EWE-VS 可以使用 RTL8773EWE IC type 导入,只需要注意 flash_map.ini 的区别。

生成 User Data

用户可以将图片、字库等信息合并存放在 Userdata 中,合成的流程可以参考 打包步骤。最后,需要给此文件添加 MP header,步骤如下:

  1. 在 MPPG Tool 的 Tool 选项中,点击 Prepend Header for User Data,进入 Prepend Header for User Data 界面。

  2. 点击开文件图标,导入对应的 flash_map.ini 文件。

  3. 在 File Path 处加载要添加 MP header 的 bin 文件。

  4. 点击 Generate…,生成添加 MP header 的 User Data,可以通过 MPPG tool 进行下载。

如果使用 SDK 提供的默认 User Data,可跳过此章节,直接使用 bin\rtl87x3ep\8773EWEBANK0\User_Data1_MP.bin

../../_images/Prepend_Header_for_User_Data.png

为 User Data 添加 MP header

编译 APP Image

SDK 中所有的应用都能够通过 Keil MDK 编译以及使用。在进行软件开发之前,需要先安装 Keil 编译环境。为了方便快速建立开发工程,用户可以拷贝或直接打开现有的示例工程,在此基础上增加功能代码。

Keil MDK

Keil MDK 是一套完整的软件开发环境,适用于多种基于 Arm Cortex-M 的微控制器设备。MDK 包括了 µVision 集成开发环境和调试器、Arm C/C++ 编译器,以及必要的中间件组件。

SDK 中所有的应用能够通过 Keil MDK 编译以及使用。所以在进行软件开发之前,要先取得并安装 Keil。有关 Keil 的更多信息请访问 www.keil.com

Realtek 使用的工具链版本信息如图所示。为避免产生 ROM 可执行程序和应用之间的兼容性问题,建议使用 uVision V5.36 版本或者更新的版本,并将 ARMCLANG 默认编译器配置成 ARMCC_506build750。

../../_images/Keil_Version_Information.png

Keil 版本信息

将默认编译器配置为 ARMCC_506build750 的步骤,如下图所示。

../../_images/Keil_Compiler_Version_Configuration.png

Keil 编译器版本配置

以 watch_ep 工程为例,编译成功后会在工程的 bin 文件夹下生成生成一个带有 MD5 校验的 bin 文件,和对应的 .trace 等文件, 其中 .trace 文件用于解析 SoC 端 Log。

../../_images/Compile_Watch_Project.png

编译 watch_ep 工程

../../_images/Project_Compile_Generate_Files.png

工程编译生成文件

备注

MPPG Tool 工具采用 MD5 作为文件的校验值,并要求将 MD5 值加入到待烧录文件的文件名后缀中,所以烧录的是带 MP 前缀的 APP Image。

文件下载

MPPG Tool 下载

用户可以通过 MPPG Tool 将文件下载到设备上,详细 MPPG Tool 使用方法可以参考 SDK 中的使用指南。

../../_images/MPPG_Tool.png

MPPG Tool 芯片选型

../../_images/MPPG_Tool_Debug.png

MPPG Tool 模式选择

正确选择芯片型号和模式后,加载的所有的 准备文件,加载步骤在 启动EVB 章节已经介绍 。

常见错误如下

  • 检查串口 Tx/Rx 是否接反、且接线不要太长太细。

  • 检查设备 Log Pin 接地再上电。

  • 检查 COM 是否被占用。

  • USB 线不要使用质量低劣的线材,如果有接 USB HUB,可以试试直接插在电脑 USB。

  • 使用正版串口板,比如 FT232,不要使用 CP2102。

Download 完成后会显示“Success”,如果显示“Fail”,按下 EVB 上的 Reset 按钮或给 EVB 重新上电后重复上述步骤。

备注

  • MPPG Tool 支持两种烧录模式:

    • 量产模式: 用于产线生产。

    • 调试模式: 用于开发人员开发调试时使用。

示例验证

LCD 界面显示验证

烧录完成让 EVB 进入 工作模式,Reset 母板后屏幕子板会显示表盘界面,下图以 454*454 圆屏为示例。

../../_images/LCD_Display.png

LCD 界面显示

Log 验证

用户可以通过 Debug Analyzer 抓取 SoC 端 Log 确认程序是否正确运行,请正确完成 Log 接线

双击运行 DebugAnalyzer.exe,点击 SettingBaud rate 默认是 2M,在 App Trace File 处加载对应工程的 .trace 文件,最后点击 Confirm 确认设置。

../../_images/DebugAnalyzer_Para_Setting.png

Debug Analyzer 参数设置界面

选择正确的 Serial Port,点击 Start,Debug Analyzer 开始工作,可以调整主界面显示 ARM log 或 DSP log。 PC 会将抓取的原始数据(Raw Data)保存在 .bin 文件中,并根据用户设置的 .trace 文件,将原始数据解析为明文 Log,保存在 .log 中。

../../_images/Log_Recording.png

抓取 log

../../_images/Log_Data_File.png

DataFile 文件夹

备注

  • Log 文件默认保存路径:DebugAnalyzer.exe 同目录下的 DataFile文件夹

  • .trace 文件是用于解析串口接收到的二进制 Log 流,工程每次编译完成后都会生成新的 .trace 文件,需要确保 .trace 文件与当前 SoC 运行代码匹配。

  • 开发过程中如遇到问题,请提供 DataFile文件夹 路径下的 .log .bin .cfa 文件以及 .trace 文件,以便 Realtek 解析定位问题。