Issue will booting ZCU106

45 views
Skip to first unread message

rohith kapse

unread,
Dec 8, 2024, 9:49:09 AM12/8/24
to corund...@googlegroups.com, ulrich.l...@missinglinkelectronics.com
I am working on a project using ZynqMP SoC (ZCU106) with the Corundum project (not PCIe-based). However, I am encountering multiple issues:

Problems Faced:

  1. FW-ID Block Error:

    • During boot, I observe an "FW-ID block not found" error in the dmesg logs.
  2. Mismatch in Register Values:

    • When using U-Boot or the devmem tool in Linux to access the FPGA registers (e.g., starting at 0xA0000000), the values returned are incorrect.
    • However, when I check the same registers in Chipscope, the values appear to be correct, indicating that the FPGA design is functioning properly.
  3. FSBL and Bitstream Issues:

    • After building the Corundum project (cloned from the master branch on GitHub) and including the bitstream, the board does not boot. Instead, a RED LED lights up, indicating a critical failure.
    • To recover, I replaced the FSBL with another one, allowing the board to boot. However, the "FW-ID block not found" error persists.
  4. SDK vs U-Boot/Linux:

    • When I use the SDK (XSCT) to access the registers, the values are correct. However, these same registers return incorrect values when accessed via U-Boot or Linux (devmem).
--
Regards
Rohith Kapse C
Dmesg.txt
devmem_picture.jpg
U-boot_picture.png
SDK_picture.png

Ulrich Langenbach

unread,
Dec 10, 2024, 3:25:11 AM12/10/24
to rohith kapse, corund...@googlegroups.com

Hi Rotith,

thanks for trying out corundum and also for reaching out!

Did you make sure to build the PL portion with the same toolchain version as the PS portion?


Did you update the hardware description from the built vivado project prior to building the petalinux project? The following DMESG log line, without a following list of found register blocks, indicates that no register block could be found at the expected address, at all. This means there is a mismatch at least for the device address between the representation in the device tree and the implementation in the bitstream. The device tree in the petalinux project gets automatically updated when updating the petalinux project based on the vivado build.

"[ 6.623183] mqnic a0000000.ethernet: Device-level register blocks:"


To update the petalinux project from your vivado project build results run the following command within the petalinux project and environment:

"HDF=<path/to/hdf or xsa file> make"

or the more specific update make target

"HDF=<path/to/hdf or xsa file> make gethdf".

See also the respective Makefile for reference.


Best Regards,

Ulrich

-- 
Ulrich Langenbach
Mail: ulrich.l...@missinglinkelectronics.com
Skype: ulangenbach
Hangout: ulrich.l...@missinglinkelectronics.com
Tel.: +49 731 141 149 30

Missing Link Electronics GmbH
Industriestraße 10
89231 Neu-Ulm

http://www.missinglinkelectronics.com
Geschäftsführer: Dr. Endric Schubert
Amtsgericht Memmingen HRB 15061
Reply all
Reply to author
Forward
0 new messages