Hardware deployen wie Software: unsere offene Zynq-Pipeline
Ein REST-Endpunkt auf dem Board, ein POST mit dem Bitstream, und das FPGA daneben führt das Design aus. So bringen wir Zynq-SoCs in Betrieb.
Ein Zynq-7020 ist ein halber Computer und ein halbes FPGA auf einem Die. Der ARM-Teil kann Linux, der FPGA-Teil lässt sich zur Laufzeit in unter einer Sekunde umkonfigurieren. Die meisten Teams programmieren ihn trotzdem wie einen Mikrocontroller aus den Neunzigern: Kabel, Herstellertool, Ritual.
Wir gehen einen anderen Weg und dokumentieren ihn öffentlich an einem ALINX AX7020. Ziel ist eine REST-API auf dem Board, an die man einen Bitstream schickt, als letzter Schritt einer Hardware-CI-Pipeline. Der Weg dahin hat fünf Stufen: mainline U-Boot über JTAG ohne FSBL und ohne serielles Kabel, ein selbstgebautes Yocto Linux im QSPI-Flash, das seine Updates selbst holt, dann FPGA-Manager, API und Pipeline.
Die Stufen eins bis drei sind fertig und beschrieben, inklusive der Stellen, an denen es unbequem wurde, etwa ein JTAG, das das Board ohne Strom erkennt. Genau diese Arbeit bieten wir als Leistung an: Software-Bring-up für Zynq-SoCs mit U-Boot, Device Tree und Yocto mit SBOM, ohne Abhängigkeit vom Vendor-Workflow.
Konzept und die einzelnen Stufen stehen im Blog. Wer ein eigenes Zynq-Design in Betrieb nehmen will, spart sich mit dieser Reihe einige Wochen.