Ameba ARDUINO: Getting Started with AMB26

介紹

Realtek RTL8720DF 是一款 Wi-Fi 和藍牙 IC,支持 2.4GHz 和 5GHz 雙頻 Wi-Fi 通信,以及藍牙低功耗 (BLE) 5.0。 該模組是以RTL8720DF為主要SoC(System on Chip)的高度集成的Wi-Fi和藍牙模塊,可以看作是典型SBC的Wi-Fi和藍牙應用的SoC。
AMB26 是與模塊集成的開發板。 AMB26 使用 USB TypeC 連接器,且具有自動上傳電路。

AMB26 開發板

get-start-1

開發板的尺寸為 50.7*17.8 mm。 它使用TypeC USB供電,這在很多智能設備中都很常見。
AMB26 的引腳圖和功能請參考下圖和下表。

AMB26 Pinmap

get-start-2

 GPIO pinGPIO INTADCPWMUARTSPII2CIRSWD
0PA15   SPI1_SS   
1PA14   SPI1_SCLK   
2PA13 SERIAL2_RXSPI1_MISO   
3PA12 SERIAL2_TXSPI1_MOSI   
4AMB26 has no Pin 4
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或上傳固件時,開發板需要進入上傳模式。 AMB26 有自動上傳電路。 它不需要手動進入上傳模式。

設置開發環境

步驟一、 環境配置

AMB26 (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包含AMB26所需的文件。

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

有一個板載 RGB LED,“LED_BUILTIN”為綠色。

接下來,直接編譯範例代碼。 “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通訊軟體