固件更新
本节介绍更新固件的方法. 我们支持多种不同的方式,例如 Bluetooth, MSD, WebUSB, Serial-COM 或 OpenOCD。
更多详细信息,请在下面选择您要使用的方法:
准备设置
至少一个设备。
在 Android 设备上安装了 LEAPS Manager 应用程序。
注解
确保更新过程中的连接,并避免在Bluetooth连接时移动太远。
固件更新速度取决于Bluetooth设备。 例如,Bluetooth 4.2 和Bluetooth 5.0 的数据传输速率分别为 1Mbps 和 2Mbps。
逐步说明如何通过Bluetooth进行更新:
1.打开 LEAPS Manager 应用程序,然后导航到 Demo Selector. 此外,你还可以导航到创建的网络,更新网络中的设备。
访问固件状态。点击应用程序中的 选项菜单 (表示为三个垂直点)。查找 固件状态 选项并选择它。
选择要更新的设备。
应用程序将提供可视化指标或进度条,显示更新的进行情况. 请耐心等待更新过程。
更新完成后,你会看到 状态已完成。 此外,设备会发出哔哔声,表示更新成功。 更新过程中,电路板会自动复位。
设备成功更新了固件. 享受最新的功能和改进。
准备设置
至少一个设备。
要更新的二进制文件。
关于如何通过 MSD 进行更新的分步说明
使用 USB-C 数据线将设备的 USB-C Data Port 2 连接到 PC。
连接后,LEAPS MSD 驱动器将出现在电脑上。 打开 LEAPS MSD 驱动器。
下载 LEAPS-UWBS-Firmware-v1.1.0.zip 文件到你的电脑. 使用 WinZip 或 7-Zip 等程序解压缩下载的文件内容。
找到位于
LEAPS-UWBS-Firmware-v1.1.0/LEAPS-UWBS-Firmware-OpenOCD/udk-leaps-uwbs-v1.1.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.1.0.zip file。
打开网站 DAPLink Flash 。
点击 Choose a firmware image 并转到
LEAPS-UWBS-Firmware-v1.1.0/LEAPS-UWBS-Firmware-OpenOCD/udk-leaps-uwbs-v1.1.0.hex
选择二进制文件。
点击 SELECT DEVICE 按钮,然后选择连接到 PC 的 DAPLink CMSIS-DAP 端口。
选择固件映像后,二进制文件闪存程序将开始。 在整个过程中,请确保硬件连接正常。
注解
可能会出现一些意外问题,请断开电路板与电脑的连接,然后重新开始。
在发出 Flash completed! (“刷新完成”) 之后. 电路板会自动复位,RGB LED 灯会亮起,硬件会发出哔哔声,表示更新成功。
设备成功更新了固件. 享受最新的功能和改进。
您需要:
至少一个通过 USB 端口连接的设备。
软件包中包含的脚本和固件二进制文件。
您系统上安装的 python3。
分步说明如何通过串行-COM 进行更新:
下载并解压缩软件包到你的电脑. 使用 WinZip 或 7-Zip 等程序解压缩下载的 LEAPS-UWBS-Firmware-v1.1.0.zip file。
打开你喜欢的终端应用程序。
在 linux 或 macOS 上,类似 Terminal 应用程序。
在 Windows 上,类似 Powershell 应用程序。
导航到包含解压缩软件包的文件夹。
安装 python 依赖项。
$ pip install pyserial libusb tqdm
如果 libusb
出现错误,请尝试以下操作 sudo pip install libusb --break-system-package
可以选择使用两个 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 ./udk-leaps-uwbs-serial-com.py --main ./udk-leaps-uwbs-fira-v0.15.0-rc8.bin --eldr ./udk-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 ./udk-leaps-uwbs-serial-com.py -d /dev/ttyACM0 --eldr ./udk-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/udk-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 ./udk-leaps-uwbs-serial-com.py -d /dev/ttyACM0 --main ./udk-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/udk-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(片上开放调试器)进行更新的分步说明
安装 OpenOCD 调试器。
在 Windows 上安装 OpenOCD
下载适用于 Windows 的二进制压缩文件。
解压缩到
C:\xpack-openocd-0.11.0-1
文件夹。添加路径:
C:\xpack-openocd-0.11.0-1\bin
到你的 Windows 用户路径环境变量。
在 Linux 或 macOS 上安装 OpenOCD。
下载用于 Linux 的二进制压缩包 。
解压缩包并安装到本地。
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.1.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 上,使用 udk-leaps-uwbs-firmware.sh 命令。
在 Windows 上,使用 udk-leaps-uwbs-firmware.bat 命令。
./udk-leaps-uwbs-firmware.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"
然后继续执行 ./udk-leaps-uwbs-firmware.sh
。