Open ruisukun21 opened 2 years ago
I tried the solution in https://github.com/litex-hub/litex-boards/pull/423#issuecomment-1245813656, but now I get 100 critical warning and led chaser is not working. Note: I get led chaser when I use --cpu-type=vexriscv
.
CRITICAL WARNING: [Common 17-69] Command failed: 'X' is not a valid site or package pin name. [~/litex_install/litex-boards/build/digilent_arty_z7/gateware/digilent_arty_z7.xdc:5]
Critical warning may be neglected: it's okay it may be required to modify xdc filling to simply avoid to add lines related to PS part. I have opened a PR (#435) to add flash region (and to fix this issue).
For led chaser: Your board is configured (JP4) to boot on JTAG? I have the same issue because the CPU is not configured -> clock from PS may not configured. When I swith to SDCard with a FSBL it's working.
The BIOS part has to be added. I will do that ASAP.
Thank you very much for your reply.
Your board is configured (JP4) to boot on JTAG?
yes.
When I swith to SDCard with a FSBL it's working.
I see. I am new to litex. It is not clear to me how to prepare the SDcard with a FSBL . could you point me in the right direction?
Allow me to ask here something a little bit off topic.
I wonder why no_uart
flag/argument is forced to true with set_defaults (as its action field is store_true, it should be False by default):
parser.set_defaults(no_uart=True)
(https://github.com/litex-hub/litex-boards/blob/master/litex_boards/targets/digilent_arty_z7.py#L110, https://github.com/enjoy-digital/litex/blob/master/litex/soc/integration/soc_core.py#L344)
Also wonder, why uart is forced to False for Zynq cpus kwargs["with_uart"] = False
(https://github.com/litex-hub/litex-boards/blob/master/litex_boards/targets/digilent_arty_z7.py#L65).
Is there a limitation that must be resolved for using uart?
Thank you very much for your reply.
Your board is configured (JP4) to boot on JTAG?
yes.
When I swith to SDCard with a FSBL it's working.
I see. I am new to litex. It is not clear to me how to prepare the SDcard with a FSBL . could you point me in the right direction?
For this type of board/device I, usually, build a system using buildroot. Currently arty z7 is not officially supported but you could use this repository. You have to do:
git clone https://git.busybox.net/buildroot
git clone https://github.com/trabucayre/buildroot-external.git
source buildroot-external/sourceme.ggm
cd buildroot
make digilent_arty_z7_defconfig
make
system image is located under output/images/ and called sdcard.img
To flash your sd-card:
sudo dd if=output/images/sdcard.img of=/dev/sdXX bs=4M
Keep in mind to double (triple) check your /dev/sdxxx to avoid to destroy your hard drive content.
Allow me to ask here something a little bit off topic. I wonder why
no_uart
flag/argument is forced to true with set_defaults (as its action field is store_true, it should be False by default):parser.set_defaults(no_uart=True)
(https://github.com/litex-hub/litex-boards/blob/master/litex_boards/targets/digilent_arty_z7.py#L110, https://github.com/enjoy-digital/litex/blob/master/litex/soc/integration/soc_core.py#L344) Also wonder, why uart is forced to False for Zynq cpuskwargs["with_uart"] = False
(https://github.com/litex-hub/litex-boards/blob/master/litex_boards/targets/digilent_arty_z7.py#L65). Is there a limitation that must be resolved for using uart?
UART interface is connected to PS (CPU) side. If you want to use a softcore you have to connect an external USB<->UART device.
It worked!! @trabucayre Thank you very much for your help. The first time I attempt your instructions, I got a problem with linux sources and I solved it following the fix of this link: https://lore.kernel.org/buildroot/20221004085922.3c755666@gmx.net/ But after that fix, I got a problem related to vivado. Today (it's been a while), I tried again. The repository was updated at the beginning of the make script and it ran until the end. I flashed the sdcard and linux started working after resetting the FPGA board ! Thank you so much!
Happy this could help. If my buildroot-external repo needs some fix don't hesitate to open an issue or a PR :) It's interesting I haven't seen this issue (but I usually uses buildroot master instead of a release).
I have also updated this board: now it's possible to use LiteX bios instead of Linux.
related issue #358