Xilinx / meta-petalinux

meta-petalinux distro layer supporting Xilinx Tools
MIT License
84 stars 48 forks source link

FSBL build fails if RF Data Converter Block is not instantiated in Block Design of ZCU111 #4

Closed fr34q closed 5 years ago

fr34q commented 6 years ago

Affected line of code: https://github.com/Xilinx/meta-petalinux/blob/68cb2ce19105a05fc60fc495b98cbeac04bfb85e/recipes-bsp/fsbl/fsbl_%25.bbappend#L10

I am trying to build a project with yocto and the machine "zcu111-zynqmp". I wanted to start with a rather empty hardware design and only instantiated a zynqmp core (which works e.g. for the ZCU102). Synthesis and implementation work fine. But when Yocto performs the task "do_shared_workdir" of the fsbl it fails with the following error:

ERROR: fsbl-2018.2+gitAUTOINC+6e82c0183b-r0 do_shared_workdir: Function failed: do_shared_workdir (log file is located at /.../build/tmp/work/zcu111_zynqmp-xilinx-linux/fsbl/2018.2+gitAUTOINC+6e82c0183b-r0/temp/log.do_shared_workdir.17801)
ERROR: Logfile of failure stored in: /.../build/tmp/work/zcu111_zynqmp-xilinx-linux/fsbl/2018.2+gitAUTOINC+6e82c0183b-r0/temp/log.do_shared_workdir.17801
Log data follows:
| DEBUG: Executing shell function do_shared_workdir
| install: cannot stat ‘/.../build/tmp/work/zcu111_zynqmp-xilinx-linux/fsbl/2018.2+gitAUTOINC+6e82c0183b-r0/build/fsbl_bsp/psu_cortexa53_0/libsrc/rfdc*/src/xrfdc_g.c’: No such file or directory
| WARNING: /.../build/tmp/work/zcu111_zynqmp-xilinx-linux/fsbl/2018.2+gitAUTOINC+6e82c0183b-r0/temp/run.do_shared_workdir.17801:1 exit 1 from 'install -m 0644 /.../build/tmp/work/zcu111_zynqmp-xilinx-linux/fsbl/2018.2+gitAUTOINC+6e82c0183b-r0/build/fsbl_bsp/psu_cortexa53_0/libsrc/rfdc*/src/xrfdc_g.c /.../build/tmp/work-shared/zcu111-zynqmp/rfdc-source'
| ERROR: Function failed: do_shared_workdir (log file is located at /.../build/tmp/work/zcu111_zynqmp-xilinx-linux/fsbl/2018.2+gitAUTOINC+6e82c0183b-r0/temp/log.do_shared_workdir.17801)
ERROR: Task (/.../poky/../sources/meta-xilinx-tools/recipes-bsp/fsbl/fsbl_git.bb:do_shared_workdir) failed with exit code '1'

It seems like the FSBL requires libraries that are only generated when the RF Data Converter Block is instantiated in the block design. In this matter, it seems like an unresolved dependency of the FSBL.

In contrast, if I implement the Data Converter Block in a very basic way (all ADC/DACs turned off, only AXI and CLK connected), the whole project builds without any error messages. See this block design: screenshot

But running it on the ZCU111, it turns out the the FSBL starts but never triggers the second stage. I suspect that this might be due to the Data Converter Block which is correctly connected in a hardware sense but not in the sense the FSBL expect it to be? Is there a particular reason why the FSBL requires the RFdc?

fr34q commented 6 years ago

Update: The freeze of the FSBL turned out to be caused by a misconfiguration of the zynqmp core. We had changed that already and the FSBL got compiled freshly but the binaries never made it into the BOOT.BIN (we had to delete sstate-cache and tmp folders in build for it to get updated).

The main problem that the RFdc block needs to be instantiated for the platform to build remains - any ideas/suggestions/comments?

mharth commented 5 years ago

We moved away from this dependency, please use 2018.3