使用WiFi(1)- 更新无线核心固件
- 一、概述
- 1、更新无线核心固件
- 步骤 1 - 擦除初始出厂固件
- 步骤 2 - 刷入最新的固件
- 2、从Arduino IDE检查RTL8720固件版本
- 安装rpcWiFi库
- 验证
- 3、更新 SAMD ArduinoCore
一、概述
这篇wiki介绍了如何为Wio Terminal上的Realtek RTL8720无线核心更新最新的固件,以及为Wio Terminal安装所有必需的依赖库,以启用无线连接。
注意
我们已经将Wi-Fi软件移至新的eRPC架构,该架构更稳定且可以同时与蓝牙工作!请按照以下步骤更新至eRPC Wi-Fi固件及相关库!
1、更新无线核心固件
首先,我们需要更新Wio Terminal上Realtek RTL8720无线核心的固件。这是必要的步骤,必须在继续进行示例之前更新到最新的固件。
注意
请在使用前更新Wi-Fi核心!
步骤 1 - 擦除初始出厂固件
当你第一次拿到Wio Terminal时,你需要擦除初始的RTL8720固件并刷入最新的固件。我们为此准备了一个名为ambd_flash_tool的工具,当你运行这个工具时,它首先会启用从SAMD51到RTL8720的串行连接,以便在RTL8720上安装固件。这是因为你不能直接与RTL8720通信。之后,这个工具可以用于擦除RTL8720上现有的固件,并刷入最新的固件。
注意:你只需要在第一次使用时擦除出厂固件。之后,你可以刷入新的固件以覆盖现有的固件。
对于 Windows 系统
- 步骤 1:在您的电脑上打开 Windows PowerShell,并执行以下命令来下载刷写工具:
cd ~
git clone https://github.com/Seeed-Studio/ambd_flash_tool
注意:你需要安装git,才可以使用,请在CSDN中搜索git安装镜像来安装。在这里,cd ~ 命令会将您引导到您的主目录,而 git clone 命令会从GitHub下载存储库。
如果由于你的网络导致的失败,可以直接访问ambd_flash_tool并下载.zip,手动解压后,放入user目录下并改名为ambd_flash_tool。
- 步骤 2:导航到ambd_flash_tool目录
cd ambd_flash_tool
- 步骤3:将Wio Terminal连接到PC并打开它
- 步骤4:执行以下命令以擦除初始固件
.\ambd_flash_tool.exe erase
注意:初始擦除过程可能需要一段时间。请耐心等待,不要关闭窗口。
如果电脑用户名中出现空格、中文等将出现 ‘C:\Users\user’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。请创建一个新用户,全英文命名,登陆新用户并且重新从步骤1开始操作,即可成功。
Wio Terminal连接的串口将被自动检测!
注意:如果您想打开帮助使用说明,请执行 .\ambd_flash_tool.exe 命令。
对于 Mac/ Linux 系统
- 步骤1:在您的Mac/Linux上打开终端,并执行以下命令以下载烧录工具
cd ~
git clone https://github.com/Seeed-Studio/ambd_flash_tool
注意:这里的 cd ~ 命令会将您导航到您的主目录,而 git clone 命令会从GitHub下载存储库
- 步骤 2:导航到ambd_flash_tool目录
cd ambd_flash_tool
- 步骤3:将Wio Terminal连接到PC并打开它
- 步骤4:执行以下命令以擦除初始固件
python3 ambd_flash_tool.py erase
确保您的Mac/Linux上安装了Python 3,脚本将自动下载所有依赖的库。
在某些情况下,如果您的计算机上只安装了 Python 3,那么您应该将命令 python3 ambd_flash_tool.py 替换为 python ambd_flash_tool.py。
注意:初始擦除过程可能需要一段时间。请耐心等待,不要关闭窗口。
Wio Terminal连接的串口将被自动检测!
注意:如果您想打开帮助使用说明,请执行 python3 ambd_flash_tool.py 命令。
步骤 2 - 刷入最新的固件
对于 Windows 系统
当您位于 ambd_flash_tool 目录内时,执行以下命令以将最新的固件刷入 RTL8720:
.\ambd_flash_tool.exe flash
对于 Mac/Linux 系统
当您位于 ambd_flash_tool 目录内时,执行以下命令以将最新的固件刷入 RTL8720:
python3 ambd_flash_tool.py flash
刷入旧固件(额外步骤 - 可跳过)
对于 Windows 用户:
第1步: 访问 GitHub 上的 RTL8720 固件仓库。
第2步: 选择您想要的发布版本,并点击 xxx-seeed-ambd-firmware-rpc-vxxx.zip 来下载它作为一个 .zip 文件。
第3步: 使用之前提到的 Windows PowerShell 导航到 ambd_flash_tool 目录,并执行以下命令:
.\ambd_flash_tool.exe flash -d [RTL8720-firmware-path]
注意: 将 [RTL8720-固件路径] 替换为您从上面下载的 RTL8720 的路径。这个文件夹应该包含以下三个文件:km0_boot_all.bin、km0_km4_image2.bin 和 km4_boot_all.bin。
如果一切顺利,您应该看到一个成功的消息。现在您已经将 RTL8720 固件刷入到 RTL8720 核心中了!
对于 Mac/Linux 用户:
第1步: 访问 GitHub 上的 RTL8720 固件仓库。
第2步: 选择您想要的发布版本,并点击 xxx-seeed-ambd-firmware-rpc-vxxx.zip 来下载它作为一个 .zip 文件。
第3步: 使用之前提到的终端导航到 ambd_flash_tool 目录,并执行以下命令:
python3 ambd_flash_tool.py flash -d [RTL8720-firmware-path]
注意: 将 [RTL8720-固件路径] 替换为您从上面下载的 RTL8720 的路径。这个文件夹应该包含以下三个文件:km0_boot_all.bin、km0_km4_image2.bin 和 km4_boot_all.bin。
如果一切顺利,您应该看到一个成功的消息。现在您已经将 RTL8720 固件刷入到 RTL8720 核心中了!
2、从Arduino IDE检查RTL8720固件版本
安装rpcWiFi库
如下图所示:
为了方便,已经将所有库整合在一起。因此,对于未来的文档和更新当前文档,您只需要安装 rpcwifi,它会自动为您安装所有依赖于 wifi 的库。如果请求安装缺少的库,请允许全部安装。
- Seeed_Arduino_rpcWiFi - 搜索 “seeed rpcwifi”
- Seeed_Arduino_rpcUnified - 搜索 “seeed rpcunified”
- Seeed_Arduino_mbedtls - 搜索 “seeed mbedtls”
- Seeed_Arduino_FS - 搜索 “seeed fs”
- Seeed_Arduino_SFUD - 搜索 “seeed sfud”
验证
在安装完上述固件和库后,您可以通过Arduino IDE将以下代码上传到Wio Terminal来检查固件是否正确安装。
#include "rpcWiFi.h"
#include <erpc/erpc_port.h>
void setup() {
Serial.begin(115200);
while(!Serial); // Wait to open Serial Monitor
char* version = rpc_system_version();
Serial.print("RTL8720 Firmware Version: ");
Serial.println(version);
erpc_free(version);
}
void loop() {
}
一旦你打开串口监视器,你应该能看到打印出的固件版本号。
3、更新 SAMD ArduinoCore
请将Seeed SAMD ArduinoCore更新到最新版本(1.8.5)!
步骤1:打开Arduino IDE,点击“工具”->“板”->“板管理器”,在搜索框中搜索“Wio Terminal”
步骤2:确保已安装最新版本(1.8.1)。如果没有,请点击“选择版本”下拉菜单,选择最新版本并点击“安装”