Skip to content

AIE-MLv2/01-Radio-ML Tutorial DTBO mismatch for hw_emu target #513

Description

@phiguend

Hi there,

I am running the AI_Engine_Development/AIE-MLv2/Design_Tutorials/01-Radio-ML tutorial.
OS: Ubuntu 24.04.3
Tool: Vitis 2026.1
Vitis-Tutorials branch: 2026.1
EDF: the linked package 26.06 from Readme

When running the emulation target I faced errors. Some I was able to solve myself but I am now stuck and need your help.

First the problems I was able to solve for reproducibility:

$ make all TARGET=hw_emu
.../01-Radio-ML/yocto_artifacts/amd-cortexa78-mali-common_meta-edf-app-sdk/sdk/sysroots/x86_64-amdedfsdk-linux/usr/lib/python3.12/site-packages/wic/misc.py", line 76, in _exec_cmd
    raise WicError("_exec_cmd: %s returned '%s' instead of 0\noutput: %s" % \
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'module' object is not callable

As a quick fix we have to replace the two "raise WicError" with "raise Exception" in misc.py.
Now we can see the actual error message:
ERROR: [v++ 60-587] Failed to add a platform: specified platform /opt/Xilinx/2026.1/Vitis/base_platforms/vek385_base_reva/vek385_base_reva.xpfm is not found or is not valid

Thus we adapt the 01-Radio-ML/Makefile to the correct directory in ${PLATFORM_REPO_PATHS}:
Replace
export PLATFORM = ${PLATFORM_REPO_PATHS}/vek385_base_reva/vek385_base_reva.xpfm
with
export PLATFORM = ${PLATFORM_REPO_PATHS}/vek385_base/vek385_base.xpfm

Next error occurs during QEMU simulation (still the same make call).

amd-edf:/home/amdINFO:Running  mount /dev/sda2 /media; cd /media; ./embedded_exec.sh
Run app command sent to console
-edf#  mount /dev/sda2 /media; cd /media; ./embedded_exec.sh 
INFO: Load the pdi and dtbo using fpgautil
Failed to apply Overlay
Time taken to load BIN is 116.000000 Milli Seconds
BIN FILE loaded through FPGA manager successfull but failed to apply Overlay
Initializing ADF API...
terminate called after throwing an instance of 'std::runtime_error'
  what():   No such device with index '0'
./embedded_exec.sh: line 11:   682 Aborted                 (core dumped) ./host.exe dut.xclbin
ERROR: Embedded host run failed, RC=134
INFO: Embedded host run completed.

To further investigate this issue I cleaned everything and ran the whole make all TARGET=hw_emu again but manually launched the steps described in ./embedded_exec.sh
The first call to fpgautil is already failing:

amd-edf:/media# fpgautil -b dut.pdi -o dut.dtbo 
Failed to apply Overlay
Time taken to load BIN is 125.000000 Milli Seconds
BIN FILE loaded through FPGA manager successfull but failed to apply Overlay

The kernel log reveals a missing node label in the symbols table.

amd-edf:/media# dmesg
...
[  226.924972] OF: resolver: node label 'cma_reserved_800000000' not found in live devicetree symbols table
[  226.925371] create_overlay: Failed to create overlay (err=-22)
...

I infer from this that the created overlay does not match the live device tree loaded by QEMU.
Therefore, I also searched the log for the creation of both files:

...
VCU2 is using NSU path, so skipping interrupts
INFO: Reading AIE hardware properties from XSA.
[xlnx_overlay_pl_dt.py][WARNING]: pl.dtsi argument 'pl.dtso' is provided for backward compatibility but will be ignored.
[xlnx_overlay_pl_dt.py][WARNING]: The assist reads /amba_pl node from the system device tree instead.
Starting overlay generation...
pl: .../01-Radio-ML/vitis/build_hw_emu/_x/package/lopper_out/pl.dtsi dtso: .../01-Radio-ML/vitis/build_hw_emu/_x/package/lopper_out/pl.dtso
Overlay generation completed successfully!
INFO: [v++ 60-586] Created .../01-Radio-ML/package.hw_emu/sd_card/dut.dtbo
INFO: [v++ 60-586] Created .../01-Radio-ML/package.hw_emu/sd_card/dut.dtb
...
Output log file : aiemetacpp.log
INFO: [v++ 60-586] Created .../01-Radio-ML/package.hw_emu/sd_card/baremetal_metadata_package.cpp
INFO: [v++ 82-3881] Device architecture set to versal
INFO: [v++ 82-1012] Deleting existing .../01-Radio-ML/package.hw_emu/sd_card/dut.bif
INFO: [v++ 82-1022] Generating .../01-Radio-ML/package.hw_emu/sd_card/dut.bif
INFO: [v++ 82-3884] Generating pdi for arch versal with bif .../01-Radio-ML/package.hw_emu/sd_card/dut.bif
INFO: [v++ 82-12050] Running bootgen: bootgen -arch versal_2ve_2vm -image .../01-Radio-ML/package.hw_emu/sd_card/dut.bif -o .../01-Radio-ML/package.hw_emu/sd_card/dut.pdi
...

The creation of neither the overlay nor the live image shows any errors.

I do not know how to proceed from here.
Any help is appreciated.
Thanks a lot!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions