Skip to content
On this page

使用 USB-Blaster 烧录 ChisFlash 固件

ChisFlash 是一个开源的 GBA 烧录卡项目,使用 FPGA/CPLD 作为核心控制器。 本文记录的是 EPM240 芯片的 ChisFlash v0.1青春版,更新固件时需要通过 JTAG 接口将固件写入芯片。

USB-Blaster 是连接电脑与目标板 JTAG 接口的下载器,电脑端使用 Quartus Programmer 识别设备并完成烧录。 本文使用的 USB-Blaster 为网上购买的 CH552G 芯片廉价国产替代版,可以使用 Type-C 数据线连接电脑,价格约 5 元包邮。

USB-Blaster 图片

安装 EPM240 烧录软件

在电脑上安装 Quartus Programmer。 Quartus Programmer 支持 Windows、Linux 不支持 macOS,本文使用 Windows 10 系统进行安装,安装的版本为 Quartus Programmer 13。 安装时至少需要包含 Programmer 和 USB-Blaster 驱动;如果已经安装 Quartus,可以直接使用其中的 Programmer 工具。

具体的下载和安装过程在此不赘述,安装完成后可以在开始菜单中找到 Quartus Programmer。

安装完成后连接 USB-Blaster,打开 Quartus Programmer,点击 Hardware Setup,在硬件列表中选择 USB-Blaster [USB-0]。如果列表中没有 USB-Blaster,先检查驱动是否安装成功,再检查 USB 线和下载器状态。

安装 USB-Blaster 驱动

  1. 将 USB-Blaster 连接到电脑,右键点击开始菜单,打开 设备管理器

  2. 其他设备通用串行总线控制器Altera USB-Blaster 一类的设备中找到 USB-Blaster。设备名称可能显示为未知设备,并带有黄色感叹号。

  3. 右键点击该设备,选择 更新驱动程序,再选择 浏览我的电脑以查找驱动程序

  4. 将驱动目录指定为 Quartus 的安装目录下的 quartus\drivers\usb-blaster。以默认安装位置和 Quartus Programmer 13 为例,目录通常是:

    text
    C:\altera\13.0\quartus\drivers\usb-blaster

    如果安装的是其他版本或自定义了安装目录,应以电脑上的实际路径为准。也可以在驱动更新向导中勾选 包括子文件夹 后选择 quartus 目录。

  5. 安装完成后,在设备管理器中确认设备已正常显示,并重新打开 Quartus Programmer,在 Hardware Setup 中选择 USB-Blaster [USB-0]

更新 USB-Blaster 固件

部分 CH552G 版的 USB-Blaster 出厂固件与 Quartus Programmer 自带的驱动不兼容,可能导致无法识别要烧录的设备或 Quartus Programmer 软件操作时卡死,此时需要先更新 USB-Blaster 固件。

参考资料:

  1. 下载 USB-Blaster_CH552 固件。
  2. 下载和安装 WCHISPTool 工具,具体下载和安装过程不再赘述。安装完成后打开 WCHISPTool,选择 CH55x 对应的 USB 下载方式。
  3. 将下载好的固件添加到 WCHISPTool 中。
  4. 将 USB-Blaster 断开与电脑的连接后,用金属短接空余的两个焊盘,连接电脑后再松开短接,此时 WCHISPTool 会识别到接入的 CH552G 设备。
  5. 点击开始下载,等待提示成功后再拔出 USB-Blaster。

连接 ChisFlash

连接前先断开 USB-Blaster 与电脑的 USB 连接。按照项目提供的 JTAG 定义连接 TCKTMSTDITDOVCCGND

USB-Blaster 的 JTAG 接口为 10 针排针,其引脚定义如下:

A侧B侧
1. TCK2. GND
3. TDO4. VCC
5. TMS6. NC
7. NC8. NC
9. TDI10. GND

其中带三角标记的是 USB-Blaster 的 1 脚,另外一侧与其相邻的为 2 脚。

USB-Blaster 与 ChisFlash 的连接如下图所示:

连接 JTAG 排线

连接 ChisFlash

为了省事可以使用 USB-Blaster 直接给 ChisFlash 供电,下图将 VCC 直接与 CH552的 3.3v 引脚相连。

连接供电引脚

烧录 ChisFlash 固件

固件 pof 文件可以在 项目 releases 下载,或者在 ChisFlash 交流 QQ 群下载。

  1. 目标板接线完成后,将 USB-Blaster 连接到电脑,打开 Quartus Programmer。
  2. Hardware Setup 中选择 USB-Blaster [USB-0],点击 Auto Detect 检查 JTAG 链是否能识别目标 FPGA。
  3. 点击 Add File,选择 ChisFlash 项目提供的目标固件文件。这里选择的是目标 FPGA 的固件,不是上一步使用的 USB-Blaster 固件。
  4. 确认设备型号、文件和 JTAG 链顺序正确后,勾选 Program/ConfigureVerify。如果需要先擦除或执行空白检查,按项目说明选择对应操作。
  5. 点击 Start,等待编程和校验完成。底部消息区域出现 Successfully performed operation(s),并且进度显示 100% (Successful) 后,才算烧录完成。

Quartus Programmer 烧录并校验成功

问题排查

  1. Auto Detect 操作卡死。

    • 更新 USB-Blaster 固件。
  2. Auto Detect 无法识别到设备。

    • 根据电路图使用万用表测量 ChisFlash 的 JTAG 接口与 EPM240 芯片对应的几个引脚是否连通。
    • 根据引脚定义检查 USB-Blaster 与 ChisFlash 的 JTAG 接口的接线是否正确。
    • 检查 ChisFlash 的供电是否正常。
  3. Auto Detect 识别到未知设备,并提示连接问题。

    • 检查 USB-Blaster 与 ChisFlash 的接线是否错乱。

社区

《ChisFlash 复古游戏机DIY交流》QQ 群:771688226