Ameba ARDUINO: Getting Started with AW-CU488 Thing Plus (RTL8721DM)

介绍

Ameba 是一个易于编程的平台,用于开发各种物联网应用程序。 AW-CU488 Thing Plus 配备多种外设接口,包括 WiFi、GPIO INT、I2C、UART、SPI、PWM、ADC。通过这些接口,AW-CU488 Thing Plus 可以连接 LED、开关、压力计、湿度计、PM2.5 粉尘传感器等电子元件。
收集到的数据可以通过WiFi上传,供智能设备上的应用程序使用,实现物联网应用。

AW-CU488 Thing Plus 开发板
get-start-1

AW-CU488 Thing Plus使用Type C USB供电,这在很多智能设备中相当常见。支持自动进入上传模式功能。
引脚图和功能请参考下图和下表。

AW-CU488 Thing Plus Pinmap
get-start-2

 GPIO pinGPIO INTADCPWMUARTSPII2CIRRGB LEDSWD
0PA18  SERIAL2_TXSPI_SCLK    
1PA16   SPI_MOSI    
2PA17   SPI_MISO    
3PA13 SERIAL1_RX (a)SPI1_MISO (b)    
4PA12 SERIAL1_TX (a)SPI1_MOSI (b)    
5PA26 SERIAL1_TX (b) I2C_SDA (a, qwiic)IR_RX (a)  
6PA25 SERIAL1_RX (b) I2C_SCL (a, qwiic)IR_TX (a)  
7PA30       
8PA19  SERIAL2_RXSPI_SS    
9PB3A6      SWD_CLK
10PB23    IR_TX (b)  
11PB22    IR_RX (b)  
12PB26        
13PB29     IR_RX (c)LED_BUILTIN (blue) 
14PB4A0 SPI1_MOSI (a)    
15PB5A1 SPI1_MISO (a)I2C_SCL (b)   
16PB6A2  SPI1_SCLK (a)I2C_SDA (b)   
17PB7A3 SPI1_SS (a)    
18PB1A4 SERIAL1_TX (c)     
19PB2A5 SERIAL1_RX (c)     
20PB31     IR_TX (c)  
21PA0        
22PA4        
23PA2        
24PA7  LOG_TX     
25PA8  LOG_RX     
26PA28       
27PA27       SWD_DATA
28PA15   SPI1_SS (b)    
29PA14   SPI1_SCLK (b)    

设置开发环境

步骤一、 环境配置

AW-CU488 Thing Plus (RTL8721DM) 开发板目前支持 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基本范例。
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包含AW-CU488 Thing Plus所需的文件。

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”文件夹中的安装工具。
安装运行成功后,您可以选择 “Tools” -> “Board” -> “Ameba ARM (32-bits) Boards” ->”AW-CU488 Thing Plus (RTL8721DM)” 来选择AmebaD作为当前连接的开发板。

get-start-5

步骤三、 安装串行端口

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

AW-CU488 Thing Plus
get-start-6

对应连接后,会自动安装USB驱动。如果连接板有驱动问题,请到 https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads 参考 USB 驱动程序。在 Windows 作业系统的装置管理员中检查 COM 端口号:

get-start-7

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

get-start-8

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

get-start-9

尝试操作范例

步骤一、 编译与上传

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

get-start-10

get-start-11

AW-CU488 Thing Plus板载 LED,预设“LED_BUILTIN”为蓝色。
接下来,直接编译范例代码。点击“Sketch”->“Verify/Compile”。

get-start-12

Arduino IDE 在 IDE 窗口的底部区域打印编译消息。编译完成后,您将收到如下消息。

get-start-13

之后,我们将编译后的代码上传到开发板。
请记住启用自动上传模式。在“Tools”→“Auto Upload Mode”→“Enable / Disable”。

get-start-14

请确保开发板已连接到您的电脑,然后单击“Sketch”→“Upload”。
成功上传将显示讯息 “All images are sent successfully!”

get-start-15

步骤二、 执行 Blink 范例

板子将自动重置,板载 RGB LED 将闪烁。
在每个范例中,Arduino 不仅提供了范例代码,还提供了详细的文档,包括接线图、范例代码说明、技术细节等。这些范例可以直接在 AW-CU488 Thing Plus 上使用。请参阅以下连结中的 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通讯软体