10-11-2019 08:07 AM
Can you please help me out with a Vivado 2019.1 Issue. I am trying to uitlize the ILA within my design, to debug my application. Once I am logged into my system and compiling the application on the target the issue occurs. I have added an ILA-IP-Core into my design and using the hardware manager, I am trying to flash the PL, and afterwards analyze the AXI-bus accesses. The ILA is connected via the autoconnect to my PL-hardware.
After synthesis and writing the Hardware to Target using JTAG, the Linux System is not reachable with the following output:
mmc1: sdhci: ============ SDHCI REGISTER DUMP =========== mmc1: sdhci: Sys addr: 0x00000008 | Version: 0x00001002 mmc1: sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000000 mmc1: sdhci: Argument: 0x00010000 | Trn mode: 0x00000023 mmc1: sdhci: Present: 0x01f70000 | Host ctl: 0x0000001b mmc1: sdhci: Power: 0x0000000f | Blk gap: 0x00000080 mmc1: sdhci: Wake-up: 0x00000000 | Clock: 0x00000607 mmc1: sdhci: Timeout: 0x00000009 | Int stat: 0x00000001 mmc1: sdhci: Int enab: 0x02ff008b | Sig enab: 0x02ff008b mmc1: sdhci: AC12 err: 0x00000000 | Slot int: 0x00000001 mmc1: sdhci: Caps: 0x31e8c881 | Caps_1: 0x00002007 mmc1: sdhci: Cmd: 0x00000d1a | Max curr: 0x00000000 mmc1: sdhci: Resp: 0x00000900 | Resp: 0x0074877f mmc1: sdhci: Resp: 0x325b5900 | Resp: 0x00000900 mmc1: sdhci: Host ctl2: 0x00000000 mmc1: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x000000006fc7920c mmc1: sdhci: ============================================ mmc1: Timeout waiting for hardware cmd interrupt.
Does anyone know why this occurs, since there shouldnt be an issue between the sd-controllers and the jtag right?
It should be possible to use JTAG and the host operating right?
Details: Target is a UltraZed-EG from Avnet, Linux 4.19.0, Debian-RootFS, boot using microsd, PL is reading bytes from ddr and writing bytes back to ddr.
Help is appreciated,
10-18-2019 11:03 AM
So do you have some logic in the PL side and also Linux booting on the PS side?
Normally, for this process, what you should be doing is when you use the SDK to create the SD card image for the Linux, you can already provide the PL bitstream as well. This way, the PS is going to boot first and right after the PL will be configured, all straight from the SD card.
Please take a look at the blog https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Booting-a-PL-design-from-a-PS-attached-SPI-flash-in-Zynq/ba-p/1015804 for an idea of how it's normally done. In this blog I used a QSPI memory instead of SD card, but the process is basically the same.