← 全部文章

像部署软件一样部署硬件:我们的开源 Zynq 流水线

· nabla B,波鸿 · 原文发布于

板上一个 REST 接口,一次 POST 上传比特流,处理器旁的 FPGA 即刻运行设计。这就是我们对 Zynq SoC 的启动调试方式。

Zynq-7020 是同一颗芯片上的半台计算机加半块 FPGA。ARM 部分运行 Linux,FPGA 部分可在运行时于一秒内重新配置。但大多数团队仍像对待九十年代的微控制器那样编程:一根线缆、一套厂商工具、一套固定仪式。

我们选择另一条路,并在 ALINX AX7020 上公开记录全过程。目标是板上运行一个接收比特流的 REST API,作为硬件 CI 流水线的最后一步。通往目标共五个阶段:无 FSBL、无串口线,仅通过 JTAG 加载主线 U-Boot;自行构建、驻留于 QSPI 闪存并能自行拉取更新的 Yocto Linux;然后是 FPGA 管理器、API 与流水线。

前三个阶段已经完成并写成文章,包括那些不顺利的地方,例如 JTAG 在板子未上电时也能“检测到”设备。这正是我们提供的服务:基于 U-Boot、设备树和带 SBOM 的 Yocto 为 Zynq SoC 做软件启动调试,不依赖厂商工作流。

概念与各阶段详情见博客。要为自己的 Zynq 设计做启动调试的人,可借这一系列节省数周时间。

ZynqFPGAU-BootYoctoJTAGBring-up

欢迎来到 nabla B。

您来自 Stephan Bökelmann 的博客 maxclerkwell.tech。nabla B 是他在波鸿的工程事务所,博客中描述的项目均通过该公司承接。这里有服务、团队、案例与联系方式。

返回博客