guido57 / EBAZ4205_HDMI

HDMI video out port for EBAZ4205
MIT License
3 stars 2 forks source link

ERROR: [Hsi 55-1592] Current Software Design is not set #1

Closed exitrip closed 2 months ago

exitrip commented 2 months ago

Hi,

This is my first time working with Vitis, so maybe this is a dumb question... But the wrapper project is failing to build from a fresh clone of this repo, and I'm wondering what I'm missing? I don't see any reference to Current Software Design in any of the settings or files (other than build logs). I ran into this scrubbing the eclipse project of /media/guido57 paths, specifically thinking that the "export/ebaz4205_wrapper.xpfm" needed is build output of the wrapper project. Anyway, any help would be appreciated, as there's very little guidance or documentation around the "platform repo" and this error. Is it unfeasible to commit the export folder?

Cheers,

16:16:37 **** Build of project ebaz4205_wrapper ****
buildplatform.sh 45853 ebaz4205_wrapper  
XSDB Server Channel: tcfchan#4
Reading the platform  : "ebaz4205_wrapper"
ERROR: [Hsi 55-1592] Current Software Design is not set
ERROR: [Hsi 55-1592] Current Software Design is not set
ERROR: [Hsi 55-1592] Current Software Design is not set
ERROR: [Hsi 55-1592] Current Software Design is not set
ERROR: [Hsi 55-1592] Current Software Design is not set
ERROR: [Hsi 55-1592] Current Software Design is not set
Reading the platform  : "ebaz4205_wrapper"
ERROR: [Hsi 55-1592] Current Software Design is not set
ERROR: [Hsi 55-1592] Current Software Design is not set
ERROR: [Hsi 55-1592] Current Software Design is not set
ERROR: [Hsi 55-1592] Current Software Design is not set
ERROR: [Hsi 55-1592] Current Software Design is not set
ERROR: [Hsi 55-1592] Current Software Design is not set
No Platform exists with name:  ebaz4205_wrapper
    invoked from within
"::tcf::eval -progress {apply {{msg} {puts $msg}}} {tcf_send_command tcfchan#0 xsdb eval s es {{platform active ebaz4205_wrapper; platform generate }}}"
    (procedure "::tcf::send_command" line 4)
    invoked from within
"tcf send_command $::xsdb::curchan xsdb eval s es [list "platform active $PLATFORM_NAME; platform generate $target"]"
    invoked from within
"if { $iswindows == 1 } {    

    set XSDB_PORT [lindex $argv 0]
    set PLATFORM_NAME [lindex $argv 1]
    set arglen [llength $argv]
    set lastind..."
    (file "/home/aescape/Xilinx/Vitis/2024.1/scripts/vitis/util/buildplatform.tcl" line 11)

16:16:44 Build Finished (took 6s.747ms)
guido57 commented 2 months ago

Hi Exitrip,

did you:

Vitis needs to know how the hardware design is, to load the proper SW libraries and run the colorbars program.

Let me know!

Guido

exitrip commented 2 months ago

Ahh okay, thanks for confirming that the Vitis build is dependent on Vivado output.

I have had lot's of problems with both Vivado 2022 and 2024, I think mostly because I updated ip blocks... synth and impl seem to be working if I don't touch anything.

leaving more breadcrumbs about getting the Vitis project to build before I close the issue:

I don't have the petalinux sysroot on my system yet, but I get an ELF, so there's something I don't understand about linking in Vitis and file system image generation etc... but that seems to all live in Petalinux.

Thanks for your help.

guido57 commented 2 months ago

Thank you for using my repository. Did you succeed in executing "colorbars" on a real hardware with Vitis?

exitrip commented 2 months ago

Thank you for using my repository. Did you succeed in executing "colorbars" on a real hardware with Vitis?

I did! I can debug on the EBAZ via the Vitis IDE over ethernet. Now I'm wrestling with trying to get fpgautil to load new bit/bin files from the commandline. Unfortunately my only linux machine right now is on Ubuntu 24.04, which is very not supported by Yocto/petalinux yet, so my only options to change the bitstreams are "live". I have a new bit and bin output from Vivado, that only changes the HDMI pinout to match an extension board from Aliexpress, so I don't the the DTB files or uboot/kernel should need to change.

 ebaz4205:~$ fpgautil -b ebaz4205_wrapper.bin -f Full
cp: cannot create regular file '/lib/firmware/ebaz4205_wrapper.bin': Permission denied
sh: line 1: /sys/class/fpga_manager/fpga0/flags: Permission denied
sh: line 1: /sys/class/fpga_manager/fpga0/firmware: Permission denied
rm: cannot remove '/lib/firmware/ebaz4205_wrapper.bin': No such file or directory
BIN FILE loading through FPGA manager failed
ebaz4205:~$ sudo fpgautil -b ebaz4205_wrapper.bin -f Full
Password: 
sh: line 1: echo: write error: Invalid argument
BIN FILE loading through FPGA manager failed

... but I doubt this has anything to do with your work or repo... looks like maybe a version thing from the AMD documentation.

Thanks for your help earlier.

exitrip commented 2 months ago

I found a path forward to successfully change the bitstream without having to rebuild the petalinux image. I'm still hunting around for petalinux/tools, which is not installed by 2024.1 so probably a bitbake target, so it's possible to that bootgen BIF method might work also.

... leaving notes for anyone in the future:

guido57 commented 2 months ago

Hi.

Regarding the use of fpga manager: 1) the errror you had is evidently a permission error to write /lib/firmware/ebaz4205_wrapper.bin' 2) I know that fpga manager is not anymore supported in recent PetaLinux versions

To modify the programmable logic only, I use a JTAG programmer with Vivado.