Flash 工具 — BKFIL (bk_loader) Q&A
2025-11-14
此页面列出了使用 BKFIL (bk_loader) 刷写 FGM842D 固件时遇到的常见问题、快速诊断和建议修复。如果您仍然无法解决问题,请收集末尾列出的信息并升级到测试实验室。
Q1 — 刷写工具找不到 COM 端口 / "port not found"
A:
检查驱动和电缆
- 在 Windows 上确保安装了 CH340/CP210x 驱动。如果刚安装驱动,请重启。
- 尝试不同的 USB 电缆或 USB 端口。最好使用支持数据传输的电缆(不是仅供电)。
验证设备在 OS 中出现
- Windows:检查设备管理器 -> 端口 (COM & LPT)。
- Linux:插入电缆后运行
dmesg | tail以查看 ttyUSBx/ttyACMx 分配。
权限问题 (Linux)
- 将您的用户添加到
dialout组或为 bk_loader 运行sudo。示例:sudo ./bk_loader ...或sudo usermod -aG dialout $USER然后重新登录。
- 将您的用户添加到
Q2 — Flash 失败,显示 "sync" / "failed to connect" / 超时
A:
检查引导引脚/自动引导信号
- BK loader 通常需要目标处于引导加载程序模式。确认开发板自动断言 RTS/DTR 或具有正确的 BOOT 引脚。
尝试较低波特率
- 如果非常高的速率失败,使用保守的波特率(例如,115200 或 921600)。使用命令行
-b选项设置波特率。
- 如果非常高的速率失败,使用保守的波特率(例如,115200 或 921600)。使用命令行
确保没有其他应用程序使用端口
- 在运行 bk_loader 之前关闭串口终端(minicom/putty)。
Q3 — 擦除 / 写入错误或 "verify failed"
A:
确认固件文件和模板
- 验证二进制文件(MD5/SHA256)并确保
all.bin/模板与您的板使用的设备映射匹配。
- 验证二进制文件(MD5/SHA256)并确保
在下载前使用擦除
- 如果残留数据导致问题,尝试
bk_loader erase然后download。
- 如果残留数据导致问题,尝试
检查电源稳定性
- 确保 DUT 具有稳定的电源源,并且在写入期间不会掉电。
Q4 — 在 Windows 或 Linux 上运行 bk_loader 时 "Permission denied"
A:
在 Windows 上:以管理员身份运行工具。
在 Linux 上:命令前缀
sudo或修复设备权限(chmod/udev规则或添加到dialout)。
Q5 — 安全引导 / 密钥注入错误
A:
验证密钥文件和语法
writekey和--aes_key_path选项需要正确的 JSON/密钥文件和路径。使用绝对路径以避免混淆。
检查 bk_loader 版本兼容性
- 某些密钥注入选项仅在较新的 bk_loader 版本中支持。使用与供应商说明匹配的工具版本。
权限和安全引导标志
- 失败时,检查文件权限是否允许 bk_loader 读取密钥,以及安全引导标志是否按要求设置。
Q6 — 刷写后板立即重启或引导到错误模式
A:
检查分区/模板配置
- 不正确的分区表或
all.bin偏移可能覆盖引导加载程序或配置区域。
- 不正确的分区表或
验证引导模式引脚
- 确保选择正常引导与下载的引脚在刷写后处于正常位置。
Q7 — CLI 给出神秘的 JSON / 配置错误
A:
验证 JSON 文件
- 如果使用自定义读取/擦除 JSON,验证 JSON 语法(例如,
jq . config.json)。
- 如果使用自定义读取/擦除 JSON,验证 JSON 语法(例如,
使用示例配置
- 从供应商提供的示例 JSON 文件开始,以确保正确的键和结构。
Q8 — 长刷写时间或在下载期间停滞
A:
检查波特率和流控制
- 高波特率与不稳定的 USB 或劣质电缆可能停滞。尝试较低波特率并启用硬件流控制(如果支持)。
尝试不同的主机机器 / USB 控制器
- USB 控制器不同;尝试另一台 PC 或带电源的 USB 集线器。
升级时收集什么
- OS 和版本 (Windows/Linux/macOS)
- bk_loader / BKFIL 版本和使用的确切命令行
- 完整控制台输出(捕获 stdout/stderr) — 如果可用,使用详细标志运行
- dmesg / 设备管理器截图显示 COM 分配
- 固件文件名和校验和 (MD5/SHA256)
- 板修订和引导引脚的原理图快照
- 电源详细信息(电压、电流限制)