入門指南

Ameba ARDUINO: Getting Started with BW16 Type C

介紹

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

BW16-TypeC 開發板

../../../_images/image198.png

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

../../../_images/image286.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-TypeC 有自動上傳電路。 它不需要手動進入上傳模式。

設置開發環境

步驟一、 環境配置

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

步驟二、 設定 Arduino IDE

從 1.6.5 版本開始,Arduino IDE 支持第三方硬件。 Arduino IDE用於在開發板上開發應用程序,以及Arduino基本範例(refer to the 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.com_amebad_index.json

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

../../../_images/image360.png

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

../../../_images/image447.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/image534.png

步驟三、 安裝串行端口

首先,通過 TypeC USB 將開發板連接到電腦:

BW16-TypeC 開發板

../../../_images/image622.png

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

../../../_images/image719.png

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

../../../_images/image815.png

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

../../../_images/image911.png ../../../_images/image1010.png

步驟四、 清除 flash

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

../../../_images/image1116.png

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

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

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

../../../_images/image1213.png

然後進入上傳模式。

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

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

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

../../../_images/image1313.png ../../../_images/image1413.png

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

../../../_images/image1513.png

嘗試操作範例

Step 1. 編譯與上傳

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

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

../../../_images/image1611.png ../../../_images/image1711.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!”

../../../_images/image1811.png

參考

  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