-
Notifications
You must be signed in to change notification settings - Fork 200
Description
Hi all,
I'm trying to bring up a the LiteX VexRiscv SoC on a ZCU104 board and running Linux on it, following the instructions from this repo. I’ve managed to build everything (Linux and SoC) from scratch. I'm not sure yet, but I believe most steps completed successfully—however, it seems like I’m still unable to connect to the running Linux system on the board (or maybe download the Linux image on the SoC).
What I’ve Done So Far
- Followed the instructions from this repo.
- Successfully built both the LiteX VexRiscv SoC and the Linux system.
- Simulated the design on my laptop using
./sim.py— Linux boots up fine in simulation. - Programmed the ZCU104’s PL using Vivado Hardware Manager — after JTAG programming, I see the expected LED pattern blinking (some sort of circular blinking).
Where I’m Stuck
I’m trying to connect to the Linux console via litex_term, but I get no output at all. So right now I can't tell:
- Whether the LiteX VexRiscv SoC is actually running in the PL.
- Whether Linux has booted at all.
My Assumption (but not 100% sure)
As far as I understand, all the main peripherals on the ZCU104 board—RAM, USB, SD card, Ethernet, UART-to-USB—are connected to the PS side. The LiteX VexRiscv SoC and its Linux system, however, run on the PL side.
So I’m guessing the PL design is not able to access memory or communicate through UART unless the PS is set up to act as a bridge or provide access. But I don’t know how to configure this correctly.
Specifically:
- How can I configure the PS side (e.g. boot mode, FSBL, interconnect) to let the PL-hosted Linux use memory or peripherals?
- How can I route the LiteX UART input/output (liteuart) to a UART/USB port on the board that I can connect to via
litex_term?