1.4 KiB
1.4 KiB
远程升级 / Flash 布局
这块内容的唯一真源是 fpga_update skill。 要生成 _update.mcs 或者把它烧进板子,
直接用那个 skill,别在这里另起炉灶。
~/.claude/skills/fpga_update/SKILL.md—— 流程~/.claude/skills/fpga_update/references/quickboot.md—— flash 布局、切换字兜底、-imagesize 64的由来~/.claude/skills/fpga_update/references/protocol.md—— TCP 1234 协议、以及 DPD 污染升级数据流的缺陷
三件容易记反的事:
- FPGA 的远程升级不走网页。 网页的 Remote Update 只认 imx6 的
*.tar.gz固件包;.mcs传上去会被check_package.sh直接删掉。FPGA 走 TCP 1234 的私有协议 (原厂工具tools/Xfpga_ru.exe,替代品fpga_update/scripts/fpga_ru.py)。 - 升级前必须关掉 DPD,否则 DPD 的 SPI1 流量会混进镜像,CRC 校验失败。
_update.mcs不能 JTAG 烧写,_initial.mcs也不能远程升级。首次装机 / 救砖走/fpga_flash(flash 型号w25q128bv,烧RU_golden/bitstream/golden_design_initial.mcs)。
调试期的第三条路
program_device 直接把 .bit 下到 FPGA,掉电即失。迭代验证用它最快 —— 不碰 flash,
配 .ltx 就能抓 ILA。功能确认后再走远程升级固化。
固化用的 bit 要去掉调试 ILA 重新实现:ILA 吃资源、恶化时序,还会和 imx6 抢寄存器总线。