蓝牙键盘固件更新教程

备注

本教程适用于nRF52系列的蓝牙键盘,包括Lot60-BLE, LKB-Core等。 对于使用WCH系列芯片的蓝牙键盘,如Lot60-Lite,请查阅 蓝牙键盘固件更新教程(WCH系列芯片)

概述

你可能需要升级固件来获得新功能或者修复已有的BUG,可供更新的固件可以在产品页面最下方的固件发布处找到。

此系列键盘的固件一般分为蓝牙固件和USB固件。蓝牙固件的文件名形如 [键盘名称]_nrf52_[编译日期]_[Git版本].zip ,USB固件的文件名形如 [键盘名称]_ch554_[编译日期]_[Git版本].bin (部分版本的文件后缀名是hex)。

警告

USB固件和蓝牙固件有着一一对应的关系,必须同时更新。若蓝牙固件和USB固件版本不匹配,则可能出现USB按键无法输入的问题。

如果当前固件版本没有包含USB固件或蓝牙固件,则可以只更新一个。 如果你在进行跨版本升级,请确认两个固件都升级到最新的版本。

USB固件和蓝牙固件更新的先后顺序没有硬性要求,个人建议可以先更新蓝牙固件。

名词解释

  • DFU模式:蓝牙芯片的一种工作模式,用于使用蓝牙升级蓝牙固件。

  • ISP模式:USB芯片的一种工作模式,用于升级USB固件。

  • 板载调试器:设备自带的烧录蓝牙固件的工具。

烧录工具箱

备注

我们推荐使用烧录工具箱更新固件。

详细的使用说明请参见 固件烧录工具箱 页面

使用 DFU 模式更新蓝牙固件

警告

刷入不正确的固件可能会使得你的键盘损坏! 请在更新前确认升级包是由可信的人员提供的,并仔细阅读固件发布页面的详细说明,了解可能出现的问题。

升级包可能包含蓝牙栈(SoftDevice)或引导程序(Bootloader),刷入错误的蓝牙栈或引导程序将会使固件更新功能完全不可用。在这种情况下,您必须使用SWD接口烧录正确的蓝牙栈、引导程序和程序,才能使键盘恢复正常工作。

如果您刷入了错误的程序(Application)而无法进入DFU模式,请参考产品页面的相关说明, 强行进入DFU模式 然后更新。

通常更新方法

  1. 使用手机安装并打开 nRF Connect [1] 程序

  2. 点击nRF Connect右上角的Scan扫描蓝牙设备,这时候应该能够见到你的蓝牙键盘

  3. 点击CONNCET按钮,等待连接成功

  4. 点击右上角的DFU按钮,选择第一个Distribution packet(ZIP),然后选择刚刚下载的蓝牙固件包(对于IOS,则是滑动到最右边的页面,点击DFU按钮)

  5. 静静的等待进度条(图)到100%即可

刷新完成后可能要手工在手机或电脑上取消配对并重新配对才可继续使用

特殊更新方法

如果在点击DFU后出现问题,无法继续刷新。可以在请参考产品页面的相关说明,进入DFU模式后尝试以下步骤。

  1. 点击nRF Connect右上角的Scan扫描蓝牙设备,这时应该会找到一个叫做DfuTarg的蓝牙设备

  2. 按照上面的3-5步再做一遍。

常见问题

  1. Q: 我在点击DFU后,没有出现固件刷新进度的界面. A: 尝试使用特殊更新方法更新

  2. Q: 我不小心进入了DFU模式,要怎么退出呢? A: 等待90秒后,DFU模式会自动退出

更新USB固件

警告

刷入不正确的USB固件可能使你的键盘的USB功能工作不正常! 请在更新前确认升级包是由可信的人员提供的,并仔细阅读固件发布页面的详细说明,了解可能出现的问题。

若在更新完毕后发现USB功能不可用,可以参考下面的刷新说明重新刷新。

更新方法

  1. 至WCH官网下载 固件更新工具 [2]

  2. 打开固件更新工具,切换至“8位ch55x系列”,将芯片型号改为“CH552”,并在底下的“用户程序文件中”选择你要更新的USB固件

  3. 参考产品说明, 进入USB ISP模式 ,此时,设备列表中会出现一个可选择的设备并会自动选中。

  4. 点击下载按钮。下载完毕后,将键盘的USB断开并重新连接,即可升级完毕。

备注

你也可以使用 烧录工具箱 来更新 USB 固件。

使用板载调试器强制更新蓝牙固件

备注

仅部分硬件配备了板载调试器,并且在部分产品上可能需要手动启用板载调试器。请参考产品页面以获取更多信息。

备注

以下教程是手工安装 PyOCD 并强制更新固件的教程,你也可以使用 烧录工具箱 来强制更新固件。

环境配置

Windows

  1. 在应用商店搜索并安装Python3(Python3.7或Python3.8均可)

  2. 右键点击Windows徽标,选择“Windows PowerShell”

  3. 输入 pip install pyocd,然后回车,等待安装完毕

  4. 输入 pyocd list 确认安装成功

Linux

备注

当前版本(0.25.0)的PyOCD在Linux下对于设备描述符的 限制过多,导致无法正确识别到此调试器。

你可以尝试修改PyOCD的相关文件,或等待官方修复此问题。

  1. 打开终端,输入 sudo apt install python3 ,然后回车(Arch系、RedHat系请自行修改命令)

  2. 输入 sudo pip3 install pyocd ,然后回车,等待安装完毕

  3. 输入 pyocd list 确认安装成功

MacOS

没用过,不知道怎么装。请参考Linux的安装方法进行配置。

更新固件

  1. 确保你下载的是调试器用的HEX格式的固件。

  2. 将键盘接入电脑,输入 pyocd list 并回车,这时应该会见到你的键盘

  3. 输入 pyocd flash -t nrf52 [filename.hex] (将 [filename.hex] 替换为你下载的固件的文件名)并回车,等待刷入完毕

  4. 刷新完毕后,拔下电池和USB线,然后重新插上。

常见问题

  1. 提示 “No ACK Received”:板载调试器没有正确连接到蓝牙芯片。请参考产品页面,检查你的板载调试器是否正常配置。

  2. 提示 “Waiting for a debug probe to be connected”: 无法找到板载调试器。请确认你的键盘有板载调试器功能并刷新了正确的 USB 固件。

散件的固件烧录指南

散件没有内置任何固件,所以需要你手动烧录固件。烧录固件需要使用以下顺序:

  1. 先烧录USB固件,确保USB正常工作

  2. 使用板载调试器烧录蓝牙固件

可以使用上面的烧录工具箱一键烧写。