旧板子能正常工作,新板子是空的,这时怎么把程序迁移过去?本文记录一次“对拷”流程:通过读取旧板 Flash 中的配置数据,导出 .jic 文件,再写入到新板 Flash,实现新板上电即运行。

1. 核心思路:程序其实在 Flash 里

对很多 Cyclone 系列来说,现场“下载 FPGA 程序”本质是把配置数据写进板上的配置 Flash。因此只要能把旧板 Flash 的内容读出来,就能写进新板 Flash,达到复制效果。这次的测试板的硬件为 Cyclone III EP3C16Q240 + EPCS16 Flash

2. 动手前准备:硬件状态对齐

在开始读写 Flash 前,务必确认新旧板硬件状态完全一致,尤其是相关的短接点或 0Ω 电阻等。

3. 工具与环境:Quartus

流程基于 Quartus 的 Programmer,先把所有 Quartus 关掉,再打开 Quartus ➜ Tools ➜ Programmer(我用的是 Quartus 13.1)。确保下载器(如 USB-Blaster)在 Programmer 中可正常识别与通信。

4. Step A: 从旧板导出 .jic 文件(读出)

  1. 连接旧板下载器与电源
  2. 打开 Programmer:先点 Delete 清空条目,再点 Auto Detect 自动识别器件
  3. 选择正确的 FPGA 型号(例如 EP3C16)并确认
  4. 右键器件条目,选择 Add Flash Device…,添加正确的 Flash 型号(这里是 EPCS16)
  5. 勾选第二行 Examine(第一行的 Program/Configure 通常会自动勾选),点击 Start 开始拷出。经验判断:拷出大约 10 秒左右更像正常;如果快得离谱,那大概率有问题
  6. 选中第二行生成的 .jic 条目,点击 Save File 保存到电脑

5. Step B: 把 .jic 文件烧到新板(写入)

  1. 切换到新板,连接下载器与电源,Programmer 不用关
  2. Programmer 中先 Delete 所有条目,再点 Add File 把刚保存的 *.jic 加载进来
  3. 两行均勾选 Program/Configure,点击 Start 开始烧录,跑完进度条就完成了

标签: none

添加新评论