固件更新

RTLS网络组建时,启动锚会指定网络所需的固件版本. 启用固件自动更新后,任何希望参与(加入)网络的设备都必须拥有相同的固件(版本号和校验和). 如果新设备没有正确的固件,将按照下面的小节进行更新.

通过蓝牙更新固件

如果想要在网络运行时,将整个网络更新为新的固件镜像,只需通过蓝牙更新启动器即可. 然后,启动器会通过 UWB 无线电链路自动将新固件传播给所有其他设备. 需要注意的是,当启动器首先更新时,它将重新启动网络,当每个设备重新加入网络时,其固件也将更新. 因此,在固件更新期间,执行更新的节点将处于“离线”状态.

通过 UWB 更新固件

正如 DWM1001 系统概述[4]中所介绍的,节点会将自己的固件版本与想要加入的网络进行比较. 如果固件版本不同,节点会尝试在加入前更新固件. 固件更新功能可在配置中启用/禁用. 这里列出了节点将遵循的功能规则.

标签:

  • 启用后,标签将始终检查固件版本,并尝试在开始测距前,通过向网络中附近的锚节点发送更新请求,使其固件版本与网络同步.

  • 如果禁用,标签会在不检查固件版本的情况下开始测距. 这可能会导致版本兼容性问题,必须非常小心处理.

锚点:

  • 启用后,在加入网络之前,锚节点将检查固件版本,并尝试通过向附近的锚节点发送更新请求,使其固件版本与网络同步. 加入网络后,锚点将响应附近节点的更新固件请求.

  • 如果禁用,在加入网络之前,锚节点会直接发送加入请求,而不会检查固件版本. 这可能会导致版本兼容性问题,必须非常小心处理. 加入网络后,锚点会忽略附近节点的固件更新请求.


通过 UART 更新固件

准备设置

  • 至少一个设备.

  • 一个软件包包含一个脚本和一个二进制文件,用于更新.

  • 已安装 OpenOCD.

逐步说明如何通过 OpenOCD (Open On-Chip Debugger) 进行更新:

  1. 安装 OpenOCD 调试器.

  1. 在 Windows 上安装 OpenOCD

  1. 下载适用于 Windows 的二进制压缩文件.

  2. 解压缩到 C:\xpack-openocd-0.11.0-1 文件夹中.

  3. 将路径: C:\xpack-openocd-0.11.0-1\bin 添加到Windows用户路径环境变量中.

  1. 在 Linux 或 Mac OS 上安装 OpenOCD.

  1. 下载用于 Linux 的二进制压缩包 .

  2. 解开tarball并安装到本地.

mkdir -p ~/.local/xPacks/openocd
cd ~/.local/xPacks/openocd
tar -zxvf ~/Downloads/xpack-openocd-0.11.0-1-linux-arm.tar.gz (with PC’s AMD core, using … linux-x64.tar.gz with PC’s Intel core)
....
sudo chmod -R -w xpack-openocd-0.11.0-1/
~/.local/xPacks/openocd/xpack-openocd-0.11.0-1/bin/openocd --version
export PATH="~/.local/xPacks/openocd/xpack-openocd-0.11.0-1/bin/:$PATH"
cd ~
source .bashrc
  1. 检查 OpenOCD 版本.

openocd --version
xPack OpenOCD, x86_64 Open On-Chip Debugger 0.11.0-00155-ge392e485e (2021-03-15-16:43)
Licensed under GNU GPL v2
For bug reports, read
  http://openocd.org/doc/doxygen/bugs.html
  1. 下载软件包并将其解压缩到PC. 使用WinZip或7-Zip等程序解压缩下载的文件.

  1. 打开您最喜欢的终端应用程序.

  • 在linux或macOS上,如 终端 应用程序.

  • 在Windows上,比如 Powershell.

  1. 导航到包含提取包的文件夹.

  • red:cd/path/to/PANSPRO固件OpenCD

  1. 使用Micro USB数据线将设备的 Micro USB数据端口 连接到您的PC.

  2. 执行脚本以自动更新固件.

  • 在linux或macOS上,使用 reflash-panspro-rtls-2ab.sh 命令.

  • 在Windows上,使用 reflash-panspro-rtls-2ab.bat 命令.

  1. 更新完成后,设备将发出蜂鸣声,表示更新成功. 作为该过程的一部分,该板将自动重置.

设备已成功更新固件. 享受最新的功能和改进.