01-07-2021 03:57 AM
Stuck and confused with Vitis.
I could create the vivado project and export the xsa.
I could create the linux image, u-boot, fsbl, etc with petalinux from the hw above.
If I boot the board with the petalinux-created boot.bin and image.ub, it boots, so no problem with that.
Now, what I want is to create a Linux app to run on top of that hw + linux.
I created the platform project in Linux. In the linux domain tab there are some paths to fill. Here is where my confusion begins.
First, there is the option in Vitis to generate or not the boot components. First I chose not to (as I already have them, apparently)
Then, for Boot components directory and Linux Image directory, I set the same path, the images/linux folder in the petalinux project folder (I wonder why two paths for things that are together... anyways...)
For bif file, I create one with Xilinx > Create boot image. I filled it with fsbl, bitstream, pmufw, bl31 and u-boot from the images/linux petalinux folder (I wonder if this is correct as it looks redundant with specifying boot components path)
Build the vitis configuration
Create image with Xilinx > Create boot image, using the same bif file as above.
Make the boot SD card with the created boot.bin and image.ub from petalinux
Xilinx Zynq MP First Stage Boot Loader Release 2019.2 Jan 6 2021 - 14:39:43 NOTICE: ATF running on XCZU4EV/silicon v4/RTL5.1 at 0xfffea000 NOTICE: BL31: Secure code at 0x0 NOTICE: BL31: Non secure code at 0x0 NOTICE: BL31: v2.0(release):xilinx-v2019.1-12-g713dace9 NOTICE: BL31: Built : 14:38:46, Jan 6 2021
One curious thing is that I'm using Vivado 2019.2, Vitis 2019.2 and petalinux 2019.2, I wonder where that 2019.1 comes from
01-07-2021 05:04 AM - edited 01-07-2021 05:05 AM
If I skip the apparently offending bl31.elf from the bif file, I get a funnier result:
Xilinx Zynq MP First Stage Boot Loader Release 2019.2 Jan 6 2021 - 14:39:43 "Synchronous Abort" handler, esr 0x5e000000 elr: 00000000080019f8 lr : 00000000000f7b80 x0 : 00000000c2000001 x1 : 0000000000000000 x2 : 0000000000000000 x3 : 0000000000000000 x4 : 00000000080c2e38 x5 : 0000000000000001 x6 : 00000000080b26e8 x7 : 0000000000000002 x8 : 00000000080c25f8 x9 : 0000000000000080 x10: 00000000000009e8 x11: 00000000000f7c4c x12: 0000000000000925 x13: 00000000000009ec x14: 00000000000f7c6c x15: 00000000080c25f8 x16: 0000000000000000 x17: 0000000000000000 x18: 00000000000f7d20 x19: 00000000000f7ca8 x20: 00000000080ab000 x21: 00000000ffd80604 x22: 0000000000000000 x23: 0000000000000001 x24: 00000000fffd8010 x25: 0000000000000000 x26: 0000000000000001 x27: 00000000fffd0273 x28: 00000000fffd8080 x29: 00000000000f7b50 Resetting CPU ... ### ERROR ### Please RESET the board ###
01-07-2021 07:04 AM
I finally got it to work, I think the basic reason was I wanted to just boot fsbl and u-boot from the platform project and that doesn't seem to be possible, so I created a HelloWorld app and, at least, linux boots.
Next for me is to skip the root login and auto-start the app, but that's another issue.