Ameba ARDUINO: Getting Started with AMB82 MINI (RTL8735B)

介绍

Ameba 是一个易于编程的平台,用于开发各种物联网应用程序。 AMB82 MINI配备丰富的外围接口,包括WiFi、BLE、GPIO INT、I2C、UART、SPI、PWM、ADC。通过这些接口,AMB82 MINI可以连接LED、开关、压力计、湿度计、PM2.5粉尘传感器等电子元器件。此外,AMB82 MINI 具有 3 个主要功能,音频编解码器、视频编解码器和 NN(内置 NPU,用于 AIoT)。

收集到的数据可以通过WiFi上传,供智能设备上的应用程序使用,实现物联网应用。

AMB82 MINI 使用最广泛的开发环境之一 Arduino。 HDK、SDK、API文档、范例教学等更多资讯,请参考以下Ameba Arduino SDK页面

AMB82 MINI 开发板

get-start-1

AMB82 MINI采用Micro USB供电,这在很多智能设备中都很常见。
AMB82 MINI 的引脚图和功能请参考下图和下表。

AMB82 MINI Pinmap

get-start-2

 GPIO pinGPIO INTADCPWMUARTSPII2CSWDLED
0PF5   SPI1_MISO   
1PF6  SPI1_SCLK   
2PF7  SPI1_MOSI   
3PF8  SPI1_SS   
4PF11      
5PF12      
6PF13      
7PF14      
8PF15      
9PF2A2   I2C1_SDA  
10PF1A1   I2C1_SCL  
11PF0A0      
12PE4   SPI_SSI2C_SDA  
13PE3   SPI_MOSII2C_SCL  
14PE2  SERIAL3_RXSPI_MISO   
15PE1  SERIAL3_TXSPI_SCLK   
16PD18       
17PD17       
18PD16  SERIAL2_RX    
19PD15  SERIAL2_TX    
20PD14       
21PA2A6 SERIAL1_TX    
22PA3A7 SERIAL1_RX    
23PF9     LED_BUILTIN / LEB_B (blue)
24PE6      LED_G (green)
25PF4  LOG_TX    
26PF3*A3 LOG_RX    
27PA1A5   I2C2_SDASWD_CLK 
28PA0A4   I2C2_SCLSWD_DATA 
29PF10       

设置开发环境

步骤一、 环境配置

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

步骤二、 安装驱动程式

首先,将AMB82 MINI通过Micro USB连接到电脑:

get-start-3

如果这是第一次将开发板连接到电脑,则会自动安装此板的 USB 驱动程序。
如果您有连接开发板到电脑的驱动程序问题,请到http://www.wch-ic.com/downloads/CH341SER_ZIP.html下载相关驱动程式。

在电脑的设备管理器中查看COM端口:

get-start-4

步骤三、 设定 Arduino IDE

从 1.6.5 版本开始,Arduino IDE 支持第三方硬件。因此,我们可以使用Arduino IDE开发应用程序,并且Arduino有基础范例可供参考。
Arduino IDE 可以在 Arduino 网站下载: https://www.arduino.cc/en/Main/Software
安装完成后,打开Arduino IDE。请打开 “File” -> “Preferences” 来正确设置。

get-start-4

并将以下 URL 粘贴到“Additional Boards Manager URLs”字串中:https://github.com/ambiot/ambpro2_arduino/raw/main/Arduino_package/package_realtek.com_amebapro2_index.json

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

get-start-3

“Boards Manager”大约需要10~20秒钟来刷新所有硬件文件(如果网络状况不好,可能需要更长的时间)。每次与新硬体重新连接时,需要重新开启Board Manager。在列表中找到“Realtek Ameba Boards”,点击“Install”,Arduino IDE会自动开始下载AmebaD包含AMB82 MINI所需的文件。

get-start-4

安装运行成功后,您可以打开Arduino IDE并选择 “Tools” -> “Board” -> “Boards Manager…”。尝试在列表中找到“Realtek Ameba Boards”,点击“Install”,然后Arduino IDE开始下载所需的文件。

最后,选择“Tools” -> “Board” -> “AmebaPro2 ARM (32-bits) Boars” -> “AMB82-MINI”作为当前连接的开发板。

get-start-4

尝试第一个例子

步骤一、 选择Ameba模式

对于不同的编译和上传设置,有多种不同的模式供用户选择。请参考以下图片和表格。

get-start-14

Mode NameUsageRemarks
* Erase FlashErase all firmware from flash. 
* Auto Flash ModeEnable this mode to avoid manual process when uploading. 
* Upload ModeChoose upload mode between Normal Mode and Speed Mode.
• Normal Mode. Upload all bins as one flash bin.
• Speed Mode. Only upload the specific bin to its flash address.
A normal flash bin should include system file bins, firmware bin, Video ISP Bin and Neural Network Bin. To run the board successfully, system file bins and firmware bin are must. Speed Mode will skip system file bins and firmware bin. For all combinations of upload, please refer to the following table.It is recommended to use Normal Mode with Video ISP Bin and Neural Network Bin at least once, for the first time using the board.
** Video ISP BinSpeed Mode. Only upload Video ISP Bin to its flash address.
Normal Mode. Upload a flash bin includes Video ISP Bin.
** Neural Network BinSpeed Mode. Only upload Neural Network Bin to its flash address.
Normal Mode. Upload a flash bin includes Neural Network Bin.
*** NN Models Object DetectionChoose Default or Customize models from Yolov4Tiny, Yolov3Tiny, or Yolov7Tiny.For more information about Customize models, please refer to section “Apply Customized AI model”
*** NN Models Face DetectionChoose Default or Customize MobileFaceNet models.
*** NN Models Face RecognitionChoose Default or Customize SCRFD models.
* Standard Lib EnableChoose the standard library function for compile and upload. 

Selections (Upload Mode, Video ISP Bin, Neural Network Bin)

Flash Bin combinations Remarks
System file bins and firmware binVideo ISP BinNeural Network Bin
Normal Mode; Yes; Yes 
Normal Mode; Yes; NoNA
Normal Mode; No; NoNANA
Speed Mode; No; YesNANA 
Speed Mode; Yes; NoNANA
Speed Mode; No; NoNANA

步骤二、 编译

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

get-start-14

Arduino IDE 开启一个包含完整范例代码的新视窗。

接下来,我们直接编译范例代码; 单击“Sketch” -> “Verify/Compile”。

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

get-start-14

之后,我们将编译后的代码上传到开发板。

步骤三、 上传

请确保开发板已连接到电脑,然后点击“Sketch” -> “Upload”。

Arduino IDE 会先编译再上传。用户需要进入此板上传模式。要进入上传模式,首先按住 UART_DOWNLOAD 按钮,然后按下并释放 RESET 按钮,最后释放 UART_DOWNLOAD 按钮。有一个 5 秒倒计时设置作为进入上传模式的提醒。

另外,如果使用的版子开启了“Auto Flash Mode”,请忽略以上说明。

get-start-14

用户可以选择检查板子是否进入上传模式。打开串行监视器/终端并寻找“Download Image over UART1”。

get-start-14

上传完成后,将印出“上传完成”讯息。

步骤四、 执行Blink范例

在每个范例中,Arduino 不仅提供了范例代码,还提供了详细的文件,包括接线图、范例代码解释、技术细节等。 Blink范例的详细信息请参考:
https://www.arduino.cc/en/Tutorial/Blink
简而言之,此范例使on-board LED 闪烁。

get-start-14

影片教学与示范

YouTube 频道:
https://youtu.be/_rLiih5RkXY
https://youtube.com/playlist?list=PLEQfNjOZQRyPnmXCuRqE1f5au2HT4E9CP
https://youtu.be/-jQDpDFX2ao
https://youtube.com/playlist?list=PLEQfNjOZQRyOxXFV7X_2fIcnd_J6VBmyM
BiliBili 频道:
https://space.bilibili.com/457777430

参考连结

Ameba Arduino SDK: https://www.amebaiot.com/ameba-arduino-summary/
FAQ: https://forum.amebaiot.com/t/ameba-faq/1220
论坛: https://forum.amebaiot.com/
Facebook 中文社群: https://www.facebook.com/groups/AmebaIoT
Facebook 英文社群: https://www.facebook.com/groups/amebaioten

Copyrights ©瑞晟微电子(苏州)有限公司 2021. All rights reserved. 使用条款
请先确认已安装QQ通讯软体