Ameba ARDUINO: Getting Started with AMB25

介绍

Realtek RTL8720DF 是一款 Wi-Fi 和蓝牙 IC,支持 2.4GHz 和 5GHz 双频 Wi-Fi 通信,以及蓝牙低功耗 (BLE) 5.0。该模组是以RTL8720DF为主要SoC(System on Chip)的高度集成的Wi-Fi和蓝牙模块,可以看作是典型SBC的Wi-Fi和蓝牙应用的SoC。
AMB25 是与模块集成的开发板。 AMB25 使用 USB TypeC 连接器,且具有自动上传电路。

AMB25 开发板

get-start-1

开发板的尺寸为 50.7*17.8 mm。它使用TypeC USB供电,这在很多智能设备中都很常见。
AMB25 的引脚图和功能请参考下图和下表。

AMB25 Pinmap

get-start-2

 GPIO pinGPIO INTADCPWMUARTSPII2CIRSWD
0PA15   SPI1_SS   
1PA14   SPI1_SCLK   
2PA13 SERIAL2_RXSPI1_MISO   
3PA12 SERIAL2_TXSPI1_MOSI   
4PA30      
5PA28      
6PA26   I2C_SDAIR_RX (a) 
7PA25   I2C_SCLIR_TX (a) 
8PA27      SWD_DATA
9PB3A6     SWD_CLK
10PB2A5      
11PB1A4      
12PA7  LOG_TX    
13PA8  LOG_RX    
14PB23    IR_TX (b) 
15PB22    IR_RX (b) 
16PB19 SERIAL1_TXSPI_MISO   
17PB18 SERIAL1_RXSPI_MOSI   
18PB21  SPI_SS   
19PB20  SPI_SCLK   

除了 USB 连接器外,还有 2 个按钮。如上图所示,左侧为“RST”按钮,右侧为“Burn”按钮。有关按钮的功能,请参阅下表。

Button FunctionsButton Process
Reset board1. Press then release “RST”
Enter upload mode1. Press and hold “Burn”
2. Press then release “RST”
3. Release “Burn”

清除flash或上传固件时,开发板需要进入上传模式。 AMB25 有自动上传电路。它不需要手动进入上传模式。

设置开发环境

步骤一、 环境配置

AMB25 (RTL8720DF) 开发板目前支持 Windows OS 32 位元或 64 位元、Linux OS (Ubuntu) 和 macOS。为了获得最佳体验,请使用最新版本的作业系统。

任何 Linux 作业系统 (Ubuntu) 相关问题,请参考 https://forum.amebaiot.com/t/ubuntu-linux-environment/2259

任何 macOS 作业系统相关问题,请参考 https://forum.amebaiot.com/t/macos-environment/2260

步骤二、 设定 Arduino IDE

从 1.6.5 版本开始,Arduino IDE 支持第三方硬件。 Arduino IDE用于在开发板上开发应用程序,以及Arduino基本范例(请参考 basic example link)。
Arduino IDE 可以在 Arduino 网站下载: https://www.arduino.cc/en/Main/Software
安装完成后,打开Arduino IDE。请打开 “File” -> “Preferences”.
并将以下 URL 复制到 “Additional Boards Manager URLs” 栏位: https://github.com/ambiot/ambd_arduino/raw/master/Arduino_package/package_realtek_amebad_index.json

接下来,打开 “Tools” -> “Board” -> “Boards Manager”:

get-start-3

“Boards Manager”大约需要几秒钟来刷新所有硬件文件(如果网络状况不好,可能需要更长的时间)。在列表中找到“Realtek Ameba Boards (32-bits ARM Cortex-M33 @200MHz)”,点击“Install”,Arduino IDE会自动开始下载AmebaD包含AMB25所需的文件。

get-start-4

如果您遇到 GitHub 下载问题,请参考以下连结 中的“下载/软体开发套件”。有3个部分。
1. “AmebaD_Arduino_patch1_SDK”,请至少选择 1 个 SDK。目前有 5 个最新发布的 SDK 选项。
2. “AmebaD_Arduino_patch2_Tools”,请根据您的作业系统进行选择。有 Windows、Linux 和 MacOS。
3. “AmebaD_Arduino_Source_Code”,此部分为可选下载,用来参考最新原始码。

下载选择的文件,然后解压(patch1 和patch2 是必须的)。有“Install.doc”/“Install.pdf”供您参考安装步骤。根据您的系统,请运行“Offline_SDK_installation_tool”文件夹中的安装工具。

安装运行成功后,您可以打开Arduino IDE并选择 “Tools” -> “Board” -> “Ameba ARM (32-bits) Boards” ->” AMB25/AMB26 (RTL8720DF)” 来选择AmebaD作为当前连接的开发板。

get-start-4

步骤三、 安装串行端口

首先,通过 TypeC USB 将开发板连接到电脑。

对应连接后,会自动安装USB驱动。如果连接板有驱动问题,请到https://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41l 参考 PLC2303GC 驱动程序。在 Windows 作业系统的装置管理员中检查 COM 端口号:

get-start-5-1

到“Tools”->“Port”并选择正确的 COM 端口。

get-start-5-1

进入“Tools”->“Serial Monitor”,将baud rate设置为“115200”,然后按RST按钮检查串口连接。

get-start-5-1

get-start-5-1

步骤四、 清除 flash

根据生产批次的不同,部分开发板在使用前需要先做清除动作。
选择“Tools”->“Erase Flash”->“Enable”

get-start-6

然后进入上传模式。
• 手动。按住“Burn”按钮,按下然后放开“RST”按钮并放开“Burn”按钮。
• 自动。选择“Tools”->“Auto Upload Mode”->“Enable”。注意只有内置自动上传电路的板子才能使用自动上传模式,否则会回到正常上传模式并等待5秒。
接下来,选择“Sketch”->“Upload”。 “Erase flash done” 会出现。

get-start-7

get-start-7

按RST按钮来检查串行监视器和重制开发板。如果只有“#”表示清除flash成功。记得选择“Tools”->“Erase Flash”->“Disable”。

get-start-7

尝试操作范例

步骤一、 编译与上传

Arduino IDE提供了很多内建的范例,可以在开发板上直接编译、上传和运行。这里,我们以“Blink”为例进行第一次尝试。
打开 “File” -> “Examples” -> “01.Basics” -> “Blink”:

get-start-14

get-start-15

这里没有“LED_BUILTIN”,必须重新定义任何 GPIO 引脚作为 LED 输出。

get-start-15

然后如图所示将 LED 连接到板上。

get-start-15

接下来,直接编译范例代码。 “Sketch”->“Verify/Compile”。然后如果没有编译错误,接着“Sketch”->“Upload”。
• 检查并选择 “Tools” -> “Erase Flash” -> “Disable”。
• 进入上传模式。手动或自动。选择 “Tools” -> “Auto Upload Mode” -> “Enable”/ ”Disable”。
• “Verify/Compile” 和 “Upload”. “Upload” 包括 “Verify/Compile”, “Verify/Compile” 可以跳过。
上传成功会显示“All images are sent successfully!”

get-start-16

步骤二、 执行 Blink 范例

板子将自动重置,如果板子不支持自动上传模式,请按 RST 按钮。板载 RGB LED 将闪烁。

在每个范例中,Arduino 不仅提供了范例代码,还提供了详细的文档,包括接线图、范例代码说明、技术细节等。这些范例可以直接在此版上使用。请参阅以下连结中的 Blink 详细信息:

https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink

特色介绍

Erase Flash

get-start-17

• Enable: 清除快闪记忆体中的image而不上传当前image。
• Disable: 编译完成后上传使用者代码。

“Erase Flash”预设选择为“Disable”来上传使用者代码。

Standard Lib Enable

get-start-17

• Arduino_STD_PRTINF: 使用 printf 时启用 Arduino avr“stdio.h”和“#include ”
• NA: 使用 printf() 基于标准 sdk _rtl_printf()

“Standard Lib Enable”预设选择为“NA”。

Upload Speed

get-start-17

选择上传 baudrate 为 1,500,000 或 921,600.

请先确认已安装QQ通讯软体