Xilinx Zynq-7020 boot media
The Zynq-7020's processing system is a dual Cortex-A9: ARMv7-A, 32-bit. It is the host for the
StarForth v4 mesh (docs/v4.0.0/JUSTIFICATION.md §5, §8).
Boot chain: BootROM, then BOOT.BIN (U-Boot SPL with the board's ps7_init DDR and clock setup),
then U-Boot, then LithosAnanke. Everything is read from the SD card's FAT partition.
Status: no image yet. make boot_image TARGET=ZYNQ7020 stops with an error, because there is no
ARMv7 kernel port (kernel/src/arch/armv7: entry code, MMU, GIC, private timer). A trial
compile for Cortex-A9 built 147 of the 151 kernel and engine sources. The four that failed use
__int128 or have no ARMv7 branch: kernel/src/crypto/fe25519.c,
kernel/src/crypto/scalar25519.c, kernel/src/hal/hal.c and
v3/src/word_source/mixed_arithmetic_words.c.
BOOT.BIN depends on the exact board, because ps7_init holds that board's DDR timing.
The board: Puzhi PZ-StarLite (recorded 2026-10-28)
Captain Bob's board is a Puzhi (璞致) PZ-StarLite, Zynq-7020. From its hardware user manual and schematic (vendor material, not in this repo; see below):
| What | On the board |
|---|---|
| JTAG | On board: an FTDI FT232HL with a 93LC56B EEPROM, on its own USB-C port. FT232H JTAG is what the open-source tools drive (openFPGALoader, OpenOCD's ftdi driver): no adapter and no AMD tools. Expect FTDI 0403:6014 in lsusb. |
| Power | That same USB-C cable ("one cable for power and JTAG"), or 5 V on the 40-pin header -- one or the other. |
| Serial console | On board: a CH340E USB-UART on a second USB-C port, 3.3 V, to the PS UART (TX MIO11, RX MIO10). Linux's ch341 driver: /dev/ttyUSB0. |
| Boot mode | A jumper: JTAG, QSPI flash or SD card. |
| Ethernet | Two gigabit ports, RTL8211F over RGMII: one on the PS, one on the PL. |
| HDMI | Wired to the PL (bank 34): it shows nothing until a PL design drives it. |
| USB | A USB 2.0 host port (USB3320C PHY on the PS). |
| Memory | DDR3 on the PS. |
The bench needs only cables: two USB-C data cables (JTAG and power; serial), a microSD card and a reader, an Ethernet cable; a powered hub if a PC port cannot power the board.
The vendor's files are on Captain Bob's machine beside this checkout, in ~/CLionProjects/:
03.开机测试--Boot Test/ (a working BOOT.BIN and image.ub for this board -- its first-stage
loader carries this board's ps7_init), 04.硬件相关--Hardware/ (schematic, connector pin table,
form factor), 05.教程和源码--Course_Demos/ (the hardware user manual; FPGA, SDK, Linux, HLS and
PYNQ demos as .rar archives -- 2_SDK.rar is the likely home of ps7_init.c, not yet opened),
02.软件和驱动--Software Tools and Drivers/ (FTDI and CH341 drivers, PetaLinux installers).
Reusing the vendor's generated ps7_init is the route to a PS initialised without running
Vivado (no AMD tools, Captain Bob's ruling).