入門指南

Ameba ARDUINO: Getting Started with BW16

介紹

Realtek RTL8720DN 是一款 Wi-Fi 和藍牙 IC,支持 2.4GHz 和 5GHz 雙頻 Wi-Fi 通信,以及藍牙低功耗 (BLE) 5.0。BW16模組由B&T生產,該模組是以RTL8720DN為主要SoC(System on Chip)的高度集成的Wi-Fi和藍牙模塊,可以看作是典型SBC的Wi-Fi和藍牙應用的SoC。BW16是與模塊集成的開發板。 BW16開發板有2塊,BW16和BW6-TypeC。

BW16 開發板

../../../_images/image199.png

開發板的尺寸為 50.4*25.4(±0.2) mm。 它使用Micro USB供電,這在很多智能設備中都很常見。BW16 的引腳圖和功能請參考下圖和下表。

../../../_images/image287.png

#

GPIO Pin

GPIO INT

ADC

PWM

UART

SPI

I2C

IR

RGB LED

SWD

0

PA7

LOG_TX

1

PA8

LOG_RX

2

PA27

SWD_DATA

3

PA30

4

PB1

SERIAL1_TX

5

PB2

SERIAL1_RX

6

PB3

A2

SWD_CLK

7

PA25

I2C_SCL

IR_TX

8

PA26

I2C_SDA

IR_RX

9

PA15

SPI_SS

10

PA14

SPI_SCLK

LED_G

11

PA13

SPI_MISO

LED_B

12

PA12

SPI_MOSI

LED_R

除了 USB 連接器外,還有 2 個按鈕。 如上圖所示,左側為“RST”按鈕,右側為“Burn”按鈕。 有關按鈕的功能,請參閱下表。

Button Functions

Button Process

Reset board

  1. Press then release 「RST」

Enter upload mode

  1. Press and hold 「Burn」

  2. Press then release 「RST」

  3. Release 「Burn」

清除flash或上傳固件時,開發板需要上傳模式。

設置開發環境

步驟一、 環境配置

BW16 (RTL8720DN) 開發板目前支持 Windows OS 32 位元或 64 位元、Linux OS (Ubuntu) 和 macOS。 為了獲得最佳體驗,請使用最新版本的作業系統。

步驟二、 設定 Arduino IDE

從 1.6.5 版本開始,Arduino IDE 支持第三方硬件。 Arduino IDE用於在BW16上開發應用程序,以及Arduino基本範例(refer to the basic example link)。

Arduino IDE可以在 Arduino 網站 下載。

安裝完成後,打開Arduino IDE。請打開 “File” -> “Preferences”.

並將以下 URL 複製到 “Additional Boards Manager URLs” 欄位:https://github.com/ambiot/ambd_arduino/raw/master/Arduino_package/package_realtek.com_amebad_index.json從 v3.0.8版本開始,Ameba Arduino將支持BW16開發板。

接下來,打開Arduino IDE 中 “Tools”->”Board”->”Boards Manager”:

../../../_images/image361.png

“Boards Manager”大約需要幾秒鐘來刷新所有硬件文件(如果網絡狀況不好,可能需要更長的時間)。在列表中找到“Realtek Ameba Boards (32-bits ARM Cortex-M33 @200MHz)”,點擊“Install”,Arduino IDE會自動開始下載AmebaD包含BW16所需的文件。

../../../_images/image448.png

如果您遇到 GitHub 下載問題,請參考以下連結 中的“下載/軟體開發套件”。有3個部分1. “AmebaD_Arduino_patch1_SDK”,請至少選擇 1 個 SDK。目前有 5 個最新發布的 SDK 選項。2. “AmebaD_Arduino_patch2_Tools”,請根據您的作業系統進行選擇。有 Windows、Linux 和 MacOS。3. “AmebaD_Arduino_Source_Code”,此部分為可選下載,用來參考最新原始碼。

https://www.amebaiot.com.cn/en/ameba-arduino-summary/

下載選擇的文件,然後解壓(patch1 和patch2 是必須的)。有“Install.doc”/“Install.pdf”供您參考安裝步驟。根據您的系統,請運行“Offline_SDK_installation_tool”文件夾中的安裝工具。

安裝運行成功後,您可以打開Arduino IDE並選擇 “Tools” -> “Board” -> “Ameba ARM (32-bits) Boards” ->” BW16(RTL8720DN)” 來選擇AmebaD作為當前連接的開發板。

../../../_images/image535.png

步驟三、 安裝串行端口

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

BW16 開發板

../../../_images/image623.png

參考上面的引腳圖和表格,D0 和 D1 引腳用於程序上傳。 但是,板載USB轉UART模塊連接到D4和D5,不能直接用於程序上傳。 為了上傳固件,建議添加一個外部 USB 轉 UART 模塊連接到 D0 和 D1,如下圖引腳連接:

../../../_images/image720.png

或者,短接下面指示的引腳以使用板載 USB:D1––– D5 D0 ––– D4

../../../_images/image816.png

對應連接後,會自動安裝USB驅動。 如果連接板有驅動問題,請到http://www.wch- ic.com/downloads/CH341SER_ZIP.html 參考 USB 驅動程序。 在 Windows 作業系統的裝置管理員中檢查 COM 端口號:

../../../_images/image912.png ../../../_images/image1011.png

到“Tools”->“Port”並選擇正確的 COM 端口。

../../../_images/image1117.png

進入“Tools”->“Serial Monitor”,將baud rate設置為“115200”,然後按RST按鈕檢查串口連接。

../../../_images/image1214.png ../../../_images/image1314.png

步骤四、 清除 flash

根據生產批次的不同,部分開發板可能內置了預設的B&T固件,固件信息如下圖所示

../../../_images/image1414.png

固件位於 OTA 部分。 所有新編譯的固件將被 OTA 固件自動替換。 因此,需要先清除 OTA 固件才能使用已編譯的固件。

方法一:Arduino SDK V3.1.3 之後的“Erase Flash Enable”。

選擇“Tools”->“Erase Flash”->“Enable”

../../../_images/image1514.png

然後進入上傳模式。

  • 手動。 按住“Burn”按鈕,按下然後放開“RST”按鈕並放開“Burn”按鈕。

  • 自動。 選擇“Tools”->“Auto Upload Mode”->“Enable”。 注意只有內置自動上傳電路的板子(BW16-TypeC)才能使用自動上傳模式,否則會回到正常上傳模式並等待5秒。

接下來,選擇“Sketch”->“Upload”。 “Erase flash done” 會出現。

../../../_images/image1612.png ../../../_images/image1712.png

按RST按鈕來檢查串行監視器和重製開發板。 如果只有“#”表示清除flash成功。 記得選擇“Tools”->“Erase Flash”->“Disable”。

../../../_images/image1812.png

嘗試操作範例

Step 1. 編譯與上傳

Arduino IDE提供了很多內置的範例,可以在開發板上直接編譯、上傳和運行。這裡,我們以“Blink”為例進行第一次嘗試。

打開 “File” -> “Examples” -> “01.Basics” -> “Blink”:

../../../_images/image1910.png ../../../_images/image203.png

小訣竅

板載 RGB LED,預設“LED_BUILTIN”為綠色。 將“LED_BUILTIN”更改為“LED_R”、“LED_G”或“LED_B”以獲得紅色、綠色或藍色。

接下來,直接編譯範例代碼。 “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!”

參考

  1. 介紹 RTL8720DN:https://www.instructables.com/RTL8720DN/

  2. 將 Arduino image加載到 BW16 中:#13 https://forum.amebaiot.com/t/how-to-load-bw16-program-with-arduino/517/13

  3. RTL8720DN (BW16) IMG2 SIGN 無效解決方案:Solution https://forum.amebaiot.com/t/rtl8720dn-bw16-img2-sign-invalid-solution/669

  4. FTDI 驅動程序下載:https://ftdichip.com/wp-content/uploads/2021/02/CDM21228_Setup.zip