cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
607 Views
Registered: ‎03-31-2020

VCU TRD migration from ZCU106 to ZCU104

Jump to solution

Hello,

I am configuring the VCU TRD from downloaded design for ZCU106 to my ZCU104 board, following this link (https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/115933296/Zynq+UltraScale+MPSoC+VCU+TRD+2019.1+-+Run+and+Build+Flow#ZynqUltraScale+MPSoCVCUTRD2019.1-RunandBuildFlow-2RunFlowRunFlow). The work is performed on 2019.1.

Question 1: is this possible? Is there any hidden disadvantages of the ZCU104 that make the design could not work on ZCU104?

Basically, this is what I have done:

1- Generate project from tcl file.
2- Adapt the constraint for ZCU106 to ZCU104
3- Export the hdf file
4- Create a clean new petalinux project using the xilinx xilinx-zcu104-v2019.1-final.bsp file (from Xilinx's website).
5- Config the petalinux-config --get-hw-description=my_new_hdf_file_for_zcu104
6- cp project-spec/meta-user/recipes-bsp/device-tree/files/<dtsi file name as per design>  project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi 
ERROR: as this is a new clean petalinux project build, so there's no such dtsi file. So, I instead copied the vcu_trd.dtsi file from the xilinx-vcu-trd-zcu106-v2019.1-final.bsp that I downloaded and extracted to "project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi"

* I see that in the vcu_trd.dtsi includes other dtsi files as well, so:

Question 2: Should I copy all dtsi files (that listed on the vcu_dtsi's include directives) as well?

* Then I append the linux-xlnx_%.bbappend file with patches. I copy the patches from zcu106's bsp files to the project-spec/meta-user/recipes-kernel/linux/ folder.

* Then I built the project. However, errors occured at device tree compile (common.dtsi not found)... is it normal to copy those files to the device tree folder?

Question 3: Is this procedure correct? Or there's another approach to overcome these errors at once?

Finally, I managed to build the petalinux but not sure whether it works or not.

Question 4: Could you please note some petalinux configs that I have to modify to make the VCU & gstreamer & related plugins to work after being built? Which documentation should I refer to to configure the petalinux build? I have checked the project-spec/meta-user/ files and see no major differences between pre-built ZCU106 and my custom migration ZCU104.

Question 5: Once built, could I instantly use all the VCU TRD test applications with the design for zcu106?

I created a 2-partition card (FAT32 and ext4) - instead of the one partition as in the link (https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/37486769/Zynq+UltraScale+MPSoC+VCU+TRD+2018.3+-+Run+and+Build+Flow). However, when I run the run_vcu.sh, the below error occurs:

root@xilinx-zcu104-2019_1:/media/card/vcu/bin# run_vcu.sh 
killall: vcu_qt: no process killed
killall: Xorg: no process killed
Starting application...
Set  allegro path 
device = 0
/media/card/bin/vcu_qt: error while loading shared libraries: libMali.so.8: cannot open shared object file: No such file or directory
root@xilinx-zcu104-2019_1:~# modetest -D a0070000.v_mix -s 40:1920x1080-60@BG24 &
[1] 2320

root@xilinx-zcu104-2019_1:~# vcu-demo-decode-display.sh -i /home/bbb_sunflower_2160p_30fps_normal_avc_new.mp4 -c avc -a aac
Nothing displayed on monitor or terminal
vcu-demo-decode-display.sh -i /home/bbb_sunflower_2160p_30fps_normal_avc.mp4 -c avc -a aac
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65536
  Mono:
  Front Left: Playback 65536 [100%] [on]
  Front Right: Playback 65536 [100%] [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch cswitch-joined
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 65536
  Front Left: Capture 65536 [100%] [on]
  Front Right: Capture 65536 [100%] [on]
gst-launch-1.0 filesrc location=/home/bbb_sunflower_2160p_30fps_normal_avc.mp4 ! qtdemux name=demux demux.video_0 ! h264parse ! omxh264dec ! queue max-size-bytes=0 ! kmssink bus-id=fd4a0000.zynqmp-display fullscreen-overlay=1 demux.audio_0 ! queue ! faad ! audioconvert ! audioresample ! audio/x-raw, channels=2, rate=48000 ! autoaudiosink
Setting pipeline to PAUSED ...
Couldnt allocate dma allocator (tried using /dev/allegroDecodeIP)
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0: Could not initialize supporting library.
Additional debug info:
../../../../git/gst-libs/gst/video/gstvideodecoder.c(2595): gst_video_decoder_change_state (): /GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0:
Failed to open decoder
Setting pipeline to NULL ...
Freeing pipeline ...
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).

 

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Moderator
Moderator
428 Views
Registered: ‎11-09-2015

Hi @peakpeak 


@peakpeak wrote:

 

Question 1: is this possible? Is there any hidden disadvantages of the ZCU104 that make the design could not work on ZCU104?

[Florent] - The main issue is that this is not tested by Xilinx. But they are using the same chip so I guess the design could be working on ZCU104.

 

Question 2: Should I copy all dtsi files (that listed on the vcu_dtsi's include directives) as well?

[Florent] - Yes you will need most of the DTSI files from the VCU TRD

 

Question 3: Is this procedure correct? Or there's another approach to overcome these errors at once?

[Florent] - This is one flow you would need to follow You need to copy the DTSI files but also the patches which might be included in the BSP of the ZCU106 VCU TRD.

One better flow would probably be to use directly the BSP from the VCU TRD as starting point for creating the project (petalinux-create -s <bsp>) then import the hdf file and change the zcu106.dtsi file (or equivalent) to a zcu104.dtsi file (you can probably find it in the ZCU104 BSP)

Question 4: Could you please note some petalinux configs that I have to modify to make the VCU & gstreamer & related plugins to work after being built? Which documentation should I refer to to configure the petalinux build? I have checked the project-spec/meta-user/ files and see no major differences between pre-built ZCU106 and my custom migration ZCU104.

[Florent] - There are some documentation on what is required to use the VCU and Gstreamer in the PG252, Application Software Development section. But there might be other requirements for the VCU TRD itself. So the safest would be to compare the petalinux, kernel and rootfs confuiguration and add what is missing your project

Question 5: Once built, could I instantly use all the VCU TRD test applications with the design for zcu106?

[Florent] - Well, you need to ensure that all the required element have been enabled in the kernel and rootfs configuration as per previous answer.

You also need to make sure you have completely followed the wiki page

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/115933296/Zynq+UltraScale+MPSoC+VCU+TRD+2019.1+-+Run+and+Build+Flow#ZynqUltraScale+MPSoCVCUTRD2019.1-RunandBuildFlow-2RunFlowRunFlow

And build all the required libraries


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**

View solution in original post

2 Replies
Highlighted
Moderator
Moderator
429 Views
Registered: ‎11-09-2015

Hi @peakpeak 


@peakpeak wrote:

 

Question 1: is this possible? Is there any hidden disadvantages of the ZCU104 that make the design could not work on ZCU104?

[Florent] - The main issue is that this is not tested by Xilinx. But they are using the same chip so I guess the design could be working on ZCU104.

 

Question 2: Should I copy all dtsi files (that listed on the vcu_dtsi's include directives) as well?

[Florent] - Yes you will need most of the DTSI files from the VCU TRD

 

Question 3: Is this procedure correct? Or there's another approach to overcome these errors at once?

[Florent] - This is one flow you would need to follow You need to copy the DTSI files but also the patches which might be included in the BSP of the ZCU106 VCU TRD.

One better flow would probably be to use directly the BSP from the VCU TRD as starting point for creating the project (petalinux-create -s <bsp>) then import the hdf file and change the zcu106.dtsi file (or equivalent) to a zcu104.dtsi file (you can probably find it in the ZCU104 BSP)

Question 4: Could you please note some petalinux configs that I have to modify to make the VCU & gstreamer & related plugins to work after being built? Which documentation should I refer to to configure the petalinux build? I have checked the project-spec/meta-user/ files and see no major differences between pre-built ZCU106 and my custom migration ZCU104.

[Florent] - There are some documentation on what is required to use the VCU and Gstreamer in the PG252, Application Software Development section. But there might be other requirements for the VCU TRD itself. So the safest would be to compare the petalinux, kernel and rootfs confuiguration and add what is missing your project

Question 5: Once built, could I instantly use all the VCU TRD test applications with the design for zcu106?

[Florent] - Well, you need to ensure that all the required element have been enabled in the kernel and rootfs configuration as per previous answer.

You also need to make sure you have completely followed the wiki page

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/115933296/Zynq+UltraScale+MPSoC+VCU+TRD+2019.1+-+Run+and+Build+Flow#ZynqUltraScale+MPSoCVCUTRD2019.1-RunandBuildFlow-2RunFlowRunFlow

And build all the required libraries


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**

View solution in original post

Highlighted
Participant
Participant
65 Views
Registered: ‎08-10-2020

Hi @peakpeak ,
Do you have any updates on this?
Did you succeed in going through the mentioned procedure? 

Thanks,
Ali

0 Kudos