【Wio Terminal】使用WiFi(1)- 更新无线核心固件

使用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 Monitorchar* 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)。如果没有,请点击“选择版本”下拉菜单,选择最新版本并点击“安装”
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2804329.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

「C语言进阶1」动态内存分配

目录 一、动态内存分配是什么&#xff1f; 二、为什么需要动态内存分配&#xff1f; 三、怎么进行动态内存分配&#xff1f; 1. malloc 2. calloc 3. realloc a. realloc功能解析 b. 内存泄漏和内存块被截断问题 c. 总结 4. free 四、使用动态内存分配常见的问题 【面试题】 一…

.netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项

1、SqlSugarCore 相关 1.1 主项目添加数据&#xff0c;否则会报数据库连接错误&#xff1a; <InvariantGlobalization>false</InvariantGlobalization> <PropertyGroup><TargetFramework>net8.0</TargetFramework><Nullable>enable</…

MES系统中的手动排产和自动排产-助力生产效率

企业在排产管理中面临的问题&#xff1a; 大多数的企业在调度排产过程中&#xff0c;都会遇到以下问题。首先是插单非常的多&#xff0c;计划调整困难&#xff0c;会经常性的发生原材料、零部件的备货不足。计划按MRP或库存展示计算出需求后将产生大量工单&#xff0c;这些工单…

代码随想录算法训练营day20||二叉树part07、● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先

530.二叉搜索树的最小绝对差 【需要领悟一下二叉树遍历上双指针操作&#xff0c;优先掌握递归】 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 思路 题目中要求在二叉…

【Java】类与对象(实验二)

目录 一、实验目的 二、实验内容 三、实验小结 一、实验目的 掌握类的定义与对象的创建。理解构造方法和this关键字的用法。掌握对象对于属性及方法的引用。 二、实验内容 1、编写一个Java程序&#xff0c;定义一个表示学生的类Student&#xff0c;该类包括: (1)这个类的…

【SelectIO】bitslice原语学习记录

基本概念 在Ultrascale (plus)系列上的FPGA中&#xff0c;Xilinx引入了bitslice硬核&#xff0c;它取代了7系列上的IDELAYCTRL/IODELAY/IOSERDES/IODDR系列硬核&#xff0c;用于为HP&#xff08;High Performance&#xff09;类型Bank上的IO接口提供串并转化、信号延时、三态控…

读取7400MB/s!华为发布eKitStor Xtreme M.2闪存条

今日&#xff0c;华为举行数据存储新春新品发布会&#xff0c;不仅发布全新数据湖解决方案&#xff0c;华为还针对商业市场与分销市场发布了全闪存存储新品。 据介绍&#xff0c;面向游戏加速、影视编辑、户外作业等场景&#xff0c;华为发布eKitStor Xtreme系列高性能M.2闪存条…

静态时序分析:SDC约束命令set_driving_cell详解

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 在上文中&#xff0c;我们不建议使用set_drive命令而是使用set_driving_cell命令&#xff0c;这是一个描述输入端口驱动能力更精确的方法。因为大多数情况下&…

【Java网络编程06】HTTPS原理

1. HTTPS基本概念 HTTPS&#xff1a;HTTPS也是一个应用层协议&#xff0c;它在HTTP协议的基础上引入了一个加密层——SSL协议&#xff0c;区别就在于HTTP协议是基于明文传输的&#xff08;不安全&#xff09;&#xff0c;使用HTTPS加密就能在一定程度上防止数据在传输过程中被…

Keepalived实现Nginx的高可用集群案例

服务器规划: serverb(nginx2):192.168.233.144 serverc(客户端):192.168.233.140 serverd(nginx1):192.168.233.141 结构图: serverd(nginx1): # 安装nginx yum install nginx -y# 进入nginx配置目录 cd /e…

【Pytorch深度学习开发实践学习】B站刘二大人课程笔记整理lecture07多维输入

lecture07多维输入 课程网址 Pytorch深度学习实践 部分课件内容&#xff1a; import torch import numpy as npxy np.loadtxt(diabetes.csv.gz, delimiter,, dtypenp.float32) x_data torch.from_numpy(xy[:,:-1]) #第一列开始最后一列不要 y_data torch.from_numpy(…

[已解决]npm淘宝镜像最新官方指引(2023.08.31)

最新的配置淘宝镜像的淘宝官方提供的方法 npm config set registry https://registry.npmmirror.com原来的 registry.npm.taobao.org 已替换为 registry.npmmirror.com &#xff0c;当点击 registry.npm.taobao.org 会默认跳转到 registry.npmmirror.com 如果你想将npm的下载…

python 打包 apk

转换之前python代码需要使用指定的框架才能转换&#xff0c;列如&#xff1a;kivy from kivy.app import App from kivy.uix.boxlayout import BoxLayout from kivy.uix.button import Buttonimport time import pyautogui import threadingstatus False# 这是一个将被线程执…

2022蓝帽杯取证初赛

检材&#xff1a;https://pan.baidu.com/s/1ibOdxyCWeC5x0DQKjwcz7w?pwdvg6g 目录 手机取证1、627604C2-C586-48C1-AA16-FF33C3022159.PNG图片的分辨率是&#xff1f;&#xff08;答案参考格式&#xff1a;19201080&#xff09;2、姜总的快递单号是多少&#xff1f;&#xff0…

项目开发Eclipse中Jar包的管理和使用

一、如何生成Jar包&#xff1f; Jar生成主要是给别人用的&#xff0c;可以通过Eclipse的Export功能&#xff0c;导出jar包文件。 1. 在Eclipse中&#xff0c;右键单击项目&#xff0c;并选择“Export”。 2. 在弹出的“Export”窗口中&#xff0c;选择“Java” -> “JAR f…

C# Onnx 使用onnxruntime部署实时视频帧插值

目录 介绍 效果 模型信息 项目 代码 下载 C# Onnx 使用onnxruntime部署实时视频帧插值 介绍 github地址&#xff1a;https://github.com/google-research/frame-interpolation FILM: Frame Interpolation for Large Motion, In ECCV 2022. The official Tensorflow 2…

《springcloud alibaba》 二 nacos配置中心

目录 父项目配置pom.xmlconfig-nacos项目pom.xml配置文件application.ymlbootstrap.yml 启动类配置 多环境配置groupRefreshScope 市面上配置中心大致分为三种 springcloud configapollonacos 推荐使用 父项目配置 pom.xml <?xml version"1.0" encoding"…

2024年阿里云服务器优惠价格表,值得买云主机清单

2024阿里云服务器优惠活动政策整理&#xff0c;轻量2核2G3M服务器61元一年、2核4G4M带宽165元1年&#xff0c;云服务器4核16G10M带宽26元1个月、149元半年&#xff0c;阿里云ECS云服务器2核2G3M新老用户均可99元一年续费不涨价&#xff0c;企业用户2核4G5M带宽199元一年&#x…

Netty是如何解决JDK中的Selector的bug的?

Selector BUG: JDK NIO的BUG, 例如臭名昭著的epoll bug&#xff0c;它会导致Selector空轮询&#xff0c;最终导致CPU 100%, 官方声称在JDK 1.6版本的update18修复了该问题&#xff0c;但是直到JDK1.7版本该问题仍旧存在&#xff0c;只不过该BUG发生 概率降低了一些而已&#x…

渗透测试—信息收集

渗透测试—信息收集 1. 收集域名信息1.1. 域名注册信息1.2. SEO信息收集1.3. 子域名收集1.3.1. 在线子域名收集1.3.2. 子域名收集工具 1.4. 域名备案信息1.5. ICP备案号查询1.6. SSL证书查询 2. 收集真实IP2.1. 超级ping2.2. Ping2.3. CDN绕过 3. 收集旁站或C段IP3.1. 旁站或C段…