固件更新
本节介绍更新固件的方法. 我们支持多种不同的方式,例如 Bluetooth、MSD、WebUSB、Serial-COM 或 OpenOCD.
更多详细信息,请在下面选择您要使用的方法:
准备设置
至少一个设备.
在 Android 设备上安装了 LEAPS 管理器 应用程序.
注解
确保更新过程中的连接,并避免在蓝牙连接时移动太远.
固件更新速度取决于蓝牙设备. 例如,蓝牙 4.2 和蓝牙 5.0 的数据传输速率分别为 1Mbps 和 2Mbps.
逐步说明如何通过蓝牙进行更新:
1.打开 LEAPS 管理器 应用程序,然后导航到 Demo Selector. 此外,你还可以导航到创建的网络,更新网络中的设备.
访问固件状态. 在应用程序中点击 options menu (代表三个横点). 查找 固件状态 选项并选择它.
选择要更新的设备.
应用程序将提供可视化指标或进度条,显示更新的进行情况. 请耐心等待更新过程.
更新完成后,你会看到 状态已完成. 此外,设备会发出哔哔声,表示更新成功. 更新过程中,电路板会自动复位.
设备成功更新了固件. 享受最新的功能和改进.
准备设置
至少一个设备.
要更新的二进制文件.
关于如何通过 MSD 进行更新的分步说明
使用 USB-C 数据线将设备的 USB-C Data Port 2 连接到 PC.
连接后,LEAPS MSD 驱动器将出现在电脑上. 打开 LEAPS MSD 驱动器.
下载 LEAPS-UWBS-Firmware-v1.0.0.zip 文件到你的电脑. 使用 WinZip 或 7-Zip 等程序解压缩下载的文件内容.
找到位于``LEAPS-UWBS-Firmware-v1.0.0/LEAPS-UWBS-Firmware-OpenOCD/udk1-leaps-uwbs-v1.0.0.bin``的二进制文件. 将此文件复制到 LEAPS MSD 驱动器.
等待复制和闪存过程,直到复制成功. 在这个过程中,电路板会自动复位,RGB LED 会亮起,硬件会发出哔哔声,表示更新成功.
设备成功更新了固件. 享受最新的功能和改进.
准备设置
至少一个设备.
要更新的二进制文件.
分步说明如何通过 WebUSB 进行更新
下载并安装 Node.js.
请访问 Node.js 官方网站 https://nodejs.org/en/download.
下载推荐的 Node.js 版本.
运行下载的安装程序,并按照安装提示完成安装.
安装依赖项.
在电脑上打开你喜欢的终端应用程序.
在 linux 或 macOS 上,类似 Terminal 应用程序.
在 Windows 上,类似 Powershell 应用程序.
要安装 webusb 依赖关系,请运行以下命令:
npm install webusb接下来,运行以下命令安装 usb 依赖项:
npm install usb最后,使用以下命令安装 node-hid 依赖关系:
npm install node-hid
使用 USB-C 数据线将设备的 USB-C Data Port 2 连接到 PC.
下载并解压缩软件包到你的电脑. 使用 WinZip 或 7-Zip 等程序解压缩下载的 LEAPS-UWBS-Firmware-v1.0.0.zip file.
打开网站 DAPLink Flash .
点击 Choose a firmware image 并转到
LEAPS-UWBS-Firmware-v1.0.0/LEAPS-UWBS-Firmware-OpenOCD/udk1-leaps-uwbs-v1.0.0.hex
选择二进制文件.
点击 SELECT DEVICE 按钮,然后选择连接到 PC 的 DAPLink CMSIS-DAP 端口.
选择固件映像后,二进制文件闪存程序将开始. 在整个过程中,请确保硬件连接正常.
注解
可能会出现一些意外问题,请断开电路板与电脑的连接,然后重新开始.
在发出 Flash completed! (“刷新完成”) 之后. 电路板会自动复位,RGB LED 灯会亮起,硬件会发出哔哔声,表示更新成功.
设备成功更新了固件. 享受最新的功能和改进.
您需要:
至少一个通过 USB 端口连接的设备.
软件包中包含的脚本和固件二进制文件.
您系统上安装的 python3.
分步说明如何通过串行-COM 进行更新:
下载并解压缩软件包到你的电脑. 使用 WinZip 或 7-Zip 等程序解压缩下载的 LEAPS-UWBS-Firmware-v1.0.0.zip file.
打开你喜欢的终端应用程序.
在 linux 或 macOS 上,类似 Terminal 应用程序.
在 Windows 上,类似 Powershell 应用程序.
导航到包含解压缩软件包的文件夹.
安装 python 依赖项.
$ pip install pyserial libusb tqdm
可以选择使用两个 port 之一进行更新.
如果使用 USB-C Data Port 1 ,你可以独立更新 ELDR 二进制文件和 MAIN 二进制文件. 相反,如果使用 USB-C Data Port 2,则可以同时连续更新多个设备.
使用 USB-C 数据线连接设备的 USB-C Data Port 1.
运行以下命令更新 ELDR 和 MAIN 二进制文件.
~/LEAPS-UWBS-Firmware-Serial-COM$ sudo python3 ./udk1-leaps-uwbs-serial-com.py --main ./udk1-leaps-uwbs-fira-v0.15.0-rc8.bin --eldr ./udk1-leaps-uwbs-eldr-v0.15.0-rc8.bin 03:11:55 Device 01/02 (SerialNumber=3DB15A2CCB8053C8): Reset 03:11:55 Device 02/02 (SerialNumber=904AD29FD29D2452): Reset 15:12:15 Device 01/02 (SerialNumber=904AD29FD29D2452): Uploading MAIN: 100%|████████████████████████████| 716192/716192 [00:16<00:00, 44623.94it/s] 15:12:15 Device 02/02 (SerialNumber=3DB15A2CCB8053C8): Uploading MAIN: 100%|████████████████████████████| 716192/716192 [00:16<00:00, 44630.31it/s] 15:12:37 Device 01/02 (SerialNumber=904AD29FD29D2452): Uploading ELDR: 100%|████████████████████████████| 235748/235748 [00:05<00:00, 42419.44it/s] 15:12:37 Device 02/02 (SerialNumber=3DB15A2CCB8053C8): Uploading ELDR: 100%|████████████████████████████| 235748/235748 [00:05<00:00, 42498.01it/s] 03:12:43 Resetting devices
使用 USB-C 数据线连接设备的 USB-C Data Port 2. 运行以下命令更新 ELDR 或 MAIN 二进制文件:
注解
可能需要安装 udev 规则才能通过 USB-C Data Port 2 更新固件. 可以参考类 Debian 发行版的 udev 规则安装.
~/LEAPS-UWBS-Firmware-Serial-COM$ python3 ./udk1-leaps-uwbs-serial-com.py -d /dev/ttyACM0 --eldr ./udk1-leaps-uwbs-eldr-v0.15.0-rc8.bin 02:54:30 Resetting device 02:54:33 Uploading file /home/leaps/LEAPS-UWBS-Firmware-v0.15.0/LEAPS-UWBS-Firmware-Serial-COM/udk1-leaps-uwbs-eldr-v0.15.0-rc8.bin (235748 bytes) 100%|████████████████████████████| 235748/235748 [00:28<00:00, 8129.43it/s] 02:55:07 Ok (upload time = 34.70 seconds) 02:55:10 Resetting device ~/LEAPS-UWBS-Firmware-Serial-COM$ python3 ./udk1-leaps-uwbs-serial-com.py -d /dev/ttyACM0 --main ./udk1-leaps-uwbs-fira-v0.15.0-rc8.bin 02:56:25 Resetting device 02:56:28 Uploading file /home/leaps/LEAPS-UWBS-Firmware-v0.15.0/LEAPS-UWBS-Firmware-Serial-COM/udk1-leaps-uwbs-fira-v0.15.0-rc8.bin (716192 bytes) 100%|████████████████████████████| 716192/716192 [01:27<00:00, 8175.81it/s] 02:58:11 Ok (upload time = 102.74 seconds) 02:58:14 Resetting device
等待更新完成.
更新完成后,板子会自动重置.
设备成功更新了固件. 享受最新的功能和改进.
准备设置
至少一个设备.
一个软件包包含一个脚本和一个二进制文件,用于更新.
已安装 OpenOCD.
逐步说明如何通过 OpenOCD (Open On-Chip Debugger) 进行更新:
安装 OpenOCD 调试器.
在 Windows 上安装 OpenOCD
下载适用于 Windows 的二进制压缩文件.
解压缩到
C:\xpack-openocd-0.11.0-1
文件夹.添加路径:
C:\xpack-openocd-0.11.0-1\bin
到你的 Windows 用户路径环境变量.
在 Linux 或 Mac OS 上安装 OpenOCD.
下载用于 Linux 的二进制压缩包 <https://github.com/xpack-dev-tools/openocd-xpack/releases>`_ .
解压缩包并安装到本地.
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
检查 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
下载并解压缩软件包到你的电脑. 使用 WinZip 或 7-Zip 等程序解压缩下载的 LEAPS-UWBS-Firmware-v1.0.0.zip file.
打开你喜欢的终端应用程序.
在 linux 或 macOS 上,类似 Terminal 应用程序.
在 Windows 上,类似 Powershell 应用程序.
导航到包含解压缩软件包的文件夹.
cd 到 /path/to/LEAPS-UWBS-Firmware-OpenOCD.
使用 USB-C 数据线将 USB-C Data Port 2 的设备连接到 PC.
执行脚本自动更新固件.
在 linux 或 macOS 上,使用 reflash-leaps-rtls-2ab.sh 命令.
在 Windows 上,使用 reflash-leaps-rtls-2ab.bat 命令.
./reflash-leaps-rtls-2ab.sh 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 DEPRECATED! use 'adapter speed' not 'adapter_khz' set_test_mode Info : Using CMSIS-DAPv2 interface with VID:PID=0x0d28:0x0204, serial=01100E003602002e003f4146570120313238 Info : CMSIS-DAP: SWD Supported Info : CMSIS-DAP: FW Version = 2.1.0 Info : CMSIS-DAP: Serial# = 01100E003602002e003f4146570120313238 Info : CMSIS-DAP: Interface Initialised (SWD) Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 Info : CMSIS-DAP: Interface ready Info : High speed (adapter speed 10000) may be limited by adapter firmware. Info : clock speed 10000 kHz Info : SWD DPIDR 0x2ba01477 Info : nrf52.cpu: hardware has 6 breakpoints, 4 watchpoints Info : starting gdb server for nrf52.cpu on 3333 Info : Listening on port 3333 for gdb connections target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x000031ec msp: 0x20003488 target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc Info : nRF52840-CKAA(build code: D0) 1024kB Flash, 256kB RAM auto erase enabled wrote 1048576 bytes from file leaps-rtls-all-2ab-v0.14-rc25.hex in 38.776192s (26.408 KiB/s)
更新完成后,设备会发出哔哔声,表示更新成功. 作为更新过程的一部分,电路板会自动复位.
设备成功更新了固件. 享受最新的功能和改进.
故障排除
如果出现 “错误:无法找到控制核心的 MEM-AP”.
请执行以下命令还原:
openocd -f ./openocd-swd-nrf52.cfg -c "init;nrf52833_workaround;exit_debug_mode;shutdown;sleep 250"
然后继续执行``./reflash-leaps-rtls-2ab.sh``.
注解
如果您对我们的产品有任何意见或问题,我们鼓励您访问我们的 LEAPS 论坛.
有关已知限制和问题列表的详情,请参阅 @Todo: will be correct soon 部分.