固件更新

本节介绍更新固件的方法。我们支持许多不同的方式,例如通过 蓝牙SWDOpenCD,或 UWB

更多详细信息,请在下面选择您要使用的方法:

通过蓝牙接口

如果想在网络运行时将整个网络更新为新的固件映像,只需通过蓝牙更新启动器即可。然后,发起者将通过UWB无线电链路自动将新固件传播到所有其他设备。请注意,当启动器首先更新时,它将重新启动网络,当每个设备重新加入网络时,其固件将被更新。因此,在固件更新期间,执行更新的节点将“脱机”。

要开始使用,请下载 PANS PRO经理 应用程序(可在Google Play中获得

../../../_images/panspro-manager-qr-code.png
  • 默认情况下,如果设置允许用户管理,则用户名为 admin 的登录帐户和密码为 admin

  • 访问固件状态。点击应用程序中的 选项菜单表示为三个垂直点)。

  • 查找 Firmware status 选项并选择它。

  • 选择要更新的设备.

../../../_images/ppm-network-menu.jpg ../../../_images/ppm-firmware-update.jpg

使用SWD编程器进行固件更新

../../../_images/image92.png

DWM1001C在LC4/LC5上

../../../_images/image101.png

未命名的董事会

../../../_images/image111.png

对二进制文件进行编程

在电路板上闪烁出厂图像的必要步骤如下所述。为了重新刷新,有必要使用J-Link或CMIS-DAP编程器。在回流过程中,由于编程器连接器不供电,电路板必须通过USB或电池供电。

J-Flash Light软件工具可用于闪光图像。下面将描述这种方法。另一种方法是使用各种平台上可用的开源工具OpenCD。PANS PRO软件包包含与OpenCD一起使用的刷新脚本。

  1. 下载并安装Segger J-Flash Lite(J-Link软件套件):https://www.segger.com/downloads/jlink/#J-链接软件和文档包

  2. 使用微型USB数据线连接模块,如下所示。

    1. LC5网关上DWM1001C模块固件刷新连接

      ../../../_images/image131.png
    2. LC5网关上主机MCU SAME70固件刷新连接

      ../../../_images/image141.png
  3. 打开J-Flash Lite。

  4. 选择nrf52832_XXAA作为DWM1001C的设备,SWD作为接口。主机MCU使用ATSAME70N19。使用默认速度1000,然后单击**“确定”**

    ../../../_images/image15.png
  5. 点击“擦除芯片”进行完全芯片擦除。

    ../../../_images/image16.png
  6. 在数据文件中,单击 “…” 并浏览到PANS PRO软件包中提供的十六进制文件进行闪存。然后单击 “程序设备” 。固件二进制兼容性

固件文件

目标

刷新地址

pan-pro-all-dwm1001c-vY.XX.hex

LC4标签和LC5网关上的DWM1001C模块

0x00000000

pans-pro-all-lc5s-vY.XX.hex

LC5网关上的主机MCU SAME70

0x00400000

准备设置

  • 至少一个设备.

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

  • 已安装 OpenOCD.

关于如何通过OpenCD(片上开放调试器)进行更新的分步说明

  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. 解压缩包并安装到本地.

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 上,类似 Terminal 应用程序.

  • 在 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. 更新完成后,设备会发出哔哔声,表示更新成功. 作为更新过程的一部分,电路板会自动复位.

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

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

通过UWB接口

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

标签:

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

  • 禁用时,标签将开始测距,而不检查固件版本。这可能会导致版本兼容性问题,必须非常小心地处理。

锚点:

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

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